shepherd-core 2023.11.1__py3-none-any.whl → 2023.12.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- shepherd_core/__init__.py +1 -1
- shepherd_core/data_models/base/content.py +3 -8
- shepherd_core/data_models/base/shepherd.py +2 -6
- shepherd_core/data_models/content/virtual_source.py +13 -40
- shepherd_core/data_models/experiment/experiment.py +3 -8
- shepherd_core/data_models/experiment/observer_features.py +4 -9
- shepherd_core/data_models/experiment/target_config.py +4 -11
- shepherd_core/data_models/task/__init__.py +2 -6
- shepherd_core/data_models/task/emulation.py +7 -14
- shepherd_core/data_models/task/firmware_mod.py +1 -3
- shepherd_core/data_models/task/harvest.py +1 -3
- shepherd_core/data_models/testbed/observer.py +6 -22
- shepherd_core/data_models/testbed/testbed.py +1 -3
- shepherd_core/decoder_waveform/uart.py +8 -26
- shepherd_core/fw_tools/__init__.py +1 -3
- shepherd_core/fw_tools/converter.py +4 -12
- shepherd_core/fw_tools/patcher.py +4 -12
- shepherd_core/inventory/__init__.py +3 -9
- shepherd_core/inventory/system.py +2 -5
- shepherd_core/logger.py +1 -3
- shepherd_core/reader.py +26 -41
- shepherd_core/testbed_client/client.py +5 -16
- shepherd_core/testbed_client/fixtures.py +4 -14
- shepherd_core/testbed_client/user_model.py +1 -3
- shepherd_core/vsource/virtual_converter_model.py +4 -14
- shepherd_core/vsource/virtual_harvester_model.py +1 -3
- shepherd_core/vsource/virtual_source_model.py +2 -6
- shepherd_core/writer.py +11 -22
- {shepherd_core-2023.11.1.dist-info → shepherd_core-2023.12.1.dist-info}/METADATA +2 -5
- {shepherd_core-2023.11.1.dist-info → shepherd_core-2023.12.1.dist-info}/RECORD +42 -42
- {shepherd_core-2023.11.1.dist-info → shepherd_core-2023.12.1.dist-info}/WHEEL +1 -1
- tests/data_models/test_content_models.py +3 -9
- tests/data_models/test_experiment_models.py +2 -4
- tests/data_models/test_task_generation.py +1 -1
- tests/inventory/test_inventory.py +1 -3
- tests/test_cal_hw.py +2 -6
- tests/test_writer.py +2 -2
- tests/vsource/conftest.py +1 -3
- tests/vsource/test_converter.py +2 -6
- tests/vsource/test_harvester.py +3 -9
- {shepherd_core-2023.11.1.dist-info → shepherd_core-2023.12.1.dist-info}/top_level.txt +0 -0
- {shepherd_core-2023.11.1.dist-info → shepherd_core-2023.12.1.dist-info}/zip-safe +0 -0
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
shepherd_core/__init__.py,sha256=
|
|
1
|
+
shepherd_core/__init__.py,sha256=M5Zl1foAX-m7EVEVTgv9PtIY00FwE0CopdFfmhLEBeE,1347
|
|
2
2
|
shepherd_core/calibration_hw_def.py,sha256=VBPgekKtoA6xc5pLOADGdAIuJUNz5kdDf3pm3A13F0U,2158
|
|
3
3
|
shepherd_core/commons.py,sha256=8HLrOq30Zrgh0AcrtakJYyu3hwMgQks7mF7JyaBMcdw,170
|
|
4
|
-
shepherd_core/logger.py,sha256=
|
|
5
|
-
shepherd_core/reader.py,sha256=
|
|
6
|
-
shepherd_core/writer.py,sha256=
|
|
4
|
+
shepherd_core/logger.py,sha256=mIJQ5eCpamsCnc_R7qoceYVXe8JM4-YZriqfzvTt9Yk,1656
|
|
5
|
+
shepherd_core/reader.py,sha256=mjBNWnDfsbTxlzhfPJYfcZdySCPO4K1Ub098T8RI0rI,26064
|
|
6
|
+
shepherd_core/writer.py,sha256=hnaC7Jy82lQDln-3ZXWLdmXUO1mgD8s16K89lBbKCew,14352
|
|
7
7
|
shepherd_core/data_models/__init__.py,sha256=mem0m4nZY3EgG1ctBdGGGt128lhmglF9a4e5w9OGJu0,1651
|
|
8
8
|
shepherd_core/data_models/doc_virtual_source.py,sha256=KizMcfGKj7BnHIbaJHT7KeTF01SV__UXv01qV_DGHSs,6057
|
|
9
9
|
shepherd_core/data_models/base/__init__.py,sha256=ugVEWXfYRCmK4o94RG4N_GKR7AbBQLfn5PCbEKVpZMU,44
|
|
10
10
|
shepherd_core/data_models/base/cal_measurement.py,sha256=ZlSnHXOiY--AzQ1-g0BnU7I4g9sMDqF3g52jsl5IHDY,2873
|
|
11
11
|
shepherd_core/data_models/base/calibration.py,sha256=5Xn5p9uNaOw9mdO1ZsulpMP0rwDIMcJPf5-Cp5CnRq0,9709
|
|
12
|
-
shepherd_core/data_models/base/content.py,sha256=
|
|
13
|
-
shepherd_core/data_models/base/shepherd.py,sha256=
|
|
12
|
+
shepherd_core/data_models/base/content.py,sha256=4k3D14m6h681QQjJFsG7Xgr4R64d21JEWKJWOnVVVck,1925
|
|
13
|
+
shepherd_core/data_models/base/shepherd.py,sha256=5kQNZdhF53u9S4wLadbm_73mB9VTzgHyrm6LG_KheWc,5748
|
|
14
14
|
shepherd_core/data_models/base/timezone.py,sha256=OBzPPfrD__z1aTO7qlVWD1uD8eZFJ6CoDLac_mTrYCg,443
|
|
15
15
|
shepherd_core/data_models/base/wrapper.py,sha256=mzAMdX9-BeSAeTzlWKFnjj3v2wV6NJgaSHULFHEiWes,600
|
|
16
16
|
shepherd_core/data_models/content/__init__.py,sha256=JLj2zzjDeyqLrz9KiWDMW1shCeJjj676zjcXj8ly10Y,545
|
|
@@ -21,16 +21,16 @@ shepherd_core/data_models/content/firmware.py,sha256=cuh8tURI39ZzTF-wuh4ofsNfRC1
|
|
|
21
21
|
shepherd_core/data_models/content/firmware_datatype.py,sha256=WHVJu-LIP_snjeITIKkuZo7aIapoTIZeFXkUNqyEqy8,154
|
|
22
22
|
shepherd_core/data_models/content/virtual_harvester.py,sha256=5obXW17uBkQdfyPnpJHoSZmlIBUefoDGmFLYrxUSmOA,9268
|
|
23
23
|
shepherd_core/data_models/content/virtual_harvester_fixture.yaml,sha256=UWlXq-7lsyhHAkrKkyEHWdJ0fIlyy_jwSV9O_hVE2nY,4294
|
|
24
|
-
shepherd_core/data_models/content/virtual_source.py,sha256=
|
|
24
|
+
shepherd_core/data_models/content/virtual_source.py,sha256=0CucbyBh-r5I4UJNJayW9fKNwb6dI97iaE5MLYxrZMc,13960
|
|
25
25
|
shepherd_core/data_models/content/virtual_source_fixture.yaml,sha256=2PsWP3-xad5TycZ-OQn23WsJdYwq7_9_foC4wBFYmK0,10443
|
|
26
26
|
shepherd_core/data_models/experiment/__init__.py,sha256=DX9kylCe8zFm4PpVT8YS4csip7-MDoSrdah3nhBdiJE,651
|
|
27
|
-
shepherd_core/data_models/experiment/experiment.py,sha256=
|
|
28
|
-
shepherd_core/data_models/experiment/observer_features.py,sha256=
|
|
29
|
-
shepherd_core/data_models/experiment/target_config.py,sha256=
|
|
30
|
-
shepherd_core/data_models/task/__init__.py,sha256=
|
|
31
|
-
shepherd_core/data_models/task/emulation.py,sha256=
|
|
32
|
-
shepherd_core/data_models/task/firmware_mod.py,sha256=
|
|
33
|
-
shepherd_core/data_models/task/harvest.py,sha256=
|
|
27
|
+
shepherd_core/data_models/experiment/experiment.py,sha256=LY0uIaFGAzPta0fbCy-gSxlUe90ztZdc4CqVwzc_mIU,3971
|
|
28
|
+
shepherd_core/data_models/experiment/observer_features.py,sha256=chK9PJ3KCS_jfd28GAfM73V-EI2c1WJM1cAAS20nIj0,4984
|
|
29
|
+
shepherd_core/data_models/experiment/target_config.py,sha256=IBWxf3yVF5dUBi7mS5mJXfN1rL2S7QYhu_4IL6u6Yig,3532
|
|
30
|
+
shepherd_core/data_models/task/__init__.py,sha256=g0l4dtIgTPKhfFvnClJrCm3zLFiZpBVbbQ2f4gzdwK0,3180
|
|
31
|
+
shepherd_core/data_models/task/emulation.py,sha256=HE7L3GWKdsAkUPgvdDHxYJG92GNodP9CUEtKgQJghjA,6221
|
|
32
|
+
shepherd_core/data_models/task/firmware_mod.py,sha256=8uXMFVk3Z96gUW0gVY95VeUx-YtZnMc2yw3paC5S5Mw,2730
|
|
33
|
+
shepherd_core/data_models/task/harvest.py,sha256=QcNJjgixiq70NogdcYXwpj91_6Jl7s7CaAnEw_xEWck,3254
|
|
34
34
|
shepherd_core/data_models/task/observer_tasks.py,sha256=cwFBdoUESE5zcOuky35lmd6uKFaQkGiW8kNFHir1z1g,3380
|
|
35
35
|
shepherd_core/data_models/task/programming.py,sha256=uO6IZR8wb0N3791QgAZE7AF0CB7XoyOkFBiDH395IvE,2244
|
|
36
36
|
shepherd_core/data_models/task/testbed_tasks.py,sha256=W8ElhxOjNrTFG9A1WKGrjhNnyLxmvJgM06DwLyBbayQ,1771
|
|
@@ -41,38 +41,38 @@ shepherd_core/data_models/testbed/gpio.py,sha256=pzgRpo9QXL2lyqeov_o1Sr3_5r4T8NS
|
|
|
41
41
|
shepherd_core/data_models/testbed/gpio_fixture.yaml,sha256=yXvoXAau2hancKi2yg1xIkErPWQa6gIxNUG3y8JuF9Y,3076
|
|
42
42
|
shepherd_core/data_models/testbed/mcu.py,sha256=JHVVOYkhvhwYG5z5nUXdiVVXVcRNrAfqefaS56E4RWM,1301
|
|
43
43
|
shepherd_core/data_models/testbed/mcu_fixture.yaml,sha256=lRZMLs27cTeERSFGkbMt5xgxbn11Gh9G1mQqOZK136I,522
|
|
44
|
-
shepherd_core/data_models/testbed/observer.py,sha256=
|
|
44
|
+
shepherd_core/data_models/testbed/observer.py,sha256=hivbfME16o-M7LwBto4hvNA9X_prGgs0FdH39cve4Mo,3110
|
|
45
45
|
shepherd_core/data_models/testbed/observer_fixture.yaml,sha256=f6UjGFCsMlqtgfsThd_BfwcgpjI3LB4oPt_GNwBHWRI,4806
|
|
46
46
|
shepherd_core/data_models/testbed/target.py,sha256=wIjeqXlYkDv24S1iSswyLrpSWsI_J78MnmNVk2KGpT0,1776
|
|
47
47
|
shepherd_core/data_models/testbed/target_fixture.yaml,sha256=rgWCwCpPXzaEoUzMDxkb7dgH-4gW2qffUuAC78JkNQk,3667
|
|
48
|
-
shepherd_core/data_models/testbed/testbed.py,sha256=
|
|
48
|
+
shepherd_core/data_models/testbed/testbed.py,sha256=RY_YHwWuZdMWzZB5mYwgborycvnCrNdMyFB5Ou2Zrek,3274
|
|
49
49
|
shepherd_core/data_models/testbed/testbed_fixture.yaml,sha256=9i2cmYRrHOHTJG9zp40h8h0LgO9DdrCJz8tyGdiQCzc,714
|
|
50
50
|
shepherd_core/decoder_waveform/__init__.py,sha256=HEdjRcm3m4ySEXpJ_D3lZqnxiuobJqC8axZAaAHBwDk,43
|
|
51
|
-
shepherd_core/decoder_waveform/uart.py,sha256=
|
|
52
|
-
shepherd_core/fw_tools/__init__.py,sha256=
|
|
53
|
-
shepherd_core/fw_tools/converter.py,sha256=
|
|
51
|
+
shepherd_core/decoder_waveform/uart.py,sha256=EumQv4wTWDvz4-0vhFx9vCI0PLDsOFmSU9473TxmH_M,10671
|
|
52
|
+
shepherd_core/fw_tools/__init__.py,sha256=9W-MXU5j3iJ8AgRzoGUaljD0bN29jh8LtY-pyj5HWbY,2071
|
|
53
|
+
shepherd_core/fw_tools/converter.py,sha256=2g0CZBZLn-CfUTpJljghf8AEpjIt4X7Q1FoCTsmx3A0,3273
|
|
54
54
|
shepherd_core/fw_tools/converter_elf.py,sha256=SEkrPuYUsr1VICDlZiZzr0B1njWcl9mW3J_oZk32Sb4,1008
|
|
55
|
-
shepherd_core/fw_tools/patcher.py,sha256=
|
|
55
|
+
shepherd_core/fw_tools/patcher.py,sha256=nXgYKGQjcEE4IYd8yNl4-t5kjlB43iFdp24oYlEaras,3774
|
|
56
56
|
shepherd_core/fw_tools/validation.py,sha256=aVfMiv8gX6rWOtj9IIAEiqh6APH2_DNWwueSyPJztro,4262
|
|
57
|
-
shepherd_core/inventory/__init__.py,sha256=
|
|
57
|
+
shepherd_core/inventory/__init__.py,sha256=0qkTGMMuHUOg5sn4gNOB8XcKhF75fTC7DzRh9aN4soQ,1856
|
|
58
58
|
shepherd_core/inventory/python.py,sha256=Ar_M4cmmQgViY4caU5XH9Iye5X3jNFDnJiWGaZwNpo4,1168
|
|
59
|
-
shepherd_core/inventory/system.py,sha256=
|
|
59
|
+
shepherd_core/inventory/system.py,sha256=Mmd5TieS3mnPSF2L_HSpjdA7mbTe8Wquduz28OJjD1Q,1930
|
|
60
60
|
shepherd_core/inventory/target.py,sha256=XywiKmDpYKIBQt1Jo_k3bJeCOKxnzy5ob_9PYdFrjGE,421
|
|
61
61
|
shepherd_core/testbed_client/__init__.py,sha256=V38uxXOhwB8tlAjR0jH1MPSWB1LltwC0g8ipwaIyC9o,103
|
|
62
|
-
shepherd_core/testbed_client/client.py,sha256=
|
|
63
|
-
shepherd_core/testbed_client/fixtures.py,sha256=
|
|
64
|
-
shepherd_core/testbed_client/user_model.py,sha256=
|
|
62
|
+
shepherd_core/testbed_client/client.py,sha256=geqj1brDvzsAtriDFSyLCAHZfMPKwch8TSpLHw5sLXM,5785
|
|
63
|
+
shepherd_core/testbed_client/fixtures.py,sha256=W-lTy5y4wPYfOBVGotRVxLAt72jCNTWqC_kePe06xys,9078
|
|
64
|
+
shepherd_core/testbed_client/user_model.py,sha256=MU_k6j_c_Y6JILDcu9iN2kNERoxS4UwaGuj5dlnlUqo,1978
|
|
65
65
|
shepherd_core/vsource/__init__.py,sha256=x84_0M8Dg8R7DLKE5zyNAAGFiuOHPehDOWPt2KeBhKw,344
|
|
66
|
-
shepherd_core/vsource/virtual_converter_model.py,sha256=
|
|
67
|
-
shepherd_core/vsource/virtual_harvester_model.py,sha256=
|
|
68
|
-
shepherd_core/vsource/virtual_source_model.py,sha256=
|
|
66
|
+
shepherd_core/vsource/virtual_converter_model.py,sha256=gT-eKQCcroc2EIzSa2O9HGArsM_JKhx2CKJjuKUyiak,10331
|
|
67
|
+
shepherd_core/vsource/virtual_harvester_model.py,sha256=tlt_Emi7bGbqeo0Cb7f2rt2K07whEB7r1RXdTJncGyI,7763
|
|
68
|
+
shepherd_core/vsource/virtual_source_model.py,sha256=LiprQZmcfRBfliiDedr_RxEtrPYxcGWrUrqBM76zqCQ,2723
|
|
69
69
|
tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
70
70
|
tests/conftest.py,sha256=6S4xE1rsqMjZlZ7ItzipGcuggUQk04DZBCta2vEOdGI,1856
|
|
71
|
-
tests/test_cal_hw.py,sha256=
|
|
71
|
+
tests/test_cal_hw.py,sha256=fECEm1QAtpxjLIqboljEr0UVG6neGS_-uJ-rgZrMkFg,1243
|
|
72
72
|
tests/test_examples.py,sha256=RPuIOzhuMmWk8GPggiv12sGGHZ0TzjVfUDU7GERzOeM,888
|
|
73
73
|
tests/test_logger.py,sha256=aW9Et1juBSyQmpEBhn1sdN4k18XOkzGxdByhgTGZGZk,432
|
|
74
74
|
tests/test_reader.py,sha256=6Q5Yfpsnlonm3nT8PWc6dY41Vn7APCLateeO5InZBXI,9560
|
|
75
|
-
tests/test_writer.py,sha256=
|
|
75
|
+
tests/test_writer.py,sha256=MvKlX5ANUI-0XlAnPn39VbBRQy_vGE3ggc4OJj7stO0,5323
|
|
76
76
|
tests/data_models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
77
77
|
tests/data_models/conftest.py,sha256=thBKAL1LsphEC5g4yQG-3U1jNr_HGFe0F0rDLAJZJ54,368
|
|
78
78
|
tests/data_models/example_cal_data.yaml,sha256=61QrTWjvvI3phIoZsKKiw02thYPjZeY51a302Bl-wk4,785
|
|
@@ -88,10 +88,10 @@ tests/data_models/example_config_testbed.yaml,sha256=ubN9dfvrMPxHQuWpqw_JkNHTxc4
|
|
|
88
88
|
tests/data_models/example_config_virtsource.yaml,sha256=zB9nGys728SzUrR4tO-e8ebr1vP8-Bgg7TsKISDnGrk,4415
|
|
89
89
|
tests/data_models/test_base_models.py,sha256=QysiTWlxiD3vvHZNuQVm-Fpu1QyfnnqRHysh0FKOrcw,6755
|
|
90
90
|
tests/data_models/test_content_fixtures.py,sha256=rfYIEYzxWGBD6YYQQoJyCk2qbj_BAPnFZhOoL86SgYk,1701
|
|
91
|
-
tests/data_models/test_content_models.py,sha256=
|
|
91
|
+
tests/data_models/test_content_models.py,sha256=NZMg1VqGEfs_V0_4LcQTlARfBbUOGflvp_SGyh8Urv0,8058
|
|
92
92
|
tests/data_models/test_examples.py,sha256=yiiPZCjFQ4oBZCiIGmR3XOyU9qEAiFqncmO33LbbPNU,1420
|
|
93
|
-
tests/data_models/test_experiment_models.py,sha256=
|
|
94
|
-
tests/data_models/test_task_generation.py,sha256=
|
|
93
|
+
tests/data_models/test_experiment_models.py,sha256=1imFOh7_zFCYlihsj6VP_9tlKYXGelSKmsZAqwAh0LA,9184
|
|
94
|
+
tests/data_models/test_task_generation.py,sha256=xsGMb_KjhqFTogr5IkAax4CPBz4VfvgxjYgUtLMM-1E,1905
|
|
95
95
|
tests/data_models/test_task_models.py,sha256=Ii673kTZjqpj8ly1fJ_qp43XWL3KEHzKBwKO_oAYvn4,3575
|
|
96
96
|
tests/data_models/test_testbed_fixtures.py,sha256=k5hxz5vgx-LkKDxJptOUdrCZFwpEp8h2cK1HyY_5reA,1419
|
|
97
97
|
tests/data_models/test_testbed_models.py,sha256=WSVZQIEvA7nOUx8w9v-gxqEjt9Sh_0zG6J0yr2Bts9k,4573
|
|
@@ -103,15 +103,15 @@ tests/fw_tools/test_converter.py,sha256=-jbAOjoad1KC6Za5S8AMs2CGJgmLSSijAV7dlraq
|
|
|
103
103
|
tests/fw_tools/test_patcher.py,sha256=LmMG5XKoV9vjjFbgo2SSnckz6WfuO6HtJEXdu545Zv4,2109
|
|
104
104
|
tests/fw_tools/test_validation.py,sha256=769IIbnzljWnjZuZYb3HaVDTlXziSZDORLZVxnrzK2E,1893
|
|
105
105
|
tests/inventory/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
106
|
-
tests/inventory/test_inventory.py,sha256=
|
|
106
|
+
tests/inventory/test_inventory.py,sha256=rw7NNHEJIT9W3G-N1SgqtwUO_o3EvHfSrbf9e3bRJLs,612
|
|
107
107
|
tests/testbed_client/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
108
108
|
tests/vsource/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
109
|
-
tests/vsource/conftest.py,sha256=
|
|
110
|
-
tests/vsource/test_converter.py,sha256=
|
|
111
|
-
tests/vsource/test_harvester.py,sha256
|
|
109
|
+
tests/vsource/conftest.py,sha256=57KUTh9NtZ_1OZ1YWY8JzwPDMH3KcdHSFaIYzvL7HyY,1387
|
|
110
|
+
tests/vsource/test_converter.py,sha256=vDbhLuMbN6oAv9DRhFIl-SUQC9BlghMTHCR5KhP6sgY,5075
|
|
111
|
+
tests/vsource/test_harvester.py,sha256=hx8Nfd4SIJ7-bcrd2tpT_nb7O7-ZUSuqYMA7Eo69j3s,2442
|
|
112
112
|
tests/vsource/test_z.py,sha256=H9LlNsAq3nV5PPaoM8yP4FLnPhdJJSoLSmUOD5rtobM,90
|
|
113
|
-
shepherd_core-2023.
|
|
114
|
-
shepherd_core-2023.
|
|
115
|
-
shepherd_core-2023.
|
|
116
|
-
shepherd_core-2023.
|
|
117
|
-
shepherd_core-2023.
|
|
113
|
+
shepherd_core-2023.12.1.dist-info/METADATA,sha256=zX8uiU5P39bWwiau2V_7AD1dqs7B6N8Pbsy4qvedCn4,7029
|
|
114
|
+
shepherd_core-2023.12.1.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
|
|
115
|
+
shepherd_core-2023.12.1.dist-info/top_level.txt,sha256=6H9zsX2PNWwILI7EJu8fNam1KfG2Sqvkez-jlwrD9SE,20
|
|
116
|
+
shepherd_core-2023.12.1.dist-info/zip-safe,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
|
117
|
+
shepherd_core-2023.12.1.dist-info/RECORD,,
|
|
@@ -144,9 +144,7 @@ def test_content_model_fw_extract_hex_to_dir(path_elf: Path, tmp_path: Path) ->
|
|
|
144
144
|
|
|
145
145
|
|
|
146
146
|
@pytest.mark.parametrize("path_elf", files_elf)
|
|
147
|
-
def test_content_model_fw_extract_path_elf_to_dir(
|
|
148
|
-
path_elf: Path, tmp_path: Path
|
|
149
|
-
) -> None:
|
|
147
|
+
def test_content_model_fw_extract_path_elf_to_dir(path_elf: Path, tmp_path: Path) -> None:
|
|
150
148
|
assert path_elf.exists()
|
|
151
149
|
fw = Firmware(
|
|
152
150
|
data=path_elf,
|
|
@@ -164,9 +162,7 @@ def test_content_model_fw_extract_path_elf_to_dir(
|
|
|
164
162
|
@pytest.mark.elf
|
|
165
163
|
@pytest.mark.converter
|
|
166
164
|
@pytest.mark.parametrize("path_elf", files_elf)
|
|
167
|
-
def test_content_model_fw_extract_path_hex_to_dir(
|
|
168
|
-
path_elf: Path, tmp_path: Path
|
|
169
|
-
) -> None:
|
|
165
|
+
def test_content_model_fw_extract_path_hex_to_dir(path_elf: Path, tmp_path: Path) -> None:
|
|
170
166
|
path_hex = (tmp_path / (path_elf.stem + ".hex")).resolve()
|
|
171
167
|
path_hex = fw_tools.elf_to_hex(path_elf, path_hex)
|
|
172
168
|
assert path_hex.exists()
|
|
@@ -225,9 +221,7 @@ def test_content_model_hrv_faulty_voltage0() -> None:
|
|
|
225
221
|
|
|
226
222
|
def test_content_model_hrv_faulty_voltage1() -> None:
|
|
227
223
|
with pytest.raises(ValueError):
|
|
228
|
-
_ = VirtualHarvesterConfig(
|
|
229
|
-
name="iv110", voltage_min_mV=4001, voltage_max_mV=4000
|
|
230
|
-
)
|
|
224
|
+
_ = VirtualHarvesterConfig(name="iv110", voltage_min_mV=4001, voltage_max_mV=4000)
|
|
231
225
|
|
|
232
226
|
|
|
233
227
|
def test_content_model_hrv_faulty_voltage2() -> None:
|
|
@@ -46,7 +46,7 @@ def test_experiment_model_exp_yaml_comparison() -> None:
|
|
|
46
46
|
|
|
47
47
|
target_cfgs = TargetConfig(
|
|
48
48
|
target_IDs=list(range(1, 5)),
|
|
49
|
-
custom_IDs=list(range(
|
|
49
|
+
custom_IDs=list(range(4)),
|
|
50
50
|
energy_env={"name": "SolarSunny"},
|
|
51
51
|
virtual_source={"name": "diode+capacitor"},
|
|
52
52
|
firmware1={"name": "nrf52_demo_rf"},
|
|
@@ -148,9 +148,7 @@ def test_experiment_model_exp_missing_target() -> None:
|
|
|
148
148
|
target_IDs=[1234567], # <- not existent
|
|
149
149
|
custom_IDs=list(range(7, 18)),
|
|
150
150
|
energy_env=EnergyEnvironment(name="ThermoelectricWashingMachine"),
|
|
151
|
-
virtual_source=VirtualSourceConfig(
|
|
152
|
-
name="BQ25570-Schmitt", harvester=hrv
|
|
153
|
-
),
|
|
151
|
+
virtual_source=VirtualSourceConfig(name="BQ25570-Schmitt", harvester=hrv),
|
|
154
152
|
firmware1=Firmware(name="nrf52_demo_rf"),
|
|
155
153
|
firmware2=Firmware(name="msp430_deep_sleep"),
|
|
156
154
|
),
|
|
@@ -25,7 +25,7 @@ def test_task_generation_script(tmp_path: Path) -> None:
|
|
|
25
25
|
# first init similar to yaml
|
|
26
26
|
TargetConfig(
|
|
27
27
|
target_IDs=list(range(1, 4)),
|
|
28
|
-
custom_IDs=list(range(
|
|
28
|
+
custom_IDs=list(range(3)),
|
|
29
29
|
energy_env={"name": "SolarSunny"},
|
|
30
30
|
virtual_source={"name": "diode+capacitor"},
|
|
31
31
|
firmware1={"name": "nrf52_demo_rf"},
|
|
@@ -9,9 +9,7 @@ from shepherd_core.inventory import SystemInventory
|
|
|
9
9
|
from shepherd_core.inventory import TargetInventory
|
|
10
10
|
|
|
11
11
|
|
|
12
|
-
@pytest.mark.parametrize(
|
|
13
|
-
"inv", [PythonInventory, SystemInventory, TargetInventory, Inventory]
|
|
14
|
-
)
|
|
12
|
+
@pytest.mark.parametrize("inv", [PythonInventory, SystemInventory, TargetInventory, Inventory])
|
|
15
13
|
def test_collect_data(inv: Inventory) -> None:
|
|
16
14
|
inv.collect()
|
|
17
15
|
|
tests/test_cal_hw.py
CHANGED
|
@@ -10,9 +10,7 @@ from shepherd_core.calibration_hw_def import dac_raw_to_voltage
|
|
|
10
10
|
from shepherd_core.calibration_hw_def import dac_voltage_to_raw
|
|
11
11
|
|
|
12
12
|
|
|
13
|
-
@pytest.mark.parametrize(
|
|
14
|
-
"fn", [adc_current_to_raw, adc_voltage_to_raw, dac_voltage_to_raw]
|
|
15
|
-
)
|
|
13
|
+
@pytest.mark.parametrize("fn", [adc_current_to_raw, adc_voltage_to_raw, dac_voltage_to_raw])
|
|
16
14
|
def test_convert_to_raw(fn: Callable) -> None:
|
|
17
15
|
values = [-1, -1e-6, 1e-6, 1e-5, 1e-4, 1e-3, 1e-2, 1e-1, 1e-0]
|
|
18
16
|
value_prev = -1
|
|
@@ -24,9 +22,7 @@ def test_convert_to_raw(fn: Callable) -> None:
|
|
|
24
22
|
value_prev = value_raw
|
|
25
23
|
|
|
26
24
|
|
|
27
|
-
@pytest.mark.parametrize(
|
|
28
|
-
"fn", [adc_raw_to_current, adc_raw_to_voltage, dac_raw_to_voltage]
|
|
29
|
-
)
|
|
25
|
+
@pytest.mark.parametrize("fn", [adc_raw_to_current, adc_raw_to_voltage, dac_raw_to_voltage])
|
|
30
26
|
def test_convert_to_si(fn: Callable) -> None:
|
|
31
27
|
values = [-100, -1, 0, 1, 2**6, 2**12, 2**18, 2**24]
|
|
32
28
|
value_prev = -1
|
tests/test_writer.py
CHANGED
|
@@ -140,7 +140,7 @@ def test_writer_align(h5_path: Path) -> None:
|
|
|
140
140
|
data_nd = np.zeros((int(length),))
|
|
141
141
|
sfw.append_iv_data_raw(time_nd, data_nd, data_nd)
|
|
142
142
|
with Reader(h5_path) as sfr:
|
|
143
|
-
assert sfr.
|
|
143
|
+
assert sfr.ds_voltage.size < length
|
|
144
144
|
|
|
145
145
|
|
|
146
146
|
def test_writer_not_align(h5_path: Path) -> None:
|
|
@@ -151,7 +151,7 @@ def test_writer_not_align(h5_path: Path) -> None:
|
|
|
151
151
|
data_nd = np.zeros((int(length),))
|
|
152
152
|
sfw.append_iv_data_raw(time_nd, data_nd, data_nd)
|
|
153
153
|
with Reader(h5_path) as sfr:
|
|
154
|
-
assert sfr.
|
|
154
|
+
assert sfr.ds_voltage.size == length
|
|
155
155
|
|
|
156
156
|
|
|
157
157
|
def test_writer_setter(h5_path: Path) -> None:
|
tests/vsource/conftest.py
CHANGED
|
@@ -9,9 +9,7 @@ from shepherd_data import mppt
|
|
|
9
9
|
|
|
10
10
|
@pytest.fixture
|
|
11
11
|
def file_ivonne() -> Path:
|
|
12
|
-
path = (
|
|
13
|
-
Path(__file__).resolve().parent.parent.parent.parent / "shepherd_data/examples"
|
|
14
|
-
)
|
|
12
|
+
path = Path(__file__).resolve().parent.parent.parent.parent / "shepherd_data/examples"
|
|
15
13
|
os.chdir(path)
|
|
16
14
|
return path / "./jogging_10m.iv"
|
|
17
15
|
|
tests/vsource/test_converter.py
CHANGED
|
@@ -146,9 +146,7 @@ def test_vsource_vsrc_sim_curve(src_name: str, file_ivcurve: Path) -> None:
|
|
|
146
146
|
for _t, _v, _i in file.read_buffers():
|
|
147
147
|
length = max(_v.size, _i.size)
|
|
148
148
|
for _n in range(length):
|
|
149
|
-
src.iterate_sampling(
|
|
150
|
-
V_inp_uV=_v[_n] * 10**6, I_inp_nA=_i[_n] * 10**9
|
|
151
|
-
)
|
|
149
|
+
src.iterate_sampling(V_inp_uV=_v[_n] * 10**6, I_inp_nA=_i[_n] * 10**9)
|
|
152
150
|
|
|
153
151
|
|
|
154
152
|
@pytest.mark.parametrize("src_name", src_list)
|
|
@@ -160,6 +158,4 @@ def test_vsource_vsrc_sim_sample(src_name: str, file_ivsample: Path) -> None:
|
|
|
160
158
|
for _t, _v, _i in file.read_buffers():
|
|
161
159
|
length = max(_v.size, _i.size)
|
|
162
160
|
for _n in range(length):
|
|
163
|
-
src.iterate_sampling(
|
|
164
|
-
V_inp_uV=_v[_n] * 10**6, I_inp_nA=_i[_n] * 10**9
|
|
165
|
-
)
|
|
161
|
+
src.iterate_sampling(V_inp_uV=_v[_n] * 10**6, I_inp_nA=_i[_n] * 10**9)
|
tests/vsource/test_harvester.py
CHANGED
|
@@ -39,9 +39,7 @@ def test_vsource_hrv_fail_ivcurve(hrv_name: str) -> None:
|
|
|
39
39
|
# the first algos are not usable for ivcurve
|
|
40
40
|
with pytest.raises(ValueError):
|
|
41
41
|
hrv_config = VirtualHarvesterConfig(name=hrv_name)
|
|
42
|
-
_ = HarvesterPRUConfig.from_vhrv(
|
|
43
|
-
hrv_config, for_emu=True, dtype_in=EnergyDType.ivcurve
|
|
44
|
-
)
|
|
42
|
+
_ = HarvesterPRUConfig.from_vhrv(hrv_config, for_emu=True, dtype_in=EnergyDType.ivcurve)
|
|
45
43
|
|
|
46
44
|
|
|
47
45
|
@pytest.mark.parametrize("hrv_name", hrv_list[3:])
|
|
@@ -58,9 +56,7 @@ def test_vsource_hrv_sim(hrv_name: str, file_ivcurve: Path) -> None:
|
|
|
58
56
|
for _t, _v, _i in file.read_buffers():
|
|
59
57
|
length = max(_v.size, _i.size)
|
|
60
58
|
for _n in range(length):
|
|
61
|
-
hrv.ivcurve_sample(
|
|
62
|
-
_voltage_uV=_v[_n] * 10**6, _current_nA=_i[_n] * 10**9
|
|
63
|
-
)
|
|
59
|
+
hrv.ivcurve_sample(_voltage_uV=_v[_n] * 10**6, _current_nA=_i[_n] * 10**9)
|
|
64
60
|
|
|
65
61
|
|
|
66
62
|
@pytest.mark.parametrize("hrv_name", hrv_list[3:])
|
|
@@ -68,9 +64,7 @@ def test_vsource_hrv_fail_isc_voc(hrv_name: str) -> None:
|
|
|
68
64
|
# not implemented ATM
|
|
69
65
|
with pytest.raises(ValueError):
|
|
70
66
|
hrv_config = VirtualHarvesterConfig(name=hrv_name)
|
|
71
|
-
_ = HarvesterPRUConfig.from_vhrv(
|
|
72
|
-
hrv_config, for_emu=True, dtype_in=EnergyDType.isc_voc
|
|
73
|
-
)
|
|
67
|
+
_ = HarvesterPRUConfig.from_vhrv(hrv_config, for_emu=True, dtype_in=EnergyDType.isc_voc)
|
|
74
68
|
|
|
75
69
|
|
|
76
70
|
def test_vsource_hrv_fail_unknown_type() -> None:
|
|
File without changes
|
|
File without changes
|