wiliot-certificate 1.5.0a1__tar.gz → 1.5.2a1__tar.gz
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.
- {wiliot_certificate-1.5.0a1/src/wiliot_certificate.egg-info → wiliot_certificate-1.5.2a1}/PKG-INFO +46 -42
- wiliot_certificate-1.5.2a1/README.md +116 -0
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/pyproject.toml +1 -1
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/brg_certificate/ag/energous_v0_defines.py +17 -17
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/brg_certificate/ag/energous_v1_defines.py +17 -17
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/brg_certificate/ag/energous_v2_defines.py +17 -17
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/brg_certificate/ag/energous_v3_defines.py +17 -17
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/brg_certificate/ag/energous_v4_defines.py +17 -17
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/brg_certificate/ag/fanstel_lan_v0_defines.py +17 -17
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/brg_certificate/ag/fanstel_lte_v0_defines.py +17 -17
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/brg_certificate/ag/fanstel_wifi_v0_defines.py +17 -17
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/brg_certificate/ag/minew_lte_v0_defines.py +17 -17
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/brg_certificate/ag/wlt_cmd_if.html +3 -2
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/brg_certificate/ag/wlt_types.html +0 -1
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/brg_certificate/ag/wlt_types_ag.py +151 -152
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/brg_certificate/brg_certificate.py +38 -7
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/brg_certificate/brg_certificate_cli.py +19 -3
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/brg_certificate/cert_common.py +92 -55
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/brg_certificate/cert_config.py +6 -4
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/brg_certificate/cert_data_sim.py +47 -7
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/brg_certificate/cert_defines.py +20 -6
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/brg_certificate/cert_gw_sim.py +10 -6
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/brg_certificate/cert_mqtt.py +9 -6
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/brg_certificate/cert_prints.py +14 -1
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/brg_certificate/cert_protobuf.py +7 -7
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/brg_certificate/cert_results.py +131 -84
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/brg_certificate/cert_utils.py +13 -7
- wiliot_certificate-1.5.2a1/src/brg_certificate/certificate_bcc_sanity_test_list.txt +40 -0
- wiliot_certificate-1.5.2a1/src/brg_certificate/certificate_bcc_test_list.txt +50 -0
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/brg_certificate/certificate_sanity_test_list.txt +12 -5
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/brg_certificate/certificate_test_list.txt +16 -6
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/brg_certificate/tests/calibration/interval_test/interval_test.json +4 -3
- wiliot_certificate-1.5.2a1/src/brg_certificate/tests/calibration/output_power_test/output_power_test.json +16 -0
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/brg_certificate/tests/calibration/pattern_test/pattern_test.json +7 -4
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/brg_certificate/tests/calibration/pattern_test/pattern_test.py +25 -26
- wiliot_certificate-1.5.2a1/src/brg_certificate/tests/datapath/aging_test/aging_test.json +19 -0
- wiliot_certificate-1.5.2a1/src/brg_certificate/tests/datapath/aging_test/aging_test.py +142 -0
- wiliot_certificate-1.5.2a1/src/brg_certificate/tests/datapath/num_of_tags_test/num_of_tags_test.json +18 -0
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/brg_certificate/tests/datapath/num_of_tags_test/num_of_tags_test.py +12 -11
- wiliot_certificate-1.5.2a1/src/brg_certificate/tests/datapath/output_power_test/output_power_test.json +16 -0
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/brg_certificate/tests/datapath/output_power_test/output_power_test.py +2 -1
- wiliot_certificate-1.5.2a1/src/brg_certificate/tests/datapath/pacer_interval_ble5_test/pacer_interval_ble5_test.json +16 -0
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/brg_certificate/tests/datapath/pacer_interval_ble5_test/pacer_interval_ble5_test.py +6 -3
- wiliot_certificate-1.5.2a1/src/brg_certificate/tests/datapath/pacer_interval_tags_count_test/pacer_interval_tags_count_test.json +16 -0
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/brg_certificate/tests/datapath/pacer_interval_tags_count_test/pacer_interval_tags_count_test.py +6 -3
- wiliot_certificate-1.5.2a1/src/brg_certificate/tests/datapath/pacer_interval_test/pacer_interval_test.json +16 -0
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/brg_certificate/tests/datapath/pacer_interval_test/pacer_interval_test.py +4 -2
- wiliot_certificate-1.5.2a1/src/brg_certificate/tests/datapath/pattern_test/pattern_test.json +16 -0
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/brg_certificate/tests/datapath/pattern_test/pattern_test.py +2 -1
- wiliot_certificate-1.5.2a1/src/brg_certificate/tests/datapath/pkt_filter_ble5_test/pkt_filter_ble5_test.json +19 -0
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/brg_certificate/tests/datapath/pkt_filter_ble5_test/pkt_filter_ble5_test.py +12 -5
- wiliot_certificate-1.5.2a1/src/brg_certificate/tests/datapath/pkt_filter_gen3_test/pkt_filter_gen3_test.json +19 -0
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/brg_certificate/tests/datapath/pkt_filter_gen3_test/pkt_filter_gen3_test.py +11 -6
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/brg_certificate/tests/datapath/pkt_filter_test/pkt_filter_test.json +10 -4
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/brg_certificate/tests/datapath/pkt_filter_test/pkt_filter_test.py +11 -7
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/brg_certificate/tests/datapath/rssi_threshold_test/rssi_threshold_test.json +8 -4
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/brg_certificate/tests/datapath/rssi_threshold_test/rssi_threshold_test.py +7 -5
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/brg_certificate/tests/datapath/rx_channel_test/rx_channel_test.json +7 -4
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/brg_certificate/tests/datapath/rx_channel_test/rx_channel_test.py +7 -3
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/brg_certificate/tests/datapath/rx_rate_gen2_test/rx_rate_gen2_test.json +4 -5
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/brg_certificate/tests/datapath/rx_rate_gen2_test/rx_rate_gen2_test.py +107 -73
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/brg_certificate/tests/datapath/rx_rate_gen3_test/rx_rate_gen3_test.json +4 -5
- wiliot_certificate-1.5.2a1/src/brg_certificate/tests/datapath/rx_rate_gen3_test/rx_rate_gen3_test.py +220 -0
- wiliot_certificate-1.5.2a1/src/brg_certificate/tests/datapath/stress_gen3_test/stress_gen3_test.json +22 -0
- wiliot_certificate-1.5.2a1/src/brg_certificate/tests/datapath/stress_gen3_test/stress_gen3_test.py +204 -0
- wiliot_certificate-1.5.2a1/src/brg_certificate/tests/datapath/stress_test/stress_test.json +22 -0
- wiliot_certificate-1.5.2a1/src/brg_certificate/tests/datapath/stress_test/stress_test.py +204 -0
- wiliot_certificate-1.5.2a1/src/brg_certificate/tests/datapath/tx_repetition_algo_test/tx_repetition_algo_test.json +17 -0
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/brg_certificate/tests/datapath/tx_repetition_algo_test/tx_repetition_algo_test.py +7 -2
- wiliot_certificate-1.5.2a1/src/brg_certificate/tests/datapath/tx_repetition_test/tx_repetition_test.json +17 -0
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/brg_certificate/tests/datapath/tx_repetition_test/tx_repetition_test.py +8 -6
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/brg_certificate/tests/edge_mgmt/actions_test/actions_test.json +4 -3
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/brg_certificate/tests/edge_mgmt/actions_test/actions_test.py +2 -38
- wiliot_certificate-1.5.2a1/src/brg_certificate/tests/edge_mgmt/brg2brg_ota_ble5_test/brg2brg_ota_ble5_test.json +20 -0
- wiliot_certificate-1.5.2a1/src/brg_certificate/tests/edge_mgmt/brg2brg_ota_test/brg2brg_ota_test.json +19 -0
- wiliot_certificate-1.5.2a1/src/brg_certificate/tests/edge_mgmt/leds_test/leds_test.json +17 -0
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/brg_certificate/tests/edge_mgmt/leds_test/leds_test.py +25 -12
- wiliot_certificate-1.5.2a1/src/brg_certificate/tests/edge_mgmt/ota_test/ota_test.json +17 -0
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/brg_certificate/tests/edge_mgmt/ota_test/ota_test.py +48 -3
- wiliot_certificate-1.5.0a1/src/brg_certificate/tests/edge_mgmt/stat_test/stat_test.json → wiliot_certificate-1.5.2a1/src/brg_certificate/tests/edge_mgmt/periodic_msgs_test/periodic_msgs_test.json +5 -4
- wiliot_certificate-1.5.0a1/src/brg_certificate/tests/edge_mgmt/stat_test/stat_test.py → wiliot_certificate-1.5.2a1/src/brg_certificate/tests/edge_mgmt/periodic_msgs_test/periodic_msgs_test.py +4 -4
- wiliot_certificate-1.5.2a1/src/brg_certificate/tests/energy2400/duty_cycle_test/duty_cycle_test.json +16 -0
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/brg_certificate/tests/energy2400/duty_cycle_test/duty_cycle_test.py +2 -1
- wiliot_certificate-1.5.2a1/src/brg_certificate/tests/energy2400/output_power_test/output_power_test.json +16 -0
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/brg_certificate/tests/energy2400/output_power_test/output_power_test.py +2 -1
- wiliot_certificate-1.5.2a1/src/brg_certificate/tests/energy2400/pattern_test/pattern_test.json +16 -0
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/brg_certificate/tests/energy2400/pattern_test/pattern_test.py +2 -1
- wiliot_certificate-1.5.2a1/src/brg_certificate/tests/energy2400/signal_indicator_ble5_10_250k_test/signal_indicator_ble5_10_250k_test.json +20 -0
- wiliot_certificate-1.5.2a1/src/brg_certificate/tests/energy2400/signal_indicator_ble5_10_250k_test/signal_indicator_ble5_10_250k_test.py +343 -0
- wiliot_certificate-1.5.2a1/src/brg_certificate/tests/energy2400/signal_indicator_ble5_10_500k_test/signal_indicator_ble5_10_500k_test.json +20 -0
- wiliot_certificate-1.5.2a1/src/brg_certificate/tests/energy2400/signal_indicator_ble5_10_500k_test/signal_indicator_ble5_10_500k_test.py +343 -0
- wiliot_certificate-1.5.2a1/src/brg_certificate/tests/energy2400/signal_indicator_sub1g_2_4_test/signal_indicator_sub1g_2_4_test.json +20 -0
- wiliot_certificate-1.5.2a1/src/brg_certificate/tests/energy2400/signal_indicator_sub1g_2_4_test/signal_indicator_sub1g_2_4_test.py +141 -0
- wiliot_certificate-1.5.2a1/src/brg_certificate/tests/energy2400/signal_indicator_test/signal_indicator_test.json +20 -0
- wiliot_certificate-1.5.2a1/src/brg_certificate/tests/energy2400/signal_indicator_test/signal_indicator_test.py +337 -0
- wiliot_certificate-1.5.2a1/src/brg_certificate/tests/energy_sub1g/duty_cycle_test/duty_cycle_test.json +16 -0
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/brg_certificate/tests/energy_sub1g/duty_cycle_test/duty_cycle_test.py +2 -1
- wiliot_certificate-1.5.2a1/src/brg_certificate/tests/energy_sub1g/pattern_test/pattern_test.json +20 -0
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/brg_certificate/tests/energy_sub1g/pattern_test/pattern_test.py +2 -1
- wiliot_certificate-1.5.2a1/src/brg_certificate/tests/energy_sub1g/signal_indicator_functionality_test/signal_indicator_functionality_test.json +20 -0
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/brg_certificate/tests/energy_sub1g/signal_indicator_functionality_test/signal_indicator_functionality_test.py +117 -124
- wiliot_certificate-1.5.2a1/src/brg_certificate/tests/energy_sub1g/signal_indicator_test/signal_indicator_test.json +16 -0
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/brg_certificate/tests/energy_sub1g/signal_indicator_test/signal_indicator_test.py +2 -1
- wiliot_certificate-1.5.2a1/src/brg_certificate/tests/pwr_mgmt/pwr_mgmt_test/pwr_mgmt_test.json +18 -0
- wiliot_certificate-1.5.2a1/src/brg_certificate/tests/pwr_mgmt/pwr_mgmt_test/pwr_mgmt_test.py +84 -0
- wiliot_certificate-1.5.2a1/src/brg_certificate/tests/sensors/ext_sensor_test/ext_sensor_test.json +21 -0
- wiliot_certificate-1.5.2a1/src/brg_certificate/tests/sensors/ext_sensor_test/ext_sensor_test.py +306 -0
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/brg_certificate/wltPb_pb2.py +15 -15
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/brg_certificate/wltPb_pb2.pyi +8 -2
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/brg_certificate/wlt_types.py +2 -1
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/gw_certificate/cert_results.py +11 -4
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/gw_certificate/gw_certificate.py +0 -2
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/gw_certificate/gw_certificate_cli.py +3 -3
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/gw_certificate/interface/uart_if.py +1 -1
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/gw_certificate/tests/actions.py +7 -1
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/gw_certificate/tests/registration.py +2 -1
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/gw_certificate/tests/uplink.py +26 -35
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1/src/wiliot_certificate.egg-info}/PKG-INFO +46 -42
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/wiliot_certificate.egg-info/SOURCES.txt +14 -6
- wiliot_certificate-1.5.0a1/README.md +0 -113
- wiliot_certificate-1.5.0a1/src/brg_certificate/tests/calibration/output_power_test/output_power_test.json +0 -13
- wiliot_certificate-1.5.0a1/src/brg_certificate/tests/datapath/adaptive_pacer_algo_test/adaptive_pacer_algo_test.json +0 -13
- wiliot_certificate-1.5.0a1/src/brg_certificate/tests/datapath/adaptive_pacer_algo_test/adaptive_pacer_algo_test.py +0 -76
- wiliot_certificate-1.5.0a1/src/brg_certificate/tests/datapath/num_of_tags_test/num_of_tags_test.json +0 -13
- wiliot_certificate-1.5.0a1/src/brg_certificate/tests/datapath/output_power_test/output_power_test.json +0 -13
- wiliot_certificate-1.5.0a1/src/brg_certificate/tests/datapath/pacer_interval_ble5_test/pacer_interval_ble5_test.json +0 -13
- wiliot_certificate-1.5.0a1/src/brg_certificate/tests/datapath/pacer_interval_tags_count_test/pacer_interval_tags_count_test.json +0 -13
- wiliot_certificate-1.5.0a1/src/brg_certificate/tests/datapath/pacer_interval_test/pacer_interval_test.json +0 -13
- wiliot_certificate-1.5.0a1/src/brg_certificate/tests/datapath/pattern_test/pattern_test.json +0 -13
- wiliot_certificate-1.5.0a1/src/brg_certificate/tests/datapath/pkt_filter_ble5_test/pkt_filter_ble5_test.json +0 -13
- wiliot_certificate-1.5.0a1/src/brg_certificate/tests/datapath/pkt_filter_gen3_test/pkt_filter_gen3_test.json +0 -13
- wiliot_certificate-1.5.0a1/src/brg_certificate/tests/datapath/rx_rate_gen3_test/rx_rate_gen3_test.py +0 -210
- wiliot_certificate-1.5.0a1/src/brg_certificate/tests/datapath/stress_gen3_test/stress_gen3_test.json +0 -30
- wiliot_certificate-1.5.0a1/src/brg_certificate/tests/datapath/stress_gen3_test/stress_gen3_test.py +0 -203
- wiliot_certificate-1.5.0a1/src/brg_certificate/tests/datapath/stress_test/stress_test.json +0 -30
- wiliot_certificate-1.5.0a1/src/brg_certificate/tests/datapath/stress_test/stress_test.py +0 -210
- wiliot_certificate-1.5.0a1/src/brg_certificate/tests/datapath/tx_repetition_algo_test/tx_repetition_algo_test.json +0 -13
- wiliot_certificate-1.5.0a1/src/brg_certificate/tests/datapath/tx_repetition_test/tx_repetition_test.json +0 -13
- wiliot_certificate-1.5.0a1/src/brg_certificate/tests/edge_mgmt/brg2brg_ota_ble5_test/brg2brg_ota_ble5_test.json +0 -13
- wiliot_certificate-1.5.0a1/src/brg_certificate/tests/edge_mgmt/brg2brg_ota_test/brg2brg_ota_test.json +0 -13
- wiliot_certificate-1.5.0a1/src/brg_certificate/tests/edge_mgmt/leds_test/leds_test.json +0 -13
- wiliot_certificate-1.5.0a1/src/brg_certificate/tests/edge_mgmt/ota_test/ota_test.json +0 -13
- wiliot_certificate-1.5.0a1/src/brg_certificate/tests/energy2400/duty_cycle_test/duty_cycle_test.json +0 -13
- wiliot_certificate-1.5.0a1/src/brg_certificate/tests/energy2400/output_power_test/output_power_test.json +0 -13
- wiliot_certificate-1.5.0a1/src/brg_certificate/tests/energy2400/pattern_test/pattern_test.json +0 -13
- wiliot_certificate-1.5.0a1/src/brg_certificate/tests/energy2400/signal_indicator_ble5_test/signal_indicator_ble5_test.json +0 -13
- wiliot_certificate-1.5.0a1/src/brg_certificate/tests/energy2400/signal_indicator_ble5_test/signal_indicator_ble5_test.py +0 -398
- wiliot_certificate-1.5.0a1/src/brg_certificate/tests/energy2400/signal_indicator_sub1g_2_4_test/signal_indicator_sub1g_2_4_test.json +0 -13
- wiliot_certificate-1.5.0a1/src/brg_certificate/tests/energy2400/signal_indicator_sub1g_2_4_test/signal_indicator_sub1g_2_4_test.py +0 -153
- wiliot_certificate-1.5.0a1/src/brg_certificate/tests/energy2400/signal_indicator_test/signal_indicator_test.json +0 -13
- wiliot_certificate-1.5.0a1/src/brg_certificate/tests/energy2400/signal_indicator_test/signal_indicator_test.py +0 -264
- wiliot_certificate-1.5.0a1/src/brg_certificate/tests/energy_sub1g/duty_cycle_test/duty_cycle_test.json +0 -13
- wiliot_certificate-1.5.0a1/src/brg_certificate/tests/energy_sub1g/pattern_test/pattern_test.json +0 -13
- wiliot_certificate-1.5.0a1/src/brg_certificate/tests/energy_sub1g/signal_indicator_functionality_test/signal_indicator_functionality_test.json +0 -13
- wiliot_certificate-1.5.0a1/src/brg_certificate/tests/energy_sub1g/signal_indicator_test/signal_indicator_test.json +0 -13
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/LICENSE +0 -0
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/setup.cfg +0 -0
- {wiliot_certificate-1.5.0a1/src/gw_certificate/tests/static → wiliot_certificate-1.5.2a1/src/brg_certificate}/__init__.py +0 -0
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/brg_certificate/ag/wlt_types_ag_jsons/brg2brg_ota.json +0 -0
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/brg_certificate/ag/wlt_types_ag_jsons/brg2gw_hb.json +0 -0
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/brg_certificate/ag/wlt_types_ag_jsons/brg2gw_hb_sleep.json +0 -0
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/brg_certificate/ag/wlt_types_ag_jsons/calibration.json +0 -0
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/brg_certificate/ag/wlt_types_ag_jsons/custom.json +0 -0
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/brg_certificate/ag/wlt_types_ag_jsons/datapath.json +0 -0
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/brg_certificate/ag/wlt_types_ag_jsons/energy2400.json +0 -0
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/brg_certificate/ag/wlt_types_ag_jsons/energySub1g.json +0 -0
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/brg_certificate/ag/wlt_types_ag_jsons/externalSensor.json +0 -0
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/brg_certificate/ag/wlt_types_ag_jsons/interface.json +0 -0
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/brg_certificate/ag/wlt_types_ag_jsons/powerManagement.json +0 -0
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/brg_certificate/ag/wlt_types_ag_jsons/side_info_sensor.json +0 -0
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/brg_certificate/ag/wlt_types_ag_jsons/signal_indicator_data.json +0 -0
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/brg_certificate/ag/wlt_types_ag_jsons/unified_echo_ext_pkt.json +0 -0
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/brg_certificate/ag/wlt_types_ag_jsons/unified_echo_pkt.json +0 -0
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/brg_certificate/config/eclipse.json +0 -0
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/brg_certificate/config/hivemq.json +0 -0
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/brg_certificate/config/mosquitto.json +0 -0
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/brg_certificate/config/mosquitto.md +0 -0
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/brg_certificate/config/wiliot-dev.json +0 -0
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/brg_certificate/restore_brg.py +0 -0
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/brg_certificate/tests/calibration/interval_test/interval_test.py +0 -0
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/brg_certificate/tests/calibration/output_power_test/output_power_test.py +0 -0
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/brg_certificate/tests/edge_mgmt/brg2brg_ota_ble5_test/brg2brg_ota_ble5_test.py +0 -0
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/brg_certificate/tests/edge_mgmt/brg2brg_ota_test/brg2brg_ota_test.py +0 -0
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/common/wlt_logo.png +0 -0
- {wiliot_certificate-1.5.0a1/src/gw_certificate/api_if → wiliot_certificate-1.5.2a1/src/gw_certificate}/__init__.py +0 -0
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/gw_certificate/ag/ut_defines.py +0 -0
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/gw_certificate/ag/wlt_types.py +0 -0
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/gw_certificate/ag/wlt_types_ag.py +0 -0
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/gw_certificate/ag/wlt_types_data.py +0 -0
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/gw_certificate/api/extended_api.py +0 -0
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/gw_certificate/api_if/200/data.json +0 -0
- {wiliot_certificate-1.5.0a1/src/gw_certificate/api_if/205 → wiliot_certificate-1.5.2a1/src/gw_certificate/api_if/200}/logs.json +0 -0
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/gw_certificate/api_if/200/status.json +0 -0
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/gw_certificate/api_if/201/data.json +0 -0
- {wiliot_certificate-1.5.0a1/src/gw_certificate/api_if/204 → wiliot_certificate-1.5.2a1/src/gw_certificate/api_if/201}/logs.json +0 -0
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/gw_certificate/api_if/201/status.json +0 -0
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/gw_certificate/api_if/202/data.json +0 -0
- {wiliot_certificate-1.5.0a1/src/gw_certificate/api_if/203 → wiliot_certificate-1.5.2a1/src/gw_certificate/api_if/202}/logs.json +0 -0
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/gw_certificate/api_if/202/status.json +0 -0
- {wiliot_certificate-1.5.0a1/src/gw_certificate/api_if/204 → wiliot_certificate-1.5.2a1/src/gw_certificate/api_if/203}/data.json +0 -0
- {wiliot_certificate-1.5.0a1/src/gw_certificate/api_if/202 → wiliot_certificate-1.5.2a1/src/gw_certificate/api_if/203}/logs.json +0 -0
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/gw_certificate/api_if/203/status.json +0 -0
- {wiliot_certificate-1.5.0a1/src/gw_certificate/api_if/203 → wiliot_certificate-1.5.2a1/src/gw_certificate/api_if/204}/data.json +0 -0
- {wiliot_certificate-1.5.0a1/src/gw_certificate/api_if/201 → wiliot_certificate-1.5.2a1/src/gw_certificate/api_if/204}/logs.json +0 -0
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/gw_certificate/api_if/204/status.json +0 -0
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/gw_certificate/api_if/205/data.json +0 -0
- {wiliot_certificate-1.5.0a1/src/gw_certificate/api_if/200 → wiliot_certificate-1.5.2a1/src/gw_certificate/api_if/205}/logs.json +0 -0
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/gw_certificate/api_if/205/status.json +0 -0
- {wiliot_certificate-1.5.0a1/src/gw_certificate → wiliot_certificate-1.5.2a1/src/gw_certificate/api_if}/__init__.py +0 -0
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/gw_certificate/api_if/api_validation.py +0 -0
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/gw_certificate/api_if/gw_capabilities.py +0 -0
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/gw_certificate/common/analysis_data_bricks.py +0 -0
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/gw_certificate/common/debug.py +0 -0
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/gw_certificate/common/utils.py +0 -0
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/gw_certificate/common/utils_defines.py +0 -0
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/gw_certificate/common/wltPb_pb2.py +0 -0
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/gw_certificate/common/wltPb_pb2.pyi +0 -0
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/gw_certificate/interface/4.4.52_app.zip +0 -0
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/gw_certificate/interface/4.4.52_sd_bl_app.zip +0 -0
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/gw_certificate/interface/ble_simulator.py +0 -0
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/gw_certificate/interface/ble_sniffer.py +0 -0
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/gw_certificate/interface/if_defines.py +0 -0
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/gw_certificate/interface/mqtt.py +0 -0
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/gw_certificate/interface/nrfutil-linux +0 -0
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/gw_certificate/interface/nrfutil-mac +0 -0
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/gw_certificate/interface/nrfutil.exe +0 -0
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/gw_certificate/interface/pkt_generator.py +0 -0
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/gw_certificate/interface/uart_ports.py +0 -0
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/gw_certificate/templates/results.html +0 -0
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/gw_certificate/templates/stage.html +0 -0
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/gw_certificate/templates/table.html +0 -0
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/gw_certificate/templates/test.html +0 -0
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/gw_certificate/tests/__init__.py +0 -0
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/gw_certificate/tests/bad_crc_to_PER_quantization.csv +0 -0
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/gw_certificate/tests/connection.py +0 -0
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/gw_certificate/tests/downlink.py +0 -0
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/gw_certificate/tests/generic.py +0 -0
- {wiliot_certificate-1.5.0a1/src/brg_certificate → wiliot_certificate-1.5.2a1/src/gw_certificate/tests/static}/__init__.py +0 -0
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/gw_certificate/tests/static/connection_defines.py +0 -0
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/gw_certificate/tests/static/downlink_defines.py +0 -0
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/gw_certificate/tests/static/generated_packet_table.py +0 -0
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/gw_certificate/tests/static/packet_table.csv +0 -0
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/gw_certificate/tests/static/references.py +0 -0
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/gw_certificate/tests/static/uplink_defines.py +0 -0
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/gw_certificate/tests/throughput.py +0 -0
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/wiliot_certificate.egg-info/dependency_links.txt +0 -0
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/wiliot_certificate.egg-info/entry_points.txt +0 -0
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/wiliot_certificate.egg-info/requires.txt +0 -0
- {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.2a1}/src/wiliot_certificate.egg-info/top_level.txt +0 -0
{wiliot_certificate-1.5.0a1/src/wiliot_certificate.egg-info → wiliot_certificate-1.5.2a1}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: wiliot_certificate
|
|
3
|
-
Version: 1.5.
|
|
3
|
+
Version: 1.5.2a1
|
|
4
4
|
Summary: A library for certifying Wiliot-compliant boards
|
|
5
5
|
Author-email: Wiliot <support@wiliot.com>
|
|
6
6
|
License: MIT License
|
|
@@ -50,13 +50,14 @@ Requires-Dist: statsmodels>=0.14.4
|
|
|
50
50
|
Requires-Dist: pyserial>=3.5
|
|
51
51
|
Requires-Dist: reportlab>=4.3.1
|
|
52
52
|
Requires-Dist: google-api-python-client>=2.162.0
|
|
53
|
+
Dynamic: license-file
|
|
53
54
|
|
|
54
55
|
# wiliot-certificate
|
|
55
56
|
|
|
56
57
|
<!-- Description -->
|
|
57
58
|
wiliot-certificate is a python library with tools used to test & certify boards and their compatibility with Wiliot's echosystem.
|
|
58
59
|
This python package includes the following CLI utilities:
|
|
59
|
-
- Gateway Certificate (`wlt-gw
|
|
60
|
+
- Gateway Certificate (`wlt-cert-gw`)
|
|
60
61
|
- Bridge Certificate (`wlt-cert-brg`)
|
|
61
62
|
|
|
62
63
|
## Installing wiliot-certificate
|
|
@@ -78,27 +79,15 @@ Websocket Port: 80
|
|
|
78
79
|
|
|
79
80
|
More information can be found at https://mqtt.eclipseprojects.io/.
|
|
80
81
|
|
|
81
|
-
#### Connection Test
|
|
82
|
-
Processes status packet sent by the GW to the MQTT Broker and validates it according to API Version.
|
|
83
|
-
|
|
84
|
-
#### Uplink Test
|
|
85
|
-
Simulates Wiliot MEL and validates that data is uploaded correctly to the cloud.
|
|
86
|
-
|
|
87
|
-
#### Downlink Test
|
|
88
|
-
Sends advertising actions (txPacket) via MQTT to the GW and validates their advertisements.
|
|
89
|
-
|
|
90
|
-
#### Stress Test
|
|
91
|
-
Increments time delays between packets to evaluate GW's capability in handling increasing packets per second rates.
|
|
92
|
-
|
|
93
82
|
#### GW Certificate Release Notes:
|
|
94
|
-
|
|
95
|
-
-
|
|
83
|
+
Release:
|
|
84
|
+
- Standalone wiliot-certificate package
|
|
96
85
|
- Python 3.13 support
|
|
97
86
|
- Gw API version 205 support
|
|
98
87
|
- Registration test added
|
|
99
88
|
- Bridge OTA stage added under actions
|
|
100
89
|
- Aggregation flag supported by StressTest
|
|
101
|
-
- -update flag compatibility fix. Upgrades bootloader
|
|
90
|
+
- -update flag compatibility fix. Upgrades bootloader if needed
|
|
102
91
|
- -actions flag to select specific actions to test
|
|
103
92
|
|
|
104
93
|
```
|
|
@@ -134,33 +123,48 @@ Websocket Port: 80
|
|
|
134
123
|
|
|
135
124
|
More information can be found at https://mqtt.eclipseprojects.io/.
|
|
136
125
|
|
|
137
|
-
#### XXX Test
|
|
138
|
-
TEST EXPLANATION
|
|
139
|
-
|
|
140
126
|
#### BRG Certificate Release Notes:
|
|
141
127
|
1.3.0:
|
|
142
128
|
- FIRST VERSION
|
|
143
129
|
|
|
144
|
-
|
|
145
130
|
```
|
|
146
|
-
usage:
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
--brg, -b BRG
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
--brg1, -b1 BRG1
|
|
157
|
-
--
|
|
158
|
-
--
|
|
159
|
-
|
|
160
|
-
--
|
|
161
|
-
--
|
|
162
|
-
--
|
|
163
|
-
--
|
|
164
|
-
--
|
|
165
|
-
--
|
|
131
|
+
usage: brg_certificate_cli.py [-h] [--brg BRG] [--brg_cloud_connectivity BRG_CLOUD_CONNECTIVITY] [--brg1 BRG1] --gw GW [--data {tags,sim}] [--port PORT] [--clean] [--tl TL] [--run RUN]
|
|
132
|
+
[--drun DRUN] [--exit_on_test_failure] [--exit_on_param_failure] [--analyze_interference]
|
|
133
|
+
|
|
134
|
+
Bridge Certificate CLI
|
|
135
|
+
|
|
136
|
+
options:
|
|
137
|
+
-h, --help show this help message and exit
|
|
138
|
+
--brg, -b BRG Bridge id to run on the tests
|
|
139
|
+
--brg_cloud_connectivity, -bcc BRG_CLOUD_CONNECTIVITY
|
|
140
|
+
Bridge with cloud connectivity id to run on the tests
|
|
141
|
+
--brg1, -b1 BRG1 Second bridge id to run on tests two bridges needed
|
|
142
|
+
--gw, -g GW GW id to run on the test, SIM prefix is used for Gateway simulation
|
|
143
|
+
--data, -d {tags,sim}
|
|
144
|
+
Choose if data generated from real tags or by simulation
|
|
145
|
+
--port, -p PORT Enable UT using UART connection for Gateway Simulation or Data Simulation
|
|
146
|
+
--clean Clean all logs
|
|
147
|
+
--tl TL Test list file to use
|
|
148
|
+
--run RUN String to filter tests to run
|
|
149
|
+
--drun DRUN String to filter tests not to run
|
|
150
|
+
--exit_on_test_failure
|
|
151
|
+
Stop running the tests if a test failed
|
|
152
|
+
--exit_on_param_failure
|
|
153
|
+
Sets exit_on_param_failure mode to true in order to prevent tests from continuing iteration over all possibilities in case of failure
|
|
154
|
+
--analyze_interference, -ai
|
|
155
|
+
Analyze interference before tests start (relevant only for Gateway Simulator)
|
|
156
|
+
|
|
157
|
+
run examples:
|
|
158
|
+
Run command example with COM PORT connection:
|
|
159
|
+
wlt-cert-brg --gw SIM --brg <XXXXXXXXXXXX> --port <COM_PORT>
|
|
160
|
+
Run command example with remote GW connection:
|
|
161
|
+
wlt-cert-brg --gw <YYYYYYYYYYYY> --brg <XXXXXXXXXXXX>
|
|
162
|
+
Run command example for running datapath module tests only:
|
|
163
|
+
wlt-cert-brg --gw <YYYYYYYYYYYY> --brg <XXXXXXXXXXXX> --run datapath
|
|
164
|
+
Run command example with sanity test list:
|
|
165
|
+
wlt-cert-brg --gw <YYYYYYYYYYYY> --brg <XXXXXXXXXXXX> --tl certificate_sanity_test_list.txt
|
|
166
|
+
Run command example with COM PORT connection for bridge with cloud connectivity:
|
|
167
|
+
wlt-cert-brg --gw SIM --brg_cloud_connectivity <XXXXXXXXXXXX> --tl certificate_bcc_test_list.txt --port <COM_PORT>
|
|
168
|
+
Run command example with remote GW connection for bridge with cloud connectivity:
|
|
169
|
+
wlt-cert-brg --gw <YYYYYYYYYYYY> --brg_cloud_connectivity <XXXXXXXXXXXX> --tl certificate_bcc_test_list.txt
|
|
166
170
|
```
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
# wiliot-certificate
|
|
2
|
+
|
|
3
|
+
<!-- Description -->
|
|
4
|
+
wiliot-certificate is a python library with tools used to test & certify boards and their compatibility with Wiliot's echosystem.
|
|
5
|
+
This python package includes the following CLI utilities:
|
|
6
|
+
- Gateway Certificate (`wlt-cert-gw`)
|
|
7
|
+
- Bridge Certificate (`wlt-cert-brg`)
|
|
8
|
+
|
|
9
|
+
## Installing wiliot-certificate
|
|
10
|
+
````commandline
|
|
11
|
+
pip install wiliot-certificate
|
|
12
|
+
````
|
|
13
|
+
|
|
14
|
+
## Using wiliot-certificate
|
|
15
|
+
### Gateway Certificate
|
|
16
|
+
Test Wiliot GWs capabilities.
|
|
17
|
+
The GW Certificate includes different test that run sequentially to test each capability reported by the GW.
|
|
18
|
+
To run the GW Certificate the GW needs to use a public MQTT Broker (Eclipse):
|
|
19
|
+
|
|
20
|
+
Host: mqtt.eclipseprojects.io
|
|
21
|
+
TLS TCP Port: 8883
|
|
22
|
+
TLS Websocket Port: 443
|
|
23
|
+
TCP Port: 1883
|
|
24
|
+
Websocket Port: 80
|
|
25
|
+
|
|
26
|
+
More information can be found at https://mqtt.eclipseprojects.io/.
|
|
27
|
+
|
|
28
|
+
#### GW Certificate Release Notes:
|
|
29
|
+
Release:
|
|
30
|
+
- Standalone wiliot-certificate package
|
|
31
|
+
- Python 3.13 support
|
|
32
|
+
- Gw API version 205 support
|
|
33
|
+
- Registration test added
|
|
34
|
+
- Bridge OTA stage added under actions
|
|
35
|
+
- Aggregation flag supported by StressTest
|
|
36
|
+
- -update flag compatibility fix. Upgrades bootloader if needed
|
|
37
|
+
- -actions flag to select specific actions to test
|
|
38
|
+
|
|
39
|
+
```
|
|
40
|
+
usage: wlt-gw-certificate [-h] -owner OWNER -gw GW [-suffix SUFFIX] [-tests {connection,uplink,downlink,stress}]
|
|
41
|
+
|
|
42
|
+
Gateway Certificate - CLI Tool to test Wiliot GWs
|
|
43
|
+
|
|
44
|
+
required arguments:
|
|
45
|
+
-gw GW Gateway ID
|
|
46
|
+
|
|
47
|
+
optional arguments:
|
|
48
|
+
-owner OWNER Owner ID (Required for non-registration tests)
|
|
49
|
+
-tests Pick specific tests to run
|
|
50
|
+
-actions Pick specific actions to test during the ActionsTest
|
|
51
|
+
-update Update the firmware of the test board
|
|
52
|
+
-pps Pick specific PPS rate for the stress test
|
|
53
|
+
-agg Time the uplink stages should wait before processing packets
|
|
54
|
+
-suffix Allow for different suffixes after the GW ID in MQTT topics
|
|
55
|
+
-env Wiliot envrionment for Registration and bridgeOTA tests
|
|
56
|
+
-h, --help show this help message and exit
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
### Bridge Certificate
|
|
60
|
+
Test Wiliot BRGs capabilities.
|
|
61
|
+
The BRG Certificate includes different tests that run sequentially to test each capability reported by the BRG.
|
|
62
|
+
The BRG Certificate tool uses a public MQTT Broker (Eclipse):
|
|
63
|
+
|
|
64
|
+
Host: mqtt.eclipseprojects.io
|
|
65
|
+
TLS TCP Port: 8883
|
|
66
|
+
TLS Websocket Port: 443
|
|
67
|
+
TCP Port: 1883
|
|
68
|
+
Websocket Port: 80
|
|
69
|
+
|
|
70
|
+
More information can be found at https://mqtt.eclipseprojects.io/.
|
|
71
|
+
|
|
72
|
+
#### BRG Certificate Release Notes:
|
|
73
|
+
1.3.0:
|
|
74
|
+
- FIRST VERSION
|
|
75
|
+
|
|
76
|
+
```
|
|
77
|
+
usage: brg_certificate_cli.py [-h] [--brg BRG] [--brg_cloud_connectivity BRG_CLOUD_CONNECTIVITY] [--brg1 BRG1] --gw GW [--data {tags,sim}] [--port PORT] [--clean] [--tl TL] [--run RUN]
|
|
78
|
+
[--drun DRUN] [--exit_on_test_failure] [--exit_on_param_failure] [--analyze_interference]
|
|
79
|
+
|
|
80
|
+
Bridge Certificate CLI
|
|
81
|
+
|
|
82
|
+
options:
|
|
83
|
+
-h, --help show this help message and exit
|
|
84
|
+
--brg, -b BRG Bridge id to run on the tests
|
|
85
|
+
--brg_cloud_connectivity, -bcc BRG_CLOUD_CONNECTIVITY
|
|
86
|
+
Bridge with cloud connectivity id to run on the tests
|
|
87
|
+
--brg1, -b1 BRG1 Second bridge id to run on tests two bridges needed
|
|
88
|
+
--gw, -g GW GW id to run on the test, SIM prefix is used for Gateway simulation
|
|
89
|
+
--data, -d {tags,sim}
|
|
90
|
+
Choose if data generated from real tags or by simulation
|
|
91
|
+
--port, -p PORT Enable UT using UART connection for Gateway Simulation or Data Simulation
|
|
92
|
+
--clean Clean all logs
|
|
93
|
+
--tl TL Test list file to use
|
|
94
|
+
--run RUN String to filter tests to run
|
|
95
|
+
--drun DRUN String to filter tests not to run
|
|
96
|
+
--exit_on_test_failure
|
|
97
|
+
Stop running the tests if a test failed
|
|
98
|
+
--exit_on_param_failure
|
|
99
|
+
Sets exit_on_param_failure mode to true in order to prevent tests from continuing iteration over all possibilities in case of failure
|
|
100
|
+
--analyze_interference, -ai
|
|
101
|
+
Analyze interference before tests start (relevant only for Gateway Simulator)
|
|
102
|
+
|
|
103
|
+
run examples:
|
|
104
|
+
Run command example with COM PORT connection:
|
|
105
|
+
wlt-cert-brg --gw SIM --brg <XXXXXXXXXXXX> --port <COM_PORT>
|
|
106
|
+
Run command example with remote GW connection:
|
|
107
|
+
wlt-cert-brg --gw <YYYYYYYYYYYY> --brg <XXXXXXXXXXXX>
|
|
108
|
+
Run command example for running datapath module tests only:
|
|
109
|
+
wlt-cert-brg --gw <YYYYYYYYYYYY> --brg <XXXXXXXXXXXX> --run datapath
|
|
110
|
+
Run command example with sanity test list:
|
|
111
|
+
wlt-cert-brg --gw <YYYYYYYYYYYY> --brg <XXXXXXXXXXXX> --tl certificate_sanity_test_list.txt
|
|
112
|
+
Run command example with COM PORT connection for bridge with cloud connectivity:
|
|
113
|
+
wlt-cert-brg --gw SIM --brg_cloud_connectivity <XXXXXXXXXXXX> --tl certificate_bcc_test_list.txt --port <COM_PORT>
|
|
114
|
+
Run command example with remote GW connection for bridge with cloud connectivity:
|
|
115
|
+
wlt-cert-brg --gw <YYYYYYYYYYYY> --brg_cloud_connectivity <XXXXXXXXXXXX> --tl certificate_bcc_test_list.txt
|
|
116
|
+
```
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
import bitstruct
|
|
4
4
|
import binascii
|
|
5
5
|
import tabulate
|
|
6
|
-
from brg_certificate.ag.wlt_types_ag import API_VERSION_V0, API_VERSION_V1, API_VERSION_V2, API_VERSION_V5, API_VERSION_V6, API_VERSION_V7, API_VERSION_V8, API_VERSION_V9, API_VERSION_V10, API_VERSION_V11, API_VERSION_V12, API_VERSION_LATEST, MODULE_EMPTY, MODULE_GLOBAL, MODULE_IF, MODULE_DATAPATH, MODULE_ENERGY_2400, MODULE_ENERGY_SUB1G, MODULE_CALIBRATION, MODULE_PWR_MGMT, MODULE_EXT_SENSORS, MODULE_CUSTOM, SUB1G_ENERGY_PATTERN_NO_ENERGIZING, SUB1G_ENERGY_PATTERN_SINGLE_TONE_915000, SUB1G_ENERGY_PATTERN_FCC_HOPPING, SUB1G_ENERGY_PATTERN_JAPAN_1W, SUB1G_ENERGY_PATTERN_JAPAN_350MW, SUB1G_ENERGY_PATTERN_KOREA, SUB1G_ENERGY_PATTERN_SINGLE_TONE_916300, SUB1G_ENERGY_PATTERN_SINGLE_TONE_917500, SUB1G_ENERGY_PATTERN_AUSTRALIA, SUB1G_ENERGY_PATTERN_ISRAEL, SUB1G_ENERGY_PATTERN_NZ_HOPPING, SUB1G_ENERGY_PATTERN_LAST, CHANNEL_FREQ_37, CHANNEL_FREQ_38, CHANNEL_FREQ_39, CHANNEL_37, CHANNEL_38, CHANNEL_39, OUTPUT_POWER_2_4_NEG_12, OUTPUT_POWER_2_4_NEG_8, OUTPUT_POWER_2_4_NEG_4, OUTPUT_POWER_2_4_POS_0, OUTPUT_POWER_2_4_POS_2, OUTPUT_POWER_2_4_POS_3, OUTPUT_POWER_2_4_POS_4, OUTPUT_POWER_2_4_POS_5, OUTPUT_POWER_2_4_POS_6, OUTPUT_POWER_2_4_POS_7, OUTPUT_POWER_2_4_POS_8, RX_CHANNEL_37, RX_CHANNEL_38, RX_CHANNEL_39, RX_CHANNEL_10_250K, RX_CHANNEL_10_500K, RX_CHANNEL_V11_37, RX_CHANNEL_V11_38, RX_CHANNEL_V11_39, RX_CHANNEL_V11_4_1MBPS, RX_CHANNEL_V11_10_1MBPS, RX_CHANNEL_V11_4_2MBPS, RX_CHANNEL_V11_10_2MBPS, SECONDARY_RX_CHANNEL_10, SUB1G_OUTPUT_POWER_11, SUB1G_OUTPUT_POWER_14, SUB1G_OUTPUT_POWER_17, SUB1G_OUTPUT_POWER_19, SUB1G_OUTPUT_POWER_20, SUB1G_OUTPUT_POWER_23, SUB1G_OUTPUT_POWER_25, SUB1G_OUTPUT_POWER_26, SUB1G_OUTPUT_POWER_27, SUB1G_OUTPUT_POWER_29, SUB1G_OUTPUT_POWER_32, SUB1G_OUTPUT_POWER_PROFILE_14, SUB1G_OUTPUT_POWER_PROFILE_17, SUB1G_OUTPUT_POWER_PROFILE_20, SUB1G_OUTPUT_POWER_PROFILE_23, SUB1G_OUTPUT_POWER_PROFILE_26, SUB1G_OUTPUT_POWER_PROFILE_29, SUB1G_OUTPUT_POWER_PROFILE_32, SIGNAL_INDICATOR_REP_1, SIGNAL_INDICATOR_REP_2, SIGNAL_INDICATOR_REP_3, SIGNAL_INDICATOR_REP_4, SIGNAL_INDICATOR_SUB1G_REP_1, SIGNAL_INDICATOR_SUB1G_REP_2, SIGNAL_INDICATOR_SUB1G_REP_3, SIGNAL_INDICATOR_SUB1G_REP_4, SIGNAL_INDICATOR_REP_PROFILE_1, SIGNAL_INDICATOR_REP_PROFILE_2, SIGNAL_INDICATOR_REP_PROFILE_3, SIGNAL_INDICATOR_REP_PROFILE_4, SIGNAL_INDICATOR_SUB1G_REP_PROFILE_1, SIGNAL_INDICATOR_SUB1G_REP_PROFILE_2, SIGNAL_INDICATOR_SUB1G_REP_PROFILE_3, SIGNAL_INDICATOR_SUB1G_REP_PROFILE_4, BRG_DEFAULT_CALIBRATION_INTERVAL, BRG_DEFAULT_CALIBRATION_OUTPUT_POWER, BRG_DEFAULT_CALIBRATION_PATTERN, BRG_DEFAULT_DATAPATH_PATTERN, BRG_DEFAULT_PKT_FILTER, BRG_DEFAULT_RX_CHANNEL_OR_FREQ, BRG_DEFAULT_DATAPATH_OUTPUT_POWER, BRG_DEFAULT_TX_REPETITION, BRG_DEFAULT_PACER_INTERVAL, BRG_DEFAULT_RSSI_THRESHOLD, BRG_DEFAULT_RX_CHANNEL, BRG_DEFAULT_ENERGY_PATTERN_2_4, BRG_DEFAULT_ENERGY_DUTY_CYCLE_2_4, BRG_DEFAULT_OUTPUT_POWER_2_4, BRG_DEFAULT_SIGNAL_INDICATOR_REP, BRG_DEFAULT_SIGNAL_INDICATOR_REP_PROFILE, BRG_DEFAULT_SIGNAL_INDICATOR_CYCLE, BRG_DEFAULT_SUB1G_DUTY_CYCLE, BRG_DEFAULT_OUTPUT_POWER_SUB1G, BRG_DEFAULT_OUTPUT_POWER_SUB1G_PROFILE, BRG_DEFAULT_SUB1G_ENERGY_PATTERN, BRG_DEFAULT_SIGNAL_INDICATOR_SUB1G_REP, BRG_DEFAULT_SIGNAL_INDICATOR_SUB1G_REP_PROFILE, BRG_DEFAULT_SIGNAL_INDICATOR_SUB1G_CYCLE, BRG_DEFAULT_EXTERNAL_SENSOR_CFG, BRG_DEFAULT_TX_PERIOD, BRG_DEFAULT_TRANSMIT_TIME_SUB1G, BRG_DEFAULT_SUB1G_FREQ, BRG_DEFAULT_SUB1G_FREQ_PROFILE, BRG_DEFAULT_ENERGY_PATTERN_IDX_OLD, BRG_DEFAULT_RXTX_PERIOD, BRG_DEFAULT_PKT_TYPES_MASK, BRG_MGMT_MSG_TYPE_CFG_INFO, BRG_MGMT_MSG_TYPE_OTA_UPDATE, BRG_MGMT_MSG_TYPE_HB, BRG_MGMT_MSG_TYPE_REBOOT,
|
|
6
|
+
from brg_certificate.ag.wlt_types_ag import API_VERSION_V0, API_VERSION_V1, API_VERSION_V2, API_VERSION_V5, API_VERSION_V6, API_VERSION_V7, API_VERSION_V8, API_VERSION_V9, API_VERSION_V10, API_VERSION_V11, API_VERSION_V12, API_VERSION_LATEST, MODULE_EMPTY, MODULE_GLOBAL, MODULE_IF, MODULE_DATAPATH, MODULE_ENERGY_2400, MODULE_ENERGY_SUB1G, MODULE_CALIBRATION, MODULE_PWR_MGMT, MODULE_EXT_SENSORS, MODULE_CUSTOM, SUB1G_ENERGY_PATTERN_NO_ENERGIZING, SUB1G_ENERGY_PATTERN_SINGLE_TONE_915000, SUB1G_ENERGY_PATTERN_FCC_HOPPING, SUB1G_ENERGY_PATTERN_JAPAN_1W, SUB1G_ENERGY_PATTERN_JAPAN_350MW, SUB1G_ENERGY_PATTERN_KOREA, SUB1G_ENERGY_PATTERN_SINGLE_TONE_916300, SUB1G_ENERGY_PATTERN_SINGLE_TONE_917500, SUB1G_ENERGY_PATTERN_AUSTRALIA, SUB1G_ENERGY_PATTERN_ISRAEL, SUB1G_ENERGY_PATTERN_NZ_HOPPING, SUB1G_ENERGY_PATTERN_LAST, CHANNEL_FREQ_37, CHANNEL_FREQ_38, CHANNEL_FREQ_39, CHANNEL_37, CHANNEL_38, CHANNEL_39, OUTPUT_POWER_2_4_NEG_12, OUTPUT_POWER_2_4_NEG_8, OUTPUT_POWER_2_4_NEG_4, OUTPUT_POWER_2_4_POS_0, OUTPUT_POWER_2_4_POS_2, OUTPUT_POWER_2_4_POS_3, OUTPUT_POWER_2_4_POS_4, OUTPUT_POWER_2_4_POS_5, OUTPUT_POWER_2_4_POS_6, OUTPUT_POWER_2_4_POS_7, OUTPUT_POWER_2_4_POS_8, RX_CHANNEL_37, RX_CHANNEL_38, RX_CHANNEL_39, RX_CHANNEL_10_250K, RX_CHANNEL_10_500K, RX_CHANNEL_V11_37, RX_CHANNEL_V11_38, RX_CHANNEL_V11_39, RX_CHANNEL_V11_4_1MBPS, RX_CHANNEL_V11_10_1MBPS, RX_CHANNEL_V11_4_2MBPS, RX_CHANNEL_V11_10_2MBPS, SECONDARY_RX_CHANNEL_10, SUB1G_OUTPUT_POWER_11, SUB1G_OUTPUT_POWER_14, SUB1G_OUTPUT_POWER_17, SUB1G_OUTPUT_POWER_19, SUB1G_OUTPUT_POWER_20, SUB1G_OUTPUT_POWER_23, SUB1G_OUTPUT_POWER_25, SUB1G_OUTPUT_POWER_26, SUB1G_OUTPUT_POWER_27, SUB1G_OUTPUT_POWER_29, SUB1G_OUTPUT_POWER_32, SUB1G_OUTPUT_POWER_PROFILE_14, SUB1G_OUTPUT_POWER_PROFILE_17, SUB1G_OUTPUT_POWER_PROFILE_20, SUB1G_OUTPUT_POWER_PROFILE_23, SUB1G_OUTPUT_POWER_PROFILE_26, SUB1G_OUTPUT_POWER_PROFILE_29, SUB1G_OUTPUT_POWER_PROFILE_32, SIGNAL_INDICATOR_REP_1, SIGNAL_INDICATOR_REP_2, SIGNAL_INDICATOR_REP_3, SIGNAL_INDICATOR_REP_4, SIGNAL_INDICATOR_SUB1G_REP_1, SIGNAL_INDICATOR_SUB1G_REP_2, SIGNAL_INDICATOR_SUB1G_REP_3, SIGNAL_INDICATOR_SUB1G_REP_4, SIGNAL_INDICATOR_REP_PROFILE_1, SIGNAL_INDICATOR_REP_PROFILE_2, SIGNAL_INDICATOR_REP_PROFILE_3, SIGNAL_INDICATOR_REP_PROFILE_4, SIGNAL_INDICATOR_SUB1G_REP_PROFILE_1, SIGNAL_INDICATOR_SUB1G_REP_PROFILE_2, SIGNAL_INDICATOR_SUB1G_REP_PROFILE_3, SIGNAL_INDICATOR_SUB1G_REP_PROFILE_4, BRG_DEFAULT_CALIBRATION_INTERVAL, BRG_DEFAULT_CALIBRATION_OUTPUT_POWER, BRG_DEFAULT_CALIBRATION_PATTERN, BRG_DEFAULT_DATAPATH_PATTERN, BRG_DEFAULT_PKT_FILTER, BRG_DEFAULT_RX_CHANNEL_OR_FREQ, BRG_DEFAULT_DATAPATH_OUTPUT_POWER, BRG_DEFAULT_TX_REPETITION, BRG_DEFAULT_PACER_INTERVAL, BRG_DEFAULT_RSSI_THRESHOLD, BRG_DEFAULT_RX_CHANNEL, BRG_DEFAULT_ENERGY_PATTERN_2_4, BRG_DEFAULT_ENERGY_DUTY_CYCLE_2_4, BRG_DEFAULT_OUTPUT_POWER_2_4, BRG_DEFAULT_SIGNAL_INDICATOR_REP, BRG_DEFAULT_SIGNAL_INDICATOR_REP_PROFILE, BRG_DEFAULT_SIGNAL_INDICATOR_CYCLE, BRG_DEFAULT_SUB1G_DUTY_CYCLE, BRG_DEFAULT_OUTPUT_POWER_SUB1G, BRG_DEFAULT_OUTPUT_POWER_SUB1G_PROFILE, BRG_DEFAULT_SUB1G_ENERGY_PATTERN, BRG_DEFAULT_SIGNAL_INDICATOR_SUB1G_REP, BRG_DEFAULT_SIGNAL_INDICATOR_SUB1G_REP_PROFILE, BRG_DEFAULT_SIGNAL_INDICATOR_SUB1G_CYCLE, BRG_DEFAULT_EXTERNAL_SENSOR_CFG, BRG_DEFAULT_TX_PERIOD, BRG_DEFAULT_TRANSMIT_TIME_SUB1G, BRG_DEFAULT_SUB1G_FREQ, BRG_DEFAULT_SUB1G_FREQ_PROFILE, BRG_DEFAULT_ENERGY_PATTERN_IDX_OLD, BRG_DEFAULT_RXTX_PERIOD, BRG_DEFAULT_PKT_TYPES_MASK, BRG_MGMT_MSG_TYPE_CFG_INFO, BRG_MGMT_MSG_TYPE_OTA_UPDATE, BRG_MGMT_MSG_TYPE_HB, BRG_MGMT_MSG_TYPE_REBOOT, BRG_MGMT_MSG_TYPE_CFG_SET, BRG_MGMT_MSG_TYPE_ACTION, BRG_MGMT_MSG_TYPE_BRG2BRG, BRG_MGMT_MSG_TYPE_HB_SLEEP, PWR_MGMT_DEFAULTS_LEDS_ON, PWR_MGMT_DEFAULTS_KEEP_ALIVE_PERIOD, PWR_MGMT_DEFAULTS_KEEP_ALIVE_SCAN, PWR_MGMT_DEFAULTS_ON_DURATION, PWR_MGMT_DEFAULTS_SLEEP_DURATION, LIS2DW12_DEFAULTS_PACKET_VERSION, LIS2DW12_DEFAULTS_STATE_THRESHOLD, LIS2DW12_DEFAULTS_WAKE_UP_DURATION, LIS2DW12_DEFAULTS_SLEEP_DURATION
|
|
7
7
|
|
|
8
8
|
# Board Overwritten defines
|
|
9
9
|
BRG_DEFAULT_CALIBRATION_OUTPUT_POWER = OUTPUT_POWER_2_4_POS_3
|
|
@@ -36,7 +36,7 @@ class ModuleIfV12():
|
|
|
36
36
|
self.set(raw)
|
|
37
37
|
|
|
38
38
|
def __repr__(self) -> str:
|
|
39
|
-
return "\n==> Packet module_if_v12 <==\n" + tabulate.tabulate([['module_type', f"0x{self.module_type:X}
|
|
39
|
+
return "\n==> Packet module_if_v12 <==\n" + tabulate.tabulate([['module_type', f"0x{self.module_type:X}", self.module_type],['msg_type', f"0x{self.msg_type:X}", self.msg_type],['api_version', f"0x{self.api_version:X}", self.api_version],['seq_id', f"0x{self.seq_id:X}", self.seq_id],['brg_mac', f"0x{self.brg_mac:X}", self.brg_mac],['board_type', f"0x{self.board_type:X}", self.board_type],['bl_version', f"0x{self.bl_version:X}", self.bl_version],['major_ver', f"0x{self.major_ver:X}", self.major_ver],['minor_ver', f"0x{self.minor_ver:X}", self.minor_ver],['patch_ver', f"0x{self.patch_ver:X}", self.patch_ver],['sup_cap_glob', f"0x{self.sup_cap_glob:X}", self.sup_cap_glob],['sup_cap_datapath', f"0x{self.sup_cap_datapath:X}", self.sup_cap_datapath],['sup_cap_energy2400', f"0x{self.sup_cap_energy2400:X}", self.sup_cap_energy2400],['sup_cap_energy_sub1g', f"0x{self.sup_cap_energy_sub1g:X}", self.sup_cap_energy_sub1g],['sup_cap_calibration', f"0x{self.sup_cap_calibration:X}", self.sup_cap_calibration],['sup_cap_pwr_mgmt', f"0x{self.sup_cap_pwr_mgmt:X}", self.sup_cap_pwr_mgmt],['sup_cap_sensors', f"0x{self.sup_cap_sensors:X}", self.sup_cap_sensors],['sup_cap_custom', f"0x{self.sup_cap_custom:X}", self.sup_cap_custom],['cfg_hash', f"0x{self.cfg_hash:X}", self.cfg_hash]], tablefmt="texttable")
|
|
40
40
|
|
|
41
41
|
def __eq__(self, other):
|
|
42
42
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -115,7 +115,7 @@ class ModuleIfV11():
|
|
|
115
115
|
self.set(raw)
|
|
116
116
|
|
|
117
117
|
def __repr__(self) -> str:
|
|
118
|
-
return "\n==> Packet module_if_v11 <==\n" + tabulate.tabulate([['module_type', f"0x{self.module_type:X}
|
|
118
|
+
return "\n==> Packet module_if_v11 <==\n" + tabulate.tabulate([['module_type', f"0x{self.module_type:X}", self.module_type],['msg_type', f"0x{self.msg_type:X}", self.msg_type],['api_version', f"0x{self.api_version:X}", self.api_version],['seq_id', f"0x{self.seq_id:X}", self.seq_id],['brg_mac', f"0x{self.brg_mac:X}", self.brg_mac],['board_type', f"0x{self.board_type:X}", self.board_type],['bl_version', f"0x{self.bl_version:X}", self.bl_version],['major_ver', f"0x{self.major_ver:X}", self.major_ver],['minor_ver', f"0x{self.minor_ver:X}", self.minor_ver],['patch_ver', f"0x{self.patch_ver:X}", self.patch_ver],['sup_cap_glob', f"0x{self.sup_cap_glob:X}", self.sup_cap_glob],['sup_cap_datapath', f"0x{self.sup_cap_datapath:X}", self.sup_cap_datapath],['sup_cap_energy2400', f"0x{self.sup_cap_energy2400:X}", self.sup_cap_energy2400],['sup_cap_energy_sub1g', f"0x{self.sup_cap_energy_sub1g:X}", self.sup_cap_energy_sub1g],['sup_cap_calibration', f"0x{self.sup_cap_calibration:X}", self.sup_cap_calibration],['sup_cap_pwr_mgmt', f"0x{self.sup_cap_pwr_mgmt:X}", self.sup_cap_pwr_mgmt],['sup_cap_sensors', f"0x{self.sup_cap_sensors:X}", self.sup_cap_sensors],['sup_cap_custom', f"0x{self.sup_cap_custom:X}", self.sup_cap_custom],['cfg_hash', f"0x{self.cfg_hash:X}", self.cfg_hash]], tablefmt="texttable")
|
|
119
119
|
|
|
120
120
|
def __eq__(self, other):
|
|
121
121
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -184,7 +184,7 @@ class ModuleCalibrationV12():
|
|
|
184
184
|
self.set(raw)
|
|
185
185
|
|
|
186
186
|
def __repr__(self) -> str:
|
|
187
|
-
return "\n==> Packet module_calibration_v12 <==\n" + tabulate.tabulate([['module_type', f"0x{self.module_type:X}
|
|
187
|
+
return "\n==> Packet module_calibration_v12 <==\n" + tabulate.tabulate([['module_type', f"0x{self.module_type:X}", self.module_type],['msg_type', f"0x{self.msg_type:X}", self.msg_type],['api_version', f"0x{self.api_version:X}", self.api_version],['seq_id', f"0x{self.seq_id:X}", self.seq_id],['brg_mac', f"0x{self.brg_mac:X}", self.brg_mac],['interval', f"0x{self.interval:X}", self.interval],['output_power', f"0x{self.output_power:X}", self.output_power],['pattern', f"0x{self.pattern:X}", self.pattern]], tablefmt="texttable")
|
|
188
188
|
|
|
189
189
|
def __eq__(self, other):
|
|
190
190
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -232,7 +232,7 @@ class ModuleCalibrationV11():
|
|
|
232
232
|
self.set(raw)
|
|
233
233
|
|
|
234
234
|
def __repr__(self) -> str:
|
|
235
|
-
return "\n==> Packet module_calibration_v11 <==\n" + tabulate.tabulate([['module_type', f"0x{self.module_type:X}
|
|
235
|
+
return "\n==> Packet module_calibration_v11 <==\n" + tabulate.tabulate([['module_type', f"0x{self.module_type:X}", self.module_type],['msg_type', f"0x{self.msg_type:X}", self.msg_type],['api_version', f"0x{self.api_version:X}", self.api_version],['seq_id', f"0x{self.seq_id:X}", self.seq_id],['brg_mac', f"0x{self.brg_mac:X}", self.brg_mac],['interval', f"0x{self.interval:X}", self.interval],['output_power', f"0x{self.output_power:X}", self.output_power],['pattern', f"0x{self.pattern:X}", self.pattern]], tablefmt="texttable")
|
|
236
236
|
|
|
237
237
|
def __eq__(self, other):
|
|
238
238
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -283,7 +283,7 @@ class ModuleDatapathV12():
|
|
|
283
283
|
self.set(raw)
|
|
284
284
|
|
|
285
285
|
def __repr__(self) -> str:
|
|
286
|
-
return "\n==> Packet module_datapath_v12 <==\n" + tabulate.tabulate([['module_type', f"0x{self.module_type:X}
|
|
286
|
+
return "\n==> Packet module_datapath_v12 <==\n" + tabulate.tabulate([['module_type', f"0x{self.module_type:X}", self.module_type],['msg_type', f"0x{self.msg_type:X}", self.msg_type],['api_version', f"0x{self.api_version:X}", self.api_version],['seq_id', f"0x{self.seq_id:X}", self.seq_id],['brg_mac', f"0x{self.brg_mac:X}", self.brg_mac],['rssi_threshold', f"0x{self.rssi_threshold:X}", self.rssi_threshold],['pacer_interval', f"0x{self.pacer_interval:X}", self.pacer_interval],['pkt_filter', f"0x{self.pkt_filter:X}", self.pkt_filter],['tx_repetition', f"0x{self.tx_repetition:X}", self.tx_repetition],['output_power', f"0x{self.output_power:X}", self.output_power],['pattern', f"0x{self.pattern:X}", self.pattern],['rx_channel', f"0x{self.rx_channel:X}", self.rx_channel]], tablefmt="texttable")
|
|
287
287
|
|
|
288
288
|
def __eq__(self, other):
|
|
289
289
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -344,7 +344,7 @@ class ModuleDatapathV11():
|
|
|
344
344
|
self.set(raw)
|
|
345
345
|
|
|
346
346
|
def __repr__(self) -> str:
|
|
347
|
-
return "\n==> Packet module_datapath_v11 <==\n" + tabulate.tabulate([['module_type', f"0x{self.module_type:X}
|
|
347
|
+
return "\n==> Packet module_datapath_v11 <==\n" + tabulate.tabulate([['module_type', f"0x{self.module_type:X}", self.module_type],['msg_type', f"0x{self.msg_type:X}", self.msg_type],['api_version', f"0x{self.api_version:X}", self.api_version],['seq_id', f"0x{self.seq_id:X}", self.seq_id],['brg_mac', f"0x{self.brg_mac:X}", self.brg_mac],['adaptive_pacer', f"0x{self.adaptive_pacer:X}", self.adaptive_pacer],['unified_echo_pkt', f"0x{self.unified_echo_pkt:X}", self.unified_echo_pkt],['pacer_interval', f"0x{self.pacer_interval:X}", self.pacer_interval],['pkt_filter', f"0x{self.pkt_filter:X}", self.pkt_filter],['tx_repetition', f"0x{self.tx_repetition:X}", self.tx_repetition],['output_power', f"0x{self.output_power:X}", self.output_power],['pattern', f"0x{self.pattern:X}", self.pattern],['rx_channel', f"0x{self.rx_channel:X}", self.rx_channel]], tablefmt="texttable")
|
|
348
348
|
|
|
349
349
|
def __eq__(self, other):
|
|
350
350
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -406,7 +406,7 @@ class ModuleEnergy2400V12():
|
|
|
406
406
|
self.set(raw)
|
|
407
407
|
|
|
408
408
|
def __repr__(self) -> str:
|
|
409
|
-
return "\n==> Packet module_energy_2400_v12 <==\n" + tabulate.tabulate([['module_type', f"0x{self.module_type:X}
|
|
409
|
+
return "\n==> Packet module_energy_2400_v12 <==\n" + tabulate.tabulate([['module_type', f"0x{self.module_type:X}", self.module_type],['msg_type', f"0x{self.msg_type:X}", self.msg_type],['api_version', f"0x{self.api_version:X}", self.api_version],['seq_id', f"0x{self.seq_id:X}", self.seq_id],['brg_mac', f"0x{self.brg_mac:X}", self.brg_mac],['duty_cycle', f"0x{self.duty_cycle:X}", self.duty_cycle],['pattern', f"0x{self.pattern:X}", self.pattern],['output_power', f"0x{self.output_power:X}", self.output_power],['signal_indicator_cycle', f"0x{self.signal_indicator_cycle:X}", self.signal_indicator_cycle],['signal_indicator_rep', f"0x{self.signal_indicator_rep:X}", self.signal_indicator_rep]], tablefmt="texttable")
|
|
410
410
|
|
|
411
411
|
def __eq__(self, other):
|
|
412
412
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -460,7 +460,7 @@ class ModuleEnergy2400V11():
|
|
|
460
460
|
self.set(raw)
|
|
461
461
|
|
|
462
462
|
def __repr__(self) -> str:
|
|
463
|
-
return "\n==> Packet module_energy_2400_v11 <==\n" + tabulate.tabulate([['module_type', f"0x{self.module_type:X}
|
|
463
|
+
return "\n==> Packet module_energy_2400_v11 <==\n" + tabulate.tabulate([['module_type', f"0x{self.module_type:X}", self.module_type],['msg_type', f"0x{self.msg_type:X}", self.msg_type],['api_version', f"0x{self.api_version:X}", self.api_version],['seq_id', f"0x{self.seq_id:X}", self.seq_id],['brg_mac', f"0x{self.brg_mac:X}", self.brg_mac],['duty_cycle', f"0x{self.duty_cycle:X}", self.duty_cycle],['pattern', f"0x{self.pattern:X}", self.pattern],['output_power', f"0x{self.output_power:X}", self.output_power],['signal_indicator_cycle', f"0x{self.signal_indicator_cycle:X}", self.signal_indicator_cycle],['signal_indicator_rep', f"0x{self.signal_indicator_rep:X}", self.signal_indicator_rep]], tablefmt="texttable")
|
|
464
464
|
|
|
465
465
|
def __eq__(self, other):
|
|
466
466
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -513,7 +513,7 @@ class ModuleEnergySub1GV12():
|
|
|
513
513
|
self.set(raw)
|
|
514
514
|
|
|
515
515
|
def __repr__(self) -> str:
|
|
516
|
-
return "\n==> Packet module_energy_sub1g_v12 <==\n" + tabulate.tabulate([['module_type', f"0x{self.module_type:X}
|
|
516
|
+
return "\n==> Packet module_energy_sub1g_v12 <==\n" + tabulate.tabulate([['module_type', f"0x{self.module_type:X}", self.module_type],['msg_type', f"0x{self.msg_type:X}", self.msg_type],['api_version', f"0x{self.api_version:X}", self.api_version],['seq_id', f"0x{self.seq_id:X}", self.seq_id],['brg_mac', f"0x{self.brg_mac:X}", self.brg_mac],['pattern', f"0x{self.pattern:X}", self.pattern],['duty_cycle', f"0x{self.duty_cycle:X}", self.duty_cycle],['signal_indicator_cycle', f"0x{self.signal_indicator_cycle:X}", self.signal_indicator_cycle],['signal_indicator_rep', f"0x{self.signal_indicator_rep:X}", self.signal_indicator_rep]], tablefmt="texttable")
|
|
517
517
|
|
|
518
518
|
def __eq__(self, other):
|
|
519
519
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -568,7 +568,7 @@ class ModuleEnergySub1GV11():
|
|
|
568
568
|
self.set(raw)
|
|
569
569
|
|
|
570
570
|
def __repr__(self) -> str:
|
|
571
|
-
return "\n==> Packet module_energy_sub1g_v11 <==\n" + tabulate.tabulate([['module_type', f"0x{self.module_type:X}
|
|
571
|
+
return "\n==> Packet module_energy_sub1g_v11 <==\n" + tabulate.tabulate([['module_type', f"0x{self.module_type:X}", self.module_type],['msg_type', f"0x{self.msg_type:X}", self.msg_type],['api_version', f"0x{self.api_version:X}", self.api_version],['seq_id', f"0x{self.seq_id:X}", self.seq_id],['brg_mac', f"0x{self.brg_mac:X}", self.brg_mac],['output_power', f"0x{self.output_power:X}", self.output_power],['sub1g_energy_pattern', f"0x{self.sub1g_energy_pattern:X}", self.sub1g_energy_pattern],['cycle', f"0x{self.cycle:X}", self.cycle],['duty_cycle', f"0x{self.duty_cycle:X}", self.duty_cycle],['signal_indicator_cycle', f"0x{self.signal_indicator_cycle:X}", self.signal_indicator_cycle],['signal_indicator_rep', f"0x{self.signal_indicator_rep:X}", self.signal_indicator_rep]], tablefmt="texttable")
|
|
572
572
|
|
|
573
573
|
def __eq__(self, other):
|
|
574
574
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -627,7 +627,7 @@ class ModulePwrMgmtV12():
|
|
|
627
627
|
self.set(raw)
|
|
628
628
|
|
|
629
629
|
def __repr__(self) -> str:
|
|
630
|
-
return "\n==> Packet module_pwr_mgmt_v12 <==\n" + tabulate.tabulate([['module_type', f"0x{self.module_type:X}
|
|
630
|
+
return "\n==> Packet module_pwr_mgmt_v12 <==\n" + tabulate.tabulate([['module_type', f"0x{self.module_type:X}", self.module_type],['msg_type', f"0x{self.msg_type:X}", self.msg_type],['api_version', f"0x{self.api_version:X}", self.api_version],['seq_id', f"0x{self.seq_id:X}", self.seq_id],['brg_mac', f"0x{self.brg_mac:X}", self.brg_mac],['static_leds_on', f"0x{self.static_leds_on:X}", self.static_leds_on],['static_keep_alive_period', f"0x{self.static_keep_alive_period:X}", self.static_keep_alive_period],['static_keep_alive_scan', f"0x{self.static_keep_alive_scan:X}", self.static_keep_alive_scan],['static_on_duration', f"0x{self.static_on_duration:X}", self.static_on_duration],['static_sleep_duration', f"0x{self.static_sleep_duration:X}", self.static_sleep_duration],['dynamic_leds_on', f"0x{self.dynamic_leds_on:X}", self.dynamic_leds_on],['dynamic_keep_alive_period', f"0x{self.dynamic_keep_alive_period:X}", self.dynamic_keep_alive_period],['dynamic_keep_alive_scan', f"0x{self.dynamic_keep_alive_scan:X}", self.dynamic_keep_alive_scan],['dynamic_on_duration', f"0x{self.dynamic_on_duration:X}", self.dynamic_on_duration],['dynamic_sleep_duration', f"0x{self.dynamic_sleep_duration:X}", self.dynamic_sleep_duration]], tablefmt="texttable")
|
|
631
631
|
|
|
632
632
|
def __eq__(self, other):
|
|
633
633
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -694,7 +694,7 @@ class ModulePwrMgmtV11():
|
|
|
694
694
|
self.set(raw)
|
|
695
695
|
|
|
696
696
|
def __repr__(self) -> str:
|
|
697
|
-
return "\n==> Packet module_pwr_mgmt_v11 <==\n" + tabulate.tabulate([['module_type', f"0x{self.module_type:X}
|
|
697
|
+
return "\n==> Packet module_pwr_mgmt_v11 <==\n" + tabulate.tabulate([['module_type', f"0x{self.module_type:X}", self.module_type],['msg_type', f"0x{self.msg_type:X}", self.msg_type],['api_version', f"0x{self.api_version:X}", self.api_version],['seq_id', f"0x{self.seq_id:X}", self.seq_id],['brg_mac', f"0x{self.brg_mac:X}", self.brg_mac],['static_leds_on', f"0x{self.static_leds_on:X}", self.static_leds_on],['static_keep_alive_period', f"0x{self.static_keep_alive_period:X}", self.static_keep_alive_period],['static_keep_alive_scan', f"0x{self.static_keep_alive_scan:X}", self.static_keep_alive_scan],['static_on_duration', f"0x{self.static_on_duration:X}", self.static_on_duration],['static_sleep_duration', f"0x{self.static_sleep_duration:X}", self.static_sleep_duration],['dynamic_leds_on', f"0x{self.dynamic_leds_on:X}", self.dynamic_leds_on],['dynamic_keep_alive_period', f"0x{self.dynamic_keep_alive_period:X}", self.dynamic_keep_alive_period],['dynamic_keep_alive_scan', f"0x{self.dynamic_keep_alive_scan:X}", self.dynamic_keep_alive_scan],['dynamic_on_duration', f"0x{self.dynamic_on_duration:X}", self.dynamic_on_duration],['dynamic_sleep_duration', f"0x{self.dynamic_sleep_duration:X}", self.dynamic_sleep_duration]], tablefmt="texttable")
|
|
698
698
|
|
|
699
699
|
def __eq__(self, other):
|
|
700
700
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -755,7 +755,7 @@ class ModuleExtSensorsV12():
|
|
|
755
755
|
self.set(raw)
|
|
756
756
|
|
|
757
757
|
def __repr__(self) -> str:
|
|
758
|
-
return "\n==> Packet module_ext_sensors_v12 <==\n" + tabulate.tabulate([['module_type', f"0x{self.module_type:X}
|
|
758
|
+
return "\n==> Packet module_ext_sensors_v12 <==\n" + tabulate.tabulate([['module_type', f"0x{self.module_type:X}", self.module_type],['msg_type', f"0x{self.msg_type:X}", self.msg_type],['api_version', f"0x{self.api_version:X}", self.api_version],['seq_id', f"0x{self.seq_id:X}", self.seq_id],['brg_mac', f"0x{self.brg_mac:X}", self.brg_mac],['sensor0', f"0x{self.sensor0:X}", self.sensor0],['sensor1', f"0x{self.sensor1:X}", self.sensor1],['rssi_threshold', f"0x{self.rssi_threshold:X}", self.rssi_threshold],['sub1g_rssi_threshold', f"0x{self.sub1g_rssi_threshold:X}", self.sub1g_rssi_threshold]], tablefmt="texttable")
|
|
759
759
|
|
|
760
760
|
def __eq__(self, other):
|
|
761
761
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -802,7 +802,7 @@ class ModuleExtSensorsV11():
|
|
|
802
802
|
self.set(raw)
|
|
803
803
|
|
|
804
804
|
def __repr__(self) -> str:
|
|
805
|
-
return "\n==> Packet module_ext_sensors_v11 <==\n" + tabulate.tabulate([['module_type', f"0x{self.module_type:X}
|
|
805
|
+
return "\n==> Packet module_ext_sensors_v11 <==\n" + tabulate.tabulate([['module_type', f"0x{self.module_type:X}", self.module_type],['msg_type', f"0x{self.msg_type:X}", self.msg_type],['api_version', f"0x{self.api_version:X}", self.api_version],['seq_id', f"0x{self.seq_id:X}", self.seq_id],['brg_mac', f"0x{self.brg_mac:X}", self.brg_mac],['sensor0', f"0x{self.sensor0:X}", self.sensor0],['sensor1', f"0x{self.sensor1:X}", self.sensor1]], tablefmt="texttable")
|
|
806
806
|
|
|
807
807
|
def __eq__(self, other):
|
|
808
808
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -846,7 +846,7 @@ class ModuleCustomV12():
|
|
|
846
846
|
self.set(raw)
|
|
847
847
|
|
|
848
848
|
def __repr__(self) -> str:
|
|
849
|
-
return "\n==> Packet module_custom_v12 <==\n" + tabulate.tabulate([['module_type', f"0x{self.module_type:X}
|
|
849
|
+
return "\n==> Packet module_custom_v12 <==\n" + tabulate.tabulate([['module_type', f"0x{self.module_type:X}", self.module_type],['msg_type', f"0x{self.msg_type:X}", self.msg_type],['api_version', f"0x{self.api_version:X}", self.api_version],['seq_id', f"0x{self.seq_id:X}", self.seq_id],['brg_mac', f"0x{self.brg_mac:X}", self.brg_mac],['motion_sensitivity_threshold', f"0x{self.motion_sensitivity_threshold:X}", self.motion_sensitivity_threshold],['s2d_transition_time', f"0x{self.s2d_transition_time:X}", self.s2d_transition_time],['d2s_transition_time', f"0x{self.d2s_transition_time:X}", self.d2s_transition_time]], tablefmt="texttable")
|
|
850
850
|
|
|
851
851
|
def __eq__(self, other):
|
|
852
852
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -892,7 +892,7 @@ class ModuleCustomV11():
|
|
|
892
892
|
self.set(raw)
|
|
893
893
|
|
|
894
894
|
def __repr__(self) -> str:
|
|
895
|
-
return "\n==> Packet module_custom_v11 <==\n" + tabulate.tabulate([['module_type', f"0x{self.module_type:X}
|
|
895
|
+
return "\n==> Packet module_custom_v11 <==\n" + tabulate.tabulate([['module_type', f"0x{self.module_type:X}", self.module_type],['msg_type', f"0x{self.msg_type:X}", self.msg_type],['api_version', f"0x{self.api_version:X}", self.api_version],['seq_id', f"0x{self.seq_id:X}", self.seq_id],['brg_mac', f"0x{self.brg_mac:X}", self.brg_mac],['state_threshold', f"0x{self.state_threshold:X}", self.state_threshold],['wake_up_duration', f"0x{self.wake_up_duration:X}", self.wake_up_duration],['sleep_duration', f"0x{self.sleep_duration:X}", self.sleep_duration]], tablefmt="texttable")
|
|
896
896
|
|
|
897
897
|
def __eq__(self, other):
|
|
898
898
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|