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,350 @@
|
|
|
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
|
+
|
|
32
|
+
|
|
33
|
+
def test_rssi_threshold(test):
|
|
34
|
+
cycle, rep = 5, 4
|
|
35
|
+
dut = cert_config.get_brg_by_target(test, DUT)
|
|
36
|
+
tester = cert_config.get_brg_by_target(test, TESTER)
|
|
37
|
+
rssi_threshold = -25
|
|
38
|
+
|
|
39
|
+
# configuring receiver #
|
|
40
|
+
utPrint(f"Configuring DUT BRG {dut.id_str} as Signal Indicator Receiver with RSSI Threshold of {rssi_threshold}", "BOLD")
|
|
41
|
+
test = cert_config.brg_configure(test=test, module=dut.sensors,
|
|
42
|
+
fields=[BRG_SENSOR0, BRG_RSSI_THRESHOLD],
|
|
43
|
+
values=[ag.EXTERNAL_SENSORS_SIGNAL_INDICATOR, rssi_threshold])[0]
|
|
44
|
+
if test.rc == TEST_FAILED:
|
|
45
|
+
test.add_reason(f"BRG {dut.id_str}: didn't receive signal indicator receiver configuration!")
|
|
46
|
+
return test
|
|
47
|
+
# configuring tester as a transmitter #
|
|
48
|
+
utPrint(f"Configuring TESTER BRG {tester.id_str} as Signal Indicator Transmitter", "BOLD")
|
|
49
|
+
test = cert_config.brg_configure(test=test, module=tester.energy2400, fields=[BRG_SIGNAL_INDICATOR_CYCLE, BRG_SIGNAL_INDICATOR_REP],
|
|
50
|
+
values=[cycle, rep], target=TESTER)[0]
|
|
51
|
+
if test.rc == TEST_FAILED:
|
|
52
|
+
test.add_reason(f"BRG {tester.id_str}: didn't receive signal indicator transmitter configuration!")
|
|
53
|
+
return test
|
|
54
|
+
utPrint(f"BRG {tester.id_str} configured to be transmitter - cycle = {cycle} repetition = {rep}", "BOLD")
|
|
55
|
+
# phase analysis #
|
|
56
|
+
cert_mqtt.mqtt_scan_n_create_log_file(test, (NUM_OF_SCANNING_CYCLE * cycle) + SCAN_DELAY_TIME, "rssi_threshold")
|
|
57
|
+
rec_sig_ind_pkts = cert_common.get_all_sig_ind_pkts(test=test, rx_brg=dut, tx_brg=tester)
|
|
58
|
+
for p in rec_sig_ind_pkts:
|
|
59
|
+
print(f"rssi value: {p[UNIFIED_SENSOR_PKT].pkt.rssi}")
|
|
60
|
+
rssi_threshold_viloation_pkts = [p for p in rec_sig_ind_pkts if p[UNIFIED_SENSOR_PKT].pkt.rssi >= -1 * rssi_threshold]
|
|
61
|
+
if rssi_threshold_viloation_pkts:
|
|
62
|
+
test.rc = TEST_FAILED
|
|
63
|
+
test.add_reason(f"rssi_threshold phase failed - BRG {dut.id_str} echoed"
|
|
64
|
+
f" {len(rssi_threshold_viloation_pkts)} signal indicator packets\n with RSSI weaker than {rssi_threshold}")
|
|
65
|
+
return test
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
def test_rx(test):
|
|
69
|
+
|
|
70
|
+
dut = cert_config.get_brg_by_target(test, DUT)
|
|
71
|
+
tester = cert_config.get_brg_by_target(test, TESTER)
|
|
72
|
+
cycle, rep = 8, 4
|
|
73
|
+
|
|
74
|
+
utPrint(f"TESTER BRG with cycle = {cycle}, repetition = {rep}\n", "BLUE")
|
|
75
|
+
# configuring receiver #
|
|
76
|
+
utPrint(f"Configuring DUT BRG {dut.id_str} as Signal Indicator Receiver", "BOLD")
|
|
77
|
+
test = cert_config.brg_configure(test=test, module=dut.sensors, fields=[BRG_SENSOR0],
|
|
78
|
+
values=[ag.EXTERNAL_SENSORS_SIGNAL_INDICATOR], target=DUT)[0]
|
|
79
|
+
if test.rc == TEST_FAILED:
|
|
80
|
+
test.add_reason(f"BRG {dut.id_str}: didn't receive signal indicator receiver configuration!")
|
|
81
|
+
return test
|
|
82
|
+
# configuring transmitter #
|
|
83
|
+
utPrint(f"Configuring TESTER BRG {tester.id_str} as Signal Indicator Transmitter", "BOLD")
|
|
84
|
+
test = cert_config.brg_configure(test=test, module=tester.energy2400,
|
|
85
|
+
fields=[BRG_SIGNAL_INDICATOR_CYCLE, BRG_SIGNAL_INDICATOR_REP],
|
|
86
|
+
values=[cycle, rep], target=TESTER)[0]
|
|
87
|
+
if test.rc == TEST_FAILED:
|
|
88
|
+
test.add_reason(f"BRG {tester.id_str}: didn't receive signal indicator transmitter configuration!")
|
|
89
|
+
return test
|
|
90
|
+
utPrint(f"TESTER {tester.id_str} configured to be transmitter - cycle={cycle}, repetition={rep}", "BOLD")
|
|
91
|
+
|
|
92
|
+
# phase analysis #
|
|
93
|
+
cert_mqtt.mqtt_scan_n_create_log_file(test, (NUM_OF_SCANNING_CYCLE * cycle) + SCAN_DELAY_TIME, f"rx_{cycle}_{rep}")
|
|
94
|
+
rec_sig_ind_pkts = cert_common.get_all_sig_ind_pkts(test=test, rx_brg=dut, tx_brg=tester)
|
|
95
|
+
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):
|
|
96
|
+
test.rc = TEST_FAILED
|
|
97
|
+
expected_signal_ind_pkts = cert_common.exp_sig_ind_pkts2(tx_brg=tester, rx_brg=dut, cycles=NUM_OF_SCANNING_CYCLE)
|
|
98
|
+
test.add_reason(f"rx phase failed - BRG {dut.id_str} received wrong number of "
|
|
99
|
+
f"signal indicator packets\nreceived {len(rec_sig_ind_pkts)} packets, "
|
|
100
|
+
f"expected {expected_signal_ind_pkts} packets")
|
|
101
|
+
print(rec_sig_ind_pkts) # TODO: logging print(debug)
|
|
102
|
+
print([[p[TIMESTAMP], p[UNIFIED_SENSOR_PKT].pkt.signal_indicator_payload.rx_antenna] for p in rec_sig_ind_pkts])
|
|
103
|
+
|
|
104
|
+
test = cert_common.rx_tx_antenna_check(test, rec_sig_ind_pkts, tester, dut, NUM_OF_SCANNING_CYCLE)
|
|
105
|
+
test = cert_common.output_power_check(test, rec_sig_ind_pkts, tester)
|
|
106
|
+
test = cert_common.rssi_check(test, rec_sig_ind_pkts)
|
|
107
|
+
|
|
108
|
+
return test
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
def test_tx_eu_pattern(test):
|
|
112
|
+
|
|
113
|
+
dut = cert_config.get_brg_by_target(test, DUT)
|
|
114
|
+
tester = cert_config.get_brg_by_target(test, TESTER)
|
|
115
|
+
cycle, rep = 8, 4
|
|
116
|
+
|
|
117
|
+
utPrint(f"TESTER BRG - cycle = {cycle}, repetition = {rep}, Using EU pattern\n", "BLUE")
|
|
118
|
+
# configuring EU Pattern #
|
|
119
|
+
utPrint(f"Configuring DUT BRG {dut.id_str} to EU pattern", "BOLD")
|
|
120
|
+
test = cert_config.brg_configure(test=test, module=dut.datapath,
|
|
121
|
+
fields=[BRG_PATTERN],
|
|
122
|
+
values=[ag.DATAPATH_PATTERN_EU_PATTERN], target=DUT)[0]
|
|
123
|
+
if test.rc == TEST_FAILED:
|
|
124
|
+
test.add_reason(f"DUT BRG {dut.id_str}: didn't receive signal indicator receiver configuration!")
|
|
125
|
+
return test
|
|
126
|
+
# configuring transmitter #
|
|
127
|
+
utPrint(f"Configuring DUT BRG {dut.id_str} as Signal Indicator Transmitter", "BOLD")
|
|
128
|
+
test = cert_config.brg_configure(test=test, module=dut.energy2400,
|
|
129
|
+
fields=[BRG_SIGNAL_INDICATOR_CYCLE, BRG_SIGNAL_INDICATOR_REP],
|
|
130
|
+
values=[cycle, rep], target=DUT)[0]
|
|
131
|
+
if test.rc == TEST_FAILED:
|
|
132
|
+
test.add_reason(f"DUT BRG {dut.id_str}: didn't receive signal indicator transmitter configuration!")
|
|
133
|
+
return test
|
|
134
|
+
utPrint(f"DUT BRG {dut.id_str} configured to be transmitter - cycle = {cycle},repetition = {rep}", "BOLD")
|
|
135
|
+
# configuring receiver #
|
|
136
|
+
utPrint(f"Configuring TESTER BRG {tester.id_str} as Signal Indicator Receiver", "BOLD")
|
|
137
|
+
test = cert_config.brg_configure(test=test, module=tester.sensors, fields=[BRG_SENSOR0],
|
|
138
|
+
values=[ag.EXTERNAL_SENSORS_SIGNAL_INDICATOR], target=TESTER)[0]
|
|
139
|
+
if test.rc == TEST_FAILED:
|
|
140
|
+
test.add_reason(f"TESTER BRG {tester.id_str}: didn't receive signal indicator receiver configuration!")
|
|
141
|
+
return test
|
|
142
|
+
# configuring receiver to rx channel 37 #
|
|
143
|
+
utPrint(f"Configuring TESTER BRG {tester.id_str} to scan channel 37", "BOLD")
|
|
144
|
+
test = cert_config.brg_configure(test=test, module=tester.datapath, fields=[BRG_RX_CHANNEL],
|
|
145
|
+
values=[ag.RX_CHANNEL_37], target=TESTER)[0]
|
|
146
|
+
if test.rc == TEST_FAILED:
|
|
147
|
+
test.add_reason(f"TESTER BRG {tester.id_str}: didn't receive rx channel 37 configuration!")
|
|
148
|
+
return test
|
|
149
|
+
|
|
150
|
+
# phase analysis #
|
|
151
|
+
cert_mqtt.mqtt_scan_n_create_log_file(test, (NUM_OF_SCANNING_CYCLE * cycle) + SCAN_DELAY_TIME,
|
|
152
|
+
f"tx_eu_pattern_{cycle}_{rep}")
|
|
153
|
+
rec_sig_ind_pkts = cert_common.get_all_sig_ind_pkts(test=test, rx_brg=tester, tx_brg=dut)
|
|
154
|
+
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):
|
|
155
|
+
test.rc = TEST_FAILED
|
|
156
|
+
expected_signal_ind_pkts = cert_common.exp_sig_ind_pkts2(tester, dut, NUM_OF_SCANNING_CYCLE)
|
|
157
|
+
test.add_reason(f"tx_eu_pattern phase failed - BRG {dut.id_str} received wrong number of "
|
|
158
|
+
f"signal indicator packets\nreceived {len(rec_sig_ind_pkts)} packets, "
|
|
159
|
+
f"expected {expected_signal_ind_pkts} packets")
|
|
160
|
+
print(rec_sig_ind_pkts) # TODO: logging print(debug)
|
|
161
|
+
print([[p[TIMESTAMP], p[UNIFIED_SENSOR_PKT].pkt.signal_indicator_payload.rx_antenna] for p in rec_sig_ind_pkts])
|
|
162
|
+
|
|
163
|
+
test = cert_config.config_brg_defaults(test, modules=[tester.datapath], target=TESTER)[0]
|
|
164
|
+
if test.rc == TEST_FAILED:
|
|
165
|
+
test.add_reason("Failed to restore tester to defaults for module Datapath")
|
|
166
|
+
|
|
167
|
+
test = cert_common.rx_tx_antenna_check(test, rec_sig_ind_pkts, dut, tester, NUM_OF_SCANNING_CYCLE)
|
|
168
|
+
test = cert_common.output_power_check(test, rec_sig_ind_pkts, dut)
|
|
169
|
+
test = cert_common.rssi_check(test, rec_sig_ind_pkts)
|
|
170
|
+
|
|
171
|
+
return test
|
|
172
|
+
|
|
173
|
+
|
|
174
|
+
def test_disable_tx(test):
|
|
175
|
+
cycle, rep = ag.BRG_DEFAULT_SIGNAL_INDICATOR_CYCLE, ag.BRG_DEFAULT_SIGNAL_INDICATOR_REP
|
|
176
|
+
tester = cert_config.get_brg_by_target(test, TESTER)
|
|
177
|
+
dut = cert_config.get_brg_by_target(test, DUT)
|
|
178
|
+
utPrint(f"DUT BRG with TX disabled - cycle = {cycle}, repetition = {rep}\n", "BLUE")
|
|
179
|
+
# configuring tester as a receiver #
|
|
180
|
+
utPrint(f"Configuring TESTER BRG {tester.id_str} as Signal Indicator Receiver", "BOLD")
|
|
181
|
+
test = cert_config.brg_configure(test=test, module=tester.sensors,
|
|
182
|
+
fields=[BRG_SENSOR0],
|
|
183
|
+
values=[ag.EXTERNAL_SENSORS_SIGNAL_INDICATOR],
|
|
184
|
+
target=TESTER)[0]
|
|
185
|
+
if test.rc == TEST_FAILED:
|
|
186
|
+
test.add_reason(f"BRG {tester.id_str}: didn't receive signal indicator receiver configuration!")
|
|
187
|
+
return test
|
|
188
|
+
utPrint(f"TESTER BRG {tester.id_str} successfully configured as Signal Indicator Receiver\n", "BOLD")
|
|
189
|
+
|
|
190
|
+
# phase analysis #
|
|
191
|
+
cert_mqtt.mqtt_scan_n_create_log_file(test, DEFAULT_SCAN_TIME, "disable_tx")
|
|
192
|
+
expected_signal_ind_pkts = [0]
|
|
193
|
+
rec_sig_ind_pkts = cert_common.get_all_sig_ind_pkts(test=test, rx_brg=tester, tx_brg=dut)
|
|
194
|
+
if len(rec_sig_ind_pkts) not in expected_signal_ind_pkts:
|
|
195
|
+
test.rc = TEST_FAILED
|
|
196
|
+
test.add_reason(f"disable_tx phase failed - DUT BRG {dut.id_str} sent signal indicator packets\n"
|
|
197
|
+
f"received {len(rec_sig_ind_pkts)} packets, "
|
|
198
|
+
f"expected {expected_signal_ind_pkts} packets")
|
|
199
|
+
|
|
200
|
+
return test
|
|
201
|
+
|
|
202
|
+
|
|
203
|
+
def test_disable_rx(test):
|
|
204
|
+
# DUT BRG without rx. just waiting for packets to be sent from the transmitter and verify
|
|
205
|
+
# The receiver does not receive any signal indicator packets.
|
|
206
|
+
cycle, rep = 4, 3
|
|
207
|
+
dut = cert_config.get_brg_by_target(test, DUT)
|
|
208
|
+
tester = cert_config.get_brg_by_target(test, TESTER)
|
|
209
|
+
utPrint("DUT BRG with RX disabled\n", "BLUE")
|
|
210
|
+
# configuring transmitter #
|
|
211
|
+
utPrint(f"Configuring TESTER BRG {tester.id_str} as Signal Indicator Transmitter", "BOLD")
|
|
212
|
+
test = cert_config.brg_configure(test=test, module=tester.energy2400,
|
|
213
|
+
fields=[BRG_SIGNAL_INDICATOR_CYCLE, BRG_SIGNAL_INDICATOR_REP],
|
|
214
|
+
values=[cycle, rep], target=TESTER)[0]
|
|
215
|
+
if test.rc == TEST_FAILED:
|
|
216
|
+
test.add_reason(f"TESTER BRG {tester.id_str}: didn't receive signal indicator transmitter configuration!")
|
|
217
|
+
return test
|
|
218
|
+
|
|
219
|
+
# phase analysis #
|
|
220
|
+
cert_mqtt.mqtt_scan_n_create_log_file(test, (NUM_OF_SCANNING_CYCLE * cycle) + SCAN_DELAY_TIME, "disable_rx")
|
|
221
|
+
expected_signal_ind_pkts = [0]
|
|
222
|
+
rec_sig_ind_pkts = cert_common.get_all_sig_ind_pkts(test=test, rx_brg=dut, tx_brg=tester)
|
|
223
|
+
if len(rec_sig_ind_pkts) not in expected_signal_ind_pkts:
|
|
224
|
+
test.rc = TEST_FAILED
|
|
225
|
+
test.add_reason(f"disable_rx phase failed - DUT {dut.id_str} received signal indicator packets\n"
|
|
226
|
+
f"received {len(rec_sig_ind_pkts)} packets, expected 0 packets")
|
|
227
|
+
|
|
228
|
+
return test
|
|
229
|
+
|
|
230
|
+
|
|
231
|
+
def test_rx_tx(test):
|
|
232
|
+
tx_cycle, tx_rep = 5, 4
|
|
233
|
+
rx_cycle, rx_rep = 5, 4
|
|
234
|
+
dut = cert_config.get_brg_by_target(test, DUT)
|
|
235
|
+
tester = cert_config.get_brg_by_target(test, TESTER)
|
|
236
|
+
utPrint("Both TESTER and DUT are transmitters and receivers\n", "BLUE")
|
|
237
|
+
# configuring dut brg as receiver
|
|
238
|
+
utPrint(f"Configuring DUT BRG {dut.id_str} as Signal Indicator Receiver", "BOLD")
|
|
239
|
+
test = cert_config.brg_configure(test=test, module=dut.sensors, fields=[BRG_SENSOR0],
|
|
240
|
+
values=[ag.EXTERNAL_SENSORS_SIGNAL_INDICATOR])[0]
|
|
241
|
+
if test.rc == TEST_FAILED and test.exit_on_param_failure:
|
|
242
|
+
test.add_reason(f"BRG {dut.id_str}: didn't receive signal indicator receiver configuration!")
|
|
243
|
+
return test
|
|
244
|
+
utPrint(f"BRG {dut.id_str} successfully configured as Signal Indicator Receiver\n", "BOLD")
|
|
245
|
+
# configuring dut brg as transmitter
|
|
246
|
+
utPrint(f"Configuring DUT BRG {dut.id_str} as Signal Indicator Transmitter", "BOLD")
|
|
247
|
+
test = cert_config.brg_configure(test=test, module=dut.energy2400, fields=[BRG_SIGNAL_INDICATOR_CYCLE, BRG_SIGNAL_INDICATOR_REP],
|
|
248
|
+
values=[tx_cycle, tx_rep])[0]
|
|
249
|
+
if test.rc == TEST_FAILED and test.exit_on_param_failure:
|
|
250
|
+
test.add_reason(f"BRG {dut.id_str}: didn't receive signal indicator transmitter configuration!")
|
|
251
|
+
return test
|
|
252
|
+
utPrint(f"BRG {dut.id_str} configured to be transmitter - cycle={tx_cycle}, repetition={tx_rep}", "BOLD")
|
|
253
|
+
|
|
254
|
+
# configuring tester brg as receiver
|
|
255
|
+
utPrint(f"Configuring TESTER BRG {tester.id_str} as Signal Indicator Receiver", "BOLD")
|
|
256
|
+
test = cert_config.brg_configure(test=test, module=tester.sensors,
|
|
257
|
+
fields=[BRG_SENSOR0],
|
|
258
|
+
values=[ag.EXTERNAL_SENSORS_SIGNAL_INDICATOR],
|
|
259
|
+
target=TESTER)[0]
|
|
260
|
+
if test.rc == TEST_FAILED and test.exit_on_param_failure:
|
|
261
|
+
test.add_reason(f"BRG {tester.id_str}: didn't receive signal indicator receiver configuration!")
|
|
262
|
+
return test
|
|
263
|
+
utPrint(f"BRG {tester.id_str} successfully configured as Signal Indicator Receiver\n", "BOLD")
|
|
264
|
+
|
|
265
|
+
# configuring tester brg as transmitter (already configured as rx)
|
|
266
|
+
utPrint(f"Configuring TESTER BRG {tester.id_str} as Signal Indicator Transmitter", "BOLD")
|
|
267
|
+
test = cert_config.brg_configure(test=test, module=tester.energy2400,
|
|
268
|
+
fields=[BRG_SIGNAL_INDICATOR_CYCLE, BRG_SIGNAL_INDICATOR_REP],
|
|
269
|
+
values=[rx_cycle, rx_rep],
|
|
270
|
+
target=TESTER)[0]
|
|
271
|
+
if test.rc == TEST_FAILED and test.exit_on_param_failure:
|
|
272
|
+
test.add_reason(f"BRG {tester.id_str}: didn't receive signal indicator transmitter configuration!")
|
|
273
|
+
return test
|
|
274
|
+
utPrint(f"BRG {tester.id_str} configured to be transmitter - cycle={rx_cycle}, repetition={rx_rep}")
|
|
275
|
+
|
|
276
|
+
# phase analysis #
|
|
277
|
+
cert_mqtt.mqtt_scan_n_create_log_file(test, NUM_OF_SCANNING_CYCLE * max(tx_cycle, rx_cycle) + SCAN_DELAY_TIME, "rx_tx")
|
|
278
|
+
|
|
279
|
+
# Analyzing dut performance as receiver
|
|
280
|
+
utPrint(f"Analyzing DUT {dut.id_str} performance as a Receiver\n", "BOLD")
|
|
281
|
+
rec_sig_ind_pkts = cert_common.get_all_sig_ind_pkts(test=test, rx_brg=dut, tx_brg=tester)
|
|
282
|
+
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):
|
|
283
|
+
test.rc = TEST_FAILED
|
|
284
|
+
expected_signal_ind_pkts = cert_common.exp_sig_ind_pkts2(dut, tester, NUM_OF_SCANNING_CYCLE)
|
|
285
|
+
test.add_reason(f"rx_tx phase failed - BRG {dut.id_str} received wrong number of "
|
|
286
|
+
f"signal indicator packets\nreceived {len(rec_sig_ind_pkts)} packets, "
|
|
287
|
+
f"expected {expected_signal_ind_pkts} packets")
|
|
288
|
+
print(rec_sig_ind_pkts) # TODO: logging print(debug)
|
|
289
|
+
|
|
290
|
+
# Analyzing tester performance as receiver
|
|
291
|
+
utPrint(f"Analyzing DUT {tester.id_str} performance as a Transmitter\n", "BOLD")
|
|
292
|
+
rec_sig_ind_pkts = cert_common.get_all_sig_ind_pkts(test=test, rx_brg=tester, tx_brg=dut)
|
|
293
|
+
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):
|
|
294
|
+
test.rc = TEST_FAILED
|
|
295
|
+
expected_signal_ind_pkts = cert_common.exp_sig_ind_pkts2(dut, tester, NUM_OF_SCANNING_CYCLE)
|
|
296
|
+
test.add_reason(f"rx_tx phase failed - BRG {tester.id_str} received wrong number of "
|
|
297
|
+
f"signal indicator packets\n received {len(rec_sig_ind_pkts)} packets, "
|
|
298
|
+
f"expected {expected_signal_ind_pkts} packets")
|
|
299
|
+
print(rec_sig_ind_pkts) # TODO: logging print(debug)
|
|
300
|
+
# NOTE: We skipped the antenna and output power checks for this phase
|
|
301
|
+
return test
|
|
302
|
+
|
|
303
|
+
|
|
304
|
+
SIGNAL_INDICATOR_TEST_MAP = {"rssi_threshold": test_rssi_threshold, "rx": test_rx,
|
|
305
|
+
"tx_eu_pattern": test_tx_eu_pattern,
|
|
306
|
+
"disable_tx": test_disable_tx, "rx_tx": test_rx_tx,
|
|
307
|
+
"disable_rx": test_disable_rx}
|
|
308
|
+
|
|
309
|
+
|
|
310
|
+
def run(test):
|
|
311
|
+
# Test prolog
|
|
312
|
+
test = cert_common.test_prolog(test)
|
|
313
|
+
brg_dut = cert_config.get_brg_by_target(test, DUT)
|
|
314
|
+
brg_tester = cert_config.get_brg_by_target(test, TESTER)
|
|
315
|
+
|
|
316
|
+
for param in test.params:
|
|
317
|
+
phase_run_print(param.name)
|
|
318
|
+
test = SIGNAL_INDICATOR_TEST_MAP[param.value](test)
|
|
319
|
+
cert_mqtt.generate_log_file(test, param.name)
|
|
320
|
+
field_functionality_pass_fail_print(test, param.name)
|
|
321
|
+
test.set_phase_rc(param.name, test.rc)
|
|
322
|
+
test.add_phase_reason(param.name, test.reason)
|
|
323
|
+
if test.rc == TEST_FAILED:
|
|
324
|
+
if test.exit_on_param_failure:
|
|
325
|
+
break # break the whole for loop and keep the test as failed
|
|
326
|
+
else:
|
|
327
|
+
test.reset_result() # reset result and continue to next param
|
|
328
|
+
continue
|
|
329
|
+
|
|
330
|
+
# Reset to defaults after every phase (don't fail the phase on that)
|
|
331
|
+
test = cert_config.config_brg_defaults(test, modules=[brg_dut.energy2400, brg_dut.sensors], target=DUT)[0]
|
|
332
|
+
if test.rc == TEST_FAILED:
|
|
333
|
+
test.add_reason("Failed to restore brg0 to defaults")
|
|
334
|
+
else:
|
|
335
|
+
test = cert_config.config_brg_defaults(test,
|
|
336
|
+
modules=[brg_tester.energy2400, brg_tester.sensors],
|
|
337
|
+
target=TESTER)[0]
|
|
338
|
+
if test.rc == TEST_FAILED:
|
|
339
|
+
test.add_reason("Failed to restore brg1 to defaults")
|
|
340
|
+
if test.rc == TEST_FAILED:
|
|
341
|
+
test.set_phase_rc(param.name, test.rc)
|
|
342
|
+
test.add_phase_reason(param.name, test.reason)
|
|
343
|
+
if test.exit_on_param_failure:
|
|
344
|
+
break
|
|
345
|
+
else:
|
|
346
|
+
test.reset_result()
|
|
347
|
+
|
|
348
|
+
return cert_common.test_epilog(test, revert_brgs=True,
|
|
349
|
+
modules=[brg_dut.energy2400, brg_dut.sensors],
|
|
350
|
+
brg1_modules=[brg_tester.energy2400, brg_tester.sensors])
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
from
|
|
2
|
-
from
|
|
3
|
-
from
|
|
4
|
-
import
|
|
5
|
-
import
|
|
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
|
|
|
8
9
|
def run(test):
|
|
@@ -16,7 +17,7 @@ def run(test):
|
|
|
16
17
|
for param in test.params:
|
|
17
18
|
param_name = f"{param.name}"
|
|
18
19
|
test = cert_config.brg_configure(test, fields=fields, values=[param.value], module=sub1g_module)[0]
|
|
19
|
-
generate_log_file(test, param_name)
|
|
20
|
+
cert_mqtt.generate_log_file(test, param_name)
|
|
20
21
|
field_functionality_pass_fail_print(test, fields, value=param_name)
|
|
21
22
|
test.set_phase_rc(param.name, test.rc)
|
|
22
23
|
test.add_phase_reason(param.name, test.reason)
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"mandatory": 0,
|
|
12
12
|
"multiBridgeTest": 0,
|
|
13
13
|
"gwOnlyTest": 0,
|
|
14
|
-
"
|
|
14
|
+
"dataSimOnlyTest": 0,
|
|
15
15
|
"allSupportedValues": ["SUB1G_ENERGY_PATTERN_NO_ENERGIZING", "SUB1G_ENERGY_PATTERN_SINGLE_TONE_915000",
|
|
16
16
|
"SUB1G_ENERGY_PATTERN_FCC_HOPPING", "SUB1G_ENERGY_PATTERN_JAPAN_1W",
|
|
17
17
|
"SUB1G_ENERGY_PATTERN_JAPAN_350MW", "SUB1G_ENERGY_PATTERN_KOREA",
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
from
|
|
2
|
-
from
|
|
3
|
-
from
|
|
4
|
-
import
|
|
5
|
-
import
|
|
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
|
|
|
8
9
|
def run(test):
|
|
@@ -15,7 +16,7 @@ def run(test):
|
|
|
15
16
|
return cert_common.test_epilog(test)
|
|
16
17
|
for param in test.params:
|
|
17
18
|
test = cert_config.brg_configure(test, fields=fields, values=[param.value], module=sub1g_module)[0]
|
|
18
|
-
generate_log_file(test, param.name)
|
|
19
|
+
cert_mqtt.generate_log_file(test, param.name)
|
|
19
20
|
field_functionality_pass_fail_print(test, fields, value=param.name)
|
|
20
21
|
test.set_phase_rc(param.name, test.rc)
|
|
21
22
|
test.add_phase_reason(param.name, test.reason)
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
from
|
|
2
|
-
from
|
|
3
|
-
from
|
|
4
|
-
import
|
|
5
|
-
import
|
|
1
|
+
from certificate.cert_prints import *
|
|
2
|
+
from certificate.cert_defines import *
|
|
3
|
+
from certificate.wlt_types import *
|
|
4
|
+
import certificate.cert_common as cert_common
|
|
5
|
+
import certificate.cert_mqtt as cert_mqtt
|
|
6
6
|
|
|
7
7
|
# Test MACROS #
|
|
8
8
|
SEC_TO_MS = 1000
|
|
@@ -25,8 +25,8 @@ def get_expected_hb_sleep_msgs_count(pkt):
|
|
|
25
25
|
return [periods_ratio, periods_ratio + 1]
|
|
26
26
|
|
|
27
27
|
|
|
28
|
-
def get_hb_sleep_pkts(test, start_ts, end_ts):
|
|
29
|
-
mgmt_pkts_found = cert_mqtt.get_brg2gw_mgmt_pkts(test.
|
|
28
|
+
def get_hb_sleep_pkts(test, start_ts, end_ts, target=DUT):
|
|
29
|
+
mgmt_pkts_found = cert_mqtt.get_brg2gw_mgmt_pkts(test.get_mqttc_by_target(target), test.active_brg)
|
|
30
30
|
# Screen pkts according to ts
|
|
31
31
|
mgmt_pkts = [p for p in mgmt_pkts_found if (start_ts <= p[TIMESTAMP] and p[TIMESTAMP] <= end_ts)]
|
|
32
32
|
# return count of HbSleep pkts
|
|
@@ -67,12 +67,12 @@ def run(test):
|
|
|
67
67
|
|
|
68
68
|
# On duration starts
|
|
69
69
|
utPrint(f"On duration started - Waiting for {int(wltpkt.pkt.static_on_duration)} seconds!", "WARNING")
|
|
70
|
-
|
|
70
|
+
wait_time_n_print(wltpkt.pkt.static_on_duration)
|
|
71
71
|
utPrint(f"On duration expired - Entering sleep state for {int(wltpkt.pkt.static_sleep_duration)} seconds!", "BLUE")
|
|
72
72
|
# Sleep duration starts
|
|
73
73
|
sleep_state_start_ts = int(datetime.datetime.now().timestamp() * SEC_TO_MS)
|
|
74
|
-
test.
|
|
75
|
-
|
|
74
|
+
test.get_mqttc_by_target(DUT).flush_pkts()
|
|
75
|
+
wait_time_n_print(wltpkt.pkt.static_sleep_duration)
|
|
76
76
|
sleep_state_end_ts = int(datetime.datetime.now().timestamp() * SEC_TO_MS)
|
|
77
77
|
utPrint(f"Sleep duration expired - Returning to on state for {int(wltpkt.pkt.static_on_duration)} seconds!", "BLUE")
|
|
78
78
|
|
|
@@ -9,13 +9,13 @@
|
|
|
9
9
|
"rssi_threshold - One external sensor with no scrambling is configured and rssi threshold is set to -25. We expect to receive sensor packets only from the registered sensor & with rssi value between 0 to -25.",
|
|
10
10
|
"snsr0_no_scrmbl - One external sensor with no scrambling is configured and no rssi threshold is set. We expect to receive unscrambled sensor packets only from the registered sensor, with no rssi limitations.",
|
|
11
11
|
"snsr1_scrmbl - One external sensor with scrambling is configured with and no rssi threshold is set. We expect to receive scrambled sensor packets only from the registered sensor, with no rssi limitations.",
|
|
12
|
-
"
|
|
13
|
-
"
|
|
12
|
+
"snsr0_no_scrmbl_snsr1_scrmbl_snsr2_scrmbl - Three external sensors are configured - one without scrambling, second and third with scrambling. No rssi threshold is set. We expect to receive sensor packets from all sensors, with the first sensor's data scrambled and the other sensor's data unscrambled.",
|
|
13
|
+
"snsr0_no_scrmbl_snsr1_scrmbl_snsr2_unified - Three external sensors are configured - one without scrambling, second with scrambling and third is unified sensor. No rssi threshold is set. We expect to receive sensor packets from all sensors, with the first sensor's data unscrambled, the second sensor's data scrambled and the third sensor's data in unified format.",
|
|
14
14
|
"Test epilog"],
|
|
15
15
|
"expectedOutcome": "All phases passed successfully!",
|
|
16
16
|
"mandatory": 0,
|
|
17
17
|
"multiBridgeTest": 0,
|
|
18
18
|
"gwOnlyTest": 0,
|
|
19
|
-
"
|
|
20
|
-
"allSupportedValues": ["tag_data_only", "rssi_threshold", "snsr0_no_scrmbl", "snsr1_scrmbl", "
|
|
19
|
+
"dataSimOnlyTest": 1,
|
|
20
|
+
"allSupportedValues": ["tag_data_only", "rssi_threshold", "snsr2_unified", "snsr0_no_scrmbl", "snsr1_scrmbl", "snsr0_no_scrmbl_snsr1_scrmbl_snsr2_scrmbl", "snsr0_no_scrmbl_snsr1_scrmbl_snsr2_unified"]
|
|
21
21
|
}
|