wiliot-certificate 4.4.3__py3-none-any.whl → 4.5.0a1__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 (295) hide show
  1. {brg_certificate → certificate}/ag/wlt_cmd_if.html +10 -4
  2. {brg_certificate → certificate}/ag/wlt_types_ag.py +1878 -519
  3. {brg_certificate → certificate}/ag/wlt_types_ag_jsons/brg2brg_ota.json +69 -0
  4. {brg_certificate → certificate}/ag/wlt_types_ag_jsons/brg2gw_hb.json +109 -0
  5. {brg_certificate → certificate}/ag/wlt_types_ag_jsons/brg2gw_hb_sleep.json +45 -0
  6. {brg_certificate → certificate}/ag/wlt_types_ag_jsons/calibration.json +96 -0
  7. {brg_certificate → certificate}/ag/wlt_types_ag_jsons/custom.json +99 -0
  8. {brg_certificate → certificate}/ag/wlt_types_ag_jsons/datapath.json +241 -13
  9. {brg_certificate → certificate}/ag/wlt_types_ag_jsons/energy2400.json +120 -0
  10. {brg_certificate → certificate}/ag/wlt_types_ag_jsons/energySub1g.json +96 -0
  11. {brg_certificate → certificate}/ag/wlt_types_ag_jsons/externalSensor.json +135 -6
  12. {brg_certificate → certificate}/ag/wlt_types_ag_jsons/interface.json +157 -0
  13. {brg_certificate → certificate}/ag/wlt_types_ag_jsons/powerManagement.json +205 -0
  14. brg_certificate/ag/wlt_types_ag_jsons/unified_echo_pkt.json → certificate/ag/wlt_types_ag_jsons/unified_echo_ext_pkt.json +27 -11
  15. certificate/ag/wlt_types_ag_jsons/unified_echo_pkt.json +175 -0
  16. certificate/ag/wlt_types_ag_jsons/unified_sensor_pkt.json +65 -0
  17. certificate/cert_common.py +1459 -0
  18. certificate/cert_config.py +455 -0
  19. {brg_certificate → certificate}/cert_data_sim.py +131 -46
  20. {brg_certificate → certificate}/cert_defines.py +120 -128
  21. {brg_certificate → certificate}/cert_gw_sim.py +151 -49
  22. {brg_certificate → certificate}/cert_mqtt.py +164 -59
  23. {brg_certificate → certificate}/cert_prints.py +34 -33
  24. {brg_certificate → certificate}/cert_protobuf.py +15 -6
  25. {brg_certificate → certificate}/cert_results.py +205 -48
  26. certificate/cert_utils.py +622 -0
  27. certificate/certificate.py +198 -0
  28. certificate/certificate_cli.py +79 -0
  29. certificate/certificate_eth_test_list.txt +74 -0
  30. certificate/certificate_sanity_test_list.txt +65 -0
  31. certificate/certificate_test_list.txt +75 -0
  32. {brg_certificate → certificate}/tests/calibration/interval_test/interval_test.json +2 -2
  33. {brg_certificate → certificate}/tests/calibration/interval_test/interval_test.py +7 -6
  34. certificate/tests/calibration/output_power_test/output_power_test.json +22 -0
  35. certificate/tests/calibration/output_power_test/output_power_test.py +39 -0
  36. {brg_certificate → certificate}/tests/calibration/pattern_test/pattern_test.json +1 -1
  37. {brg_certificate → certificate}/tests/calibration/pattern_test/pattern_test.py +20 -15
  38. certificate/tests/cloud_connectivity/acl_ext_adv_test/acl_ext_adv_test.json +14 -0
  39. certificate/tests/cloud_connectivity/acl_ext_adv_test/acl_ext_adv_test.py +140 -0
  40. certificate/tests/cloud_connectivity/acl_test/acl_test.json +14 -0
  41. certificate/tests/cloud_connectivity/acl_test/acl_test.py +98 -0
  42. certificate/tests/cloud_connectivity/brg_ota_test/brg_ota_test.json +18 -0
  43. certificate/tests/cloud_connectivity/brg_ota_test/brg_ota_test.py +39 -0
  44. certificate/tests/cloud_connectivity/channel_scan_behaviour_test/channel_scan_behaviour_test.json +18 -0
  45. certificate/tests/cloud_connectivity/channel_scan_behaviour_test/channel_scan_behaviour_test.py +215 -0
  46. certificate/tests/cloud_connectivity/connection_test/connection_test.json +17 -0
  47. certificate/tests/cloud_connectivity/connection_test/connection_test.py +74 -0
  48. certificate/tests/cloud_connectivity/downlink_test/downlink_test.json +20 -0
  49. certificate/tests/cloud_connectivity/downlink_test/downlink_test.py +204 -0
  50. certificate/tests/cloud_connectivity/ext_adv_stress_test/ext_adv_stress_test.json +16 -0
  51. certificate/tests/cloud_connectivity/ext_adv_stress_test/ext_adv_stress_test.py +98 -0
  52. certificate/tests/cloud_connectivity/reboot_test/reboot_test.json +17 -0
  53. certificate/tests/cloud_connectivity/reboot_test/reboot_test.py +57 -0
  54. certificate/tests/cloud_connectivity/registration_test/registration_test.json +19 -0
  55. certificate/tests/cloud_connectivity/registration_test/registration_test.py +384 -0
  56. certificate/tests/cloud_connectivity/registration_test/registration_test_cli.py +90 -0
  57. certificate/tests/cloud_connectivity/stress_test/stress_test.json +16 -0
  58. certificate/tests/cloud_connectivity/stress_test/stress_test.py +97 -0
  59. certificate/tests/cloud_connectivity/uplink_ext_adv_test/uplink_ext_adv_test.json +24 -0
  60. certificate/tests/cloud_connectivity/uplink_ext_adv_test/uplink_ext_adv_test.py +93 -0
  61. certificate/tests/cloud_connectivity/uplink_test/uplink_test.json +19 -0
  62. certificate/tests/cloud_connectivity/uplink_test/uplink_test.py +161 -0
  63. {brg_certificate → certificate}/tests/datapath/aging_test/aging_test.json +1 -1
  64. certificate/tests/datapath/aging_test/aging_test.py +138 -0
  65. certificate/tests/datapath/event_ble5_test/event_ble5_test.json +16 -0
  66. certificate/tests/datapath/event_ble5_test/event_ble5_test.py +95 -0
  67. certificate/tests/datapath/event_test/event_test.json +16 -0
  68. certificate/tests/datapath/event_test/event_test.py +85 -0
  69. {brg_certificate → certificate}/tests/datapath/num_of_tags_test/num_of_tags_test.json +1 -1
  70. {brg_certificate → certificate}/tests/datapath/num_of_tags_test/num_of_tags_test.py +10 -8
  71. certificate/tests/datapath/output_power_test/output_power_test.json +22 -0
  72. {brg_certificate → certificate}/tests/datapath/output_power_test/output_power_test.py +17 -6
  73. {brg_certificate → certificate}/tests/datapath/pacer_interval_ble5_test/pacer_interval_ble5_test.json +1 -1
  74. {brg_certificate → certificate}/tests/datapath/pacer_interval_ble5_test/pacer_interval_ble5_test.py +10 -8
  75. {brg_certificate → certificate}/tests/datapath/pacer_interval_test/pacer_interval_test.json +1 -1
  76. {brg_certificate → certificate}/tests/datapath/pacer_interval_test/pacer_interval_test.py +9 -7
  77. {brg_certificate → certificate}/tests/datapath/pattern_test/pattern_test.json +2 -2
  78. {brg_certificate → certificate}/tests/datapath/pattern_test/pattern_test.py +18 -6
  79. certificate/tests/datapath/pkt_filter_ble5_chl21_test/pkt_filter_ble5_chl21_test.json +19 -0
  80. certificate/tests/datapath/pkt_filter_ble5_chl21_test/pkt_filter_ble5_chl21_test.py +61 -0
  81. {brg_certificate → certificate}/tests/datapath/pkt_filter_ble5_test/pkt_filter_ble5_test.json +1 -1
  82. {brg_certificate → certificate}/tests/datapath/pkt_filter_ble5_test/pkt_filter_ble5_test.py +11 -10
  83. certificate/tests/datapath/pkt_filter_brg2gw_ext_adv_test/pkt_filter_brg2gw_ext_adv_test.json +18 -0
  84. certificate/tests/datapath/pkt_filter_brg2gw_ext_adv_test/pkt_filter_brg2gw_ext_adv_test.py +83 -0
  85. {brg_certificate → certificate}/tests/datapath/pkt_filter_gen3_test/pkt_filter_gen3_test.json +1 -1
  86. {brg_certificate → certificate}/tests/datapath/pkt_filter_gen3_test/pkt_filter_gen3_test.py +10 -9
  87. {brg_certificate → certificate}/tests/datapath/pkt_filter_test/pkt_filter_test.json +1 -1
  88. {brg_certificate → certificate}/tests/datapath/pkt_filter_test/pkt_filter_test.py +10 -9
  89. {brg_certificate → certificate}/tests/datapath/rssi_threshold_test/rssi_threshold_test.json +1 -1
  90. {brg_certificate → certificate}/tests/datapath/rssi_threshold_test/rssi_threshold_test.py +9 -8
  91. brg_certificate/tests/datapath/output_power_test/output_power_test.json → certificate/tests/datapath/rx_channel_hopping_test/rx_channel_hopping_test.json +5 -4
  92. certificate/tests/datapath/rx_channel_hopping_test/rx_channel_hopping_test.py +77 -0
  93. {brg_certificate → certificate}/tests/datapath/rx_channel_test/rx_channel_test.json +2 -2
  94. {brg_certificate → certificate}/tests/datapath/rx_channel_test/rx_channel_test.py +7 -6
  95. {brg_certificate → certificate}/tests/datapath/rx_rate_gen2_test/rx_rate_gen2_test.json +7 -7
  96. {brg_certificate → certificate}/tests/datapath/rx_rate_gen2_test/rx_rate_gen2_test.py +112 -72
  97. {brg_certificate → certificate}/tests/datapath/rx_rate_gen3_test/rx_rate_gen3_test.json +7 -7
  98. {brg_certificate → certificate}/tests/datapath/rx_rate_gen3_test/rx_rate_gen3_test.py +112 -72
  99. {brg_certificate → certificate}/tests/datapath/stress_gen3_test/stress_gen3_test.json +3 -3
  100. {brg_certificate → certificate}/tests/datapath/stress_gen3_test/stress_gen3_test.py +12 -11
  101. {brg_certificate → certificate}/tests/datapath/stress_test/stress_test.json +3 -3
  102. {brg_certificate → certificate}/tests/datapath/stress_test/stress_test.py +12 -11
  103. {brg_certificate → certificate}/tests/datapath/tx_repetition_test/tx_repetition_test.json +2 -1
  104. {brg_certificate → certificate}/tests/datapath/tx_repetition_test/tx_repetition_test.py +14 -13
  105. certificate/tests/edge_mgmt/action_blink_test/action_blink_test.json +14 -0
  106. certificate/tests/edge_mgmt/action_blink_test/action_blink_test.py +24 -0
  107. certificate/tests/edge_mgmt/action_get_battery_sensor_test/action_get_battery_sensor_test.json +14 -0
  108. certificate/tests/edge_mgmt/action_get_battery_sensor_test/action_get_battery_sensor_test.py +43 -0
  109. certificate/tests/edge_mgmt/action_get_module_test/action_get_module_test.json +14 -0
  110. certificate/tests/edge_mgmt/action_get_module_test/action_get_module_test.py +42 -0
  111. certificate/tests/edge_mgmt/action_get_pof_data_test/action_get_pof_data_test.json +14 -0
  112. certificate/tests/edge_mgmt/action_get_pof_data_test/action_get_pof_data_test.py +44 -0
  113. certificate/tests/edge_mgmt/action_gw_hb_test/action_gw_hb_test.json +15 -0
  114. certificate/tests/edge_mgmt/action_gw_hb_test/action_gw_hb_test.py +42 -0
  115. certificate/tests/edge_mgmt/action_reboot_test/action_reboot_test.json +14 -0
  116. certificate/tests/edge_mgmt/action_reboot_test/action_reboot_test.py +49 -0
  117. certificate/tests/edge_mgmt/action_restore_defaults_test/action_restore_defaults_test.json +14 -0
  118. certificate/tests/edge_mgmt/action_restore_defaults_test/action_restore_defaults_test.py +102 -0
  119. certificate/tests/edge_mgmt/action_send_hb_test/action_send_hb_test.json +14 -0
  120. certificate/tests/edge_mgmt/action_send_hb_test/action_send_hb_test.py +41 -0
  121. {brg_certificate → certificate}/tests/edge_mgmt/periodic_msgs_test/periodic_msgs_test.json +2 -2
  122. {brg_certificate → certificate}/tests/edge_mgmt/periodic_msgs_test/periodic_msgs_test.py +22 -11
  123. {brg_certificate → certificate}/tests/energy2400/duty_cycle_test/duty_cycle_test.json +1 -1
  124. {brg_certificate → certificate}/tests/energy2400/duty_cycle_test/duty_cycle_test.py +7 -6
  125. certificate/tests/energy2400/output_power_test/output_power_test.json +22 -0
  126. {brg_certificate → certificate}/tests/energy2400/output_power_test/output_power_test.py +17 -6
  127. {brg_certificate → certificate}/tests/energy2400/pattern_test/pattern_test.json +1 -1
  128. {brg_certificate → certificate}/tests/energy2400/pattern_test/pattern_test.py +7 -6
  129. certificate/tests/energy2400/signal_indicator_ble5_test/signal_indicator_ble5_test.json +25 -0
  130. certificate/tests/energy2400/signal_indicator_ble5_test/signal_indicator_ble5_test.py +378 -0
  131. brg_certificate/tests/energy2400/signal_indicator_ble5_10_500k_test/signal_indicator_ble5_10_500k_test.json → certificate/tests/energy2400/signal_indicator_ext_adv_test/signal_indicator_ext_adv_test.json +3 -3
  132. brg_certificate/tests/energy2400/signal_indicator_ble5_10_500k_test/signal_indicator_ble5_10_500k_test.py → certificate/tests/energy2400/signal_indicator_ext_adv_test/signal_indicator_ext_adv_test.py +97 -87
  133. certificate/tests/energy2400/signal_indicator_test/signal_indicator_test.json +23 -0
  134. certificate/tests/energy2400/signal_indicator_test/signal_indicator_test.py +350 -0
  135. {brg_certificate → certificate}/tests/energy_sub1g/duty_cycle_test/duty_cycle_test.json +1 -1
  136. {brg_certificate → certificate}/tests/energy_sub1g/duty_cycle_test/duty_cycle_test.py +7 -6
  137. {brg_certificate → certificate}/tests/energy_sub1g/pattern_test/pattern_test.json +1 -1
  138. {brg_certificate → certificate}/tests/energy_sub1g/pattern_test/pattern_test.py +7 -6
  139. {brg_certificate → certificate}/tests/pwr_mgmt/pwr_mgmt_test/pwr_mgmt_test.json +1 -1
  140. {brg_certificate → certificate}/tests/pwr_mgmt/pwr_mgmt_test/pwr_mgmt_test.py +10 -10
  141. {brg_certificate → certificate}/tests/sensors/ext_sensor_test/ext_sensor_test.json +4 -4
  142. certificate/tests/sensors/ext_sensor_test/ext_sensor_test.py +455 -0
  143. certificate/wlt_types.py +122 -0
  144. {gw_certificate → common}/api_if/202/status.json +6 -0
  145. {gw_certificate → common}/api_if/203/status.json +6 -0
  146. {gw_certificate → common}/api_if/204/status.json +6 -0
  147. common/api_if/206/data.json +85 -0
  148. common/api_if/206/status.json +69 -0
  149. common/api_if/api_validation.py +85 -0
  150. common/web/templates/generator.html +148 -0
  151. common/web/templates/index.html +20 -0
  152. common/web/templates/menu.html +54 -0
  153. common/web/templates/parser.html +53 -0
  154. {brg_certificate/ag → common/web/templates}/wlt_types.html +1216 -191
  155. common/web/web_utils.py +377 -0
  156. {brg_certificate → common}/wltPb_pb2.py +14 -12
  157. {gw_certificate/common → common}/wltPb_pb2.pyi +16 -2
  158. gui_certificate/gui_certificate_cli.py +14 -0
  159. gui_certificate/server.py +1062 -0
  160. gui_certificate/templates/cert_run.html +1207 -0
  161. wiliot_certificate-4.5.0a1.dist-info/METADATA +110 -0
  162. wiliot_certificate-4.5.0a1.dist-info/RECORD +182 -0
  163. {wiliot_certificate-4.4.3.dist-info → wiliot_certificate-4.5.0a1.dist-info}/WHEEL +1 -1
  164. wiliot_certificate-4.5.0a1.dist-info/entry_points.txt +5 -0
  165. wiliot_certificate-4.5.0a1.dist-info/top_level.txt +3 -0
  166. brg_certificate/ag/energous_v0_defines.py +0 -925
  167. brg_certificate/ag/energous_v1_defines.py +0 -931
  168. brg_certificate/ag/energous_v2_defines.py +0 -925
  169. brg_certificate/ag/energous_v3_defines.py +0 -925
  170. brg_certificate/ag/energous_v4_defines.py +0 -925
  171. brg_certificate/ag/fanstel_lan_v0_defines.py +0 -925
  172. brg_certificate/ag/fanstel_lte_v0_defines.py +0 -925
  173. brg_certificate/ag/fanstel_wifi_v0_defines.py +0 -925
  174. brg_certificate/ag/minew_lte_v0_defines.py +0 -925
  175. brg_certificate/ag/wlt_types_ag_jsons/unified_echo_ext_pkt.json +0 -61
  176. brg_certificate/brg_certificate.py +0 -225
  177. brg_certificate/brg_certificate_cli.py +0 -63
  178. brg_certificate/cert_common.py +0 -923
  179. brg_certificate/cert_config.py +0 -402
  180. brg_certificate/cert_utils.py +0 -362
  181. brg_certificate/certificate_bcc_sanity_test_list.txt +0 -40
  182. brg_certificate/certificate_bcc_test_list.txt +0 -48
  183. brg_certificate/certificate_sanity_test_list.txt +0 -43
  184. brg_certificate/certificate_test_list.txt +0 -53
  185. brg_certificate/config/eclipse.json +0 -10
  186. brg_certificate/config/hivemq.json +0 -10
  187. brg_certificate/config/mosquitto.json +0 -10
  188. brg_certificate/config/mosquitto.md +0 -95
  189. brg_certificate/config/wiliot-dev.json +0 -10
  190. brg_certificate/restore_brg.py +0 -61
  191. brg_certificate/tests/calibration/output_power_test/output_power_test.json +0 -16
  192. brg_certificate/tests/calibration/output_power_test/output_power_test.py +0 -28
  193. brg_certificate/tests/datapath/aging_test/aging_test.py +0 -143
  194. brg_certificate/tests/datapath/pacer_interval_tags_count_test/pacer_interval_tags_count_test.json +0 -16
  195. brg_certificate/tests/datapath/pacer_interval_tags_count_test/pacer_interval_tags_count_test.py +0 -73
  196. brg_certificate/tests/datapath/tx_repetition_algo_test/tx_repetition_algo_test.json +0 -17
  197. brg_certificate/tests/datapath/tx_repetition_algo_test/tx_repetition_algo_test.py +0 -118
  198. brg_certificate/tests/edge_mgmt/actions_test/actions_test.json +0 -14
  199. brg_certificate/tests/edge_mgmt/actions_test/actions_test.py +0 -396
  200. brg_certificate/tests/edge_mgmt/brg2brg_ota_ble5_test/brg2brg_ota_ble5_test.json +0 -20
  201. brg_certificate/tests/edge_mgmt/brg2brg_ota_ble5_test/brg2brg_ota_ble5_test.py +0 -94
  202. brg_certificate/tests/edge_mgmt/brg2brg_ota_test/brg2brg_ota_test.json +0 -19
  203. brg_certificate/tests/edge_mgmt/brg2brg_ota_test/brg2brg_ota_test.py +0 -87
  204. brg_certificate/tests/edge_mgmt/leds_test/leds_test.json +0 -17
  205. brg_certificate/tests/edge_mgmt/leds_test/leds_test.py +0 -223
  206. brg_certificate/tests/edge_mgmt/ota_test/ota_test.json +0 -17
  207. brg_certificate/tests/edge_mgmt/ota_test/ota_test.py +0 -128
  208. brg_certificate/tests/energy2400/output_power_test/output_power_test.json +0 -16
  209. brg_certificate/tests/energy2400/signal_indicator_ble5_10_250k_test/signal_indicator_ble5_10_250k_test.json +0 -20
  210. brg_certificate/tests/energy2400/signal_indicator_ble5_10_250k_test/signal_indicator_ble5_10_250k_test.py +0 -321
  211. brg_certificate/tests/energy2400/signal_indicator_sub1g_2_4_test/signal_indicator_sub1g_2_4_test.json +0 -20
  212. brg_certificate/tests/energy2400/signal_indicator_sub1g_2_4_test/signal_indicator_sub1g_2_4_test.py +0 -141
  213. brg_certificate/tests/energy2400/signal_indicator_test/signal_indicator_test.json +0 -20
  214. brg_certificate/tests/energy2400/signal_indicator_test/signal_indicator_test.py +0 -276
  215. brg_certificate/tests/energy_sub1g/signal_indicator_functionality_test/signal_indicator_functionality_test.json +0 -20
  216. brg_certificate/tests/energy_sub1g/signal_indicator_functionality_test/signal_indicator_functionality_test.py +0 -390
  217. brg_certificate/tests/energy_sub1g/signal_indicator_test/signal_indicator_test.json +0 -16
  218. brg_certificate/tests/energy_sub1g/signal_indicator_test/signal_indicator_test.py +0 -28
  219. brg_certificate/tests/sensors/ext_sensor_test/ext_sensor_test.py +0 -305
  220. brg_certificate/wltPb_pb2.pyi +0 -234
  221. brg_certificate/wlt_types.py +0 -113
  222. gw_certificate/ag/ut_defines.py +0 -364
  223. gw_certificate/ag/wlt_types.py +0 -85
  224. gw_certificate/ag/wlt_types_ag.py +0 -5310
  225. gw_certificate/ag/wlt_types_data.py +0 -64
  226. gw_certificate/api/extended_api.py +0 -23
  227. gw_certificate/api_if/200/data.json +0 -106
  228. gw_certificate/api_if/200/status.json +0 -47
  229. gw_certificate/api_if/201/data.json +0 -98
  230. gw_certificate/api_if/201/status.json +0 -53
  231. gw_certificate/api_if/205/logs.json +0 -12
  232. gw_certificate/api_if/api_validation.py +0 -38
  233. gw_certificate/api_if/gw_capabilities.py +0 -54
  234. gw_certificate/cert_results.py +0 -145
  235. gw_certificate/common/analysis_data_bricks.py +0 -60
  236. gw_certificate/common/debug.py +0 -42
  237. gw_certificate/common/serialization_formatter.py +0 -93
  238. gw_certificate/common/utils.py +0 -8
  239. gw_certificate/common/utils_defines.py +0 -15
  240. gw_certificate/common/wltPb_pb2.py +0 -84
  241. gw_certificate/gw_certificate.py +0 -154
  242. gw_certificate/gw_certificate_cli.py +0 -87
  243. gw_certificate/interface/4.4.93_app.zip +0 -0
  244. gw_certificate/interface/4.4.93_sd_bl_app.zip +0 -0
  245. gw_certificate/interface/ble_simulator.py +0 -61
  246. gw_certificate/interface/ble_sniffer.py +0 -189
  247. gw_certificate/interface/flash_fw.py +0 -90
  248. gw_certificate/interface/if_defines.py +0 -36
  249. gw_certificate/interface/mqtt.py +0 -563
  250. gw_certificate/interface/nrfutil-linux +0 -0
  251. gw_certificate/interface/nrfutil-mac +0 -0
  252. gw_certificate/interface/nrfutil.exe +0 -0
  253. gw_certificate/interface/pkt_generator.py +0 -594
  254. gw_certificate/interface/uart_if.py +0 -236
  255. gw_certificate/interface/uart_ports.py +0 -20
  256. gw_certificate/templates/results.html +0 -241
  257. gw_certificate/templates/stage.html +0 -22
  258. gw_certificate/templates/table.html +0 -6
  259. gw_certificate/templates/test.html +0 -38
  260. gw_certificate/tests/__init__.py +0 -10
  261. gw_certificate/tests/actions.py +0 -289
  262. gw_certificate/tests/bad_crc_to_PER_quantization.csv +0 -51
  263. gw_certificate/tests/connection.py +0 -188
  264. gw_certificate/tests/downlink.py +0 -172
  265. gw_certificate/tests/generic.py +0 -238
  266. gw_certificate/tests/registration.py +0 -340
  267. gw_certificate/tests/static/__init__.py +0 -0
  268. gw_certificate/tests/static/connection_defines.py +0 -9
  269. gw_certificate/tests/static/downlink_defines.py +0 -9
  270. gw_certificate/tests/static/generated_packet_table.py +0 -195
  271. gw_certificate/tests/static/packet_table.csv +0 -10067
  272. gw_certificate/tests/static/references.py +0 -5
  273. gw_certificate/tests/static/uplink_defines.py +0 -14
  274. gw_certificate/tests/throughput.py +0 -240
  275. gw_certificate/tests/uplink.py +0 -853
  276. wiliot_certificate-4.4.3.dist-info/METADATA +0 -211
  277. wiliot_certificate-4.4.3.dist-info/RECORD +0 -210
  278. wiliot_certificate-4.4.3.dist-info/entry_points.txt +0 -3
  279. wiliot_certificate-4.4.3.dist-info/top_level.txt +0 -3
  280. {brg_certificate → certificate}/__init__.py +0 -0
  281. {brg_certificate → certificate}/ag/wlt_types_ag_jsons/side_info_sensor.json +0 -0
  282. {brg_certificate → certificate}/ag/wlt_types_ag_jsons/signal_indicator_data.json +0 -0
  283. {gw_certificate → common}/api_if/202/data.json +0 -0
  284. {gw_certificate/api_if/200 → common/api_if/202}/logs.json +0 -0
  285. {gw_certificate → common}/api_if/203/data.json +0 -0
  286. {gw_certificate/api_if/201 → common/api_if/203}/logs.json +0 -0
  287. {gw_certificate → common}/api_if/204/data.json +0 -0
  288. {gw_certificate/api_if/202 → common/api_if/204}/logs.json +0 -0
  289. {gw_certificate → common}/api_if/205/data.json +0 -0
  290. {gw_certificate/api_if/203 → common/api_if/205}/logs.json +0 -0
  291. {gw_certificate → common}/api_if/205/status.json +0 -0
  292. {gw_certificate/api_if/204 → common/api_if/206}/logs.json +0 -0
  293. {gw_certificate → common/api_if}/__init__.py +0 -0
  294. {gw_certificate/api_if → gui_certificate}/__init__.py +0 -0
  295. {wiliot_certificate-4.4.3.dist-info → wiliot_certificate-4.5.0a1.dist-info}/licenses/LICENSE +0 -0
@@ -1,8 +1,9 @@
1
- from brg_certificate.cert_prints import *
2
- from brg_certificate.cert_defines import *
3
- from brg_certificate.wlt_types import *
4
- import brg_certificate.cert_common as cert_common
5
- import brg_certificate.cert_config as cert_config
1
+ from certificate.cert_prints import *
2
+ from certificate.cert_defines import *
3
+ from certificate.wlt_types import *
4
+ import certificate.cert_mqtt as cert_mqtt
5
+ import certificate.cert_common as cert_common
6
+ import certificate.cert_config as cert_config
6
7
 
7
8
  # Test Description:
8
9
  # This test is to verify the functionality of both signal indicator tx (tx_brg) and rx (rx_brg) at BRG level.
@@ -27,21 +28,23 @@ import brg_certificate.cert_config as cert_config
27
28
  NUM_OF_SCANNING_CYCLE = 5
28
29
  DEFAULT_SCAN_TIME = 30
29
30
  SCAN_DELAY_TIME = 3
30
- BLE4_BROADCAST_DURATION = ag.BLE5_PARAM_PRIMARY_CHANNEL_SCAN_CYCLE // 1000 + 1
31
+ BLE5_MAX_DURATION_SEC = ag.BLE5_PARAM_PRIMARY_CHANNEL_SCAN_CYCLE // 1000 + 1
31
32
 
32
33
 
33
34
  def test_rssi_threshold(test):
34
35
  cycle, rep = 5, 4
35
36
  rx_brg_ = test.brg1 # when internal_brg test this is the internal_brg
36
- tx_brg_ = test.brg0
37
+ tx_brg_ = cert_config.get_brg_by_target(test, DUT)
37
38
  rssi_threshold = -25
38
39
 
39
40
  utPrint(f"TX BRG with RX- cycle = {cycle}, repetition = {rep}\n", "BLUE")
40
41
  # configuring receiver #
41
42
  utPrint(f"Configuring BRG {rx_brg_.id_str} as Signal Indicator Receiver with RSSI Threshold of {rssi_threshold}", "BOLD")
42
43
  is_ble5 = not test.internal_brg
43
- test = cert_config.brg1_configure(test=test, module=rx_brg_.sensors, fields=[BRG_SENSOR0, BRG_RSSI_THRESHOLD],
44
- values=[ag.EXTERNAL_SENSORS_SIGNAL_INDICATOR, rssi_threshold], ble5=is_ble5, wait=True)[0]
44
+ test = cert_config.brg_configure(test=test, module=rx_brg_.sensors,
45
+ fields=[BRG_SENSOR0, BRG_RSSI_THRESHOLD],
46
+ values=[ag.EXTERNAL_SENSORS_SIGNAL_INDICATOR, rssi_threshold],
47
+ ble5=is_ble5, wait=True, target=BRG1)[0]
45
48
  if test.rc == TEST_FAILED:
46
49
  test.add_reason(f"BRG {rx_brg_.id_str}: didn't receive signal indicator receiver configuration!")
47
50
  return test
@@ -56,12 +59,12 @@ def test_rssi_threshold(test):
56
59
  utPrint(f"BRG {tx_brg_.id_str} configured to be transmitter - cycle = {cycle},"
57
60
  f"repetition = {rep}", "BOLD")
58
61
  # phase analysis #
59
- print_update_wait(BLE4_BROADCAST_DURATION) # BLE5 configuration can take up to BLE4_BROADCAST_DURATION sec
60
- mqtt_scan_n_create_log_file(test, (NUM_OF_SCANNING_CYCLE * cycle) + SCAN_DELAY_TIME, "rssi_threshold")
62
+ print_update_wait(BLE5_MAX_DURATION_SEC) # BLE5 configuration can take up to BLE5_MAX_DURATION_SEC
63
+ cert_mqtt.mqtt_scan_n_create_log_file(test, (NUM_OF_SCANNING_CYCLE * cycle) + SCAN_DELAY_TIME, "rssi_threshold")
61
64
  received_signal_ind_pkts = cert_common.get_all_sig_ind_pkts(test=test, rx_brg=rx_brg_, tx_brg=tx_brg_)
62
65
  for p in received_signal_ind_pkts:
63
- print(f"rssi value: {p[RSSI]}")
64
- rssi_threshold_viloation_pkts = [p for p in received_signal_ind_pkts if p[RSSI] >= -1 * rssi_threshold]
66
+ print(f"rssi value: {p[UNIFIED_SENSOR_PKT].pkt.rssi}")
67
+ rssi_threshold_viloation_pkts = [p for p in received_signal_ind_pkts if p[UNIFIED_SENSOR_PKT].pkt.rssi >= -1 * rssi_threshold]
65
68
  if rssi_threshold_viloation_pkts:
66
69
  test.rc = TEST_FAILED
67
70
  test.add_reason(f"rssi_threshold phase failed - BRG {rx_brg_.id_str} echoed"
@@ -71,7 +74,7 @@ def test_rssi_threshold(test):
71
74
 
72
75
  def test_brg0_tx_brg1_rx(test):
73
76
 
74
- tx_brg_ = test.brg0
77
+ tx_brg_ = cert_config.get_brg_by_target(test, DUT)
75
78
  rx_brg_ = test.brg1 # when internal_brg test this is the internal_brg
76
79
  cycle, rep = 8, 4
77
80
 
@@ -79,8 +82,10 @@ def test_brg0_tx_brg1_rx(test):
79
82
  # configuring receiver #
80
83
  utPrint(f"Configuring BRG {rx_brg_.id_str} as Signal Indicator Receiver", "BOLD")
81
84
  is_ble5 = not test.internal_brg
82
- test = cert_config.brg1_configure(test=test, module=rx_brg_.sensors, fields=[BRG_SENSOR0],
83
- values=[ag.EXTERNAL_SENSORS_SIGNAL_INDICATOR], ble5=is_ble5, wait=True)[0]
85
+ test = cert_config.brg_configure(test=test, module=rx_brg_.sensors,
86
+ fields=[BRG_SENSOR0],
87
+ values=[ag.EXTERNAL_SENSORS_SIGNAL_INDICATOR],
88
+ ble5=is_ble5, wait=True, target=BRG1)[0]
84
89
  if test.rc == TEST_FAILED:
85
90
  test.add_reason(f"BRG {rx_brg_.id_str}: didn't receive signal indicator receiver configuration!")
86
91
  return test
@@ -96,8 +101,8 @@ def test_brg0_tx_brg1_rx(test):
96
101
  utPrint(f"BRG {tx_brg_.id_str} configured to be transmitter - cycle = {cycle},"
97
102
  f"repetition = {rep}", "BOLD")
98
103
  # phase analysis #
99
- print_update_wait(BLE4_BROADCAST_DURATION) # BLE5 configuration can take up to BLE4_BROADCAST_DURATION sec
100
- mqtt_scan_n_create_log_file(test, (NUM_OF_SCANNING_CYCLE * cycle) + SCAN_DELAY_TIME, f"brg0_rx_brg1_tx_{cycle}_{rep}")
104
+ print_update_wait(BLE5_MAX_DURATION_SEC) # BLE5 configuration can take up to BLE5_MAX_DURATION_SEC
105
+ cert_mqtt.mqtt_scan_n_create_log_file(test, (NUM_OF_SCANNING_CYCLE * cycle) + SCAN_DELAY_TIME, f"brg0_rx_brg1_tx_{cycle}_{rep}")
101
106
  received_signal_ind_pkts = cert_common.get_all_sig_ind_pkts(test=test, rx_brg=rx_brg_, tx_brg=tx_brg_)
102
107
 
103
108
  if cert_common.sig_ind_pkts_fail_analysis(tx_brg_, rx_brg_, NUM_OF_SCANNING_CYCLE, received_signal_ind_pkts):
@@ -107,7 +112,7 @@ def test_brg0_tx_brg1_rx(test):
107
112
  f"signal indicator packets\nreceived {len(received_signal_ind_pkts)} packets, "
108
113
  f"expected {expected_signal_ind_pkts} packets")
109
114
  print(received_signal_ind_pkts) # TODO: logging print(debug)
110
- print([[p[TIMESTAMP], p[SENSOR_PKT].pkt.rx_antenna] for p in received_signal_ind_pkts])
115
+ print([[p[TIMESTAMP], p[UNIFIED_SENSOR_PKT].pkt.signal_indicator_payload.rx_antenna] for p in received_signal_ind_pkts])
111
116
 
112
117
  test = cert_common.rx_tx_antenna_check(test, received_signal_ind_pkts, tx_brg_, rx_brg_, NUM_OF_SCANNING_CYCLE)
113
118
  test = cert_common.output_power_check(test, received_signal_ind_pkts, tx_brg_)
@@ -118,22 +123,24 @@ def test_brg0_tx_brg1_rx(test):
118
123
 
119
124
  def test_brg0_none_brg1_rx(test):
120
125
  cycle, rep = ag.BRG_DEFAULT_SIGNAL_INDICATOR_CYCLE, ag.BRG_DEFAULT_SIGNAL_INDICATOR_REP
121
- tx_brg_ = test.brg0
126
+ tx_brg_ = cert_config.get_brg_by_target(test, DUT)
122
127
  rx_brg_ = test.brg1 # when internal_brg test this is the internal_brg
123
128
  utPrint(f"RX BRG without TX- cycle = {cycle}, repetition = {rep}\n", "BLUE")
124
129
  # configuring receiver #
125
130
  utPrint(f"Configuring BRG {rx_brg_.id_str} as Signal Indicator Receiver", "BOLD")
126
131
  is_ble5 = not test.internal_brg
127
- test = cert_config.brg1_configure(test=test, module=rx_brg_.sensors, fields=[BRG_SENSOR0],
128
- values=[ag.EXTERNAL_SENSORS_SIGNAL_INDICATOR], ble5=is_ble5, wait=True)[0]
132
+ test = cert_config.brg_configure(test=test, module=rx_brg_.sensors,
133
+ fields=[BRG_SENSOR0],
134
+ values=[ag.EXTERNAL_SENSORS_SIGNAL_INDICATOR],
135
+ ble5=is_ble5, wait=True, target=BRG1)[0]
129
136
  if test.rc == TEST_FAILED:
130
137
  test.add_reason(f"BRG {rx_brg_.id_str}: didn't receive signal indicator receiver configuration!")
131
138
  return test
132
139
  utPrint(f"BRG {rx_brg_.id_str} successfully configured as Signal Indicator Receiver\n", "BOLD")
133
140
 
134
141
  # phase analysis #
135
- print_update_wait(BLE4_BROADCAST_DURATION) # BLE5 configuration can take up to BLE4_BROADCAST_DURATION sec
136
- mqtt_scan_n_create_log_file(test, DEFAULT_SCAN_TIME, "brg0_none_brg1_rx")
142
+ print_update_wait(BLE5_MAX_DURATION_SEC) # BLE5 configuration can take up to BLE5_MAX_DURATION_SEC
143
+ cert_mqtt.mqtt_scan_n_create_log_file(test, DEFAULT_SCAN_TIME, "brg0_none_brg1_rx")
137
144
  expected_signal_ind_pkts = [0]
138
145
  received_signal_ind_pkts = cert_common.get_all_sig_ind_pkts(test=test, rx_brg=rx_brg_, tx_brg=tx_brg_)
139
146
  if len(received_signal_ind_pkts) not in expected_signal_ind_pkts:
@@ -155,7 +162,7 @@ def test_brg0_rxtx_brg1_rxtx(test):
155
162
 
156
163
  tx_cycle, tx_rep = 5, 4
157
164
  rx_cycle, rx_rep = 5, 4
158
- tx_brg_ = test.brg0
165
+ tx_brg_ = cert_config.get_brg_by_target(test, DUT)
159
166
  rx_brg_ = test.brg1
160
167
  utPrint("Both BRG's are transmitter and receivers, with different values\n", "BLUE")
161
168
  # configuring first brg (tx_brg_) as receiver
@@ -177,8 +184,10 @@ def test_brg0_rxtx_brg1_rxtx(test):
177
184
 
178
185
  # configuring second brg (rx_brg_) as receiver
179
186
  utPrint(f"Configuring BRG {rx_brg_.id_str} as Signal Indicator Receiver", "BOLD")
180
- test = cert_config.brg1_configure(test=test, module=rx_brg_.sensors, fields=[BRG_SENSOR0],
181
- values=[ag.EXTERNAL_SENSORS_SIGNAL_INDICATOR], ble5=True)[0]
187
+ test = cert_config.brg_configure(test=test, module=rx_brg_.sensors,
188
+ fields=[BRG_SENSOR0],
189
+ values=[ag.EXTERNAL_SENSORS_SIGNAL_INDICATOR],
190
+ ble5=True, target=BRG1)[0]
182
191
  if test.rc == TEST_FAILED and test.exit_on_param_failure:
183
192
  test.add_reason(f"BRG {rx_brg_.id_str}: didn't receive signal indicator receiver configuration!")
184
193
  return test
@@ -186,16 +195,18 @@ def test_brg0_rxtx_brg1_rxtx(test):
186
195
 
187
196
  # configuring second brg (rx_brg_) as transmitter (already configured as rx)
188
197
  utPrint(f"Configuring BRG {rx_brg_.id_str} as Signal Indicator Transmitter", "BOLD")
189
- test = cert_config.brg1_configure(test=test, module=rx_brg_.energy2400, fields=[BRG_SIGNAL_INDICATOR_CYCLE, BRG_SIGNAL_INDICATOR_REP],
190
- values=[rx_cycle, rx_rep], ble5=True)[0]
198
+ test = cert_config.brg_configure(test=test, module=rx_brg_.energy2400,
199
+ fields=[BRG_SIGNAL_INDICATOR_CYCLE, BRG_SIGNAL_INDICATOR_REP],
200
+ values=[rx_cycle, rx_rep],
201
+ ble5=True, target=BRG1)[0]
191
202
  if test.rc == TEST_FAILED and test.exit_on_param_failure:
192
203
  test.add_reason(f"BRG {rx_brg_.id_str}: didn't receive signal indicator transmitter configuration!")
193
204
  return test
194
205
  utPrint(f"BRG {rx_brg_.id_str} configured to be transmitter - cycle={rx_cycle}, repetition={rx_rep}")
195
206
 
196
207
  # phase analysis #
197
- print_update_wait(BLE4_BROADCAST_DURATION) # BLE5 configuration can take up to BLE4_BROADCAST_DURATION sec
198
- mqtt_scan_n_create_log_file(test, NUM_OF_SCANNING_CYCLE * max(tx_cycle, rx_cycle) + SCAN_DELAY_TIME, "brg0_rxtx_brg1_rxtx")
208
+ print_update_wait(BLE5_MAX_DURATION_SEC) # BLE5 configuration can take up to BLE5_MAX_DURATION_SEC
209
+ cert_mqtt.mqtt_scan_n_create_log_file(test, NUM_OF_SCANNING_CYCLE * max(tx_cycle, rx_cycle) + SCAN_DELAY_TIME, "brg0_rxtx_brg1_rxtx")
199
210
 
200
211
  # Analyzing tx_brg_ performance as receiver
201
212
  utPrint(f"Analyzing tx_brg {tx_brg_.id_str} performance as a Receiver\n", "BOLD")
@@ -226,7 +237,7 @@ def test_brg0_tx_brg1_none(test):
226
237
  # Tx BRG without rx. just waiting for packets to be sent from the transmitter and verify
227
238
  # The receiver isn't receiving any signal indicator packets.
228
239
  cycle, rep = 4, 3
229
- tx_brg_ = test.brg0
240
+ tx_brg_ = cert_config.get_brg_by_target(test, DUT)
230
241
  rx_brg_ = test.brg1 # when internal_brg test this is the internal_brg
231
242
  utPrint(f"TX BRG without RX - cycle = {cycle}, repetition = {rep}\n", "BLUE")
232
243
  # configuring transmitter #
@@ -239,8 +250,8 @@ def test_brg0_tx_brg1_none(test):
239
250
  return test
240
251
 
241
252
  # phase analysis #
242
- print_update_wait(BLE4_BROADCAST_DURATION) # BLE5 configuration can take up to BLE4_BROADCAST_DURATION sec
243
- mqtt_scan_n_create_log_file(test, (NUM_OF_SCANNING_CYCLE * cycle) + SCAN_DELAY_TIME, "brg0_tx_brg1_none")
253
+ print_update_wait(BLE5_MAX_DURATION_SEC) # BLE5 configuration can take up to BLE5_MAX_DURATION_SEC
254
+ cert_mqtt.mqtt_scan_n_create_log_file(test, (NUM_OF_SCANNING_CYCLE * cycle) + SCAN_DELAY_TIME, "brg0_tx_brg1_none")
244
255
  expected_signal_ind_pkts = [0]
245
256
  received_signal_ind_pkts = cert_common.get_all_sig_ind_pkts(test=test, rx_brg=rx_brg_, tx_brg=tx_brg_)
246
257
  if len(received_signal_ind_pkts) not in expected_signal_ind_pkts:
@@ -261,61 +272,60 @@ def run(test):
261
272
  # Test prolog
262
273
  test = cert_common.test_prolog(test)
263
274
 
264
- # Configure to scan ble5 channel during all the test
265
- test = cert_config.brg_configure(test, fields=[BRG_RX_CHANNEL], values=[ag.RX_CHANNEL_10_500K],
266
- module=test.brg0.datapath, ble5=True)[0]
267
- if test.rc == TEST_FAILED:
268
- return cert_common.test_epilog(test, revert_brgs=True, modules=[test.brg0.datapath], ble5=True)
269
- test = cert_config.brg1_configure(test, fields=[BRG_RX_CHANNEL], values=[ag.RX_CHANNEL_10_500K], module=test.brg1.datapath)[0]
270
- if test.rc == TEST_FAILED:
271
- is_ble5 = not test.internal_brg
272
- return cert_common.test_epilog(test, revert_brgs=True, modules=[test.brg0.datapath],
273
- brg1_modules=[test.brg1.datapath], ble5=is_ble5)
274
-
275
- for param in test.params:
276
- phase_run_print(param.name)
277
- test = SIGNAL_INDICATOR_TEST_MAP[param.value](test)
278
- generate_log_file(test, param.name)
279
- field_functionality_pass_fail_print(test, param.name)
280
- test.set_phase_rc(param.name, test.rc)
281
- test.add_phase_reason(param.name, test.reason)
282
- if test.rc == TEST_FAILED and test.exit_on_param_failure:
283
- break
284
- else:
285
- test.reset_result()
286
-
287
- # Reset to defaults after every phase (don't fail the phase on that)
288
- test = cert_config.config_brg_defaults(test, modules=[test.brg0.energy2400, test.brg0.sensors], ble5=True, wait=False)[0]
289
- # BLE5 configuration can take up to BLE4_BROADCAST_DURATION sec, we configured 2 modules here
290
- print_update_wait(2 * BLE4_BROADCAST_DURATION)
275
+ for rx_channel in [ag.RX_CHANNEL_10_500K, ag.RX_CHANNEL_37]:
276
+
277
+ # Configure to rx channel and extended advertising pattern
278
+ brg_dut = cert_config.get_brg_by_target(test, DUT)
279
+ test = cert_config.brg_configure(test, fields=[BRG_RX_CHANNEL, BRG_PATTERN],
280
+ values=[rx_channel, ag.DATAPATH_PATTERN_EXTENDED_ADV],
281
+ module=brg_dut.datapath, ble5=True)[0]
291
282
  if test.rc == TEST_FAILED:
292
- test.add_reason("Failed to restore brg0 to defaults")
293
- else:
294
- is_ble5 = not test.internal_brg
295
- wait = test.internal_brg
296
- test = cert_config.config_brg1_defaults(test, modules=[test.brg1.energy2400, test.brg1.sensors], ble5=is_ble5, wait=wait)[0]
297
- # BLE5 configuration can take up to BLE4_BROADCAST_DURATION sec, we configured 2 modules here
298
- print_update_wait(2 * BLE4_BROADCAST_DURATION)
299
- if test.rc == TEST_FAILED:
300
- test.add_reason("Failed to restore brg0 to defaults")
283
+ return cert_common.test_epilog(test, revert_brgs=True,
284
+ modules=[brg_dut.datapath], ble5=True)
285
+ test = cert_config.brg_configure(test, fields=[BRG_RX_CHANNEL, BRG_PATTERN],
286
+ values=[rx_channel, ag.DATAPATH_PATTERN_EXTENDED_ADV],
287
+ module=test.brg1.datapath, target=BRG1)[0]
301
288
  if test.rc == TEST_FAILED:
289
+ return cert_common.test_epilog(test, revert_brgs=True,
290
+ modules=[brg_dut.datapath],
291
+ brg1_modules=[test.brg1.datapath], ble5=True)
292
+
293
+ for param in test.params:
294
+ phase_run_print(param.name)
295
+ test = SIGNAL_INDICATOR_TEST_MAP[param.value](test)
296
+ cert_mqtt.generate_log_file(test, param.name)
297
+ field_functionality_pass_fail_print(test, param.name)
302
298
  test.set_phase_rc(param.name, test.rc)
303
299
  test.add_phase_reason(param.name, test.reason)
304
- if test.exit_on_param_failure:
300
+ if test.rc == TEST_FAILED and test.exit_on_param_failure:
305
301
  break
306
- else:
307
- test.reset_result()
308
-
309
- # Revert to defaults here and not in epilog
310
- test = cert_config.config_brg_defaults(test, modules=[test.brg0.datapath], ble5=True, wait=False)[0]
311
- if test.rc == TEST_FAILED:
312
- test.add_reason("Failed to revert brg0 datapath to defaults")
313
- else:
314
- is_ble5 = not test.internal_brg
315
- wait = test.internal_brg
316
- test = cert_config.config_brg1_defaults(test, modules=[test.brg1.datapath], ble5=is_ble5, wait=wait)[0]
317
- if test.rc == TEST_FAILED:
318
- test.add_reason("Failed to revert brg1 datapath to defaults")
319
- print_update_wait(BLE4_BROADCAST_DURATION) # BLE5 configuration can take up to BLE4_BROADCAST_DURATION sec
320
-
321
- return cert_common.test_epilog(test, revert_brgs=False)
302
+ else:
303
+ test.reset_result()
304
+
305
+ # Reset to defaults after every phase (don't fail the phase on that)
306
+ brg_dut = cert_config.get_brg_by_target(test, DUT)
307
+ test = cert_config.config_brg_defaults(test,
308
+ modules=[brg_dut.energy2400, brg_dut.sensors],
309
+ ble5=True, wait=False)[0]
310
+ # BLE5 configuration can take up to BLE5_MAX_DURATION_SEC, we configured 2 modules here
311
+ print_update_wait(2 * BLE5_MAX_DURATION_SEC)
312
+ if test.rc == TEST_FAILED:
313
+ test.add_reason("Failed to restore brg0 to defaults")
314
+ else:
315
+ test = cert_config.config_brg_defaults(test, modules=[test.brg1.energy2400, test.brg1.sensors], ble5=True, target=BRG1)[0]
316
+ # BLE5 configuration can take up to BLE5_MAX_DURATION_SEC, we configured 2 modules here
317
+ print_update_wait(2 * BLE5_MAX_DURATION_SEC)
318
+ if test.rc == TEST_FAILED:
319
+ test.add_reason("Failed to restore brg0 to defaults")
320
+ if test.rc == TEST_FAILED:
321
+ test.set_phase_rc(param.name, test.rc)
322
+ test.add_phase_reason(param.name, test.reason)
323
+ if test.exit_on_param_failure:
324
+ break
325
+ else:
326
+ test.reset_result()
327
+
328
+ brg_dut = cert_config.get_brg_by_target(test, DUT)
329
+ return cert_common.test_epilog(test, revert_brgs=True,
330
+ modules=[brg_dut.datapath],
331
+ brg1_modules=[test.brg1.datapath], ble5=True)
@@ -0,0 +1,23 @@
1
+ {
2
+ "name": "Signal Indicator",
3
+ "module": "Energizer 2.4GHz",
4
+ "purpose": "Test functionality for supported Energizer 2.4GHz signal indicator cycle & repetitions sets of values",
5
+ "documentation": "https://community.wiliot.com/customers/s/article/Wiliot-Network-Energizing-2-4Ghz",
6
+ "initialCondition": "Bridge configured to defaults",
7
+ "procedure": [
8
+ "Test prolog",
9
+ "rssi_threshold - Configure DUT as signal-indicator receiver with RSSI threshold (e.g., -25 dBm). Configure TESTER as transmitter. Scan and verify all received signal-indicator packets meet the RSSI threshold (no packets weaker than threshold).",
10
+ "rx - Configure DUT as receiver and TESTER as transmitter. Scan and validate expected count and timing of signal-indicator packets, including antenna, output power, and RSSI checks.",
11
+ "tx_eu_pattern - Set DUT datapath to EU pattern, configure DUT as transmitter. Configure TESTER as receiver on RX channel 37. Scan and validate expected packet count; then run antenna/output-power/RSSI checks.",
12
+ "disable_tx - Configure TESTER as receiver only; DUT not transmitting. TESTER scan and verify no signal-indicator packets are received.",
13
+ "disable_rx - Configure TESTER as transmitter; DUT not configured as receiver. Scan and verify DUT receives zero signal-indicator packets.",
14
+ "rx_tx - Configure both DUT and TESTER as receivers and transmitters. Scan and validate expected packet counts for each direction.",
15
+ "Test epilog"
16
+ ],
17
+ "expectedOutcome": "All phases passes successfully",
18
+ "mandatory": 0,
19
+ "multiBridgeTest": 1,
20
+ "gwOnlyTest": 0,
21
+ "dataSimOnlyTest": 0,
22
+ "allSupportedValues": ["rssi_threshold", "rx", "tx_eu_pattern", "disable_tx", "disable_rx", "rx_tx"]
23
+ }