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.
- {brg_certificate → certificate}/ag/wlt_cmd_if.html +10 -4
- {brg_certificate → certificate}/ag/wlt_types_ag.py +1878 -519
- {brg_certificate → certificate}/ag/wlt_types_ag_jsons/brg2brg_ota.json +69 -0
- {brg_certificate → certificate}/ag/wlt_types_ag_jsons/brg2gw_hb.json +109 -0
- {brg_certificate → certificate}/ag/wlt_types_ag_jsons/brg2gw_hb_sleep.json +45 -0
- {brg_certificate → certificate}/ag/wlt_types_ag_jsons/calibration.json +96 -0
- {brg_certificate → certificate}/ag/wlt_types_ag_jsons/custom.json +99 -0
- {brg_certificate → certificate}/ag/wlt_types_ag_jsons/datapath.json +241 -13
- {brg_certificate → certificate}/ag/wlt_types_ag_jsons/energy2400.json +120 -0
- {brg_certificate → certificate}/ag/wlt_types_ag_jsons/energySub1g.json +96 -0
- {brg_certificate → certificate}/ag/wlt_types_ag_jsons/externalSensor.json +135 -6
- {brg_certificate → certificate}/ag/wlt_types_ag_jsons/interface.json +157 -0
- {brg_certificate → certificate}/ag/wlt_types_ag_jsons/powerManagement.json +205 -0
- brg_certificate/ag/wlt_types_ag_jsons/unified_echo_pkt.json → certificate/ag/wlt_types_ag_jsons/unified_echo_ext_pkt.json +27 -11
- certificate/ag/wlt_types_ag_jsons/unified_echo_pkt.json +175 -0
- certificate/ag/wlt_types_ag_jsons/unified_sensor_pkt.json +65 -0
- certificate/cert_common.py +1459 -0
- certificate/cert_config.py +455 -0
- {brg_certificate → certificate}/cert_data_sim.py +131 -46
- {brg_certificate → certificate}/cert_defines.py +120 -128
- {brg_certificate → certificate}/cert_gw_sim.py +151 -49
- {brg_certificate → certificate}/cert_mqtt.py +164 -59
- {brg_certificate → certificate}/cert_prints.py +34 -33
- {brg_certificate → certificate}/cert_protobuf.py +15 -6
- {brg_certificate → certificate}/cert_results.py +205 -48
- certificate/cert_utils.py +622 -0
- certificate/certificate.py +198 -0
- certificate/certificate_cli.py +79 -0
- certificate/certificate_eth_test_list.txt +74 -0
- certificate/certificate_sanity_test_list.txt +65 -0
- certificate/certificate_test_list.txt +75 -0
- {brg_certificate → certificate}/tests/calibration/interval_test/interval_test.json +2 -2
- {brg_certificate → certificate}/tests/calibration/interval_test/interval_test.py +7 -6
- certificate/tests/calibration/output_power_test/output_power_test.json +22 -0
- certificate/tests/calibration/output_power_test/output_power_test.py +39 -0
- {brg_certificate → certificate}/tests/calibration/pattern_test/pattern_test.json +1 -1
- {brg_certificate → certificate}/tests/calibration/pattern_test/pattern_test.py +20 -15
- certificate/tests/cloud_connectivity/acl_ext_adv_test/acl_ext_adv_test.json +14 -0
- certificate/tests/cloud_connectivity/acl_ext_adv_test/acl_ext_adv_test.py +140 -0
- certificate/tests/cloud_connectivity/acl_test/acl_test.json +14 -0
- certificate/tests/cloud_connectivity/acl_test/acl_test.py +98 -0
- certificate/tests/cloud_connectivity/brg_ota_test/brg_ota_test.json +18 -0
- certificate/tests/cloud_connectivity/brg_ota_test/brg_ota_test.py +39 -0
- certificate/tests/cloud_connectivity/channel_scan_behaviour_test/channel_scan_behaviour_test.json +18 -0
- certificate/tests/cloud_connectivity/channel_scan_behaviour_test/channel_scan_behaviour_test.py +215 -0
- certificate/tests/cloud_connectivity/connection_test/connection_test.json +17 -0
- certificate/tests/cloud_connectivity/connection_test/connection_test.py +74 -0
- certificate/tests/cloud_connectivity/downlink_test/downlink_test.json +20 -0
- certificate/tests/cloud_connectivity/downlink_test/downlink_test.py +204 -0
- certificate/tests/cloud_connectivity/ext_adv_stress_test/ext_adv_stress_test.json +16 -0
- certificate/tests/cloud_connectivity/ext_adv_stress_test/ext_adv_stress_test.py +98 -0
- certificate/tests/cloud_connectivity/reboot_test/reboot_test.json +17 -0
- certificate/tests/cloud_connectivity/reboot_test/reboot_test.py +57 -0
- certificate/tests/cloud_connectivity/registration_test/registration_test.json +19 -0
- certificate/tests/cloud_connectivity/registration_test/registration_test.py +384 -0
- certificate/tests/cloud_connectivity/registration_test/registration_test_cli.py +90 -0
- certificate/tests/cloud_connectivity/stress_test/stress_test.json +16 -0
- certificate/tests/cloud_connectivity/stress_test/stress_test.py +97 -0
- certificate/tests/cloud_connectivity/uplink_ext_adv_test/uplink_ext_adv_test.json +24 -0
- certificate/tests/cloud_connectivity/uplink_ext_adv_test/uplink_ext_adv_test.py +93 -0
- certificate/tests/cloud_connectivity/uplink_test/uplink_test.json +19 -0
- certificate/tests/cloud_connectivity/uplink_test/uplink_test.py +161 -0
- {brg_certificate → certificate}/tests/datapath/aging_test/aging_test.json +1 -1
- certificate/tests/datapath/aging_test/aging_test.py +138 -0
- certificate/tests/datapath/event_ble5_test/event_ble5_test.json +16 -0
- certificate/tests/datapath/event_ble5_test/event_ble5_test.py +95 -0
- certificate/tests/datapath/event_test/event_test.json +16 -0
- certificate/tests/datapath/event_test/event_test.py +85 -0
- {brg_certificate → certificate}/tests/datapath/num_of_tags_test/num_of_tags_test.json +1 -1
- {brg_certificate → certificate}/tests/datapath/num_of_tags_test/num_of_tags_test.py +10 -8
- certificate/tests/datapath/output_power_test/output_power_test.json +22 -0
- {brg_certificate → certificate}/tests/datapath/output_power_test/output_power_test.py +17 -6
- {brg_certificate → certificate}/tests/datapath/pacer_interval_ble5_test/pacer_interval_ble5_test.json +1 -1
- {brg_certificate → certificate}/tests/datapath/pacer_interval_ble5_test/pacer_interval_ble5_test.py +10 -8
- {brg_certificate → certificate}/tests/datapath/pacer_interval_test/pacer_interval_test.json +1 -1
- {brg_certificate → certificate}/tests/datapath/pacer_interval_test/pacer_interval_test.py +9 -7
- {brg_certificate → certificate}/tests/datapath/pattern_test/pattern_test.json +2 -2
- {brg_certificate → certificate}/tests/datapath/pattern_test/pattern_test.py +18 -6
- certificate/tests/datapath/pkt_filter_ble5_chl21_test/pkt_filter_ble5_chl21_test.json +19 -0
- certificate/tests/datapath/pkt_filter_ble5_chl21_test/pkt_filter_ble5_chl21_test.py +61 -0
- {brg_certificate → certificate}/tests/datapath/pkt_filter_ble5_test/pkt_filter_ble5_test.json +1 -1
- {brg_certificate → certificate}/tests/datapath/pkt_filter_ble5_test/pkt_filter_ble5_test.py +11 -10
- certificate/tests/datapath/pkt_filter_brg2gw_ext_adv_test/pkt_filter_brg2gw_ext_adv_test.json +18 -0
- certificate/tests/datapath/pkt_filter_brg2gw_ext_adv_test/pkt_filter_brg2gw_ext_adv_test.py +83 -0
- {brg_certificate → certificate}/tests/datapath/pkt_filter_gen3_test/pkt_filter_gen3_test.json +1 -1
- {brg_certificate → certificate}/tests/datapath/pkt_filter_gen3_test/pkt_filter_gen3_test.py +10 -9
- {brg_certificate → certificate}/tests/datapath/pkt_filter_test/pkt_filter_test.json +1 -1
- {brg_certificate → certificate}/tests/datapath/pkt_filter_test/pkt_filter_test.py +10 -9
- {brg_certificate → certificate}/tests/datapath/rssi_threshold_test/rssi_threshold_test.json +1 -1
- {brg_certificate → certificate}/tests/datapath/rssi_threshold_test/rssi_threshold_test.py +9 -8
- 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
- certificate/tests/datapath/rx_channel_hopping_test/rx_channel_hopping_test.py +77 -0
- {brg_certificate → certificate}/tests/datapath/rx_channel_test/rx_channel_test.json +2 -2
- {brg_certificate → certificate}/tests/datapath/rx_channel_test/rx_channel_test.py +7 -6
- {brg_certificate → certificate}/tests/datapath/rx_rate_gen2_test/rx_rate_gen2_test.json +7 -7
- {brg_certificate → certificate}/tests/datapath/rx_rate_gen2_test/rx_rate_gen2_test.py +112 -72
- {brg_certificate → certificate}/tests/datapath/rx_rate_gen3_test/rx_rate_gen3_test.json +7 -7
- {brg_certificate → certificate}/tests/datapath/rx_rate_gen3_test/rx_rate_gen3_test.py +112 -72
- {brg_certificate → certificate}/tests/datapath/stress_gen3_test/stress_gen3_test.json +3 -3
- {brg_certificate → certificate}/tests/datapath/stress_gen3_test/stress_gen3_test.py +12 -11
- {brg_certificate → certificate}/tests/datapath/stress_test/stress_test.json +3 -3
- {brg_certificate → certificate}/tests/datapath/stress_test/stress_test.py +12 -11
- {brg_certificate → certificate}/tests/datapath/tx_repetition_test/tx_repetition_test.json +2 -1
- {brg_certificate → certificate}/tests/datapath/tx_repetition_test/tx_repetition_test.py +14 -13
- certificate/tests/edge_mgmt/action_blink_test/action_blink_test.json +14 -0
- certificate/tests/edge_mgmt/action_blink_test/action_blink_test.py +24 -0
- certificate/tests/edge_mgmt/action_get_battery_sensor_test/action_get_battery_sensor_test.json +14 -0
- certificate/tests/edge_mgmt/action_get_battery_sensor_test/action_get_battery_sensor_test.py +43 -0
- certificate/tests/edge_mgmt/action_get_module_test/action_get_module_test.json +14 -0
- certificate/tests/edge_mgmt/action_get_module_test/action_get_module_test.py +42 -0
- certificate/tests/edge_mgmt/action_get_pof_data_test/action_get_pof_data_test.json +14 -0
- certificate/tests/edge_mgmt/action_get_pof_data_test/action_get_pof_data_test.py +44 -0
- certificate/tests/edge_mgmt/action_gw_hb_test/action_gw_hb_test.json +15 -0
- certificate/tests/edge_mgmt/action_gw_hb_test/action_gw_hb_test.py +42 -0
- certificate/tests/edge_mgmt/action_reboot_test/action_reboot_test.json +14 -0
- certificate/tests/edge_mgmt/action_reboot_test/action_reboot_test.py +49 -0
- certificate/tests/edge_mgmt/action_restore_defaults_test/action_restore_defaults_test.json +14 -0
- certificate/tests/edge_mgmt/action_restore_defaults_test/action_restore_defaults_test.py +102 -0
- certificate/tests/edge_mgmt/action_send_hb_test/action_send_hb_test.json +14 -0
- certificate/tests/edge_mgmt/action_send_hb_test/action_send_hb_test.py +41 -0
- {brg_certificate → certificate}/tests/edge_mgmt/periodic_msgs_test/periodic_msgs_test.json +2 -2
- {brg_certificate → certificate}/tests/edge_mgmt/periodic_msgs_test/periodic_msgs_test.py +22 -11
- {brg_certificate → certificate}/tests/energy2400/duty_cycle_test/duty_cycle_test.json +1 -1
- {brg_certificate → certificate}/tests/energy2400/duty_cycle_test/duty_cycle_test.py +7 -6
- certificate/tests/energy2400/output_power_test/output_power_test.json +22 -0
- {brg_certificate → certificate}/tests/energy2400/output_power_test/output_power_test.py +17 -6
- {brg_certificate → certificate}/tests/energy2400/pattern_test/pattern_test.json +1 -1
- {brg_certificate → certificate}/tests/energy2400/pattern_test/pattern_test.py +7 -6
- certificate/tests/energy2400/signal_indicator_ble5_test/signal_indicator_ble5_test.json +25 -0
- certificate/tests/energy2400/signal_indicator_ble5_test/signal_indicator_ble5_test.py +378 -0
- 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
- 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
- certificate/tests/energy2400/signal_indicator_test/signal_indicator_test.json +23 -0
- certificate/tests/energy2400/signal_indicator_test/signal_indicator_test.py +350 -0
- {brg_certificate → certificate}/tests/energy_sub1g/duty_cycle_test/duty_cycle_test.json +1 -1
- {brg_certificate → certificate}/tests/energy_sub1g/duty_cycle_test/duty_cycle_test.py +7 -6
- {brg_certificate → certificate}/tests/energy_sub1g/pattern_test/pattern_test.json +1 -1
- {brg_certificate → certificate}/tests/energy_sub1g/pattern_test/pattern_test.py +7 -6
- {brg_certificate → certificate}/tests/pwr_mgmt/pwr_mgmt_test/pwr_mgmt_test.json +1 -1
- {brg_certificate → certificate}/tests/pwr_mgmt/pwr_mgmt_test/pwr_mgmt_test.py +10 -10
- {brg_certificate → certificate}/tests/sensors/ext_sensor_test/ext_sensor_test.json +4 -4
- certificate/tests/sensors/ext_sensor_test/ext_sensor_test.py +455 -0
- certificate/wlt_types.py +122 -0
- {gw_certificate → common}/api_if/202/status.json +6 -0
- {gw_certificate → common}/api_if/203/status.json +6 -0
- {gw_certificate → common}/api_if/204/status.json +6 -0
- common/api_if/206/data.json +85 -0
- common/api_if/206/status.json +69 -0
- common/api_if/api_validation.py +85 -0
- common/web/templates/generator.html +148 -0
- common/web/templates/index.html +20 -0
- common/web/templates/menu.html +54 -0
- common/web/templates/parser.html +53 -0
- {brg_certificate/ag → common/web/templates}/wlt_types.html +1216 -191
- common/web/web_utils.py +377 -0
- {brg_certificate → common}/wltPb_pb2.py +14 -12
- {gw_certificate/common → common}/wltPb_pb2.pyi +16 -2
- gui_certificate/gui_certificate_cli.py +14 -0
- gui_certificate/server.py +1062 -0
- gui_certificate/templates/cert_run.html +1207 -0
- wiliot_certificate-4.5.0a1.dist-info/METADATA +110 -0
- wiliot_certificate-4.5.0a1.dist-info/RECORD +182 -0
- {wiliot_certificate-4.4.3.dist-info → wiliot_certificate-4.5.0a1.dist-info}/WHEEL +1 -1
- wiliot_certificate-4.5.0a1.dist-info/entry_points.txt +5 -0
- wiliot_certificate-4.5.0a1.dist-info/top_level.txt +3 -0
- brg_certificate/ag/energous_v0_defines.py +0 -925
- brg_certificate/ag/energous_v1_defines.py +0 -931
- brg_certificate/ag/energous_v2_defines.py +0 -925
- brg_certificate/ag/energous_v3_defines.py +0 -925
- brg_certificate/ag/energous_v4_defines.py +0 -925
- brg_certificate/ag/fanstel_lan_v0_defines.py +0 -925
- brg_certificate/ag/fanstel_lte_v0_defines.py +0 -925
- brg_certificate/ag/fanstel_wifi_v0_defines.py +0 -925
- brg_certificate/ag/minew_lte_v0_defines.py +0 -925
- brg_certificate/ag/wlt_types_ag_jsons/unified_echo_ext_pkt.json +0 -61
- brg_certificate/brg_certificate.py +0 -225
- brg_certificate/brg_certificate_cli.py +0 -63
- brg_certificate/cert_common.py +0 -923
- brg_certificate/cert_config.py +0 -402
- brg_certificate/cert_utils.py +0 -362
- brg_certificate/certificate_bcc_sanity_test_list.txt +0 -40
- brg_certificate/certificate_bcc_test_list.txt +0 -48
- brg_certificate/certificate_sanity_test_list.txt +0 -43
- brg_certificate/certificate_test_list.txt +0 -53
- brg_certificate/config/eclipse.json +0 -10
- brg_certificate/config/hivemq.json +0 -10
- brg_certificate/config/mosquitto.json +0 -10
- brg_certificate/config/mosquitto.md +0 -95
- brg_certificate/config/wiliot-dev.json +0 -10
- brg_certificate/restore_brg.py +0 -61
- brg_certificate/tests/calibration/output_power_test/output_power_test.json +0 -16
- brg_certificate/tests/calibration/output_power_test/output_power_test.py +0 -28
- brg_certificate/tests/datapath/aging_test/aging_test.py +0 -143
- brg_certificate/tests/datapath/pacer_interval_tags_count_test/pacer_interval_tags_count_test.json +0 -16
- brg_certificate/tests/datapath/pacer_interval_tags_count_test/pacer_interval_tags_count_test.py +0 -73
- brg_certificate/tests/datapath/tx_repetition_algo_test/tx_repetition_algo_test.json +0 -17
- brg_certificate/tests/datapath/tx_repetition_algo_test/tx_repetition_algo_test.py +0 -118
- brg_certificate/tests/edge_mgmt/actions_test/actions_test.json +0 -14
- brg_certificate/tests/edge_mgmt/actions_test/actions_test.py +0 -396
- brg_certificate/tests/edge_mgmt/brg2brg_ota_ble5_test/brg2brg_ota_ble5_test.json +0 -20
- brg_certificate/tests/edge_mgmt/brg2brg_ota_ble5_test/brg2brg_ota_ble5_test.py +0 -94
- brg_certificate/tests/edge_mgmt/brg2brg_ota_test/brg2brg_ota_test.json +0 -19
- brg_certificate/tests/edge_mgmt/brg2brg_ota_test/brg2brg_ota_test.py +0 -87
- brg_certificate/tests/edge_mgmt/leds_test/leds_test.json +0 -17
- brg_certificate/tests/edge_mgmt/leds_test/leds_test.py +0 -223
- brg_certificate/tests/edge_mgmt/ota_test/ota_test.json +0 -17
- brg_certificate/tests/edge_mgmt/ota_test/ota_test.py +0 -128
- brg_certificate/tests/energy2400/output_power_test/output_power_test.json +0 -16
- brg_certificate/tests/energy2400/signal_indicator_ble5_10_250k_test/signal_indicator_ble5_10_250k_test.json +0 -20
- brg_certificate/tests/energy2400/signal_indicator_ble5_10_250k_test/signal_indicator_ble5_10_250k_test.py +0 -321
- brg_certificate/tests/energy2400/signal_indicator_sub1g_2_4_test/signal_indicator_sub1g_2_4_test.json +0 -20
- brg_certificate/tests/energy2400/signal_indicator_sub1g_2_4_test/signal_indicator_sub1g_2_4_test.py +0 -141
- brg_certificate/tests/energy2400/signal_indicator_test/signal_indicator_test.json +0 -20
- brg_certificate/tests/energy2400/signal_indicator_test/signal_indicator_test.py +0 -276
- brg_certificate/tests/energy_sub1g/signal_indicator_functionality_test/signal_indicator_functionality_test.json +0 -20
- brg_certificate/tests/energy_sub1g/signal_indicator_functionality_test/signal_indicator_functionality_test.py +0 -390
- brg_certificate/tests/energy_sub1g/signal_indicator_test/signal_indicator_test.json +0 -16
- brg_certificate/tests/energy_sub1g/signal_indicator_test/signal_indicator_test.py +0 -28
- brg_certificate/tests/sensors/ext_sensor_test/ext_sensor_test.py +0 -305
- brg_certificate/wltPb_pb2.pyi +0 -234
- brg_certificate/wlt_types.py +0 -113
- gw_certificate/ag/ut_defines.py +0 -364
- gw_certificate/ag/wlt_types.py +0 -85
- gw_certificate/ag/wlt_types_ag.py +0 -5310
- gw_certificate/ag/wlt_types_data.py +0 -64
- gw_certificate/api/extended_api.py +0 -23
- gw_certificate/api_if/200/data.json +0 -106
- gw_certificate/api_if/200/status.json +0 -47
- gw_certificate/api_if/201/data.json +0 -98
- gw_certificate/api_if/201/status.json +0 -53
- gw_certificate/api_if/205/logs.json +0 -12
- gw_certificate/api_if/api_validation.py +0 -38
- gw_certificate/api_if/gw_capabilities.py +0 -54
- gw_certificate/cert_results.py +0 -145
- gw_certificate/common/analysis_data_bricks.py +0 -60
- gw_certificate/common/debug.py +0 -42
- gw_certificate/common/serialization_formatter.py +0 -93
- gw_certificate/common/utils.py +0 -8
- gw_certificate/common/utils_defines.py +0 -15
- gw_certificate/common/wltPb_pb2.py +0 -84
- gw_certificate/gw_certificate.py +0 -154
- gw_certificate/gw_certificate_cli.py +0 -87
- gw_certificate/interface/4.4.93_app.zip +0 -0
- gw_certificate/interface/4.4.93_sd_bl_app.zip +0 -0
- gw_certificate/interface/ble_simulator.py +0 -61
- gw_certificate/interface/ble_sniffer.py +0 -189
- gw_certificate/interface/flash_fw.py +0 -90
- gw_certificate/interface/if_defines.py +0 -36
- gw_certificate/interface/mqtt.py +0 -563
- gw_certificate/interface/nrfutil-linux +0 -0
- gw_certificate/interface/nrfutil-mac +0 -0
- gw_certificate/interface/nrfutil.exe +0 -0
- gw_certificate/interface/pkt_generator.py +0 -594
- gw_certificate/interface/uart_if.py +0 -236
- gw_certificate/interface/uart_ports.py +0 -20
- gw_certificate/templates/results.html +0 -241
- gw_certificate/templates/stage.html +0 -22
- gw_certificate/templates/table.html +0 -6
- gw_certificate/templates/test.html +0 -38
- gw_certificate/tests/__init__.py +0 -10
- gw_certificate/tests/actions.py +0 -289
- gw_certificate/tests/bad_crc_to_PER_quantization.csv +0 -51
- gw_certificate/tests/connection.py +0 -188
- gw_certificate/tests/downlink.py +0 -172
- gw_certificate/tests/generic.py +0 -238
- gw_certificate/tests/registration.py +0 -340
- gw_certificate/tests/static/__init__.py +0 -0
- gw_certificate/tests/static/connection_defines.py +0 -9
- gw_certificate/tests/static/downlink_defines.py +0 -9
- gw_certificate/tests/static/generated_packet_table.py +0 -195
- gw_certificate/tests/static/packet_table.csv +0 -10067
- gw_certificate/tests/static/references.py +0 -5
- gw_certificate/tests/static/uplink_defines.py +0 -14
- gw_certificate/tests/throughput.py +0 -240
- gw_certificate/tests/uplink.py +0 -853
- wiliot_certificate-4.4.3.dist-info/METADATA +0 -211
- wiliot_certificate-4.4.3.dist-info/RECORD +0 -210
- wiliot_certificate-4.4.3.dist-info/entry_points.txt +0 -3
- wiliot_certificate-4.4.3.dist-info/top_level.txt +0 -3
- {brg_certificate → certificate}/__init__.py +0 -0
- {brg_certificate → certificate}/ag/wlt_types_ag_jsons/side_info_sensor.json +0 -0
- {brg_certificate → certificate}/ag/wlt_types_ag_jsons/signal_indicator_data.json +0 -0
- {gw_certificate → common}/api_if/202/data.json +0 -0
- {gw_certificate/api_if/200 → common/api_if/202}/logs.json +0 -0
- {gw_certificate → common}/api_if/203/data.json +0 -0
- {gw_certificate/api_if/201 → common/api_if/203}/logs.json +0 -0
- {gw_certificate → common}/api_if/204/data.json +0 -0
- {gw_certificate/api_if/202 → common/api_if/204}/logs.json +0 -0
- {gw_certificate → common}/api_if/205/data.json +0 -0
- {gw_certificate/api_if/203 → common/api_if/205}/logs.json +0 -0
- {gw_certificate → common}/api_if/205/status.json +0 -0
- {gw_certificate/api_if/204 → common/api_if/206}/logs.json +0 -0
- {gw_certificate → common/api_if}/__init__.py +0 -0
- {gw_certificate/api_if → gui_certificate}/__init__.py +0 -0
- {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
|
|
2
|
+
"name": "Signal Indicator Extended Advertising",
|
|
3
3
|
"module": "Energizer 2.4GHz",
|
|
4
|
-
"purpose": "verify
|
|
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
|
-
"
|
|
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
|
}
|