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
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
|
|
2
|
-
from
|
|
3
|
-
from
|
|
4
|
-
from
|
|
5
|
-
import
|
|
6
|
-
import
|
|
2
|
+
from certificate.cert_prints import *
|
|
3
|
+
from certificate.cert_defines import *
|
|
4
|
+
from certificate.wlt_types import *
|
|
5
|
+
import certificate.cert_mqtt as cert_mqtt
|
|
6
|
+
import certificate.cert_common as cert_common
|
|
7
|
+
import certificate.cert_config as cert_config
|
|
8
|
+
import certificate.cert_data_sim as cert_data_sim
|
|
7
9
|
|
|
8
10
|
GW_CYCLE_TIME = 0.02 # GW sends BLE packet every 20 nsec
|
|
9
11
|
|
|
@@ -41,7 +43,7 @@ def run(test):
|
|
|
41
43
|
pixel_sim_thread.stop()
|
|
42
44
|
time.sleep(10)
|
|
43
45
|
|
|
44
|
-
cert_common.display_data(df,
|
|
46
|
+
cert_common.display_data(df, tbc=True, name_prefix=f"num_of_tags_{param.name}_", dir=test.dir)
|
|
45
47
|
|
|
46
48
|
num_of_tags = len(df[TAG_ID].unique())
|
|
47
49
|
print(f"Tags from DF: {num_of_tags}")
|
|
@@ -56,7 +58,7 @@ def run(test):
|
|
|
56
58
|
num_of_tags_HB = mgmt_pkts[0][MGMT_PKT].pkt.tags_ctr
|
|
57
59
|
print(f"Tags from HB: {num_of_tags_HB}\n ")
|
|
58
60
|
|
|
59
|
-
cert_common.display_data(df,
|
|
61
|
+
cert_common.display_data(df, tbc=True, name_prefix=f"num_of_tags_{param.name}_", dir=test.dir)
|
|
60
62
|
|
|
61
63
|
# compare the numbers of tags that come from the brg, success in 95% from number of tags (value) or more.
|
|
62
64
|
if num_of_tags < (param.value * 0.95):
|
|
@@ -67,7 +69,7 @@ def run(test):
|
|
|
67
69
|
test.add_reason(f"HB counter: {num_of_tags_HB}, expected: {param.name}!")
|
|
68
70
|
# param epilog
|
|
69
71
|
time.sleep(10)
|
|
70
|
-
generate_log_file(test, param.name)
|
|
72
|
+
cert_mqtt.generate_log_file(test, param.name)
|
|
71
73
|
field_functionality_pass_fail_print(test, "num_of_tags", value=param.name)
|
|
72
74
|
test.set_phase_rc(param.name, test.rc)
|
|
73
75
|
test.add_phase_reason(param.name, test.reason)
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "Output Power",
|
|
3
|
+
"module": "Datapath",
|
|
4
|
+
"purpose": "Test configuration for all supported datapath output power values",
|
|
5
|
+
"documentation": "https://community.wiliot.com/customers/s/article/Wiliot-Network-Data-Path-Module-Configuration",
|
|
6
|
+
"initialCondition": "Bridge configured to defaults",
|
|
7
|
+
"procedure": ["Test prolog",
|
|
8
|
+
"For each supported value - configure the BRG and verify the value",
|
|
9
|
+
"Test epilog and revert to defaults"],
|
|
10
|
+
"expectedOutcome": "All values configured successfully",
|
|
11
|
+
"mandatory": 0,
|
|
12
|
+
"multiBridgeTest": 0,
|
|
13
|
+
"gwOnlyTest": 0,
|
|
14
|
+
"dataSimOnlyTest": 0,
|
|
15
|
+
"allSupportedValues": ["OUTPUT_POWER_2_4_MAX", "OUTPUT_POWER_2_4_MAX_MINUS_2", "OUTPUT_POWER_2_4_MAX_MINUS_3",
|
|
16
|
+
"OUTPUT_POWER_2_4_MAX_MINUS_4", "OUTPUT_POWER_2_4_MAX_MINUS_6", "OUTPUT_POWER_2_4_MAX_MINUS_7",
|
|
17
|
+
"OUTPUT_POWER_2_4_MAX_MINUS_8", "OUTPUT_POWER_2_4_MAX_MINUS_10", "OUTPUT_POWER_2_4_MAX_MINUS_11",
|
|
18
|
+
"OUTPUT_POWER_2_4_MAX_MINUS_12", "OUTPUT_POWER_2_4_MAX_MINUS_14", "OUTPUT_POWER_2_4_MAX_MINUS_15",
|
|
19
|
+
"OUTPUT_POWER_2_4_MAX_MINUS_16", "OUTPUT_POWER_2_4_MAX_MINUS_18", "OUTPUT_POWER_2_4_MAX_MINUS_19",
|
|
20
|
+
"OUTPUT_POWER_2_4_MAX_MINUS_20", "OUTPUT_POWER_2_4_MAX_MINUS_22", "OUTPUT_POWER_2_4_MAX_MINUS_23",
|
|
21
|
+
"OUTPUT_POWER_2_4_MAX_MINUS_26"]
|
|
22
|
+
}
|
|
@@ -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,8 +16,18 @@ def run(test):
|
|
|
15
16
|
return cert_common.test_epilog(test)
|
|
16
17
|
|
|
17
18
|
for param in test.params:
|
|
19
|
+
if not cert_common.output_power_supported(test.active_brg.board_type, param.value):
|
|
20
|
+
# Skip this parameter if its value isn't supported by the board
|
|
21
|
+
test.rc = TEST_SKIPPED
|
|
22
|
+
cert_mqtt.generate_log_file(test, param.name)
|
|
23
|
+
field_functionality_pass_fail_print(test, fields[0], value=param.name)
|
|
24
|
+
test.set_phase_rc(param.name, test.rc)
|
|
25
|
+
test.add_phase_reason(param.name, test.reason)
|
|
26
|
+
test.reset_result() # reset result and continue to next param
|
|
27
|
+
continue
|
|
28
|
+
|
|
18
29
|
test = cert_config.brg_configure(test, fields=fields, values=[param.value], module=datapath_module)[0]
|
|
19
|
-
generate_log_file(test, param.name)
|
|
30
|
+
cert_mqtt.generate_log_file(test, param.name)
|
|
20
31
|
field_functionality_pass_fail_print(test, fields[0], value=param.name)
|
|
21
32
|
test.set_phase_rc(param.name, test.rc)
|
|
22
33
|
test.add_phase_reason(param.name, test.reason)
|
{brg_certificate → certificate}/tests/datapath/pacer_interval_ble5_test/pacer_interval_ble5_test.py
RENAMED
|
@@ -1,8 +1,10 @@
|
|
|
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
|
|
7
|
+
import certificate.cert_data_sim as cert_data_sim
|
|
6
8
|
|
|
7
9
|
|
|
8
10
|
def run(test):
|
|
@@ -15,7 +17,7 @@ def run(test):
|
|
|
15
17
|
return cert_common.test_epilog(test)
|
|
16
18
|
|
|
17
19
|
for param in test.params:
|
|
18
|
-
test = cert_config.brg_configure_ble5(test, fields=fields, values=[param.value, ag.
|
|
20
|
+
test = cert_config.brg_configure_ble5(test, fields=fields, values=[param.value, ag.RX_CHANNEL_10_500K, ag.PKT_FILTER_TEMP_PKT],
|
|
19
21
|
module=datapath_module)[0]
|
|
20
22
|
if test.rc == TEST_FAILED:
|
|
21
23
|
if test.exit_on_param_failure:
|
|
@@ -36,9 +38,9 @@ def run(test):
|
|
|
36
38
|
pixel_sim_thread.stop()
|
|
37
39
|
time.sleep(5)
|
|
38
40
|
cert_mqtt.dump_pkts(test, log=param.name)
|
|
39
|
-
cert_common.display_data(df,
|
|
41
|
+
cert_common.display_data(df, tbc=True, name_prefix=f"brg_pacer_{param.name}_", dir=test.dir)
|
|
40
42
|
test = cert_common.pacing_analysis(test, df=df, pacer_interval=param.value, num_of_pixels=num_of_pixels)
|
|
41
|
-
generate_log_file(test, param.name)
|
|
43
|
+
cert_mqtt.generate_log_file(test, param.name)
|
|
42
44
|
field_functionality_pass_fail_print(test, fields[0], value=param.name)
|
|
43
45
|
test.set_phase_rc(param.name, test.rc)
|
|
44
46
|
test.add_phase_reason(param.name, test.reason)
|
|
@@ -1,8 +1,10 @@
|
|
|
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
|
|
7
|
+
import certificate.cert_data_sim as cert_data_sim
|
|
6
8
|
|
|
7
9
|
|
|
8
10
|
def run(test):
|
|
@@ -38,9 +40,9 @@ def run(test):
|
|
|
38
40
|
pixel_sim_thread.stop()
|
|
39
41
|
time.sleep(5)
|
|
40
42
|
cert_mqtt.dump_pkts(test, log=param.name)
|
|
41
|
-
cert_common.display_data(df,
|
|
43
|
+
cert_common.display_data(df, tbc=True, name_prefix=f"brg_pacer_{param.name}_", dir=test.dir)
|
|
42
44
|
test = cert_common.pacing_analysis(test, df=df, pacer_interval=param.value, num_of_pixels=num_of_pixels)
|
|
43
|
-
generate_log_file(test, param.name)
|
|
45
|
+
cert_mqtt.generate_log_file(test, param.name)
|
|
44
46
|
field_functionality_pass_fail_print(test, fields[0], value=param.name)
|
|
45
47
|
test.set_phase_rc(param.name, test.rc)
|
|
46
48
|
test.add_phase_reason(param.name, test.reason)
|
|
@@ -11,6 +11,6 @@
|
|
|
11
11
|
"mandatory": 0,
|
|
12
12
|
"multiBridgeTest": 0,
|
|
13
13
|
"gwOnlyTest": 0,
|
|
14
|
-
"
|
|
15
|
-
"allSupportedValues": ["DATAPATH_PATTERN_STANDARD", "DATAPATH_PATTERN_38_38_39", "DATAPATH_PATTERN_EU_PATTERN"]
|
|
14
|
+
"dataSimOnlyTest": 0,
|
|
15
|
+
"allSupportedValues": ["DATAPATH_PATTERN_STANDARD", "DATAPATH_PATTERN_38_38_39", "DATAPATH_PATTERN_EU_PATTERN", "DATAPATH_PATTERN_EXTENDED_ADV", "DATAPATH_PATTERN_EXTENDED_ADV_38_39", "DATAPATH_PATTERN_EXTENDED_ADV_CH_10"]
|
|
16
16
|
}
|
|
@@ -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):
|
|
@@ -14,10 +15,17 @@ def run(test):
|
|
|
14
15
|
if test.rc == TEST_FAILED:
|
|
15
16
|
return cert_common.test_epilog(test)
|
|
16
17
|
|
|
18
|
+
# configure tester to listen to ch39 so we can receive 38-38-39 and euro pattern packets
|
|
19
|
+
test = cert_config.brg_configure(test, fields=[BRG_RX_CHANNEL], values=[ag.RX_CHANNEL_39],
|
|
20
|
+
module=test.tester.internal_brg.datapath,
|
|
21
|
+
target=TESTER)[0]
|
|
22
|
+
if test.rc == TEST_FAILED:
|
|
23
|
+
return cert_common.test_epilog(test)
|
|
24
|
+
|
|
17
25
|
for param in test.params:
|
|
18
26
|
# Set brg cfg
|
|
19
27
|
test = cert_config.brg_configure(test, fields=fields, values=[param.value], module=datapath_module)[0]
|
|
20
|
-
generate_log_file(test, param.name)
|
|
28
|
+
cert_mqtt.generate_log_file(test, param.name)
|
|
21
29
|
field_functionality_pass_fail_print(test, fields[0], value=param.name)
|
|
22
30
|
test.set_phase_rc(param.name, test.rc)
|
|
23
31
|
test.add_phase_reason(param.name, test.reason)
|
|
@@ -25,4 +33,8 @@ def run(test):
|
|
|
25
33
|
if test.exit_on_param_failure:
|
|
26
34
|
break # break the whole for loop and keep the test as failed
|
|
27
35
|
test.reset_result() # reset result and continue to next param
|
|
36
|
+
|
|
37
|
+
# configure tester to listen to default channel again
|
|
38
|
+
test = cert_config.brg_configure(test, module=test.tester.internal_brg.datapath, target=TESTER)[0]
|
|
39
|
+
|
|
28
40
|
return cert_common.test_epilog(test, revert_brgs=True, modules=[datapath_module])
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "Packet Filter BLE5 Channel 21",
|
|
3
|
+
"module": "Datapath",
|
|
4
|
+
"purpose": "Test packet filter feature configuration and functionality in the bridge for different packet filters using BLE_5.0 channel 20",
|
|
5
|
+
"documentation": "https://community.wiliot.com/customers/s/article/Wiliot-Network-Data-Path-Module-Pacing",
|
|
6
|
+
"initialCondition": "Bridge & data simulator configured to defaults",
|
|
7
|
+
"procedure": ["Test prolog",
|
|
8
|
+
"Packet filter & secondary BLE5 rx channel configuration",
|
|
9
|
+
"Generate pixels packets & scan for packets in the bridge",
|
|
10
|
+
"Compare pacer interval mean per pixel & packet type to the configured value",
|
|
11
|
+
"Repeat for all given packet filter values",
|
|
12
|
+
"Test epilog and revert to defaults"],
|
|
13
|
+
"expectedOutcome": "All values configured successfully and actual pacing found matching to the configured values",
|
|
14
|
+
"mandatory": 0,
|
|
15
|
+
"multiBridgeTest": 0,
|
|
16
|
+
"gwOnlyTest": 0,
|
|
17
|
+
"dataSimOnlyTest": 0,
|
|
18
|
+
"allSupportedValues": ["PKT_FILTER_RANDOM_FIRST_ARRIVING_PKT", "PKT_FILTER_DISABLE_FORWARDING", "PKT_FILTER_TEMP_PKT", "PKT_FILTER_TEMP_AND_ADVANCED_PKTS", "PKT_FILTER_TEMP_ADVANCED_AND_DEBUG_PKTS"]
|
|
19
|
+
}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
from certificate.cert_prints import *
|
|
2
|
+
from certificate.cert_defines import *
|
|
3
|
+
from certificate.ag.wlt_types_ag 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
|
+
import certificate.cert_data_sim as cert_data_sim
|
|
8
|
+
|
|
9
|
+
PKT_FILTER_TEST_PACER_INTERVAL = 10
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
def run(test):
|
|
13
|
+
|
|
14
|
+
fields = [BRG_PKT_FILTER, BRG_RX_CHANNEL, BRG_PACER_INTERVAL]
|
|
15
|
+
datapath_module = eval(f'ModuleDatapathV{test.active_brg.api_version}')
|
|
16
|
+
|
|
17
|
+
test = cert_common.test_prolog(test)
|
|
18
|
+
if test.rc == TEST_FAILED:
|
|
19
|
+
return cert_common.test_epilog(test)
|
|
20
|
+
|
|
21
|
+
for param in test.params:
|
|
22
|
+
test = cert_config.brg_configure_ble5(test, fields=fields,
|
|
23
|
+
values=[param.value, RX_CHANNEL_21, PKT_FILTER_TEST_PACER_INTERVAL],
|
|
24
|
+
module=datapath_module)[0]
|
|
25
|
+
test.set_phase_rc(param.name, test.rc)
|
|
26
|
+
test.add_phase_reason(param.name, test.reason)
|
|
27
|
+
if test.rc == TEST_FAILED:
|
|
28
|
+
if test.exit_on_param_failure:
|
|
29
|
+
break # break the whole for loop and keep the test as failed
|
|
30
|
+
else:
|
|
31
|
+
test.reset_result() # reset result and continue to next param
|
|
32
|
+
continue
|
|
33
|
+
wait_time_n_print(5, txt="Waiting datapath to clear")
|
|
34
|
+
num_of_pixels = 0
|
|
35
|
+
if test.data == DATA_SIMULATION:
|
|
36
|
+
# start generating pkts and send them using data simulator
|
|
37
|
+
num_of_pixels = 5
|
|
38
|
+
pixel_sim_thread = cert_data_sim.DataSimThread(test=test, num_of_pixels=num_of_pixels, duplicates=2,
|
|
39
|
+
delay=0, pkt_types=[2], pixels_type=GEN3_EXTENDED,
|
|
40
|
+
channel=SECONDARY_RX_CHANNEL_21)
|
|
41
|
+
pixel_sim_thread.start()
|
|
42
|
+
df = cert_common.data_scan(test, brg_data=(not test.internal_brg), gw_data=test.internal_brg,
|
|
43
|
+
scan_time=PKT_FILTER_TEST_PACER_INTERVAL * 6, per_pkt_type=True,
|
|
44
|
+
pkt_filter_cfg=param.value, flush_pkts=True)
|
|
45
|
+
if test.data == DATA_SIMULATION:
|
|
46
|
+
# stop generating pkts with data simulator and wait a few seconds for full flush
|
|
47
|
+
pixel_sim_thread.stop()
|
|
48
|
+
time.sleep(5)
|
|
49
|
+
cert_common.display_data(df, tbc=True, name_prefix=f"{param.name}_", dir=test.dir)
|
|
50
|
+
test = cert_common.pacing_analysis(test, pacer_interval=PKT_FILTER_TEST_PACER_INTERVAL, df=df, pkt_filter_cfg=param.value,
|
|
51
|
+
num_of_pixels=num_of_pixels, is_ble5_test=True)
|
|
52
|
+
cert_mqtt.generate_log_file(test, param.name)
|
|
53
|
+
field_functionality_pass_fail_print(test, fields[0], value=param.name)
|
|
54
|
+
test.set_phase_rc(param.name, test.rc)
|
|
55
|
+
test.add_phase_reason(param.name, test.reason)
|
|
56
|
+
if test.rc == TEST_FAILED:
|
|
57
|
+
if test.exit_on_param_failure:
|
|
58
|
+
break # break the whole for loop and keep the test as failed
|
|
59
|
+
test.reset_result() # reset result and continue to next param
|
|
60
|
+
|
|
61
|
+
return cert_common.test_epilog(test, revert_brgs=True, revert_gws=test.internal_brg, modules=[datapath_module], ble5=True)
|
{brg_certificate → certificate}/tests/datapath/pkt_filter_ble5_test/pkt_filter_ble5_test.json
RENAMED
|
@@ -14,6 +14,6 @@
|
|
|
14
14
|
"mandatory": 0,
|
|
15
15
|
"multiBridgeTest": 0,
|
|
16
16
|
"gwOnlyTest": 0,
|
|
17
|
-
"
|
|
17
|
+
"dataSimOnlyTest": 0,
|
|
18
18
|
"allSupportedValues": ["PKT_FILTER_RANDOM_FIRST_ARRIVING_PKT", "PKT_FILTER_DISABLE_FORWARDING", "PKT_FILTER_TEMP_PKT", "PKT_FILTER_TEMP_AND_ADVANCED_PKTS", "PKT_FILTER_TEMP_ADVANCED_AND_DEBUG_PKTS"]
|
|
19
19
|
}
|
|
@@ -1,8 +1,10 @@
|
|
|
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.ag.wlt_types_ag import *
|
|
4
|
+
import certificate.cert_mqtt as cert_mqtt
|
|
5
|
+
import certificate.cert_data_sim as cert_data_sim
|
|
6
|
+
import certificate.cert_common as cert_common
|
|
7
|
+
import certificate.cert_config as cert_config
|
|
6
8
|
|
|
7
9
|
PKT_FILTER_TEST_PACER_INTERVAL = 10
|
|
8
10
|
|
|
@@ -18,7 +20,7 @@ def run(test):
|
|
|
18
20
|
|
|
19
21
|
for param in test.params:
|
|
20
22
|
test = cert_config.brg_configure_ble5(test, fields=fields,
|
|
21
|
-
values=[param.value,
|
|
23
|
+
values=[param.value, RX_CHANNEL_10_500K, PKT_FILTER_TEST_PACER_INTERVAL],
|
|
22
24
|
module=datapath_module)[0]
|
|
23
25
|
test.set_phase_rc(param.name, test.rc)
|
|
24
26
|
test.add_phase_reason(param.name, test.reason)
|
|
@@ -28,8 +30,7 @@ def run(test):
|
|
|
28
30
|
else:
|
|
29
31
|
test.reset_result() # reset result and continue to next param
|
|
30
32
|
continue
|
|
31
|
-
|
|
32
|
-
print_update_wait(5)
|
|
33
|
+
wait_time_n_print(5, txt="Waiting datapath to clear")
|
|
33
34
|
num_of_pixels = 0
|
|
34
35
|
if test.data == DATA_SIMULATION:
|
|
35
36
|
# start generating pkts and send them using data simulator
|
|
@@ -44,10 +45,10 @@ def run(test):
|
|
|
44
45
|
# stop generating pkts with data simulator and wait a few seconds for full flush
|
|
45
46
|
pixel_sim_thread.stop()
|
|
46
47
|
time.sleep(5)
|
|
47
|
-
cert_common.display_data(df,
|
|
48
|
+
cert_common.display_data(df, tbc=True, name_prefix=f"{param.name}_", dir=test.dir)
|
|
48
49
|
test = cert_common.pacing_analysis(test, pacer_interval=PKT_FILTER_TEST_PACER_INTERVAL, df=df, pkt_filter_cfg=param.value,
|
|
49
50
|
num_of_pixels=num_of_pixels, is_ble5_test=True)
|
|
50
|
-
generate_log_file(test, param.name)
|
|
51
|
+
cert_mqtt.generate_log_file(test, param.name)
|
|
51
52
|
field_functionality_pass_fail_print(test, fields[0], value=param.name)
|
|
52
53
|
test.set_phase_rc(param.name, test.rc)
|
|
53
54
|
test.add_phase_reason(param.name, test.reason)
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "Packet Filter BLE5 Using Bridge to Gateway Extended Advertising",
|
|
3
|
+
"module": "Datapath",
|
|
4
|
+
"purpose": "Test packet filter feature configuration and functionality in the bridge for different packet filters using BLE_5.0, while the bridge is transmitting in extended advertising",
|
|
5
|
+
"documentation": "https://community.wiliot.com/customers/s/article/Wiliot-Network-Data-Path-Module-Pacing",
|
|
6
|
+
"initialCondition": "Bridge & data simulator configured to defaults",
|
|
7
|
+
"procedure": ["Test prolog",
|
|
8
|
+
"Packet filter & secondary BLE5 rx channel configuration & pattern configuration to bridge to gateway extended advertising",
|
|
9
|
+
"Generate pixels packets & scan for packets in the bridge",
|
|
10
|
+
"Compare pacer interval mean per pixel & packet type to the configured value",
|
|
11
|
+
"Test epilog and revert to defaults"],
|
|
12
|
+
"expectedOutcome": "All values configured successfully and actual pacing found matching to the configured values",
|
|
13
|
+
"mandatory": 0,
|
|
14
|
+
"multiBridgeTest": 0,
|
|
15
|
+
"gwOnlyTest": 0,
|
|
16
|
+
"dataSimOnlyTest": 0,
|
|
17
|
+
"allSupportedValues": ["RX_CHANNEL_37", "RX_CHANNEL_38", "RX_CHANNEL_39", "RX_CHANNEL_10_500K"]
|
|
18
|
+
}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
from certificate.cert_prints import *
|
|
2
|
+
from certificate.cert_defines import *
|
|
3
|
+
from certificate.ag.wlt_types_ag import *
|
|
4
|
+
import certificate.cert_mqtt as cert_mqtt
|
|
5
|
+
import certificate.cert_data_sim as cert_data_sim
|
|
6
|
+
import certificate.cert_common as cert_common
|
|
7
|
+
import certificate.cert_config as cert_config
|
|
8
|
+
|
|
9
|
+
PKT_FILTER_TEST_PACER_INTERVAL = 4
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
def run(test):
|
|
13
|
+
|
|
14
|
+
fields = [BRG_PKT_FILTER, BRG_RX_CHANNEL, BRG_PACER_INTERVAL, BRG_PATTERN]
|
|
15
|
+
datapath_module = eval(f'ModuleDatapathV{test.active_brg.api_version}')
|
|
16
|
+
|
|
17
|
+
test = cert_common.test_prolog(test)
|
|
18
|
+
if test.rc == TEST_FAILED:
|
|
19
|
+
return cert_common.test_epilog(test)
|
|
20
|
+
|
|
21
|
+
test = cert_config.brg_configure_ble5(test, fields=fields, values=[PKT_FILTER_TEMP_AND_ADVANCED_PKTS,
|
|
22
|
+
RX_CHANNEL_10_500K, PKT_FILTER_TEST_PACER_INTERVAL,
|
|
23
|
+
DATAPATH_PATTERN_EXTENDED_ADV], module=datapath_module)[0]
|
|
24
|
+
if test.rc == TEST_FAILED:
|
|
25
|
+
return cert_common.test_epilog(test)
|
|
26
|
+
|
|
27
|
+
for param in test.params:
|
|
28
|
+
# Configure tester's rx channel
|
|
29
|
+
test = cert_config.brg_configure(test, fields=[BRG_RX_CHANNEL],
|
|
30
|
+
values=[param.value],
|
|
31
|
+
module=test.tester.internal_brg.datapath,
|
|
32
|
+
target=TESTER)[0]
|
|
33
|
+
test.set_phase_rc(param.name, test.rc)
|
|
34
|
+
test.add_phase_reason(param.name, test.reason)
|
|
35
|
+
if test.rc == TEST_FAILED:
|
|
36
|
+
if test.exit_on_param_failure:
|
|
37
|
+
break # break the whole for loop and keep the test as failed
|
|
38
|
+
else:
|
|
39
|
+
test.reset_result() # reset result and continue to next param
|
|
40
|
+
continue
|
|
41
|
+
|
|
42
|
+
# Configure the BRG to DATAPATH_PATTERN_EXTENDED_ADV_CH_10 if the GW listens to channel 10
|
|
43
|
+
if param.value == RX_CHANNEL_10_500K:
|
|
44
|
+
test = cert_config.brg_configure_ble5(test, fields=fields, values=[PKT_FILTER_TEMP_AND_ADVANCED_PKTS,
|
|
45
|
+
RX_CHANNEL_10_500K, PKT_FILTER_TEST_PACER_INTERVAL,
|
|
46
|
+
DATAPATH_PATTERN_EXTENDED_ADV_CH_10], module=datapath_module)[0]
|
|
47
|
+
if test.rc == TEST_FAILED:
|
|
48
|
+
if test.exit_on_param_failure:
|
|
49
|
+
break # break the whole for loop and keep the test as failed
|
|
50
|
+
test.reset_result() # reset result and continue to next param
|
|
51
|
+
|
|
52
|
+
wait_time_n_print(5, txt="Waiting datapath to clear")
|
|
53
|
+
num_of_pixels = 0
|
|
54
|
+
if test.data == DATA_SIMULATION:
|
|
55
|
+
# start generating pkts and send them using data simulator
|
|
56
|
+
num_of_pixels = 50
|
|
57
|
+
pixel_sim_thread = cert_data_sim.DataSimThread(test=test, num_of_pixels=num_of_pixels, duplicates=2,
|
|
58
|
+
delay=0, pkt_types=[2], pixels_type=GEN3_EXTENDED)
|
|
59
|
+
pixel_sim_thread.start()
|
|
60
|
+
df = cert_common.data_scan(test, brg_data=(not test.internal_brg), gw_data=test.internal_brg,
|
|
61
|
+
scan_time=PKT_FILTER_TEST_PACER_INTERVAL * 8, per_pkt_type=True,
|
|
62
|
+
pkt_filter_cfg=PKT_FILTER_TEMP_AND_ADVANCED_PKTS, flush_pkts=True)
|
|
63
|
+
if test.data == DATA_SIMULATION:
|
|
64
|
+
# stop generating pkts with data simulator and wait a few seconds for full flush
|
|
65
|
+
pixel_sim_thread.stop()
|
|
66
|
+
time.sleep(5)
|
|
67
|
+
cert_common.display_data(df, tbc=True, name_prefix=f"{param.name}_", dir=test.dir)
|
|
68
|
+
test = cert_common.pacing_analysis(test, pacer_interval=PKT_FILTER_TEST_PACER_INTERVAL, df=df,
|
|
69
|
+
pkt_filter_cfg=PKT_FILTER_TEMP_AND_ADVANCED_PKTS,
|
|
70
|
+
num_of_pixels=num_of_pixels, is_ble5_test=True, ext_adv_brg2gw=True)
|
|
71
|
+
cert_mqtt.generate_log_file(test, param.name)
|
|
72
|
+
field_functionality_pass_fail_print(test, fields[0], value=param.name)
|
|
73
|
+
test.set_phase_rc(param.name, test.rc)
|
|
74
|
+
test.add_phase_reason(param.name, test.reason)
|
|
75
|
+
if test.rc == TEST_FAILED:
|
|
76
|
+
if test.exit_on_param_failure:
|
|
77
|
+
break # break the whole for loop and keep the test as failed
|
|
78
|
+
test.reset_result() # reset result and continue to next param
|
|
79
|
+
|
|
80
|
+
# Revert tester's rx channel
|
|
81
|
+
test = cert_config.brg_configure(test, module=test.tester.internal_brg.datapath, target=TESTER)[0]
|
|
82
|
+
|
|
83
|
+
return cert_common.test_epilog(test, revert_brgs=True, modules=[datapath_module], ble5=True)
|
{brg_certificate → certificate}/tests/datapath/pkt_filter_gen3_test/pkt_filter_gen3_test.json
RENAMED
|
@@ -14,6 +14,6 @@
|
|
|
14
14
|
"mandatory": 0,
|
|
15
15
|
"multiBridgeTest": 0,
|
|
16
16
|
"gwOnlyTest": 0,
|
|
17
|
-
"
|
|
17
|
+
"dataSimOnlyTest": 0,
|
|
18
18
|
"allSupportedValues": ["PKT_FILTER_RANDOM_FIRST_ARRIVING_PKT", "PKT_FILTER_DISABLE_FORWARDING", "PKT_FILTER_TEMP_PKT", "PKT_FILTER_TEMP_AND_ADVANCED_PKTS"]
|
|
19
19
|
}
|
|
@@ -1,8 +1,10 @@
|
|
|
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_data_sim as cert_data_sim
|
|
6
|
+
import certificate.cert_common as cert_common
|
|
7
|
+
import certificate.cert_config as cert_config
|
|
6
8
|
|
|
7
9
|
PKT_FILTER_TEST_PACER_INTERVAL = 10
|
|
8
10
|
|
|
@@ -28,8 +30,7 @@ def run(test):
|
|
|
28
30
|
else:
|
|
29
31
|
test.reset_result() # reset result and continue to next param
|
|
30
32
|
continue
|
|
31
|
-
|
|
32
|
-
print_update_wait(5)
|
|
33
|
+
wait_time_n_print(5, txt="Waiting datapath to clear")
|
|
33
34
|
|
|
34
35
|
num_of_pixels = 0
|
|
35
36
|
if test.data == DATA_SIMULATION:
|
|
@@ -45,10 +46,10 @@ def run(test):
|
|
|
45
46
|
# stop generating pkts with data simulator and wait a few seconds for full flush
|
|
46
47
|
pixel_sim_thread.stop()
|
|
47
48
|
time.sleep(5)
|
|
48
|
-
cert_common.display_data(df,
|
|
49
|
+
cert_common.display_data(df, tbc=True, name_prefix=f"pkt_filter_gen3_{param.name}_", dir=test.dir)
|
|
49
50
|
test = cert_common.pacing_analysis(test, pacer_interval=PKT_FILTER_TEST_PACER_INTERVAL, df=df, pkt_filter_cfg=param.value,
|
|
50
51
|
num_of_pixels=num_of_pixels)
|
|
51
|
-
generate_log_file(test, param.name)
|
|
52
|
+
cert_mqtt.generate_log_file(test, param.name)
|
|
52
53
|
field_functionality_pass_fail_print(test, fields[0], value=param.name)
|
|
53
54
|
test.set_phase_rc(param.name, test.rc)
|
|
54
55
|
test.add_phase_reason(param.name, test.reason)
|
|
@@ -14,6 +14,6 @@
|
|
|
14
14
|
"mandatory": 0,
|
|
15
15
|
"multiBridgeTest": 0,
|
|
16
16
|
"gwOnlyTest": 0,
|
|
17
|
-
"
|
|
17
|
+
"dataSimOnlyTest": 0,
|
|
18
18
|
"allSupportedValues": ["PKT_FILTER_RANDOM_FIRST_ARRIVING_PKT", "PKT_FILTER_DISABLE_FORWARDING", "PKT_FILTER_TEMP_PKT", "PKT_FILTER_TEMP_AND_ADVANCED_PKTS", "PKT_FILTER_TEMP_ADVANCED_AND_DEBUG_PKTS"]
|
|
19
19
|
}
|
|
@@ -1,8 +1,10 @@
|
|
|
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_data_sim as cert_data_sim
|
|
6
|
+
import certificate.cert_common as cert_common
|
|
7
|
+
import certificate.cert_config as cert_config
|
|
6
8
|
|
|
7
9
|
PKT_FILTER_TEST_PACER_INTERVAL = 10
|
|
8
10
|
|
|
@@ -28,8 +30,7 @@ def run(test):
|
|
|
28
30
|
else:
|
|
29
31
|
test.reset_result() # reset result and continue to next param
|
|
30
32
|
continue
|
|
31
|
-
|
|
32
|
-
print_update_wait(5)
|
|
33
|
+
wait_time_n_print(5, txt="Waiting datapath to clear")
|
|
33
34
|
|
|
34
35
|
num_of_pixels = 0
|
|
35
36
|
if test.data == DATA_SIMULATION:
|
|
@@ -45,10 +46,10 @@ def run(test):
|
|
|
45
46
|
# stop generating pkts with data simulator and wait a few seconds for full flush
|
|
46
47
|
pixel_sim_thread.stop()
|
|
47
48
|
time.sleep(5)
|
|
48
|
-
cert_common.display_data(df,
|
|
49
|
+
cert_common.display_data(df, tbc=True, name_prefix=f"pkt_filter_{param.name}_", dir=test.dir)
|
|
49
50
|
test = cert_common.pacing_analysis(test, pacer_interval=PKT_FILTER_TEST_PACER_INTERVAL, df=df,
|
|
50
51
|
pkt_filter_cfg=param.value, num_of_pixels=num_of_pixels)
|
|
51
|
-
generate_log_file(test, param.name)
|
|
52
|
+
cert_mqtt.generate_log_file(test, param.name)
|
|
52
53
|
field_functionality_pass_fail_print(test, fields[0], value=param.name)
|
|
53
54
|
test.set_phase_rc(param.name, test.rc)
|
|
54
55
|
test.add_phase_reason(param.name, test.reason)
|
|
@@ -1,8 +1,10 @@
|
|
|
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_data_sim as cert_data_sim
|
|
6
|
+
import certificate.cert_common as cert_common
|
|
7
|
+
import certificate.cert_config as cert_config
|
|
6
8
|
|
|
7
9
|
|
|
8
10
|
def rssi_threshold_analysis(test, df, threshold):
|
|
@@ -48,8 +50,7 @@ def run(test):
|
|
|
48
50
|
else:
|
|
49
51
|
test.reset_result() # reset result and continue to next param
|
|
50
52
|
continue
|
|
51
|
-
|
|
52
|
-
print_update_wait(5)
|
|
53
|
+
wait_time_n_print(5, txt="Waiting datapath to clear")
|
|
53
54
|
|
|
54
55
|
if test.data == DATA_SIMULATION:
|
|
55
56
|
# start generating pkts and send them using data simulator
|
|
@@ -64,7 +65,7 @@ def run(test):
|
|
|
64
65
|
test = rssi_threshold_analysis(test, df, param.value)
|
|
65
66
|
|
|
66
67
|
# param epilog
|
|
67
|
-
generate_log_file(test, param.name)
|
|
68
|
+
cert_mqtt.generate_log_file(test, param.name)
|
|
68
69
|
field_functionality_pass_fail_print(test, fields[0], value=param.name)
|
|
69
70
|
test.set_phase_rc(param.name, test.rc)
|
|
70
71
|
test.add_phase_reason(param.name, test.reason)
|