shepherd-core 2023.12.1__py3-none-any.whl → 2024.4.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.
Files changed (90) hide show
  1. shepherd_core/__init__.py +3 -2
  2. shepherd_core/data_models/base/calibration.py +3 -1
  3. shepherd_core/data_models/base/content.py +11 -4
  4. shepherd_core/data_models/base/shepherd.py +2 -0
  5. shepherd_core/data_models/content/energy_environment.py +1 -1
  6. shepherd_core/data_models/content/virtual_harvester.py +1 -1
  7. shepherd_core/data_models/content/virtual_source.py +18 -13
  8. shepherd_core/data_models/experiment/experiment.py +10 -10
  9. shepherd_core/data_models/experiment/observer_features.py +5 -6
  10. shepherd_core/data_models/task/observer_tasks.py +1 -1
  11. shepherd_core/data_models/task/testbed_tasks.py +7 -3
  12. shepherd_core/data_models/testbed/cape.py +1 -1
  13. shepherd_core/data_models/testbed/gpio.py +1 -1
  14. shepherd_core/data_models/testbed/mcu.py +1 -1
  15. shepherd_core/data_models/testbed/observer.py +1 -1
  16. shepherd_core/data_models/testbed/target.py +1 -1
  17. shepherd_core/data_models/testbed/testbed.py +1 -1
  18. shepherd_core/decoder_waveform/uart.py +1 -0
  19. shepherd_core/fw_tools/validation.py +1 -2
  20. shepherd_core/inventory/__init__.py +51 -1
  21. shepherd_core/inventory/system.py +8 -0
  22. shepherd_core/reader.py +19 -16
  23. shepherd_core/testbed_client/cache_path.py +15 -0
  24. shepherd_core/testbed_client/client.py +2 -3
  25. shepherd_core/testbed_client/fixtures.py +4 -1
  26. shepherd_core/testbed_client/user_model.py +6 -4
  27. shepherd_core/vsource/virtual_converter_model.py +1 -1
  28. shepherd_core/vsource/virtual_harvester_model.py +1 -0
  29. shepherd_core/vsource/virtual_source_model.py +1 -0
  30. shepherd_core/writer.py +5 -2
  31. {shepherd_core-2023.12.1.dist-info → shepherd_core-2024.4.1.dist-info}/METADATA +49 -34
  32. shepherd_core-2024.4.1.dist-info/RECORD +64 -0
  33. {shepherd_core-2023.12.1.dist-info → shepherd_core-2024.4.1.dist-info}/WHEEL +1 -1
  34. {shepherd_core-2023.12.1.dist-info → shepherd_core-2024.4.1.dist-info}/top_level.txt +0 -1
  35. shepherd_core/data_models/content/_external_fixtures.yaml +0 -394
  36. shepherd_core/data_models/content/energy_environment_fixture.yaml +0 -50
  37. shepherd_core/data_models/content/virtual_harvester_fixture.yaml +0 -159
  38. shepherd_core/data_models/content/virtual_source_fixture.yaml +0 -229
  39. shepherd_core/data_models/testbed/cape_fixture.yaml +0 -94
  40. shepherd_core/data_models/testbed/gpio_fixture.yaml +0 -166
  41. shepherd_core/data_models/testbed/mcu_fixture.yaml +0 -19
  42. shepherd_core/data_models/testbed/observer_fixture.yaml +0 -220
  43. shepherd_core/data_models/testbed/target_fixture.yaml +0 -137
  44. shepherd_core/data_models/testbed/testbed_fixture.yaml +0 -25
  45. shepherd_core-2023.12.1.dist-info/RECORD +0 -117
  46. tests/__init__.py +0 -0
  47. tests/conftest.py +0 -64
  48. tests/data_models/__init__.py +0 -0
  49. tests/data_models/conftest.py +0 -14
  50. tests/data_models/example_cal_data.yaml +0 -31
  51. tests/data_models/example_cal_data_faulty.yaml +0 -29
  52. tests/data_models/example_cal_meas.yaml +0 -178
  53. tests/data_models/example_cal_meas_faulty1.yaml +0 -142
  54. tests/data_models/example_cal_meas_faulty2.yaml +0 -136
  55. tests/data_models/example_config_emulator.yaml +0 -41
  56. tests/data_models/example_config_experiment.yaml +0 -16
  57. tests/data_models/example_config_experiment_alternative.yaml +0 -14
  58. tests/data_models/example_config_harvester.yaml +0 -15
  59. tests/data_models/example_config_testbed.yaml +0 -26
  60. tests/data_models/example_config_virtsource.yaml +0 -78
  61. tests/data_models/test_base_models.py +0 -205
  62. tests/data_models/test_content_fixtures.py +0 -41
  63. tests/data_models/test_content_models.py +0 -282
  64. tests/data_models/test_examples.py +0 -48
  65. tests/data_models/test_experiment_models.py +0 -277
  66. tests/data_models/test_task_generation.py +0 -52
  67. tests/data_models/test_task_models.py +0 -131
  68. tests/data_models/test_testbed_fixtures.py +0 -47
  69. tests/data_models/test_testbed_models.py +0 -187
  70. tests/decoder_waveform/__init__.py +0 -0
  71. tests/decoder_waveform/test_decoder.py +0 -34
  72. tests/fw_tools/__init__.py +0 -0
  73. tests/fw_tools/conftest.py +0 -5
  74. tests/fw_tools/test_converter.py +0 -76
  75. tests/fw_tools/test_patcher.py +0 -66
  76. tests/fw_tools/test_validation.py +0 -56
  77. tests/inventory/__init__.py +0 -0
  78. tests/inventory/test_inventory.py +0 -20
  79. tests/test_cal_hw.py +0 -34
  80. tests/test_examples.py +0 -40
  81. tests/test_logger.py +0 -15
  82. tests/test_reader.py +0 -283
  83. tests/test_writer.py +0 -169
  84. tests/testbed_client/__init__.py +0 -0
  85. tests/vsource/__init__.py +0 -0
  86. tests/vsource/conftest.py +0 -49
  87. tests/vsource/test_converter.py +0 -161
  88. tests/vsource/test_harvester.py +0 -73
  89. tests/vsource/test_z.py +0 -5
  90. {shepherd_core-2023.12.1.dist-info → shepherd_core-2024.4.1.dist-info}/zip-safe +0 -0
@@ -1,220 +0,0 @@
1
- ---
2
- # observer-cape-target-relation: https://github.com/orgua/shepherd_v2_planning/blob/main/doc_testbed/Cape_pre-deployment-tests.xlsx
3
- # network data: https://github.com/orgua/shepherd_v2_planning/blob/main/doc_testbed/ethernet_MAC_addresses_bbones.ods
4
- - datatype: observer
5
- parameters:
6
- id: 0
7
- name: sheep0
8
- ip: 10.0.0.20
9
- mac: 18:00:C0:FF:EE:77
10
- room: at-home
11
- eth_port: unimatrix_zero_one
12
- description: lab / dev
13
- longitude: 0
14
- latitude: 0
15
- cape:
16
- name: cape53
17
- target_a:
18
- name: nRF52_FRAM_018
19
- created: 2022-12-12 12:12:12
20
- active: false
21
- - datatype: observer
22
- parameters:
23
- id: 1
24
- name: sheep01
25
- ip: 192.168.165.201
26
- mac: 18:62:E4:E4:41:8D
27
- room: II56
28
- eth_port: J24
29
- description: lower mid on west-side
30
- cape:
31
- name: cape51
32
- target_a:
33
- name: nRF52_FRAM_001
34
- created: 2023-09-22 12:12:12
35
- - datatype: observer
36
- parameters:
37
- id: 2
38
- name: sheep02
39
- ip: 192.168.165.202
40
- mac: 18:62:E4:D0:DE:3F
41
- room: II57
42
- eth_port: J6
43
- description: mid on east-side
44
- cape:
45
- name: cape52
46
- target_a:
47
- name: nRF52_FRAM_002
48
- created: 2023-09-22 12:12:12
49
- - datatype: observer
50
- parameters:
51
- id: 3
52
- name: sheep03
53
- ip: 192.168.165.203
54
- mac: 18:62:E4:D0:9E:6A
55
- room: II59
56
- eth_port: I14
57
- description: north-west-corner
58
- cape:
59
- name: cape63
60
- target_a:
61
- name: nRF52_FRAM_003
62
- created: 2023-09-22 12:12:12
63
- - datatype: observer
64
- parameters:
65
- id: 4
66
- name: sheep04
67
- ip: 192.168.165.204
68
- mac: 18:62:E4:D0:61:4D
69
- room: II61
70
- eth_port: H18
71
- description: mid on east-side
72
- cape:
73
- name: cape54
74
- target_a:
75
- name: nRF52_FRAM_004
76
- created: 2023-09-22 12:12:12
77
- - datatype: observer
78
- parameters:
79
- id: 5
80
- name: sheep05
81
- ip: 192.168.165.205
82
- mac: 18:62:E4:E3:6E:13
83
- room: II62
84
- eth_port: H14
85
- description: mid on south-side
86
- cape:
87
- name: cape55
88
- target_a:
89
- name: nRF52_FRAM_011
90
- target_b:
91
- name: target_nRF52_01 # ONLY VIRTUAL - for unittests
92
- created: 2023-09-22 12:12:12
93
- - datatype: observer
94
- parameters:
95
- id: 6
96
- name: sheep06
97
- ip: 192.168.165.206
98
- mac: 18:62:E4:D0:AF:0B
99
- room: II64
100
- eth_port: L14
101
- description: mid on north-side
102
- cape:
103
- name: cape56
104
- target_a:
105
- name: nRF52_FRAM_017 # TODO: not validated
106
- created: 2023-09-22 12:12:12
107
- - datatype: observer
108
- parameters:
109
- id: 7
110
- name: sheep07
111
- ip: 192.168.165.207
112
- mac: 18:62:E4:E4:39:D7
113
- room: II66
114
- eth_port: A20
115
- description: north-west-corner
116
- cape:
117
- name: cape57
118
- target_a:
119
- name: nRF52_FRAM_008
120
- created: 2023-09-22 12:12:12
121
- - datatype: observer
122
- parameters:
123
- id: 8
124
- name: sheep08
125
- ip: 192.168.165.208
126
- mac: 18:62:E4:D0:E5:FB
127
- room: II69
128
- eth_port: B10
129
- description: north-east-corner
130
- cape:
131
- name: cape58
132
- target_a:
133
- name: nRF52_FRAM_016
134
- created: 2023-09-22 12:12:12
135
- - datatype: observer
136
- parameters:
137
- id: 9
138
- name: sheep09
139
- ip: 192.168.165.209
140
- mac: 18:62:E4:D0:D4:A9
141
- room: II71
142
- eth_port: C4
143
- description: south-east-corner
144
- cape:
145
- name: cape65
146
- target_a:
147
- name: nRF52_FRAM_009 # TODO: not validated
148
- created: 2023-09-22 12:12:12
149
- - datatype: observer
150
- parameters:
151
- id: 10
152
- name: sheep10
153
- ip: 192.168.165.210
154
- mac: 18:62:E4:E4:24:C5
155
- room: II74
156
- eth_port: C20
157
- description: upper mid on east-side
158
- cape:
159
- name: cape59
160
- target_a:
161
- name: nRF52_FRAM_010
162
- created: 2023-09-22 12:12:12
163
- - datatype: observer
164
- parameters:
165
- id: 11
166
- name: sheep11
167
- ip: 192.168.165.211
168
- mac: 18:62:E4:E4:0E:5D
169
- room: II69
170
- eth_port: B14
171
- description: mid on east-side
172
- cape:
173
- name: cape61
174
- target_a:
175
- name: nRF52_FRAM_007
176
- created: 2023-09-22 12:12:12
177
- - datatype: observer
178
- parameters:
179
- id: 12
180
- name: sheep12
181
- ip: 192.168.165.212
182
- mac: 18:62:E4:D0:AA:F7
183
- room: II59
184
- eth_port: I10
185
- description: south-west-corner
186
- cape:
187
- name: cape62
188
- target_a:
189
- name: nRF52_FRAM_014
190
- created: 2023-09-22 12:12:12
191
- - datatype: observer
192
- parameters:
193
- id: 13
194
- name: sheep13
195
- ip: 192.168.165.213
196
- mac: 18:62:E4:D0:D7:70
197
- room: II64C
198
- eth_port: A4
199
- description: north-west-corner
200
- comment: might temporary be in II70
201
- cape:
202
- name: cape60
203
- target_a:
204
- name: nRF52_FRAM_005
205
- created: 2023-09-22 12:12:12
206
- - datatype: observer
207
- parameters:
208
- id: 14
209
- name: sheep14
210
- ip: 192.168.165.214
211
- mac: 18:62:E4:E3:89:43
212
- room: II64B
213
- eth_port: L24
214
- description: north-east-corner in cupboard
215
- comment: might temporary be in II70
216
- cape:
217
- name: cape64
218
- target_a:
219
- name: nRF52_FRAM_006
220
- created: 2023-09-22 12:12:12
@@ -1,137 +0,0 @@
1
- ---
2
- # more human-readable test-protocol @
3
- # https://github.com/orgua/shepherd_v2_planning/blob/main/doc_testbed/Target_pre-deployment-tests.xlsx
4
- - datatype: target
5
- parameters:
6
- id: 6 # Outer ID - selected by user - can be rearranged
7
- name: nRF52_FRAM_001 # inner ID - used to link all parts together
8
- version: v1.0
9
- description: nRF52 as MCU + Radio, MSP430FR as SPI-FRAM or additional MCU
10
- comment: Test3 21nA sleep, msp-programming was flaky before -> monitor!
11
- created: 2023-04-12
12
- mcu1:
13
- name: nRF52
14
- mcu2:
15
- name: MSP430FR
16
- - datatype: target
17
- parameters:
18
- inherit_from: nRF52_FRAM_001
19
- id: 5
20
- name: nRF52_FRAM_002
21
- comment: Test3 21nA sleep
22
- - datatype: target
23
- parameters:
24
- inherit_from: nRF52_FRAM_001
25
- id: 3
26
- name: nRF52_FRAM_003
27
- comment: Test3 21nA sleep
28
- - datatype: target
29
- parameters:
30
- inherit_from: nRF52_FRAM_001
31
- id: 2
32
- name: nRF52_FRAM_004
33
- comment: Test3 21nA sleep
34
- - datatype: target
35
- parameters:
36
- inherit_from: nRF52_FRAM_001
37
- id: 13
38
- name: nRF52_FRAM_005
39
- comment: Test3 21nA sleep, changed Antenna to lambda/4
40
- - datatype: target
41
- parameters:
42
- inherit_from: nRF52_FRAM_001
43
- id: 14
44
- name: nRF52_FRAM_006
45
- comment: Test3 21nA sleep, changed Antenna to lambda/4
46
- - datatype: target
47
- parameters:
48
- inherit_from: nRF52_FRAM_001
49
- id: 12
50
- name: nRF52_FRAM_007
51
- comment: msp-programming is failing -> defective, msp removed & changed Antenna to lambda/4
52
- mcu2: null
53
- active: true
54
- - datatype: target
55
- parameters:
56
- inherit_from: nRF52_FRAM_001
57
- id: 8
58
- name: nRF52_FRAM_008
59
- comment: msp-programming is failing -> defective, msp removed & changed Antenna to lambda/4
60
- mcu2: null
61
- active: true
62
- - datatype: target
63
- parameters:
64
- inherit_from: nRF52_FRAM_001
65
- id: 10
66
- name: nRF52_FRAM_009
67
- comment: Test3 21nA sleep
68
- - datatype: target
69
- parameters:
70
- inherit_from: nRF52_FRAM_001
71
- id: 11
72
- name: nRF52_FRAM_010
73
- comment: Test3 21nA sleep
74
- - datatype: target
75
- parameters:
76
- inherit_from: nRF52_FRAM_001
77
- id: 1
78
- name: nRF52_FRAM_011
79
- comment: Test3 21nA sleep, changed Antenna to lambda/4
80
- - datatype: target
81
- parameters:
82
- inherit_from: nRF52_FRAM_001
83
- id: 1312
84
- name: nRF52_FRAM_012
85
- comment: msp-programming is failing -> defective, Antenna-Port destroyed
86
- active: false
87
- - datatype: target
88
- parameters:
89
- inherit_from: nRF52_FRAM_001
90
- id: 1313
91
- name: nRF52_FRAM_013
92
- comment: Test3 15nA sleep, Test1 fails - several cleanings -> defective
93
- active: false
94
- - datatype: target
95
- parameters:
96
- inherit_from: nRF52_FRAM_001
97
- id: 4
98
- name: nRF52_FRAM_014
99
- comment: Test3 21nA sleep
100
- - datatype: target
101
- parameters:
102
- inherit_from: nRF52_FRAM_001
103
- id: 1315
104
- name: nRF52_FRAM_015
105
- comment: Test3 19nA sleep, Test1 fails - several cleanings - gpio error on nrf-side -> defective
106
- active: false
107
- - datatype: target
108
- parameters:
109
- inherit_from: nRF52_FRAM_001
110
- id: 9
111
- name: nRF52_FRAM_016
112
- comment: Test3 21nA sleep
113
- - datatype: target
114
- parameters:
115
- inherit_from: nRF52_FRAM_001
116
- id: 7
117
- name: nRF52_FRAM_017
118
- comment: Test3 21nA sleep, nrf was miss-aligned -> hot air rework
119
- - datatype: target
120
- parameters:
121
- inherit_from: nRF52_FRAM_001
122
- id: 18
123
- name: nRF52_FRAM_018
124
- comment: Test3 21nA sleep, nrf was miss-aligned -> hot air rework
125
- description: LabPrototype
126
-
127
- - datatype: target
128
- parameters:
129
- id: 1001
130
- name: target_nRF52_01
131
- version: v2.1r0
132
- description: single target PCB, v2.1r0
133
- comment: ONLY VIRTUAL - NOT REAL
134
- mcu1:
135
- name: nRF52
136
- mcu2: null
137
- created: 2022-12-12 12:12:12
@@ -1,25 +0,0 @@
1
- - datatype: testbed
2
- parameters:
3
- id: 1337
4
- name: shepherd_tud_nes
5
- description: "Shepherd Testbed of the NES Lab Group at TU Dresden, Germany"
6
- shared_storage: true
7
- data_on_server: /var/shepherd/
8
- data_on_observer: /var/shepherd/
9
- # ./content as read-only for the sheep, shared with server
10
- # ./experiments on the sheep map to ./experiments/sheep##/ on the server
11
- observers:
12
- - name: sheep01
13
- - name: sheep02
14
- - name: sheep03
15
- - name: sheep04
16
- - name: sheep05
17
- - name: sheep06
18
- - name: sheep07
19
- - name: sheep08
20
- - name: sheep09
21
- - name: sheep10
22
- - name: sheep11
23
- - name: sheep12
24
- - name: sheep13
25
- - name: sheep14
@@ -1,117 +0,0 @@
1
- shepherd_core/__init__.py,sha256=M5Zl1foAX-m7EVEVTgv9PtIY00FwE0CopdFfmhLEBeE,1347
2
- shepherd_core/calibration_hw_def.py,sha256=VBPgekKtoA6xc5pLOADGdAIuJUNz5kdDf3pm3A13F0U,2158
3
- shepherd_core/commons.py,sha256=8HLrOq30Zrgh0AcrtakJYyu3hwMgQks7mF7JyaBMcdw,170
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
- shepherd_core/data_models/__init__.py,sha256=mem0m4nZY3EgG1ctBdGGGt128lhmglF9a4e5w9OGJu0,1651
8
- shepherd_core/data_models/doc_virtual_source.py,sha256=KizMcfGKj7BnHIbaJHT7KeTF01SV__UXv01qV_DGHSs,6057
9
- shepherd_core/data_models/base/__init__.py,sha256=ugVEWXfYRCmK4o94RG4N_GKR7AbBQLfn5PCbEKVpZMU,44
10
- shepherd_core/data_models/base/cal_measurement.py,sha256=ZlSnHXOiY--AzQ1-g0BnU7I4g9sMDqF3g52jsl5IHDY,2873
11
- shepherd_core/data_models/base/calibration.py,sha256=5Xn5p9uNaOw9mdO1ZsulpMP0rwDIMcJPf5-Cp5CnRq0,9709
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
- shepherd_core/data_models/base/timezone.py,sha256=OBzPPfrD__z1aTO7qlVWD1uD8eZFJ6CoDLac_mTrYCg,443
15
- shepherd_core/data_models/base/wrapper.py,sha256=mzAMdX9-BeSAeTzlWKFnjj3v2wV6NJgaSHULFHEiWes,600
16
- shepherd_core/data_models/content/__init__.py,sha256=JLj2zzjDeyqLrz9KiWDMW1shCeJjj676zjcXj8ly10Y,545
17
- shepherd_core/data_models/content/_external_fixtures.yaml,sha256=5t0ioOOhGhjhzFN7lclgCoqJ8Lrz-P05Hpl1L7uroHE,11443
18
- shepherd_core/data_models/content/energy_environment.py,sha256=24H9UiEiY-3Jtfah9EILF_hR2sMnYGdrcXCSfsionSk,1298
19
- shepherd_core/data_models/content/energy_environment_fixture.yaml,sha256=v0VKKeVi_PZdWXiRtTYsDeAWV8NOSlRXge7O7asxnuk,1187
20
- shepherd_core/data_models/content/firmware.py,sha256=cuh8tURI39ZzTF-wuh4ofsNfRC1TK8lHrGKYm-o9SC0,5533
21
- shepherd_core/data_models/content/firmware_datatype.py,sha256=WHVJu-LIP_snjeITIKkuZo7aIapoTIZeFXkUNqyEqy8,154
22
- shepherd_core/data_models/content/virtual_harvester.py,sha256=5obXW17uBkQdfyPnpJHoSZmlIBUefoDGmFLYrxUSmOA,9268
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=0CucbyBh-r5I4UJNJayW9fKNwb6dI97iaE5MLYxrZMc,13960
25
- shepherd_core/data_models/content/virtual_source_fixture.yaml,sha256=2PsWP3-xad5TycZ-OQn23WsJdYwq7_9_foC4wBFYmK0,10443
26
- shepherd_core/data_models/experiment/__init__.py,sha256=DX9kylCe8zFm4PpVT8YS4csip7-MDoSrdah3nhBdiJE,651
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
- shepherd_core/data_models/task/observer_tasks.py,sha256=cwFBdoUESE5zcOuky35lmd6uKFaQkGiW8kNFHir1z1g,3380
35
- shepherd_core/data_models/task/programming.py,sha256=uO6IZR8wb0N3791QgAZE7AF0CB7XoyOkFBiDH395IvE,2244
36
- shepherd_core/data_models/task/testbed_tasks.py,sha256=W8ElhxOjNrTFG9A1WKGrjhNnyLxmvJgM06DwLyBbayQ,1771
37
- shepherd_core/data_models/testbed/__init__.py,sha256=kQG0EUqJ5ylGRuwYZTbppWue9zDcSytpsHtUnohbGgA,566
38
- shepherd_core/data_models/testbed/cape.py,sha256=Y9QDQcJ76IFPMVgiIw5pFztDd1y7RUiDhrsjVqHj6jM,1154
39
- shepherd_core/data_models/testbed/cape_fixture.yaml,sha256=uwZxe6hsqvofn5tzg4sffjbVtTVUkextL1GCri_z2A4,2197
40
- shepherd_core/data_models/testbed/gpio.py,sha256=pzgRpo9QXL2lyqeov_o1Sr3_5r4T8NS7-Q6rOYnbVR4,2100
41
- shepherd_core/data_models/testbed/gpio_fixture.yaml,sha256=yXvoXAau2hancKi2yg1xIkErPWQa6gIxNUG3y8JuF9Y,3076
42
- shepherd_core/data_models/testbed/mcu.py,sha256=JHVVOYkhvhwYG5z5nUXdiVVXVcRNrAfqefaS56E4RWM,1301
43
- shepherd_core/data_models/testbed/mcu_fixture.yaml,sha256=lRZMLs27cTeERSFGkbMt5xgxbn11Gh9G1mQqOZK136I,522
44
- shepherd_core/data_models/testbed/observer.py,sha256=hivbfME16o-M7LwBto4hvNA9X_prGgs0FdH39cve4Mo,3110
45
- shepherd_core/data_models/testbed/observer_fixture.yaml,sha256=f6UjGFCsMlqtgfsThd_BfwcgpjI3LB4oPt_GNwBHWRI,4806
46
- shepherd_core/data_models/testbed/target.py,sha256=wIjeqXlYkDv24S1iSswyLrpSWsI_J78MnmNVk2KGpT0,1776
47
- shepherd_core/data_models/testbed/target_fixture.yaml,sha256=rgWCwCpPXzaEoUzMDxkb7dgH-4gW2qffUuAC78JkNQk,3667
48
- shepherd_core/data_models/testbed/testbed.py,sha256=RY_YHwWuZdMWzZB5mYwgborycvnCrNdMyFB5Ou2Zrek,3274
49
- shepherd_core/data_models/testbed/testbed_fixture.yaml,sha256=9i2cmYRrHOHTJG9zp40h8h0LgO9DdrCJz8tyGdiQCzc,714
50
- shepherd_core/decoder_waveform/__init__.py,sha256=HEdjRcm3m4ySEXpJ_D3lZqnxiuobJqC8axZAaAHBwDk,43
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
- shepherd_core/fw_tools/converter_elf.py,sha256=SEkrPuYUsr1VICDlZiZzr0B1njWcl9mW3J_oZk32Sb4,1008
55
- shepherd_core/fw_tools/patcher.py,sha256=nXgYKGQjcEE4IYd8yNl4-t5kjlB43iFdp24oYlEaras,3774
56
- shepherd_core/fw_tools/validation.py,sha256=aVfMiv8gX6rWOtj9IIAEiqh6APH2_DNWwueSyPJztro,4262
57
- shepherd_core/inventory/__init__.py,sha256=0qkTGMMuHUOg5sn4gNOB8XcKhF75fTC7DzRh9aN4soQ,1856
58
- shepherd_core/inventory/python.py,sha256=Ar_M4cmmQgViY4caU5XH9Iye5X3jNFDnJiWGaZwNpo4,1168
59
- shepherd_core/inventory/system.py,sha256=Mmd5TieS3mnPSF2L_HSpjdA7mbTe8Wquduz28OJjD1Q,1930
60
- shepherd_core/inventory/target.py,sha256=XywiKmDpYKIBQt1Jo_k3bJeCOKxnzy5ob_9PYdFrjGE,421
61
- shepherd_core/testbed_client/__init__.py,sha256=V38uxXOhwB8tlAjR0jH1MPSWB1LltwC0g8ipwaIyC9o,103
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
- shepherd_core/vsource/__init__.py,sha256=x84_0M8Dg8R7DLKE5zyNAAGFiuOHPehDOWPt2KeBhKw,344
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
- tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
70
- tests/conftest.py,sha256=6S4xE1rsqMjZlZ7ItzipGcuggUQk04DZBCta2vEOdGI,1856
71
- tests/test_cal_hw.py,sha256=fECEm1QAtpxjLIqboljEr0UVG6neGS_-uJ-rgZrMkFg,1243
72
- tests/test_examples.py,sha256=RPuIOzhuMmWk8GPggiv12sGGHZ0TzjVfUDU7GERzOeM,888
73
- tests/test_logger.py,sha256=aW9Et1juBSyQmpEBhn1sdN4k18XOkzGxdByhgTGZGZk,432
74
- tests/test_reader.py,sha256=6Q5Yfpsnlonm3nT8PWc6dY41Vn7APCLateeO5InZBXI,9560
75
- tests/test_writer.py,sha256=MvKlX5ANUI-0XlAnPn39VbBRQy_vGE3ggc4OJj7stO0,5323
76
- tests/data_models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
77
- tests/data_models/conftest.py,sha256=thBKAL1LsphEC5g4yQG-3U1jNr_HGFe0F0rDLAJZJ54,368
78
- tests/data_models/example_cal_data.yaml,sha256=61QrTWjvvI3phIoZsKKiw02thYPjZeY51a302Bl-wk4,785
79
- tests/data_models/example_cal_data_faulty.yaml,sha256=BNR-Tuxc3jzBkNID28xsuSkLxZByw6FQLjbATG0GKUk,683
80
- tests/data_models/example_cal_meas.yaml,sha256=GVgwDMjf0AvzU50ir4sn7ig6bI_xjNmi64gRDTkoyt0,5439
81
- tests/data_models/example_cal_meas_faulty1.yaml,sha256=ojDt3jaiVfGFQ5N5RbomsKG1mDdLHrwiZPldkGrpA_U,4339
82
- tests/data_models/example_cal_meas_faulty2.yaml,sha256=3qpcWfm9Q7uE_sOWmaRaj0eERIDnX0jY4cFNbgUaLUU,4172
83
- tests/data_models/example_config_emulator.yaml,sha256=1yFbaHsM3Vy7DxuMhg0EYl_oJ-8Q4hwuQX0Un1vXsds,1259
84
- tests/data_models/example_config_experiment.yaml,sha256=spNpxCx-4UJpYgaInzNttHEuSleg2nr2Guxb1HUr3PI,362
85
- tests/data_models/example_config_experiment_alternative.yaml,sha256=mpUTEmdU4tqe1mJegVK45AXsmkqIpHbVXQoBWxXnmi0,303
86
- tests/data_models/example_config_harvester.yaml,sha256=B5gf55VzJax_Gn8isnXxVuWXim0KviMQfyz6FxEp82s,597
87
- tests/data_models/example_config_testbed.yaml,sha256=ubN9dfvrMPxHQuWpqw_JkNHTxc4B9QjL2eDxkwwMnbc,470
88
- tests/data_models/example_config_virtsource.yaml,sha256=zB9nGys728SzUrR4tO-e8ebr1vP8-Bgg7TsKISDnGrk,4415
89
- tests/data_models/test_base_models.py,sha256=QysiTWlxiD3vvHZNuQVm-Fpu1QyfnnqRHysh0FKOrcw,6755
90
- tests/data_models/test_content_fixtures.py,sha256=rfYIEYzxWGBD6YYQQoJyCk2qbj_BAPnFZhOoL86SgYk,1701
91
- tests/data_models/test_content_models.py,sha256=NZMg1VqGEfs_V0_4LcQTlARfBbUOGflvp_SGyh8Urv0,8058
92
- tests/data_models/test_examples.py,sha256=yiiPZCjFQ4oBZCiIGmR3XOyU9qEAiFqncmO33LbbPNU,1420
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
- tests/data_models/test_task_models.py,sha256=Ii673kTZjqpj8ly1fJ_qp43XWL3KEHzKBwKO_oAYvn4,3575
96
- tests/data_models/test_testbed_fixtures.py,sha256=k5hxz5vgx-LkKDxJptOUdrCZFwpEp8h2cK1HyY_5reA,1419
97
- tests/data_models/test_testbed_models.py,sha256=WSVZQIEvA7nOUx8w9v-gxqEjt9Sh_0zG6J0yr2Bts9k,4573
98
- tests/decoder_waveform/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
99
- tests/decoder_waveform/test_decoder.py,sha256=g6Es5G2BDORfaQsn-YIjMudd3URiHwYBtc8zHdz0EiE,894
100
- tests/fw_tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
101
- tests/fw_tools/conftest.py,sha256=gaEjO9M883G6NG7UHYfyudPAeoSjDncQpOcPJ4qmor8,151
102
- tests/fw_tools/test_converter.py,sha256=-jbAOjoad1KC6Za5S8AMs2CGJgmLSSijAV7dlraqQ9o,2215
103
- tests/fw_tools/test_patcher.py,sha256=LmMG5XKoV9vjjFbgo2SSnckz6WfuO6HtJEXdu545Zv4,2109
104
- tests/fw_tools/test_validation.py,sha256=769IIbnzljWnjZuZYb3HaVDTlXziSZDORLZVxnrzK2E,1893
105
- tests/inventory/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
106
- tests/inventory/test_inventory.py,sha256=rw7NNHEJIT9W3G-N1SgqtwUO_o3EvHfSrbf9e3bRJLs,612
107
- tests/testbed_client/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
108
- tests/vsource/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
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
- tests/vsource/test_z.py,sha256=H9LlNsAq3nV5PPaoM8yP4FLnPhdJJSoLSmUOD5rtobM,90
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,,
tests/__init__.py DELETED
File without changes
tests/conftest.py DELETED
@@ -1,64 +0,0 @@
1
- import subprocess
2
- from pathlib import Path
3
- from typing import Iterable # py38, later use: from collections.abc import Iterable
4
-
5
- import numpy as np
6
- import pytest
7
-
8
- from shepherd_core import Writer
9
-
10
-
11
- def generate_h5_file(file_path: Path, file_name: str = "harvest_example.h5") -> Path:
12
- store_path = file_path / file_name
13
-
14
- with Writer(store_path) as file:
15
- file.store_hostname("artificial")
16
-
17
- duration_s = 2
18
- repetitions = 5
19
- timestamp_vector = np.arange(0.0, duration_s, file.sample_interval_ns / 1e9)
20
-
21
- # values in SI units
22
- voltages = np.linspace(3.60, 1.90, int(file.samplerate_sps * duration_s))
23
- currents = np.linspace(100e-6, 2000e-6, int(file.samplerate_sps * duration_s))
24
-
25
- for idx in range(repetitions):
26
- timestamps = idx * duration_s + timestamp_vector
27
- file.append_iv_data_si(timestamps, voltages, currents)
28
-
29
- return store_path
30
-
31
-
32
- @pytest.fixture
33
- def data_h5(tmp_path: Path) -> Path:
34
- return generate_h5_file(tmp_path)
35
-
36
-
37
- def pytest_collection_modifyitems(
38
- config: pytest.Config,
39
- items: Iterable[pytest.Item],
40
- ) -> None:
41
- # ELF
42
- try:
43
- from pwnlib.elf import ELF
44
- except ImportError:
45
- ELF = None
46
- skip_elf = pytest.mark.skip(
47
- reason="ELF-support not found -> shepherd_core[elf] missing or OS is Windows?"
48
- )
49
-
50
- # OBJCOPY
51
- try:
52
- subprocess.run(["objcopy", "--version"], check=True)
53
- OBJCOPY = True
54
- except FileNotFoundError:
55
- OBJCOPY = None
56
- skip_converter = pytest.mark.skip(
57
- reason="Objcopy not found -> are binutils or build-essential installed?"
58
- )
59
-
60
- for item in items:
61
- if "elf" in item.keywords and ELF is None:
62
- item.add_marker(skip_elf)
63
- if "converter" in item.keywords and OBJCOPY is None:
64
- item.add_marker(skip_converter)
File without changes
@@ -1,14 +0,0 @@
1
- from pathlib import Path
2
-
3
- import yaml
4
-
5
-
6
- def load_yaml(file: str) -> dict:
7
- yaml_path = Path(__file__).resolve().with_name(file)
8
- with yaml_path.open() as _data:
9
- return yaml.safe_load(_data)
10
-
11
-
12
- path_fwt = Path(__file__).parent.parent.resolve() / "fw_tools"
13
- names_elf = ["build_msp.elf", "build_nrf.elf"]
14
- files_elf = [path_fwt / name for name in names_elf]
@@ -1,31 +0,0 @@
1
- datatype: CalibrationCape
2
- parameters:
3
- host: sheep0
4
- cape:
5
- serial_number: A123
6
- emulator:
7
- adc_C_A:
8
- gain: 2.2306053900482405e-07
9
- offset: -0.0026222400965270985
10
- adc_C_B:
11
- gain: 2.2306053900482405e-07
12
- offset: -0.0026222400965270985
13
- dac_V_A:
14
- gain: 7.62628031430141e-05
15
- offset: 0.0007950027045164898
16
- dac_V_B:
17
- gain: 7.63173766566708e-05
18
- offset: -0.0010936558576905009
19
- harvester:
20
- adc_C_Hrv:
21
- gain: 2.228708065317991e-07
22
- offset: -0.0026241147072037603
23
- adc_V_Sense:
24
- gain: 1.952036492090002e-05
25
- offset: 7.75784958272352e-05
26
- dac_V_Sim:
27
- gain: 7.630261527071238e-05
28
- offset: 0.0004594023208512876
29
- dac_V_Hrv:
30
- gain: 7.62877291921811e-05
31
- offset: 0.000281481899873981
@@ -1,29 +0,0 @@
1
- datatype: CalibrationCape
2
- comment: sheep0
3
- parameters:
4
- emulator:
5
- adc_C_A: # faulty 1
6
- gain: 512
7
- offset: -128000
8
- adc_C_B:
9
- gain: 2.2306053900482405
10
- offset: -0.0026222400965270985
11
- dac_V_A: # faulty 2
12
- gain: 7.6
13
- offset: 128000000
14
- dac_V_B:
15
- gain: 7.63173766566708e-05
16
- offset: -0.0010936558576905009
17
- harvester:
18
- adc_C_Hrv: # faulty 1
19
- gain: 512
20
- offset: 128000
21
- adc_V_Sense: # faulty 2
22
- gain: 512000
23
- offset: 7.75784958272352e-05
24
- dac_V_Sim:
25
- gain: 7.630261527071238e-05
26
- offset: 0.0004594023208512876
27
- dac_V_Hrv:
28
- gain: 7.62877291921811e-05
29
- offset: 0.000281481899873981