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
@@ -0,0 +1,378 @@
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
7
+
8
+ # Test Description:
9
+ # This test is to verify the functionality of both signal indicator tx (tx_brg) and rx (rx_brg) at BRG level.
10
+ # We will configure several signal indicator params during the test, and check the functionality of the signal indicator logic
11
+ # for each of them.
12
+ # It is important to execute the test with several setups: 2 Fanstel BRG's, 2 Minew BRG's and 1 Fanstel and 1 Minew BRG.
13
+ # At first, we will configure several tx signal indicator params and check for ack's, to verify all indicated params were
14
+ # received at the cloud.
15
+ # Then, we will examine the signal indicator end-2-end logic with both transmitter and receiver:
16
+ # phase 1 - One BRG will be configured as signal indicator tx, and the other as signal indicator rx, and we expect to see
17
+ # signal indicator packets only from the tx BRG, and according to the tx params (to check the repetition and cycle params).
18
+ # phase 2 - Same as phase 1, but with different tx params configured.
19
+ # phase 3 - One rx BRG without any tx BRG. We don't expect to see any signal indicator packets. This phase is to verify the
20
+ # brg module logic is working properly, and no tag packet is accidentally being treated as signal indicator packet.
21
+ # phase 4 - Both BRG's will be configured to be transmitters and receivers, with different tx params for each one. we expect
22
+ # to see signal indicator packets from both BRG's, according to the tx params.
23
+ # phase 5 - One BRG will be configured as signal indicator tx, but no rx, so we don't expect to receive signal indicatopr packets.
24
+ # that way we can assure the logic within the receiver is not confused by the signal indicator uuid as external sensor.
25
+
26
+
27
+ # Test MACROS #
28
+ NUM_OF_SCANNING_CYCLE = 5
29
+ DEFAULT_SCAN_TIME = 30
30
+ SCAN_DELAY_TIME = 3
31
+ BLE5_MAX_DURATION_SEC = ag.BLE5_PARAM_PRIMARY_CHANNEL_SCAN_CYCLE // 1000 + 1
32
+
33
+
34
+ def test_rssi_threshold(test):
35
+ cycle, rep = 5, 4
36
+ dut = cert_config.get_brg_by_target(test, DUT)
37
+ tester = cert_config.get_brg_by_target(test, TESTER)
38
+ rssi_threshold = -25
39
+
40
+ # configuring receiver #
41
+ utPrint(f"Configuring DUT BRG {dut.id_str} as Signal Indicator Receiver with RSSI Threshold of {rssi_threshold}", "BOLD")
42
+ test = cert_config.brg_configure(test=test, module=dut.sensors,
43
+ fields=[BRG_SENSOR0, BRG_RSSI_THRESHOLD],
44
+ values=[ag.EXTERNAL_SENSORS_SIGNAL_INDICATOR, rssi_threshold],
45
+ ble5=test.dut_is_bridge(), wait=test.dut_is_combo())[0]
46
+ if test.rc == TEST_FAILED:
47
+ test.add_reason(f"BRG {dut.id_str}: didn't receive signal indicator receiver configuration!")
48
+ return test
49
+ if test.dut_is_bridge():
50
+ wait_time_n_print(BLE5_MAX_DURATION_SEC) # BLE5 configuration can take up to BLE5_MAX_DURATION_SEC
51
+ # configuring tester as a transmitter #
52
+ utPrint(f"Configuring TESTER BRG {tester.id_str} as Signal Indicator Transmitter", "BOLD")
53
+ test = cert_config.brg_configure(test=test, module=tester.energy2400, fields=[BRG_SIGNAL_INDICATOR_CYCLE, BRG_SIGNAL_INDICATOR_REP],
54
+ values=[cycle, rep], target=TESTER)[0]
55
+ if test.rc == TEST_FAILED:
56
+ test.add_reason(f"BRG {tester.id_str}: didn't receive signal indicator transmitter configuration!")
57
+ return test
58
+ utPrint(f"BRG {tester.id_str} configured to be transmitter - cycle = {cycle} repetition = {rep}", "BOLD")
59
+ # phase analysis #
60
+ cert_mqtt.mqtt_scan_n_create_log_file(test, (NUM_OF_SCANNING_CYCLE * cycle) + SCAN_DELAY_TIME, "rssi_threshold")
61
+ rec_sig_ind_pkts = cert_common.get_all_sig_ind_pkts(test=test, rx_brg=dut, tx_brg=tester)
62
+ for p in rec_sig_ind_pkts:
63
+ print(f"rssi value: {p[UNIFIED_SENSOR_PKT].pkt.rssi}")
64
+ rssi_threshold_viloation_pkts = [p for p in rec_sig_ind_pkts if p[UNIFIED_SENSOR_PKT].pkt.rssi >= -1 * rssi_threshold]
65
+ if rssi_threshold_viloation_pkts:
66
+ test.rc = TEST_FAILED
67
+ test.add_reason(f"rssi_threshold phase failed - BRG {dut.id_str} echoed"
68
+ f" {len(rssi_threshold_viloation_pkts)} signal indicator packets\n with RSSI weaker than {rssi_threshold}")
69
+ return test
70
+
71
+
72
+ def test_rx(test):
73
+
74
+ dut = cert_config.get_brg_by_target(test, DUT)
75
+ tester = cert_config.get_brg_by_target(test, TESTER)
76
+ cycle, rep = 8, 4
77
+
78
+ utPrint(f"TESTER BRG with cycle = {cycle}, repetition = {rep}\n", "BLUE")
79
+ # configuring receiver #
80
+ utPrint(f"Configuring DUT BRG {dut.id_str} as Signal Indicator Receiver", "BOLD")
81
+ test = cert_config.brg_configure(test=test, module=dut.sensors, fields=[BRG_SENSOR0],
82
+ values=[ag.EXTERNAL_SENSORS_SIGNAL_INDICATOR],
83
+ ble5=test.dut_is_bridge(), wait=test.dut_is_combo(),
84
+ target=DUT)[0]
85
+ if test.rc == TEST_FAILED:
86
+ test.add_reason(f"BRG {dut.id_str}: didn't receive signal indicator receiver configuration!")
87
+ return test
88
+ if test.dut_is_bridge():
89
+ wait_time_n_print(BLE5_MAX_DURATION_SEC) # BLE5 configuration can take up to BLE5_MAX_DURATION_SEC
90
+
91
+ # configuring transmitter #
92
+ utPrint(f"Configuring TESTER BRG {tester.id_str} as Signal Indicator Transmitter", "BOLD")
93
+ test = cert_config.brg_configure(test=test, module=tester.energy2400,
94
+ fields=[BRG_SIGNAL_INDICATOR_CYCLE, BRG_SIGNAL_INDICATOR_REP],
95
+ values=[cycle, rep], target=TESTER)[0]
96
+ if test.rc == TEST_FAILED:
97
+ test.add_reason(f"BRG {tester.id_str}: didn't receive signal indicator transmitter configuration!")
98
+ return test
99
+ utPrint(f"TESTER {tester.id_str} configured to be transmitter - cycle={cycle}, repetition={rep}", "BOLD")
100
+
101
+ # phase analysis #
102
+ cert_mqtt.mqtt_scan_n_create_log_file(test, (NUM_OF_SCANNING_CYCLE * cycle) + SCAN_DELAY_TIME, f"rx_{cycle}_{rep}")
103
+ rec_sig_ind_pkts = cert_common.get_all_sig_ind_pkts(test=test, rx_brg=dut, tx_brg=tester)
104
+
105
+ if cert_common.sig_ind_pkts_fail_analysis(tx_brg=tester, rx_brg=dut, cycles=NUM_OF_SCANNING_CYCLE, received_pkts=rec_sig_ind_pkts):
106
+ test.rc = TEST_FAILED
107
+ expected_signal_ind_pkts = cert_common.exp_sig_ind_pkts2(tx_brg=tester, rx_brg=dut, cycles=NUM_OF_SCANNING_CYCLE)
108
+ test.add_reason(f"rx phase failed - BRG {dut.id_str} received wrong number of "
109
+ f"signal indicator packets\nreceived {len(rec_sig_ind_pkts)} packets, "
110
+ f"expected {expected_signal_ind_pkts} packets")
111
+ print(rec_sig_ind_pkts) # TODO: logging print(debug)
112
+ print([[p[TIMESTAMP], p[UNIFIED_SENSOR_PKT].pkt.signal_indicator_payload.rx_antenna] for p in rec_sig_ind_pkts])
113
+
114
+ test = cert_common.rx_tx_antenna_check(test, rec_sig_ind_pkts, tester, dut, NUM_OF_SCANNING_CYCLE)
115
+ test = cert_common.output_power_check(test, rec_sig_ind_pkts, tester)
116
+ test = cert_common.rssi_check(test, rec_sig_ind_pkts)
117
+
118
+ return test
119
+
120
+
121
+ def test_tx(test):
122
+
123
+ dut = cert_config.get_brg_by_target(test, DUT)
124
+ tester = cert_config.get_brg_by_target(test, TESTER)
125
+ cycle, rep = 8, 4
126
+
127
+ # configuring transmitter #
128
+ utPrint(f"Configuring DUT BRG {dut.id_str} as Signal Indicator Transmitter (cycle={cycle}, repetition={rep})", "BOLD")
129
+ test = cert_config.brg_configure(test=test, module=dut.energy2400,
130
+ fields=[BRG_SIGNAL_INDICATOR_CYCLE, BRG_SIGNAL_INDICATOR_REP],
131
+ values=[cycle, rep], ble5=test.dut_is_bridge(), wait=test.dut_is_combo())[0]
132
+ if test.rc == TEST_FAILED:
133
+ test.add_reason(f"DUT BRG {dut.id_str}: didn't receive signal indicator transmitter configuration!")
134
+ return test
135
+ if test.dut_is_bridge():
136
+ wait_time_n_print(BLE5_MAX_DURATION_SEC) # BLE5 configuration can take up to BLE5_MAX_DURATION_SEC
137
+
138
+ # configuring receiver #
139
+ utPrint(f"Configuring TESTER BRG {tester.id_str} as Signal Indicator Receiver", "BOLD")
140
+ test = cert_config.brg_configure(test=test, module=tester.sensors, fields=[BRG_SENSOR0],
141
+ values=[ag.EXTERNAL_SENSORS_SIGNAL_INDICATOR], target=TESTER)[0]
142
+ if test.rc == TEST_FAILED:
143
+ test.add_reason(f"TESTER BRG {tester.id_str}: didn't receive signal indicator receiver configuration!")
144
+ return test
145
+
146
+ # phase analysis #
147
+ cert_mqtt.mqtt_scan_n_create_log_file(test, (NUM_OF_SCANNING_CYCLE * cycle) + SCAN_DELAY_TIME,
148
+ f"tx_{cycle}_{rep}")
149
+ rec_sig_ind_pkts = cert_common.get_all_sig_ind_pkts(test=test, rx_brg=tester, tx_brg=dut)
150
+ if cert_common.sig_ind_pkts_fail_analysis(tx_brg=dut, rx_brg=tester, cycles=NUM_OF_SCANNING_CYCLE, received_pkts=rec_sig_ind_pkts):
151
+ test.rc = TEST_FAILED
152
+ expected_signal_ind_pkts = cert_common.exp_sig_ind_pkts2(tester, dut, NUM_OF_SCANNING_CYCLE)
153
+ test.add_reason(f"tx phase failed - BRG {dut.id_str} received wrong number of "
154
+ f"signal indicator packets\nreceived {len(rec_sig_ind_pkts)} packets, "
155
+ f"expected {expected_signal_ind_pkts} packets")
156
+ print(rec_sig_ind_pkts) # TODO: logging print(debug)
157
+ print([[p[TIMESTAMP], p[UNIFIED_SENSOR_PKT].pkt.signal_indicator_payload.rx_antenna] for p in rec_sig_ind_pkts])
158
+
159
+ test = cert_common.rx_tx_antenna_check(test, rec_sig_ind_pkts, dut, tester, NUM_OF_SCANNING_CYCLE)
160
+ test = cert_common.output_power_check(test, rec_sig_ind_pkts, dut)
161
+ test = cert_common.rssi_check(test, rec_sig_ind_pkts)
162
+
163
+ return test
164
+
165
+
166
+ def test_disable_tx(test):
167
+ cycle, rep = ag.BRG_DEFAULT_SIGNAL_INDICATOR_CYCLE, ag.BRG_DEFAULT_SIGNAL_INDICATOR_REP
168
+ tester = cert_config.get_brg_by_target(test, TESTER)
169
+ dut = cert_config.get_brg_by_target(test, DUT)
170
+ utPrint(f"DUT BRG with TX disabled - cycle = {cycle}, repetition = {rep}\n", "BLUE")
171
+ # configuring tester as a receiver, the dut should be with defaults which means TX is disabled
172
+ utPrint(f"Configuring TESTER BRG {tester.id_str} as Signal Indicator Receiver", "BOLD")
173
+ test = cert_config.brg_configure(test=test, module=tester.sensors,
174
+ fields=[BRG_SENSOR0],
175
+ values=[ag.EXTERNAL_SENSORS_SIGNAL_INDICATOR],
176
+ target=TESTER)[0]
177
+ if test.rc == TEST_FAILED:
178
+ test.add_reason(f"BRG {tester.id_str}: didn't receive signal indicator receiver configuration!")
179
+ return test
180
+ utPrint(f"TESTER BRG {tester.id_str} successfully configured as Signal Indicator Receiver\n", "BOLD")
181
+
182
+ # phase analysis #
183
+ cert_mqtt.mqtt_scan_n_create_log_file(test, DEFAULT_SCAN_TIME, "disable_tx")
184
+ expected_signal_ind_pkts = [0]
185
+ rec_sig_ind_pkts = cert_common.get_all_sig_ind_pkts(test=test, rx_brg=tester, tx_brg=dut)
186
+ if len(rec_sig_ind_pkts) not in expected_signal_ind_pkts:
187
+ test.rc = TEST_FAILED
188
+ test.add_reason(f"disable_tx phase failed - DUT BRG {dut.id_str} sent signal indicator packets\n"
189
+ f"received {len(rec_sig_ind_pkts)} packets, "
190
+ f"expected {expected_signal_ind_pkts} packets")
191
+
192
+ return test
193
+
194
+
195
+ def test_disable_rx(test):
196
+ # DUT BRG without rx. just waiting for packets to be sent from the transmitter and verify
197
+ # The receiver does not receive any signal indicator packets.
198
+ cycle, rep = 4, 3
199
+ dut = cert_config.get_brg_by_target(test, DUT)
200
+ tester = cert_config.get_brg_by_target(test, TESTER)
201
+ utPrint("DUT BRG with RX disabled\n", "BLUE")
202
+ # configuring tester as transmitter, dut should be with defaults which means rx disabled
203
+ utPrint(f"Configuring TESTER BRG {tester.id_str} as Signal Indicator Transmitter", "BOLD")
204
+ test = cert_config.brg_configure(test=test, module=tester.energy2400,
205
+ fields=[BRG_SIGNAL_INDICATOR_CYCLE, BRG_SIGNAL_INDICATOR_REP],
206
+ values=[cycle, rep], target=TESTER)[0]
207
+ if test.rc == TEST_FAILED:
208
+ test.add_reason(f"TESTER BRG {tester.id_str}: didn't receive signal indicator transmitter configuration!")
209
+ return test
210
+
211
+ # phase analysis #
212
+ cert_mqtt.mqtt_scan_n_create_log_file(test, (NUM_OF_SCANNING_CYCLE * cycle) + SCAN_DELAY_TIME, "disable_rx")
213
+ expected_signal_ind_pkts = [0]
214
+ rec_sig_ind_pkts = cert_common.get_all_sig_ind_pkts(test=test, rx_brg=dut, tx_brg=tester)
215
+ if len(rec_sig_ind_pkts) not in expected_signal_ind_pkts:
216
+ test.rc = TEST_FAILED
217
+ test.add_reason(f"disable_rx phase failed - DUT {dut.id_str} received signal indicator packets\n"
218
+ f"received {len(rec_sig_ind_pkts)} packets, expected 0 packets")
219
+
220
+ return test
221
+
222
+
223
+ def test_rx_tx(test):
224
+ tx_cycle, tx_rep = 5, 4
225
+ rx_cycle, rx_rep = 5, 4
226
+ dut = cert_config.get_brg_by_target(test, DUT)
227
+ tester = cert_config.get_brg_by_target(test, TESTER)
228
+ utPrint("Both TESTER and DUT are transmitters and receivers\n", "BLUE")
229
+ # configuring dut brg as receiver
230
+ utPrint(f"Configuring DUT BRG {dut.id_str} as Signal Indicator Receiver", "BOLD")
231
+ test = cert_config.brg_configure(test=test, module=dut.sensors, fields=[BRG_SENSOR0],
232
+ values=[ag.EXTERNAL_SENSORS_SIGNAL_INDICATOR],
233
+ ble5=test.dut_is_bridge(), wait=test.dut_is_combo())[0]
234
+ if test.rc == TEST_FAILED and test.exit_on_param_failure:
235
+ test.add_reason(f"BRG {dut.id_str}: didn't receive signal indicator receiver configuration!")
236
+ return test
237
+ if test.dut_is_bridge():
238
+ wait_time_n_print(BLE5_MAX_DURATION_SEC) # BLE5 configuration can take up to BLE5_MAX_DURATION_SEC
239
+ utPrint(f"BRG {dut.id_str} successfully configured as Signal Indicator Receiver\n", "BOLD")
240
+ # configuring dut brg as transmitter
241
+ utPrint(f"Configuring DUT BRG {dut.id_str} as Signal Indicator Transmitter", "BOLD")
242
+ test = cert_config.brg_configure(test=test, module=dut.energy2400, fields=[BRG_SIGNAL_INDICATOR_CYCLE, BRG_SIGNAL_INDICATOR_REP],
243
+ values=[tx_cycle, tx_rep], ble5=test.dut_is_bridge(), wait=test.dut_is_combo())[0]
244
+ if test.rc == TEST_FAILED and test.exit_on_param_failure:
245
+ test.add_reason(f"BRG {dut.id_str}: didn't receive signal indicator transmitter configuration!")
246
+ return test
247
+ if test.dut_is_bridge():
248
+ wait_time_n_print(BLE5_MAX_DURATION_SEC) # BLE5 configuration can take up to BLE5_MAX_DURATION_SEC
249
+ utPrint(f"BRG {dut.id_str} configured to be transmitter - cycle={tx_cycle}, repetition={tx_rep}", "BOLD")
250
+
251
+ # configuring tester brg as receiver
252
+ utPrint(f"Configuring TESTER BRG {tester.id_str} as Signal Indicator Receiver", "BOLD")
253
+ test = cert_config.brg_configure(test=test, module=tester.sensors,
254
+ fields=[BRG_SENSOR0],
255
+ values=[ag.EXTERNAL_SENSORS_SIGNAL_INDICATOR],
256
+ target=TESTER)[0]
257
+ if test.rc == TEST_FAILED and test.exit_on_param_failure:
258
+ test.add_reason(f"BRG {tester.id_str}: didn't receive signal indicator receiver configuration!")
259
+ return test
260
+ utPrint(f"BRG {tester.id_str} successfully configured as Signal Indicator Receiver\n", "BOLD")
261
+
262
+ # configuring tester brg as transmitter (already configured as rx)
263
+ utPrint(f"Configuring TESTER BRG {tester.id_str} as Signal Indicator Transmitter", "BOLD")
264
+ test = cert_config.brg_configure(test=test, module=tester.energy2400,
265
+ fields=[BRG_SIGNAL_INDICATOR_CYCLE, BRG_SIGNAL_INDICATOR_REP],
266
+ values=[rx_cycle, rx_rep],
267
+ target=TESTER)[0]
268
+ if test.rc == TEST_FAILED and test.exit_on_param_failure:
269
+ test.add_reason(f"BRG {tester.id_str}: didn't receive signal indicator transmitter configuration!")
270
+ return test
271
+ utPrint(f"BRG {tester.id_str} configured to be transmitter - cycle={rx_cycle}, repetition={rx_rep}")
272
+
273
+ # phase analysis #
274
+ cert_mqtt.mqtt_scan_n_create_log_file(test, NUM_OF_SCANNING_CYCLE * max(tx_cycle, rx_cycle) + SCAN_DELAY_TIME, "rx_tx")
275
+
276
+ # Analyzing dut performance as receiver
277
+ utPrint(f"Analyzing DUT {dut.id_str} performance as a Receiver\n", "BOLD")
278
+ rec_sig_ind_pkts = cert_common.get_all_sig_ind_pkts(test=test, rx_brg=dut, tx_brg=tester)
279
+ if cert_common.sig_ind_pkts_fail_analysis(tx_brg=tester, rx_brg=dut, cycles=NUM_OF_SCANNING_CYCLE, received_pkts=rec_sig_ind_pkts):
280
+ test.rc = TEST_FAILED
281
+ expected_signal_ind_pkts = cert_common.exp_sig_ind_pkts2(dut, tester, NUM_OF_SCANNING_CYCLE)
282
+ test.add_reason(f"rx_tx phase failed - BRG {dut.id_str} received wrong number of "
283
+ f"signal indicator packets\nreceived {len(rec_sig_ind_pkts)} packets, "
284
+ f"expected {expected_signal_ind_pkts} packets")
285
+ print(rec_sig_ind_pkts) # TODO: logging print(debug)
286
+
287
+ # Analyzing tester performance as receiver
288
+ utPrint(f"Analyzing DUT {tester.id_str} performance as a Transmitter\n", "BOLD")
289
+ rec_sig_ind_pkts = cert_common.get_all_sig_ind_pkts(test=test, rx_brg=tester, tx_brg=dut)
290
+ if cert_common.sig_ind_pkts_fail_analysis(tx_brg=dut, rx_brg=tester, cycles=NUM_OF_SCANNING_CYCLE, received_pkts=rec_sig_ind_pkts):
291
+ test.rc = TEST_FAILED
292
+ expected_signal_ind_pkts = cert_common.exp_sig_ind_pkts2(dut, tester, NUM_OF_SCANNING_CYCLE)
293
+ test.add_reason(f"rx_tx phase failed - BRG {tester.id_str} received wrong number of "
294
+ f"signal indicator packets\n received {len(rec_sig_ind_pkts)} packets, "
295
+ f"expected {expected_signal_ind_pkts} packets")
296
+ print(rec_sig_ind_pkts) # TODO: logging print(debug)
297
+ # NOTE: We skipped the antenna and output power checks for this phase
298
+ return test
299
+
300
+
301
+ SIGNAL_INDICATOR_TEST_MAP = {"rssi_threshold": test_rssi_threshold,
302
+ "rx": test_rx, "tx": test_tx, "rx_tx": test_rx_tx,
303
+ "disable_tx": test_disable_tx, "disable_rx": test_disable_rx}
304
+
305
+
306
+ def run(test):
307
+ # Test prolog
308
+ test = cert_common.test_prolog(test)
309
+
310
+ dut = cert_config.get_brg_by_target(test, DUT)
311
+ tester = cert_config.get_brg_by_target(test, TESTER)
312
+
313
+ # Configure DUT to scan ble5 channel during all the test, if dut is a bridge only,
314
+ # configure the pattern to extended advertising for beeing able to receive ble5 packets on the tester
315
+ if test.dut_is_bridge():
316
+ fields = [BRG_RX_CHANNEL, BRG_PATTERN]
317
+ values = [ag.RX_CHANNEL_10_500K, ag.DATAPATH_PATTERN_EXTENDED_ADV_CH_10]
318
+ else:
319
+ fields = [BRG_RX_CHANNEL]
320
+ values = [ag.RX_CHANNEL_10_500K]
321
+ test = cert_config.brg_configure(test, fields=fields, values=values,
322
+ module=dut.datapath, ble5=test.dut_is_bridge(), wait=test.dut_is_combo())[0]
323
+ if test.rc == TEST_FAILED:
324
+ return cert_common.test_epilog(test, revert_brgs=True,
325
+ modules=[dut.datapath],
326
+ ble5=test.dut_is_bridge())
327
+ # Configure TESTER to scan ble5 channel during all the test
328
+ test = cert_config.brg_configure(test, fields=[BRG_RX_CHANNEL],
329
+ values=[ag.RX_CHANNEL_10_500K],
330
+ module=tester.datapath, target=TESTER)[0]
331
+ if test.rc == TEST_FAILED:
332
+ return cert_common.test_epilog(test, revert_brgs=True, modules=[dut.datapath],
333
+ brg1_modules=[tester.datapath], ble5=test.dut_is_bridge())
334
+ for param in test.params:
335
+ phase_run_print(param.name)
336
+ test = SIGNAL_INDICATOR_TEST_MAP[param.value](test)
337
+ cert_mqtt.generate_log_file(test, param.name)
338
+ field_functionality_pass_fail_print(test, param.name)
339
+ test.set_phase_rc(param.name, test.rc)
340
+ test.add_phase_reason(param.name, test.reason)
341
+ if test.rc == TEST_FAILED and test.exit_on_param_failure:
342
+ break
343
+ else:
344
+ test.reset_result()
345
+ # Reset DUT to defaults after every phase (don't fail the phase on that)
346
+ test = cert_config.config_brg_defaults(test,
347
+ modules=[dut.energy2400, dut.sensors],
348
+ ble5=test.dut_is_bridge(), wait=test.dut_is_combo())[0]
349
+ if test.dut_is_bridge():
350
+ # BLE5 configuration can take up to BLE5_MAX_DURATION_SEC, we configured 2 modules here
351
+ wait_time_n_print(2 * BLE5_MAX_DURATION_SEC)
352
+ if test.rc == TEST_FAILED:
353
+ test.add_reason("Failed to restore DUT to defaults")
354
+ else:
355
+ # Reset TESTER to defaults after every phase (don't fail the phase on that)
356
+ test = cert_config.config_brg_defaults(test,
357
+ modules=[tester.energy2400, tester.sensors],
358
+ target=TESTER)[0]
359
+ if test.rc == TEST_FAILED:
360
+ test.add_reason("Failed to restore brg0 to defaults")
361
+ if test.rc == TEST_FAILED:
362
+ test.set_phase_rc(param.name, test.rc)
363
+ test.add_phase_reason(param.name, test.reason)
364
+ if test.exit_on_param_failure:
365
+ break
366
+ else:
367
+ test.reset_result()
368
+
369
+ # Revert DUT to defaults here and not in epilog
370
+ test = cert_config.config_brg_defaults(test, modules=[dut.datapath], ble5=test.dut_is_bridge(), wait=test.dut_is_combo())[0]
371
+ if test.rc == TEST_FAILED:
372
+ test.add_reason("Failed to revert brg0 datapath to defaults")
373
+ else:
374
+ test = cert_config.config_brg_defaults(test, modules=[tester.datapath], target=TESTER)[0]
375
+ if test.rc == TEST_FAILED:
376
+ test.add_reason("Failed to revert brg1 datapath to defaults")
377
+
378
+ return cert_common.test_epilog(test, revert_brgs=False)
@@ -1,7 +1,7 @@
1
1
  {
2
- "name": "Signal Indicator BLE5 E4 Pixels",
2
+ "name": "Signal Indicator Extended Advertising",
3
3
  "module": "Energizer 2.4GHz",
4
- "purpose": "verify Energizer 2.4GHz signal indicator functionality for BLE_5.0 in CHANNEL_10 for E4 pixels modulation",
4
+ "purpose": "verify Signal Indicator functionality when using bridge with extended advertising pattern",
5
5
  "documentation": "https://community.wiliot.com/customers/s/article/Bridge-to-Bridge-Signal-Indicator",
6
6
  "initialCondition": "Bridge configured to defaults",
7
7
  "procedure": ["Test prolog",
@@ -15,6 +15,6 @@
15
15
  "mandatory": 0,
16
16
  "multiBridgeTest": 1,
17
17
  "gwOnlyTest": 0,
18
- "internalBridge": 1,
18
+ "dataSimOnlyTest": 0,
19
19
  "allSupportedValues": ["rssi_threshold", "brg0_tx_brg1_rx", "brg0_none_brg1_rx", "brg0_rxtx_brg1_rxtx", "brg0_tx_brg1_none"]
20
20
  }