wiliot-certificate 4.4.2__py3-none-any.whl → 4.5.0__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
- certificate/cert_common.py +1488 -0
- certificate/cert_config.py +480 -0
- {brg_certificate → certificate}/cert_data_sim.py +134 -46
- {brg_certificate → certificate}/cert_defines.py +129 -128
- {brg_certificate → certificate}/cert_gw_sim.py +183 -53
- {brg_certificate → certificate}/cert_mqtt.py +179 -64
- {brg_certificate → certificate}/cert_prints.py +35 -33
- {brg_certificate → certificate}/cert_protobuf.py +15 -6
- {brg_certificate → certificate}/cert_results.py +240 -64
- certificate/cert_utils.py +634 -0
- certificate/certificate.py +205 -0
- certificate/certificate_cli.py +76 -0
- certificate/certificate_eth_test_list.txt +76 -0
- certificate/certificate_sanity_test_list.txt +66 -0
- certificate/certificate_test_list.txt +76 -0
- {brg_certificate → certificate}/tests/calibration/interval_test/interval_test.json +3 -2
- {brg_certificate → certificate}/tests/calibration/interval_test/interval_test.py +7 -6
- certificate/tests/calibration/output_power_test/output_power_test.json +23 -0
- certificate/tests/calibration/output_power_test/output_power_test.py +39 -0
- {brg_certificate → certificate}/tests/calibration/pattern_test/pattern_test.json +2 -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 +15 -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 +15 -0
- certificate/tests/cloud_connectivity/acl_test/acl_test.py +96 -0
- certificate/tests/cloud_connectivity/brg_ota_test/brg_ota_test.json +19 -0
- certificate/tests/cloud_connectivity/brg_ota_test/brg_ota_test.py +41 -0
- certificate/tests/cloud_connectivity/channel_scan_behaviour_test/channel_scan_behaviour_test.json +19 -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 +18 -0
- certificate/tests/cloud_connectivity/connection_test/connection_test.py +67 -0
- certificate/tests/cloud_connectivity/deduplication_test/deduplication_test.json +15 -0
- certificate/tests/cloud_connectivity/deduplication_test/deduplication_test.py +80 -0
- certificate/tests/cloud_connectivity/downlink_test/downlink_test.json +21 -0
- certificate/tests/cloud_connectivity/downlink_test/downlink_test.py +201 -0
- certificate/tests/cloud_connectivity/ext_adv_stress_test/ext_adv_stress_test.json +17 -0
- certificate/tests/cloud_connectivity/ext_adv_stress_test/ext_adv_stress_test.py +104 -0
- certificate/tests/cloud_connectivity/reboot_test/reboot_test.json +18 -0
- certificate/tests/cloud_connectivity/reboot_test/reboot_test.py +59 -0
- certificate/tests/cloud_connectivity/registration_test/registration_test.json +20 -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 +17 -0
- certificate/tests/cloud_connectivity/stress_test/stress_test.py +101 -0
- certificate/tests/cloud_connectivity/uplink_ext_adv_test/uplink_ext_adv_test.json +25 -0
- certificate/tests/cloud_connectivity/uplink_ext_adv_test/uplink_ext_adv_test.py +92 -0
- certificate/tests/cloud_connectivity/uplink_test/uplink_test.json +20 -0
- certificate/tests/cloud_connectivity/uplink_test/uplink_test.py +169 -0
- {brg_certificate → certificate}/tests/datapath/aging_test/aging_test.json +2 -1
- certificate/tests/datapath/aging_test/aging_test.py +142 -0
- certificate/tests/datapath/event_ble5_test/event_ble5_test.json +17 -0
- certificate/tests/datapath/event_ble5_test/event_ble5_test.py +89 -0
- certificate/tests/datapath/event_test/event_test.json +17 -0
- certificate/tests/datapath/event_test/event_test.py +80 -0
- {brg_certificate → certificate}/tests/datapath/num_of_tags_test/num_of_tags_test.json +4 -3
- {brg_certificate → certificate}/tests/datapath/num_of_tags_test/num_of_tags_test.py +19 -13
- certificate/tests/datapath/output_power_test/output_power_test.json +23 -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 +2 -1
- {brg_certificate → certificate}/tests/datapath/pacer_interval_ble5_test/pacer_interval_ble5_test.py +13 -11
- {brg_certificate → certificate}/tests/datapath/pacer_interval_test/pacer_interval_test.json +2 -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 +3 -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 +20 -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 +2 -1
- {brg_certificate → certificate}/tests/datapath/pkt_filter_ble5_test/pkt_filter_ble5_test.py +15 -14
- certificate/tests/datapath/pkt_filter_brg2gw_ext_adv_test/pkt_filter_brg2gw_ext_adv_test.json +19 -0
- certificate/tests/datapath/pkt_filter_brg2gw_ext_adv_test/pkt_filter_brg2gw_ext_adv_test.py +85 -0
- {brg_certificate → certificate}/tests/datapath/pkt_filter_gen3_test/pkt_filter_gen3_test.json +2 -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 +2 -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 +3 -2
- {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 +6 -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 +3 -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 +8 -7
- {brg_certificate → certificate}/tests/datapath/rx_rate_gen2_test/rx_rate_gen2_test.py +113 -73
- {brg_certificate → certificate}/tests/datapath/rx_rate_gen3_test/rx_rate_gen3_test.json +8 -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 +4 -3
- {brg_certificate → certificate}/tests/datapath/stress_gen3_test/stress_gen3_test.py +15 -11
- {brg_certificate → certificate}/tests/datapath/stress_test/stress_test.json +4 -3
- {brg_certificate → certificate}/tests/datapath/stress_test/stress_test.py +15 -11
- {brg_certificate → certificate}/tests/datapath/tx_repetition_test/tx_repetition_test.json +3 -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 +15 -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 +15 -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 +15 -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 +15 -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 +16 -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 +15 -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 +15 -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 +15 -0
- certificate/tests/edge_mgmt/action_send_hb_test/action_send_hb_test.py +45 -0
- {brg_certificate → certificate}/tests/edge_mgmt/periodic_msgs_test/periodic_msgs_test.json +3 -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 +2 -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 +23 -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 +2 -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 +26 -0
- certificate/tests/energy2400/signal_indicator_ble5_test/signal_indicator_ble5_test.py +379 -0
- certificate/tests/energy2400/signal_indicator_ext_adv_test/signal_indicator_ext_adv_test.json +20 -0
- certificate/tests/energy2400/signal_indicator_ext_adv_test/signal_indicator_ext_adv_test.py +173 -0
- certificate/tests/energy2400/signal_indicator_test/signal_indicator_test.json +24 -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 +2 -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 +2 -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 +2 -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 +5 -4
- certificate/tests/sensors/ext_sensor_test/ext_sensor_test.py +450 -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 +91 -0
- common/web/templates/generator.html +210 -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 +399 -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 +1267 -0
- gui_certificate/templates/cert_run.html +1273 -0
- wiliot_certificate-4.5.0.dist-info/METADATA +99 -0
- wiliot_certificate-4.5.0.dist-info/RECORD +168 -0
- {wiliot_certificate-4.4.2.dist-info → wiliot_certificate-4.5.0.dist-info}/WHEEL +1 -1
- wiliot_certificate-4.5.0.dist-info/entry_points.txt +5 -0
- wiliot_certificate-4.5.0.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/brg2brg_ota.json +0 -142
- brg_certificate/ag/wlt_types_ag_jsons/brg2gw_hb.json +0 -785
- brg_certificate/ag/wlt_types_ag_jsons/brg2gw_hb_sleep.json +0 -139
- brg_certificate/ag/wlt_types_ag_jsons/calibration.json +0 -394
- brg_certificate/ag/wlt_types_ag_jsons/custom.json +0 -515
- brg_certificate/ag/wlt_types_ag_jsons/datapath.json +0 -672
- brg_certificate/ag/wlt_types_ag_jsons/energy2400.json +0 -550
- brg_certificate/ag/wlt_types_ag_jsons/energySub1g.json +0 -595
- brg_certificate/ag/wlt_types_ag_jsons/externalSensor.json +0 -598
- brg_certificate/ag/wlt_types_ag_jsons/interface.json +0 -938
- brg_certificate/ag/wlt_types_ag_jsons/powerManagement.json +0 -1234
- brg_certificate/ag/wlt_types_ag_jsons/side_info_sensor.json +0 -105
- brg_certificate/ag/wlt_types_ag_jsons/signal_indicator_data.json +0 -77
- brg_certificate/ag/wlt_types_ag_jsons/unified_echo_ext_pkt.json +0 -61
- brg_certificate/ag/wlt_types_ag_jsons/unified_echo_pkt.json +0 -110
- 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_ble5_10_500k_test/signal_indicator_ble5_10_500k_test.json +0 -20
- brg_certificate/tests/energy2400/signal_indicator_ble5_10_500k_test/signal_indicator_ble5_10_500k_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.91_app.zip +0 -0
- gw_certificate/interface/4.4.91_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.2.dist-info/METADATA +0 -211
- wiliot_certificate-4.4.2.dist-info/RECORD +0 -210
- wiliot_certificate-4.4.2.dist-info/entry_points.txt +0 -3
- wiliot_certificate-4.4.2.dist-info/top_level.txt +0 -3
- {brg_certificate → certificate}/__init__.py +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.2.dist-info → wiliot_certificate-4.5.0.dist-info}/licenses/LICENSE +0 -0
|
@@ -10,10 +10,13 @@ GROUP_ID_GW2BRG = 0xED
|
|
|
10
10
|
GROUP_ID_BRG2GW = 0xEE
|
|
11
11
|
GROUP_ID_UNIFIED_PKT_V0 = 0x3F
|
|
12
12
|
GROUP_ID_SIGNAL_INDICATOR = 0x3E
|
|
13
|
-
|
|
13
|
+
GROUP_ID_BLE5_PKT0_V0 = 0x3D
|
|
14
14
|
GROUP_ID_UNIFIED_PKT_V1 = 0x3C
|
|
15
|
-
|
|
16
|
-
|
|
15
|
+
GROUP_ID_BLE5_EXTENDED_V0 = 0x3B
|
|
16
|
+
GROUP_ID_BLE5_PKT0_V1 = 0x3A
|
|
17
|
+
GROUP_ID_UNIFIED_PKT_V2 = 0x39
|
|
18
|
+
GROUP_ID_BLE5_EXTENDED_V1 = 0x38
|
|
19
|
+
UNIFIED_GROUP_ID_LIST = [GROUP_ID_UNIFIED_PKT_V0, GROUP_ID_BLE5_PKT0_V0, GROUP_ID_UNIFIED_PKT_V1, GROUP_ID_BLE5_EXTENDED_V0, GROUP_ID_BLE5_PKT0_V1, GROUP_ID_UNIFIED_PKT_V2, GROUP_ID_BLE5_EXTENDED_V1]
|
|
17
20
|
|
|
18
21
|
ACTION_EMPTY = 0
|
|
19
22
|
ACTION_REBOOT = 1
|
|
@@ -27,18 +30,19 @@ ACTION_GW_HB = 8
|
|
|
27
30
|
ACTION_GET_BATTERY_SENSOR = 9
|
|
28
31
|
ACTION_GET_POF_DATA = 10
|
|
29
32
|
ACTION_PL_STATUS = 11
|
|
33
|
+
ACTION_GET_ACCELEROMETER = 12
|
|
30
34
|
|
|
31
35
|
BRG2BRG_ACTION_EMPTY = 0
|
|
32
36
|
BRG2BRG_ACTION_CFG = 1
|
|
33
37
|
BRG2BRG_ACTION_OTA = 2
|
|
34
38
|
|
|
35
|
-
RSSI_VAL_MIN =
|
|
36
|
-
RSSI_VAL_MAX =
|
|
39
|
+
RSSI_VAL_MIN = 30
|
|
40
|
+
RSSI_VAL_MAX = 93 # min val + 63 (6 bits)
|
|
37
41
|
|
|
38
42
|
API_VERSION_V0 = 0
|
|
39
43
|
API_VERSION_V1 = 1
|
|
40
44
|
API_VERSION_V2 = 2
|
|
41
|
-
API_VERSION_V5 = 5 # Because of backward
|
|
45
|
+
API_VERSION_V5 = 5 # Because of backward compatibility issue we jumped from V2 to V5
|
|
42
46
|
API_VERSION_V6 = 6
|
|
43
47
|
API_VERSION_V7 = 7
|
|
44
48
|
API_VERSION_V8 = 8
|
|
@@ -46,11 +50,15 @@ API_VERSION_V9 = 9
|
|
|
46
50
|
API_VERSION_V10 = 10
|
|
47
51
|
API_VERSION_V11 = 11
|
|
48
52
|
API_VERSION_V12 = 12
|
|
49
|
-
|
|
53
|
+
API_VERSION_V13 = 13
|
|
54
|
+
API_VERSION_LATEST = 13
|
|
50
55
|
|
|
51
56
|
API_VERSION_SENSOR_V0 = 0
|
|
52
57
|
API_VERSION_SENSOR_LATEST = 0
|
|
53
58
|
|
|
59
|
+
API_VERSION_UNIFIED_SENSOR_V0 = 1
|
|
60
|
+
API_VERSION_UNIFIED_SENSOR_LATEST = 1
|
|
61
|
+
|
|
54
62
|
MODULE_EMPTY = 0
|
|
55
63
|
MODULE_GLOBAL = 0
|
|
56
64
|
MODULE_IF = 1
|
|
@@ -82,21 +90,31 @@ CHANNEL_FREQ_39 = 2480
|
|
|
82
90
|
CHANNEL_37 = 37
|
|
83
91
|
CHANNEL_38 = 38
|
|
84
92
|
CHANNEL_39 = 39
|
|
93
|
+
CHANNEL_HOPPING_37_10 = 47
|
|
85
94
|
|
|
86
95
|
FREQUENCY_BAND_EDGE_2480 = 2480
|
|
87
96
|
FREQUENCY_BAND_EDGE_2475 = 2475
|
|
88
97
|
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
98
|
+
OUTPUT_POWER_2_4_MAX = 0x00
|
|
99
|
+
OUTPUT_POWER_2_4_MAX_MINUS_2 = 0x02
|
|
100
|
+
OUTPUT_POWER_2_4_MAX_MINUS_3 = 0x03
|
|
101
|
+
OUTPUT_POWER_2_4_MAX_MINUS_4 = 0x04
|
|
102
|
+
OUTPUT_POWER_2_4_MAX_MINUS_6 = 0x06
|
|
103
|
+
OUTPUT_POWER_2_4_MAX_MINUS_7 = 0x07
|
|
104
|
+
OUTPUT_POWER_2_4_MAX_MINUS_8 = 0x08
|
|
105
|
+
OUTPUT_POWER_2_4_MAX_MINUS_10 = 0x0A
|
|
106
|
+
OUTPUT_POWER_2_4_MAX_MINUS_11 = 0x0B
|
|
107
|
+
OUTPUT_POWER_2_4_MAX_MINUS_12 = 0x0C
|
|
108
|
+
OUTPUT_POWER_2_4_MAX_MINUS_14 = 0x0E
|
|
109
|
+
OUTPUT_POWER_2_4_MAX_MINUS_15 = 0x0F
|
|
110
|
+
OUTPUT_POWER_2_4_MAX_MINUS_16 = 0x10
|
|
111
|
+
OUTPUT_POWER_2_4_MAX_MINUS_18 = 0x12
|
|
112
|
+
OUTPUT_POWER_2_4_MAX_MINUS_19 = 0x13
|
|
113
|
+
OUTPUT_POWER_2_4_MAX_MINUS_20 = 0x14
|
|
114
|
+
OUTPUT_POWER_2_4_MAX_MINUS_22 = 0x16
|
|
115
|
+
OUTPUT_POWER_2_4_MAX_MINUS_23 = 0x17
|
|
116
|
+
OUTPUT_POWER_2_4_MAX_MINUS_26 = 0x1A
|
|
117
|
+
OUTPUT_POWER_2_4_SUPPORTED_VALUES = [OUTPUT_POWER_2_4_MAX, OUTPUT_POWER_2_4_MAX_MINUS_2, OUTPUT_POWER_2_4_MAX_MINUS_6, OUTPUT_POWER_2_4_MAX_MINUS_10, OUTPUT_POWER_2_4_MAX_MINUS_14, OUTPUT_POWER_2_4_MAX_MINUS_18, OUTPUT_POWER_2_4_MAX_MINUS_22]
|
|
100
118
|
|
|
101
119
|
ENERGY_PATTERN_2_4_NO_ENERGIZING = 0x00
|
|
102
120
|
ENERGY_PATTERN_2_4_CHANNEL_37 = 0x01
|
|
@@ -111,6 +129,29 @@ RX_CHANNEL_38 = 0x01
|
|
|
111
129
|
RX_CHANNEL_39 = 0x02
|
|
112
130
|
RX_CHANNEL_10_250K = 0x03
|
|
113
131
|
RX_CHANNEL_10_500K = 0x04
|
|
132
|
+
RX_CHANNEL_HOPPING_37_10 = 0x05
|
|
133
|
+
RX_CHANNEL_21 = 0x06
|
|
134
|
+
|
|
135
|
+
EVENT_TIME_UNIT_SECONDS = 0x00
|
|
136
|
+
EVENT_TIME_UNIT_MINUTES = 0x01
|
|
137
|
+
EVENT_TIME_UNIT_HOURS = 0x02
|
|
138
|
+
|
|
139
|
+
EVENT_TRIGGER_NONE = 0x00
|
|
140
|
+
EVENT_TRIGGER_NEW_TAG = 0x01
|
|
141
|
+
EVENT_TRIGGER_TEMP_CHANGE = 0x02
|
|
142
|
+
EVENT_TRIGGER_NEW_TAG_AND_TEMP = 0x03
|
|
143
|
+
EVENT_TRIGGER_TX_RATE_CHANGE = 0x04
|
|
144
|
+
EVENT_TRIGGER_NEW_TAG_AND_TX_RATE = 0x05
|
|
145
|
+
EVENT_TRIGGER_TEMP_AND_TX_RATE = 0x06
|
|
146
|
+
EVENT_TRIGGER_NEW_TAG_TEMP_AND_TX_RATE = 0x07
|
|
147
|
+
EVENT_TRIGGER_RSSI_CHANGE = 0x08
|
|
148
|
+
EVENT_TRIGGER_NEW_TAG_AND_RSSI = 0x09
|
|
149
|
+
EVENT_TRIGGER_TEMP_AND_RSSI = 0x0A
|
|
150
|
+
EVENT_TRIGGER_NEW_TAG_TEMP_AND_RSSI = 0x0B
|
|
151
|
+
EVENT_TRIGGER_TX_RATE_AND_RSSI = 0x0C
|
|
152
|
+
EVENT_TRIGGER_NEW_TAG_TX_RATE_AND_RSSI = 0x0D
|
|
153
|
+
EVENT_TRIGGER_TEMP_TX_RATE_AND_RSSI = 0x0E
|
|
154
|
+
EVENT_TRIGGER_ALL_TRIGGERS = 0x0F
|
|
114
155
|
|
|
115
156
|
RX_CHANNEL_V11_37 = 0x00
|
|
116
157
|
RX_CHANNEL_V11_38 = 0x01
|
|
@@ -121,6 +162,7 @@ RX_CHANNEL_V11_4_2MBPS = 0x05
|
|
|
121
162
|
RX_CHANNEL_V11_10_2MBPS = 0x06
|
|
122
163
|
|
|
123
164
|
SECONDARY_RX_CHANNEL_10 = 10
|
|
165
|
+
SECONDARY_RX_CHANNEL_21 = 21
|
|
124
166
|
|
|
125
167
|
BLE5_PARAM_PRIMARY_CHANNEL_SCAN_CYCLE = 15000 # In MS
|
|
126
168
|
BLE5_PARAM_PRIMARY_CHANNEL_SCAN_DURATION = 300 # In MS
|
|
@@ -184,6 +226,9 @@ CALIBRATION_PATTERN_DISABLE_BEACON = 0x03
|
|
|
184
226
|
DATAPATH_PATTERN_STANDARD = 0x00
|
|
185
227
|
DATAPATH_PATTERN_38_38_39 = 0x01
|
|
186
228
|
DATAPATH_PATTERN_EU_PATTERN = 0x02
|
|
229
|
+
DATAPATH_PATTERN_EXTENDED_ADV = 0x03
|
|
230
|
+
DATAPATH_PATTERN_EXTENDED_ADV_38_39 = 0x04
|
|
231
|
+
DATAPATH_PATTERN_EXTENDED_ADV_CH_10 = 0x05
|
|
187
232
|
|
|
188
233
|
SIGNAL_INDICATOR_REP_1 = 1
|
|
189
234
|
SIGNAL_INDICATOR_REP_2 = 2
|
|
@@ -208,7 +253,7 @@ SIGNAL_INDICATOR_SUB1G_REP_PROFILE_4 = 3
|
|
|
208
253
|
EXTERNAL_SENSORS_NO_SENSOR = 0x00000000
|
|
209
254
|
EXTERNAL_SENSORS_MINEWS1 = 0x16E1FF01
|
|
210
255
|
EXTERNAL_SENSORS_VOLTAIC_BATT_LEVEL_DONGLE = 0xFF050500
|
|
211
|
-
EXTERNAL_SENSORS_SIGNAL_INDICATOR =
|
|
256
|
+
EXTERNAL_SENSORS_SIGNAL_INDICATOR = 0xFF000502
|
|
212
257
|
EXTERNAL_SENSORS_ZEBRA_PRINTER = 0x0279FE01
|
|
213
258
|
EXTERNAL_SENSORS_ERM_SMART_MS = 0xFFAE0400
|
|
214
259
|
|
|
@@ -224,19 +269,24 @@ HDR_DEFAULT_TAG_UUID_MSB = 0xAF
|
|
|
224
269
|
HDR_DEFAULT_TAG_UUID_LSB = 0xFD
|
|
225
270
|
|
|
226
271
|
BRG_DEFAULT_CALIBRATION_INTERVAL = 10
|
|
227
|
-
BRG_DEFAULT_CALIBRATION_OUTPUT_POWER =
|
|
272
|
+
BRG_DEFAULT_CALIBRATION_OUTPUT_POWER = OUTPUT_POWER_2_4_MAX
|
|
228
273
|
BRG_DEFAULT_CALIBRATION_PATTERN = CALIBRATION_PATTERN_38_38_39
|
|
229
274
|
BRG_DEFAULT_DATAPATH_PATTERN = DATAPATH_PATTERN_STANDARD
|
|
230
275
|
BRG_DEFAULT_PKT_FILTER = PKT_FILTER_TEMP_AND_ADVANCED_PKTS
|
|
231
276
|
BRG_DEFAULT_RX_CHANNEL_OR_FREQ = CHANNEL_37
|
|
232
|
-
BRG_DEFAULT_DATAPATH_OUTPUT_POWER =
|
|
277
|
+
BRG_DEFAULT_DATAPATH_OUTPUT_POWER = OUTPUT_POWER_2_4_MAX
|
|
233
278
|
BRG_DEFAULT_TX_REPETITION = 0
|
|
234
279
|
BRG_DEFAULT_PACER_INTERVAL = 15
|
|
235
280
|
BRG_DEFAULT_RSSI_THRESHOLD = 0
|
|
236
281
|
BRG_DEFAULT_RX_CHANNEL = RX_CHANNEL_37
|
|
282
|
+
BRG_DEFAULT_EVENT_WINDOW = 0
|
|
283
|
+
BRG_DEFAULT_EVENT_TIME_UNIT = EVENT_TIME_UNIT_SECONDS
|
|
284
|
+
BRG_DEFAULT_EVENT_TRIGGER = EVENT_TRIGGER_NONE
|
|
285
|
+
BRG_DEFAULT_EVENT_PACER_INTERVAL = 0
|
|
286
|
+
BRG_DEFAULT_RSSI_MOVEMENT_THRESHOLD = 6
|
|
237
287
|
BRG_DEFAULT_ENERGY_PATTERN_2_4 = ENERGY_PATTERN_2_4_NO_ENERGIZING
|
|
238
288
|
BRG_DEFAULT_ENERGY_DUTY_CYCLE_2_4 = 30
|
|
239
|
-
BRG_DEFAULT_OUTPUT_POWER_2_4 =
|
|
289
|
+
BRG_DEFAULT_OUTPUT_POWER_2_4 = OUTPUT_POWER_2_4_MAX
|
|
240
290
|
BRG_DEFAULT_SIGNAL_INDICATOR_REP = 2
|
|
241
291
|
BRG_DEFAULT_SIGNAL_INDICATOR_REP_PROFILE = 1
|
|
242
292
|
BRG_DEFAULT_SIGNAL_INDICATOR_CYCLE = 0
|
|
@@ -252,6 +302,7 @@ BRG_DEFAULT_TX_PERIOD = 0
|
|
|
252
302
|
BRG_DEFAULT_TRANSMIT_TIME_SUB1G = 0
|
|
253
303
|
BRG_DEFAULT_SUB1G_FREQ = SUB1G_FREQ_915000
|
|
254
304
|
BRG_DEFAULT_SUB1G_FREQ_PROFILE = SUB1G_FREQ_PROFILE_915000
|
|
305
|
+
BRG_DEFAULT_TX_POWER_MAX_2_4_DBM = 2
|
|
255
306
|
BRG_DEFAULT_ENERGY_PATTERN_IDX_OLD = 50
|
|
256
307
|
BRG_DEFAULT_RXTX_PERIOD = 15
|
|
257
308
|
BRG_DEFAULT_PKT_TYPES_MASK = 0
|
|
@@ -303,6 +354,7 @@ SENSOR_SERVICE_ID_LIS2DW12 = 0x000001
|
|
|
303
354
|
SENSOR_SERVICE_ID_BATTERY_SENSOR = 0x000002
|
|
304
355
|
SENSOR_SERVICE_ID_POF_DATA = 0x800303
|
|
305
356
|
SENSOR_SERVICE_ID_SIGNAL_INDICATOR = 0xFF0005
|
|
357
|
+
UNIFIED_SENSOR_ID_LIST = [SENSOR_SERVICE_ID_LIS2DW12, SENSOR_SERVICE_ID_BATTERY_SENSOR, SENSOR_SERVICE_ID_POF_DATA, SENSOR_SERVICE_ID_SIGNAL_INDICATOR]
|
|
306
358
|
|
|
307
359
|
LIS2DW12_PACKET_VERSION_V1 = 1
|
|
308
360
|
LIS2DW12_PACKET_VERSION_V2 = 2
|
|
@@ -333,7 +385,58 @@ SIGNAL_INDICATOR_CYCLE_MAX = 16383
|
|
|
333
385
|
SIGNAL_INDICATOR_REP_MIN = 1
|
|
334
386
|
SIGNAL_INDICATOR_REP_MAX = 4
|
|
335
387
|
|
|
336
|
-
class
|
|
388
|
+
class UnifiedEchoExtPktV1():
|
|
389
|
+
def __init__(self, raw='', nonce_n_unique_id=0, mic0=0, mic1=0, data0=0, data1=0, tbc=0, rssi=0, brg_latency=0, event_ctr=0, event_flag=0):
|
|
390
|
+
self.nonce_n_unique_id = nonce_n_unique_id
|
|
391
|
+
self.mic0 = mic0
|
|
392
|
+
self.mic1 = mic1
|
|
393
|
+
self.data0 = data0
|
|
394
|
+
self.data1 = data1
|
|
395
|
+
self.tbc = tbc
|
|
396
|
+
self.rssi = rssi
|
|
397
|
+
self.brg_latency = brg_latency
|
|
398
|
+
self.event_ctr = event_ctr
|
|
399
|
+
self.event_flag = event_flag
|
|
400
|
+
if raw:
|
|
401
|
+
self.set(raw)
|
|
402
|
+
|
|
403
|
+
def __repr__(self) -> str:
|
|
404
|
+
return "\n==> Packet unified_echo_ext_pkt_v1 <==\n" + tabulate.tabulate([['nonce_n_unique_id', f"0x{self.nonce_n_unique_id:X}", self.nonce_n_unique_id, ""],['mic0', f"0x{self.mic0:X}", self.mic0, ""],['mic1', f"0x{self.mic1:X}", self.mic1, ""],['data0', f"0x{self.data0:X}", self.data0, ""],['data1', f"0x{self.data1:X}", self.data1, ""],['tbc', f"0x{self.tbc:X}", self.tbc, ""],['rssi', f"0x{self.rssi:X}", self.rssi, ""],['brg_latency', f"0x{self.brg_latency:X}", self.brg_latency, ""],['event_ctr', f"0x{self.event_ctr:X}", self.event_ctr, ""],['event_flag', f"0x{self.event_flag:X}", self.event_flag, ""]], tablefmt="texttable")
|
|
405
|
+
|
|
406
|
+
def __eq__(self, other):
|
|
407
|
+
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
408
|
+
return (
|
|
409
|
+
self.nonce_n_unique_id == other.nonce_n_unique_id and
|
|
410
|
+
self.mic0 == other.mic0 and
|
|
411
|
+
self.mic1 == other.mic1 and
|
|
412
|
+
self.data0 == other.data0 and
|
|
413
|
+
self.data1 == other.data1 and
|
|
414
|
+
self.tbc == other.tbc and
|
|
415
|
+
self.rssi == other.rssi and
|
|
416
|
+
self.brg_latency == other.brg_latency and
|
|
417
|
+
self.event_ctr == other.event_ctr and
|
|
418
|
+
self.event_flag == other.event_flag
|
|
419
|
+
)
|
|
420
|
+
return False
|
|
421
|
+
|
|
422
|
+
def dump(self):
|
|
423
|
+
string = bitstruct.pack("u80u24u24u64u64u8u6u6u3u1", self.nonce_n_unique_id, self.mic0, self.mic1, self.data0, self.data1, self.tbc, ((self.rssi-30)//1), ((self.brg_latency-0)//200), self.event_ctr, self.event_flag)
|
|
424
|
+
return string.hex().upper()
|
|
425
|
+
|
|
426
|
+
def set(self, string):
|
|
427
|
+
d = bitstruct.unpack("u80u24u24u64u64u8u6u6u3u1", binascii.unhexlify(string))
|
|
428
|
+
self.nonce_n_unique_id = d[0]
|
|
429
|
+
self.mic0 = d[1]
|
|
430
|
+
self.mic1 = d[2]
|
|
431
|
+
self.data0 = d[3]
|
|
432
|
+
self.data1 = d[4]
|
|
433
|
+
self.tbc = d[5]
|
|
434
|
+
self.rssi = ((d[6]*1)+30)
|
|
435
|
+
self.brg_latency = ((d[7]*200)+0)
|
|
436
|
+
self.event_ctr = d[8]
|
|
437
|
+
self.event_flag = d[9]
|
|
438
|
+
|
|
439
|
+
class UnifiedEchoExtPktV0():
|
|
337
440
|
def __init__(self, raw='', nonce_n_unique_id=0, mic0=0, mic1=0, data0=0, data1=0, tbc=0, rssi=0, brg_latency=0, nfpkt=0):
|
|
338
441
|
self.nonce_n_unique_id = nonce_n_unique_id
|
|
339
442
|
self.mic0 = mic0
|
|
@@ -348,7 +451,7 @@ class UnifiedEchoExtPkt():
|
|
|
348
451
|
self.set(raw)
|
|
349
452
|
|
|
350
453
|
def __repr__(self) -> str:
|
|
351
|
-
return "\n==> Packet
|
|
454
|
+
return "\n==> Packet unified_echo_ext_pkt_v0 <==\n" + tabulate.tabulate([['nonce_n_unique_id', f"0x{self.nonce_n_unique_id:X}", self.nonce_n_unique_id, ""],['mic0', f"0x{self.mic0:X}", self.mic0, ""],['mic1', f"0x{self.mic1:X}", self.mic1, ""],['data0', f"0x{self.data0:X}", self.data0, ""],['data1', f"0x{self.data1:X}", self.data1, ""],['tbc', f"0x{self.tbc:X}", self.tbc, ""],['rssi', f"0x{self.rssi:X}", self.rssi, ""],['brg_latency', f"0x{self.brg_latency:X}", self.brg_latency, ""],['nfpkt', f"0x{self.nfpkt:X}", self.nfpkt, ""]], tablefmt="texttable")
|
|
352
455
|
|
|
353
456
|
def __eq__(self, other):
|
|
354
457
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -381,6 +484,51 @@ class UnifiedEchoExtPkt():
|
|
|
381
484
|
self.brg_latency = ((d[7]*200)+0)
|
|
382
485
|
self.nfpkt = d[8]
|
|
383
486
|
|
|
487
|
+
class UnifiedEchoPktV2():
|
|
488
|
+
def __init__(self, raw='', nonce_n_unique_id=0, tbc=0, rssi=0, brg_latency=0, event_ctr=0, event_flag=0, mic=0, data=0):
|
|
489
|
+
self.nonce_n_unique_id = nonce_n_unique_id
|
|
490
|
+
self.tbc = tbc
|
|
491
|
+
self.rssi = rssi
|
|
492
|
+
self.brg_latency = brg_latency
|
|
493
|
+
self.event_ctr = event_ctr
|
|
494
|
+
self.event_flag = event_flag
|
|
495
|
+
self.mic = mic
|
|
496
|
+
self.data = data
|
|
497
|
+
if raw:
|
|
498
|
+
self.set(raw)
|
|
499
|
+
|
|
500
|
+
def __repr__(self) -> str:
|
|
501
|
+
return "\n==> Packet unified_echo_pkt_v2 <==\n" + tabulate.tabulate([['nonce_n_unique_id', f"0x{self.nonce_n_unique_id:X}", self.nonce_n_unique_id, ""],['tbc', f"0x{self.tbc:X}", self.tbc, ""],['rssi', f"0x{self.rssi:X}", self.rssi, ""],['brg_latency', f"0x{self.brg_latency:X}", self.brg_latency, ""],['event_ctr', f"0x{self.event_ctr:X}", self.event_ctr, ""],['event_flag', f"0x{self.event_flag:X}", self.event_flag, ""],['mic', f"0x{self.mic:X}", self.mic, ""],['data', f"0x{self.data:X}", self.data, ""]], tablefmt="texttable")
|
|
502
|
+
|
|
503
|
+
def __eq__(self, other):
|
|
504
|
+
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
505
|
+
return (
|
|
506
|
+
self.nonce_n_unique_id == other.nonce_n_unique_id and
|
|
507
|
+
self.tbc == other.tbc and
|
|
508
|
+
self.rssi == other.rssi and
|
|
509
|
+
self.brg_latency == other.brg_latency and
|
|
510
|
+
self.event_ctr == other.event_ctr and
|
|
511
|
+
self.event_flag == other.event_flag and
|
|
512
|
+
self.mic == other.mic and
|
|
513
|
+
self.data == other.data
|
|
514
|
+
)
|
|
515
|
+
return False
|
|
516
|
+
|
|
517
|
+
def dump(self):
|
|
518
|
+
string = bitstruct.pack("u80u8u6u6u3u1u24u64", self.nonce_n_unique_id, self.tbc, ((self.rssi-30)//1), ((self.brg_latency-0)//200), self.event_ctr, self.event_flag, self.mic, self.data)
|
|
519
|
+
return string.hex().upper()
|
|
520
|
+
|
|
521
|
+
def set(self, string):
|
|
522
|
+
d = bitstruct.unpack("u80u8u6u6u3u1u24u64", binascii.unhexlify(string))
|
|
523
|
+
self.nonce_n_unique_id = d[0]
|
|
524
|
+
self.tbc = d[1]
|
|
525
|
+
self.rssi = ((d[2]*1)+30)
|
|
526
|
+
self.brg_latency = ((d[3]*200)+0)
|
|
527
|
+
self.event_ctr = d[4]
|
|
528
|
+
self.event_flag = d[5]
|
|
529
|
+
self.mic = d[6]
|
|
530
|
+
self.data = d[7]
|
|
531
|
+
|
|
384
532
|
class UnifiedEchoPktV1():
|
|
385
533
|
def __init__(self, raw='', nonce_n_unique_id=0, tbc=0, rssi=0, brg_latency=0, nfpkt=0, mic=0, data=0):
|
|
386
534
|
self.nonce_n_unique_id = nonce_n_unique_id
|
|
@@ -394,7 +542,7 @@ class UnifiedEchoPktV1():
|
|
|
394
542
|
self.set(raw)
|
|
395
543
|
|
|
396
544
|
def __repr__(self) -> str:
|
|
397
|
-
return "\n==> Packet unified_echo_pkt_v1 <==\n" + tabulate.tabulate([['nonce_n_unique_id', f"0x{self.nonce_n_unique_id:X}", self.nonce_n_unique_id],['tbc', f"0x{self.tbc:X}", self.tbc],['rssi', f"0x{self.rssi:X}", self.rssi],['brg_latency', f"0x{self.brg_latency:X}", self.brg_latency],['nfpkt', f"0x{self.nfpkt:X}", self.nfpkt],['mic', f"0x{self.mic:X}", self.mic],['data', f"0x{self.data:X}", self.data]], tablefmt="texttable")
|
|
545
|
+
return "\n==> Packet unified_echo_pkt_v1 <==\n" + tabulate.tabulate([['nonce_n_unique_id', f"0x{self.nonce_n_unique_id:X}", self.nonce_n_unique_id, ""],['tbc', f"0x{self.tbc:X}", self.tbc, ""],['rssi', f"0x{self.rssi:X}", self.rssi, ""],['brg_latency', f"0x{self.brg_latency:X}", self.brg_latency, ""],['nfpkt', f"0x{self.nfpkt:X}", self.nfpkt, ""],['mic', f"0x{self.mic:X}", self.mic, ""],['data', f"0x{self.data:X}", self.data, ""]], tablefmt="texttable")
|
|
398
546
|
|
|
399
547
|
def __eq__(self, other):
|
|
400
548
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -436,7 +584,7 @@ class UnifiedEchoPktV0():
|
|
|
436
584
|
self.set(raw)
|
|
437
585
|
|
|
438
586
|
def __repr__(self) -> str:
|
|
439
|
-
return "\n==> Packet unified_echo_pkt_v0 <==\n" + tabulate.tabulate([['nonce_n_unique_id', f"0x{self.nonce_n_unique_id:X}", self.nonce_n_unique_id],['nfpkt', f"0x{self.nfpkt:X}", self.nfpkt],['rssi', f"0x{self.rssi:X}", self.rssi],['brg_latency', f"0x{self.brg_latency:X}", self.brg_latency],['mic', f"0x{self.mic:X}", self.mic],['data', f"0x{self.data:X}", self.data]], tablefmt="texttable")
|
|
587
|
+
return "\n==> Packet unified_echo_pkt_v0 <==\n" + tabulate.tabulate([['nonce_n_unique_id', f"0x{self.nonce_n_unique_id:X}", self.nonce_n_unique_id, ""],['nfpkt', f"0x{self.nfpkt:X}", self.nfpkt, ""],['rssi', f"0x{self.rssi:X}", self.rssi, ""],['brg_latency', f"0x{self.brg_latency:X}", self.brg_latency, ""],['mic', f"0x{self.mic:X}", self.mic, ""],['data', f"0x{self.data:X}", self.data, ""]], tablefmt="texttable")
|
|
440
588
|
|
|
441
589
|
def __eq__(self, other):
|
|
442
590
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -475,7 +623,7 @@ class Hdr():
|
|
|
475
623
|
self.set(raw)
|
|
476
624
|
|
|
477
625
|
def __repr__(self) -> str:
|
|
478
|
-
return "\n==> Packet Wiliot hdr <==\n" + tabulate.tabulate([['pkt_size', f"0x{self.pkt_size:X}", self.pkt_size],['ad_type', f"0x{self.ad_type:X}", self.ad_type],['uuid_msb', f"0x{self.uuid_msb:X}", self.uuid_msb],['uuid_lsb', f"0x{self.uuid_lsb:X}", self.uuid_lsb],['group_id', f"0x{self.group_id:X}", self.group_id]], tablefmt="texttable")
|
|
626
|
+
return "\n==> Packet Wiliot hdr <==\n" + tabulate.tabulate([['pkt_size', f"0x{self.pkt_size:X}", self.pkt_size, ""],['ad_type', f"0x{self.ad_type:X}", self.ad_type, ""],['uuid_msb', f"0x{self.uuid_msb:X}", self.uuid_msb, ""],['uuid_lsb', f"0x{self.uuid_lsb:X}", self.uuid_lsb, ""],['group_id', f"0x{self.group_id:X}", self.group_id, ""]], tablefmt="texttable")
|
|
479
627
|
|
|
480
628
|
def __eq__(self, other):
|
|
481
629
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -513,7 +661,7 @@ class DataHdr():
|
|
|
513
661
|
self.set(raw)
|
|
514
662
|
|
|
515
663
|
def __repr__(self) -> str:
|
|
516
|
-
return "\n==> Packet Wiliot data_hdr <==\n" + tabulate.tabulate([['pkt_size', f"0x{self.pkt_size:X}", self.pkt_size],['ad_type', f"0x{self.ad_type:X}", self.ad_type],['uuid_msb', f"0x{self.uuid_msb:X}", self.uuid_msb],['uuid_lsb', f"0x{self.uuid_lsb:X}", self.uuid_lsb],['group_id_minor', f"0x{self.group_id_minor:X}", self.group_id_minor],['pkt_type', f"0x{self.pkt_type:X}", self.pkt_type],['group_id_major', f"0x{self.group_id_major:X}", self.group_id_major]], tablefmt="texttable")
|
|
664
|
+
return "\n==> Packet Wiliot data_hdr <==\n" + tabulate.tabulate([['pkt_size', f"0x{self.pkt_size:X}", self.pkt_size, ""],['ad_type', f"0x{self.ad_type:X}", self.ad_type, ""],['uuid_msb', f"0x{self.uuid_msb:X}", self.uuid_msb, ""],['uuid_lsb', f"0x{self.uuid_lsb:X}", self.uuid_lsb, ""],['group_id_minor', f"0x{self.group_id_minor:X}", self.group_id_minor, ""],['pkt_type', f"0x{self.pkt_type:X}", self.pkt_type, ""],['group_id_major', f"0x{self.group_id_major:X}", self.group_id_major, ""]], tablefmt="texttable")
|
|
517
665
|
|
|
518
666
|
def __eq__(self, other):
|
|
519
667
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -542,6 +690,325 @@ class DataHdr():
|
|
|
542
690
|
self.pkt_type = d[5]
|
|
543
691
|
self.group_id_major = d[6]
|
|
544
692
|
|
|
693
|
+
class SideInfo():
|
|
694
|
+
def __init__(self, raw='', brg_mac=0, nfpkt=0, rssi=0, unused2=0, unused0=0, unused1=0, pkt_id=0):
|
|
695
|
+
self.brg_mac = brg_mac
|
|
696
|
+
self.nfpkt = nfpkt
|
|
697
|
+
self.rssi = rssi
|
|
698
|
+
self.unused2 = unused2
|
|
699
|
+
self.unused0 = unused0
|
|
700
|
+
self.unused1 = unused1
|
|
701
|
+
self.pkt_id = pkt_id
|
|
702
|
+
if raw:
|
|
703
|
+
self.set(raw)
|
|
704
|
+
|
|
705
|
+
def __repr__(self) -> str:
|
|
706
|
+
return "\n==> Packet side_info <==\n" + tabulate.tabulate([['brg_mac', f"0x{self.brg_mac:X}", self.brg_mac, ""],['nfpkt', f"0x{self.nfpkt:X}", self.nfpkt, ""],['rssi', f"0x{self.rssi:X}", self.rssi, ""],['pkt_id', f"0x{self.pkt_id:X}", self.pkt_id, ""]], tablefmt="texttable")
|
|
707
|
+
|
|
708
|
+
def __eq__(self, other):
|
|
709
|
+
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
710
|
+
return (
|
|
711
|
+
self.brg_mac == other.brg_mac and
|
|
712
|
+
self.nfpkt == other.nfpkt and
|
|
713
|
+
self.rssi == other.rssi and
|
|
714
|
+
self.pkt_id == other.pkt_id
|
|
715
|
+
)
|
|
716
|
+
return False
|
|
717
|
+
|
|
718
|
+
def dump(self):
|
|
719
|
+
string = bitstruct.pack("u48u16u8u4u4u80u32", self.brg_mac, self.nfpkt, self.rssi, self.unused2, self.unused0, self.unused1, self.pkt_id)
|
|
720
|
+
return string.hex().upper()
|
|
721
|
+
|
|
722
|
+
def set(self, string):
|
|
723
|
+
d = bitstruct.unpack("u48u16u8u4u4u80u32", binascii.unhexlify(string))
|
|
724
|
+
self.brg_mac = d[0]
|
|
725
|
+
self.nfpkt = d[1]
|
|
726
|
+
self.rssi = d[2]
|
|
727
|
+
self.unused2 = d[3]
|
|
728
|
+
self.unused0 = d[4]
|
|
729
|
+
self.unused1 = d[5]
|
|
730
|
+
self.pkt_id = d[6]
|
|
731
|
+
|
|
732
|
+
class UnifiedSensorPkt():
|
|
733
|
+
def __init__(self, raw='', sensor_payload=0, sensor_mac=0, sensor_ad_type=0, sensor_uuid_msb=0, sensor_uuid_lsb=0, rssi=0, api_ver=0):
|
|
734
|
+
self.sensor_payload = sensor_payload
|
|
735
|
+
self.sensor_mac = sensor_mac
|
|
736
|
+
self.sensor_ad_type = sensor_ad_type
|
|
737
|
+
self.sensor_uuid_msb = sensor_uuid_msb
|
|
738
|
+
self.sensor_uuid_lsb = sensor_uuid_lsb
|
|
739
|
+
self.rssi = rssi
|
|
740
|
+
self.api_ver = api_ver
|
|
741
|
+
if raw:
|
|
742
|
+
self.set(raw)
|
|
743
|
+
|
|
744
|
+
def __repr__(self) -> str:
|
|
745
|
+
return "\n==> Packet unified_sensor_pkt <==\n" + tabulate.tabulate([['sensor_payload', f"0x{self.sensor_payload:X}", self.sensor_payload, ""],['sensor_mac', f"0x{self.sensor_mac:X}", self.sensor_mac, ""],['sensor_ad_type', f"0x{self.sensor_ad_type:X}", self.sensor_ad_type, ""],['sensor_uuid_msb', f"0x{self.sensor_uuid_msb:X}", self.sensor_uuid_msb, ""],['sensor_uuid_lsb', f"0x{self.sensor_uuid_lsb:X}", self.sensor_uuid_lsb, ""],['rssi', f"0x{self.rssi:X}", self.rssi, ""],['api_ver', f"0x{self.api_ver:X}", self.api_ver, ""]], tablefmt="texttable")
|
|
746
|
+
|
|
747
|
+
def __eq__(self, other):
|
|
748
|
+
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
749
|
+
return (
|
|
750
|
+
self.sensor_payload == other.sensor_payload and
|
|
751
|
+
self.sensor_mac == other.sensor_mac and
|
|
752
|
+
self.sensor_ad_type == other.sensor_ad_type and
|
|
753
|
+
self.sensor_uuid_msb == other.sensor_uuid_msb and
|
|
754
|
+
self.sensor_uuid_lsb == other.sensor_uuid_lsb and
|
|
755
|
+
self.rssi == other.rssi and
|
|
756
|
+
self.api_ver == other.api_ver
|
|
757
|
+
)
|
|
758
|
+
return False
|
|
759
|
+
|
|
760
|
+
def dump(self):
|
|
761
|
+
string = bitstruct.pack("u128u48u8u8u8u8u8", self.sensor_payload, self.sensor_mac, self.sensor_ad_type, self.sensor_uuid_msb, self.sensor_uuid_lsb, self.rssi, self.api_ver)
|
|
762
|
+
return string.hex().upper()
|
|
763
|
+
|
|
764
|
+
def set(self, string):
|
|
765
|
+
d = bitstruct.unpack("u128u48u8u8u8u8u8", binascii.unhexlify(string))
|
|
766
|
+
self.sensor_payload = d[0]
|
|
767
|
+
self.sensor_mac = d[1]
|
|
768
|
+
self.sensor_ad_type = d[2]
|
|
769
|
+
self.sensor_uuid_msb = d[3]
|
|
770
|
+
self.sensor_uuid_lsb = d[4]
|
|
771
|
+
self.rssi = d[5]
|
|
772
|
+
self.api_ver = d[6]
|
|
773
|
+
|
|
774
|
+
class SensorData():
|
|
775
|
+
def __init__(self, raw='', data=0, pkt_id=0):
|
|
776
|
+
self.data = data
|
|
777
|
+
self.pkt_id = pkt_id
|
|
778
|
+
if raw:
|
|
779
|
+
self.set(raw)
|
|
780
|
+
|
|
781
|
+
def __repr__(self) -> str:
|
|
782
|
+
return "\n==> Packet sensor_data <==\n" + tabulate.tabulate([['data', f"0x{self.data:X}", self.data, ""],['pkt_id', f"0x{self.pkt_id:X}", self.pkt_id, ""]], tablefmt="texttable")
|
|
783
|
+
|
|
784
|
+
def __eq__(self, other):
|
|
785
|
+
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
786
|
+
return (
|
|
787
|
+
self.data == other.data and
|
|
788
|
+
self.pkt_id == other.pkt_id
|
|
789
|
+
)
|
|
790
|
+
return False
|
|
791
|
+
|
|
792
|
+
def dump(self):
|
|
793
|
+
string = bitstruct.pack("u216u32", self.data, self.pkt_id)
|
|
794
|
+
return string.hex().upper()
|
|
795
|
+
|
|
796
|
+
def set(self, string):
|
|
797
|
+
d = bitstruct.unpack("u216u32", binascii.unhexlify(string))
|
|
798
|
+
self.data = d[0]
|
|
799
|
+
self.pkt_id = d[1]
|
|
800
|
+
|
|
801
|
+
class SideInfoSensor():
|
|
802
|
+
def __init__(self, raw='', brg_mac=0, nfpkt=0, rssi=0, unused2=0, unused0=0, sensor_mac=0, sensor_ad_type=0, sensor_uuid_msb=0, sensor_uuid_lsb=0, api_version=0, unused1=0, is_scrambled=0, is_sensor_embedded=0, is_sensor=0, pkt_id=0):
|
|
803
|
+
self.brg_mac = brg_mac
|
|
804
|
+
self.nfpkt = nfpkt
|
|
805
|
+
self.rssi = rssi
|
|
806
|
+
self.unused2 = unused2
|
|
807
|
+
self.unused0 = unused0
|
|
808
|
+
self.sensor_mac = sensor_mac
|
|
809
|
+
self.sensor_ad_type = sensor_ad_type
|
|
810
|
+
self.sensor_uuid_msb = sensor_uuid_msb
|
|
811
|
+
self.sensor_uuid_lsb = sensor_uuid_lsb
|
|
812
|
+
self.api_version = api_version
|
|
813
|
+
self.unused1 = unused1
|
|
814
|
+
self.is_scrambled = is_scrambled
|
|
815
|
+
self.is_sensor_embedded = is_sensor_embedded
|
|
816
|
+
self.is_sensor = is_sensor
|
|
817
|
+
self.pkt_id = pkt_id
|
|
818
|
+
if raw:
|
|
819
|
+
self.set(raw)
|
|
820
|
+
|
|
821
|
+
def __repr__(self) -> str:
|
|
822
|
+
return "\n==> Packet side_info_sensor <==\n" + tabulate.tabulate([['brg_mac', f"0x{self.brg_mac:X}", self.brg_mac, ""],['nfpkt', f"0x{self.nfpkt:X}", self.nfpkt, ""],['rssi', f"0x{self.rssi:X}", self.rssi, ""],['sensor_mac', f"0x{self.sensor_mac:X}", self.sensor_mac, ""],['sensor_ad_type', f"0x{self.sensor_ad_type:X}", self.sensor_ad_type, ""],['sensor_uuid_msb', f"0x{self.sensor_uuid_msb:X}", self.sensor_uuid_msb, ""],['sensor_uuid_lsb', f"0x{self.sensor_uuid_lsb:X}", self.sensor_uuid_lsb, ""],['api_version', f"0x{self.api_version:X}", self.api_version, ""],['is_scrambled', f"0x{self.is_scrambled:X}", self.is_scrambled, ""],['is_sensor_embedded', f"0x{self.is_sensor_embedded:X}", self.is_sensor_embedded, ""],['is_sensor', f"0x{self.is_sensor:X}", self.is_sensor, ""],['pkt_id', f"0x{self.pkt_id:X}", self.pkt_id, ""]], tablefmt="texttable")
|
|
823
|
+
|
|
824
|
+
def __eq__(self, other):
|
|
825
|
+
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
826
|
+
return (
|
|
827
|
+
self.brg_mac == other.brg_mac and
|
|
828
|
+
self.nfpkt == other.nfpkt and
|
|
829
|
+
self.rssi == other.rssi and
|
|
830
|
+
self.sensor_mac == other.sensor_mac and
|
|
831
|
+
self.sensor_ad_type == other.sensor_ad_type and
|
|
832
|
+
self.sensor_uuid_msb == other.sensor_uuid_msb and
|
|
833
|
+
self.sensor_uuid_lsb == other.sensor_uuid_lsb and
|
|
834
|
+
self.api_version == other.api_version and
|
|
835
|
+
self.is_scrambled == other.is_scrambled and
|
|
836
|
+
self.is_sensor_embedded == other.is_sensor_embedded and
|
|
837
|
+
self.is_sensor == other.is_sensor and
|
|
838
|
+
self.pkt_id == other.pkt_id
|
|
839
|
+
)
|
|
840
|
+
return False
|
|
841
|
+
|
|
842
|
+
def dump(self):
|
|
843
|
+
string = bitstruct.pack("u48u16u8u4u4u48u8u8u8u4u1u1u1u1u32", self.brg_mac, self.nfpkt, self.rssi, self.unused2, self.unused0, self.sensor_mac, self.sensor_ad_type, self.sensor_uuid_msb, self.sensor_uuid_lsb, self.api_version, self.unused1, self.is_scrambled, self.is_sensor_embedded, self.is_sensor, self.pkt_id)
|
|
844
|
+
return string.hex().upper()
|
|
845
|
+
|
|
846
|
+
def set(self, string):
|
|
847
|
+
d = bitstruct.unpack("u48u16u8u4u4u48u8u8u8u4u1u1u1u1u32", binascii.unhexlify(string))
|
|
848
|
+
self.brg_mac = d[0]
|
|
849
|
+
self.nfpkt = d[1]
|
|
850
|
+
self.rssi = d[2]
|
|
851
|
+
self.unused2 = d[3]
|
|
852
|
+
self.unused0 = d[4]
|
|
853
|
+
self.sensor_mac = d[5]
|
|
854
|
+
self.sensor_ad_type = d[6]
|
|
855
|
+
self.sensor_uuid_msb = d[7]
|
|
856
|
+
self.sensor_uuid_lsb = d[8]
|
|
857
|
+
self.api_version = d[9]
|
|
858
|
+
self.unused1 = d[10]
|
|
859
|
+
self.is_scrambled = d[11]
|
|
860
|
+
self.is_sensor_embedded = d[12]
|
|
861
|
+
self.is_sensor = d[13]
|
|
862
|
+
self.pkt_id = d[14]
|
|
863
|
+
|
|
864
|
+
class PktFilterStruct():
|
|
865
|
+
def __init__(self, raw='', unused=0, mask_enable=0, p3_pacing=0, p2_pacing=0, p1_pacing=0, p0_pacing=0):
|
|
866
|
+
self.unused = unused
|
|
867
|
+
self.mask_enable = mask_enable
|
|
868
|
+
self.p3_pacing = p3_pacing
|
|
869
|
+
self.p2_pacing = p2_pacing
|
|
870
|
+
self.p1_pacing = p1_pacing
|
|
871
|
+
self.p0_pacing = p0_pacing
|
|
872
|
+
if raw:
|
|
873
|
+
self.set(raw)
|
|
874
|
+
|
|
875
|
+
def __repr__(self) -> str:
|
|
876
|
+
return "\n==> Packet pkt_filter_struct <==\n" + tabulate.tabulate([['mask_enable', f"0x{self.mask_enable:X}", self.mask_enable, ""],['p3_pacing', f"0x{self.p3_pacing:X}", self.p3_pacing, ""],['p2_pacing', f"0x{self.p2_pacing:X}", self.p2_pacing, ""],['p1_pacing', f"0x{self.p1_pacing:X}", self.p1_pacing, ""],['p0_pacing', f"0x{self.p0_pacing:X}", self.p0_pacing, ""]], tablefmt="texttable")
|
|
877
|
+
|
|
878
|
+
def __eq__(self, other):
|
|
879
|
+
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
880
|
+
return (
|
|
881
|
+
self.mask_enable == other.mask_enable and
|
|
882
|
+
self.p3_pacing == other.p3_pacing and
|
|
883
|
+
self.p2_pacing == other.p2_pacing and
|
|
884
|
+
self.p1_pacing == other.p1_pacing and
|
|
885
|
+
self.p0_pacing == other.p0_pacing
|
|
886
|
+
)
|
|
887
|
+
return False
|
|
888
|
+
|
|
889
|
+
def dump(self):
|
|
890
|
+
string = bitstruct.pack("u3u1u1u1u1u1", self.unused, self.mask_enable, self.p3_pacing, self.p2_pacing, self.p1_pacing, self.p0_pacing)
|
|
891
|
+
return string.hex().upper()
|
|
892
|
+
|
|
893
|
+
def set(self, string):
|
|
894
|
+
d = bitstruct.unpack("u3u1u1u1u1u1", binascii.unhexlify(string))
|
|
895
|
+
self.unused = d[0]
|
|
896
|
+
self.mask_enable = d[1]
|
|
897
|
+
self.p3_pacing = d[2]
|
|
898
|
+
self.p2_pacing = d[3]
|
|
899
|
+
self.p1_pacing = d[4]
|
|
900
|
+
self.p0_pacing = d[5]
|
|
901
|
+
|
|
902
|
+
class EventTriggerFlags():
|
|
903
|
+
def __init__(self, raw='', unused=0, rssi_change=0, tx_rate_change=0, temp_change=0, new_tag=0):
|
|
904
|
+
self.unused = unused
|
|
905
|
+
self.rssi_change = rssi_change
|
|
906
|
+
self.tx_rate_change = tx_rate_change
|
|
907
|
+
self.temp_change = temp_change
|
|
908
|
+
self.new_tag = new_tag
|
|
909
|
+
if raw:
|
|
910
|
+
self.set(raw)
|
|
911
|
+
|
|
912
|
+
def __repr__(self) -> str:
|
|
913
|
+
return "\n==> Packet event_trigger_flags <==\n" + tabulate.tabulate([['rssi_change', f"0x{self.rssi_change:X}", self.rssi_change, ""],['tx_rate_change', f"0x{self.tx_rate_change:X}", self.tx_rate_change, ""],['temp_change', f"0x{self.temp_change:X}", self.temp_change, ""],['new_tag', f"0x{self.new_tag:X}", self.new_tag, ""]], tablefmt="texttable")
|
|
914
|
+
|
|
915
|
+
def __eq__(self, other):
|
|
916
|
+
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
917
|
+
return (
|
|
918
|
+
self.rssi_change == other.rssi_change and
|
|
919
|
+
self.tx_rate_change == other.tx_rate_change and
|
|
920
|
+
self.temp_change == other.temp_change and
|
|
921
|
+
self.new_tag == other.new_tag
|
|
922
|
+
)
|
|
923
|
+
return False
|
|
924
|
+
|
|
925
|
+
def dump(self):
|
|
926
|
+
string = bitstruct.pack("u4u1u1u1u1", self.unused, self.rssi_change, self.tx_rate_change, self.temp_change, self.new_tag)
|
|
927
|
+
return string.hex().upper()
|
|
928
|
+
|
|
929
|
+
def set(self, string):
|
|
930
|
+
d = bitstruct.unpack("u4u1u1u1u1", binascii.unhexlify(string))
|
|
931
|
+
self.unused = d[0]
|
|
932
|
+
self.rssi_change = d[1]
|
|
933
|
+
self.tx_rate_change = d[2]
|
|
934
|
+
self.temp_change = d[3]
|
|
935
|
+
self.new_tag = d[4]
|
|
936
|
+
|
|
937
|
+
class PwrMgmt():
|
|
938
|
+
def __init__(self, raw='', leds_on=PWR_MGMT_DEFAULTS_LEDS_ON, keep_alive_scan=PWR_MGMT_DEFAULTS_KEEP_ALIVE_SCAN, keep_alive_period=PWR_MGMT_DEFAULTS_KEEP_ALIVE_PERIOD, on_duration=PWR_MGMT_DEFAULTS_ON_DURATION, sleep_duration=PWR_MGMT_DEFAULTS_SLEEP_DURATION, unused=0):
|
|
939
|
+
self.leds_on = leds_on
|
|
940
|
+
self.keep_alive_scan = keep_alive_scan # 10 [msec] resolution
|
|
941
|
+
self.keep_alive_period = keep_alive_period # 5 [sec] resolution
|
|
942
|
+
self.on_duration = on_duration # 30 [sec] resolution
|
|
943
|
+
self.sleep_duration = sleep_duration # 60 [sec] resolution
|
|
944
|
+
self.unused = unused
|
|
945
|
+
if raw:
|
|
946
|
+
self.set(raw)
|
|
947
|
+
|
|
948
|
+
def __repr__(self) -> str:
|
|
949
|
+
return "\n==> Packet pwr_mgmt <==\n" + tabulate.tabulate([['leds_on', f"0x{self.leds_on:X}", self.leds_on, ""],['keep_alive_scan', f"0x{self.keep_alive_scan:X}", self.keep_alive_scan, ""],['keep_alive_period', f"0x{self.keep_alive_period:X}", self.keep_alive_period, ""],['on_duration', f"0x{self.on_duration:X}", self.on_duration, ""],['sleep_duration', f"0x{self.sleep_duration:X}", self.sleep_duration, ""]], tablefmt="texttable")
|
|
950
|
+
|
|
951
|
+
def __eq__(self, other):
|
|
952
|
+
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
953
|
+
return (
|
|
954
|
+
self.leds_on == other.leds_on and
|
|
955
|
+
self.keep_alive_scan == other.keep_alive_scan and
|
|
956
|
+
self.keep_alive_period == other.keep_alive_period and
|
|
957
|
+
self.on_duration == other.on_duration and
|
|
958
|
+
self.sleep_duration == other.sleep_duration
|
|
959
|
+
)
|
|
960
|
+
return False
|
|
961
|
+
|
|
962
|
+
def dump(self):
|
|
963
|
+
string = bitstruct.pack("u1u6u5u7u11u2", self.leds_on, self.keep_alive_scan, self.keep_alive_period, self.on_duration, self.sleep_duration, self.unused)
|
|
964
|
+
return string.hex().upper()
|
|
965
|
+
|
|
966
|
+
def set(self, string):
|
|
967
|
+
d = bitstruct.unpack("u1u6u5u7u11u2", binascii.unhexlify(string))
|
|
968
|
+
self.leds_on = d[0]
|
|
969
|
+
self.keep_alive_scan = d[1]
|
|
970
|
+
self.keep_alive_period = d[2]
|
|
971
|
+
self.on_duration = d[3]
|
|
972
|
+
self.sleep_duration = d[4]
|
|
973
|
+
self.unused = d[5]
|
|
974
|
+
|
|
975
|
+
class GenericV13():
|
|
976
|
+
def __init__(self, raw='', module_type=0, msg_type=0, api_version=API_VERSION_V13, seq_id=0, brg_mac=0, unused=0):
|
|
977
|
+
self.module_type = module_type
|
|
978
|
+
self.msg_type = msg_type
|
|
979
|
+
self.api_version = api_version
|
|
980
|
+
self.seq_id = seq_id
|
|
981
|
+
self.brg_mac = brg_mac
|
|
982
|
+
self.unused = unused
|
|
983
|
+
if raw:
|
|
984
|
+
self.set(raw)
|
|
985
|
+
|
|
986
|
+
def __repr__(self) -> str:
|
|
987
|
+
return "\n==> Packet generic_v13 <==\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, ""]], tablefmt="texttable")
|
|
988
|
+
|
|
989
|
+
def __eq__(self, other):
|
|
990
|
+
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
991
|
+
return (
|
|
992
|
+
self.module_type == other.module_type and
|
|
993
|
+
self.msg_type == other.msg_type and
|
|
994
|
+
self.api_version == other.api_version and
|
|
995
|
+
self.brg_mac == other.brg_mac
|
|
996
|
+
)
|
|
997
|
+
return False
|
|
998
|
+
|
|
999
|
+
def dump(self):
|
|
1000
|
+
string = bitstruct.pack("u4u4u8u8u48u120", self.module_type, self.msg_type, self.api_version, self.seq_id, self.brg_mac, self.unused)
|
|
1001
|
+
return string.hex().upper()
|
|
1002
|
+
|
|
1003
|
+
def set(self, string):
|
|
1004
|
+
d = bitstruct.unpack("u4u4u8u8u48u120", binascii.unhexlify(string))
|
|
1005
|
+
self.module_type = d[0]
|
|
1006
|
+
self.msg_type = d[1]
|
|
1007
|
+
self.api_version = d[2]
|
|
1008
|
+
self.seq_id = d[3]
|
|
1009
|
+
self.brg_mac = d[4]
|
|
1010
|
+
self.unused = d[5]
|
|
1011
|
+
|
|
545
1012
|
class GenericV12():
|
|
546
1013
|
def __init__(self, raw='', module_type=0, msg_type=0, api_version=API_VERSION_V12, seq_id=0, brg_mac=0, unused=0):
|
|
547
1014
|
self.module_type = module_type
|
|
@@ -554,7 +1021,7 @@ class GenericV12():
|
|
|
554
1021
|
self.set(raw)
|
|
555
1022
|
|
|
556
1023
|
def __repr__(self) -> str:
|
|
557
|
-
return "\n==> Packet generic_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]], tablefmt="texttable")
|
|
1024
|
+
return "\n==> Packet generic_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, ""]], tablefmt="texttable")
|
|
558
1025
|
|
|
559
1026
|
def __eq__(self, other):
|
|
560
1027
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -591,7 +1058,7 @@ class GenericV11():
|
|
|
591
1058
|
self.set(raw)
|
|
592
1059
|
|
|
593
1060
|
def __repr__(self) -> str:
|
|
594
|
-
return "\n==> Packet generic_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]], tablefmt="texttable")
|
|
1061
|
+
return "\n==> Packet generic_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, ""]], tablefmt="texttable")
|
|
595
1062
|
|
|
596
1063
|
def __eq__(self, other):
|
|
597
1064
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -628,7 +1095,7 @@ class GenericV10():
|
|
|
628
1095
|
self.set(raw)
|
|
629
1096
|
|
|
630
1097
|
def __repr__(self) -> str:
|
|
631
|
-
return "\n==> Packet generic_v10 <==\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]], tablefmt="texttable")
|
|
1098
|
+
return "\n==> Packet generic_v10 <==\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, ""]], tablefmt="texttable")
|
|
632
1099
|
|
|
633
1100
|
def __eq__(self, other):
|
|
634
1101
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -665,7 +1132,7 @@ class GenericV9():
|
|
|
665
1132
|
self.set(raw)
|
|
666
1133
|
|
|
667
1134
|
def __repr__(self) -> str:
|
|
668
|
-
return "\n==> Packet generic_v9 <==\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]], tablefmt="texttable")
|
|
1135
|
+
return "\n==> Packet generic_v9 <==\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, ""]], tablefmt="texttable")
|
|
669
1136
|
|
|
670
1137
|
def __eq__(self, other):
|
|
671
1138
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -702,7 +1169,7 @@ class GenericV8():
|
|
|
702
1169
|
self.set(raw)
|
|
703
1170
|
|
|
704
1171
|
def __repr__(self) -> str:
|
|
705
|
-
return "\n==> Packet generic_v8 <==\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]], tablefmt="texttable")
|
|
1172
|
+
return "\n==> Packet generic_v8 <==\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, ""]], tablefmt="texttable")
|
|
706
1173
|
|
|
707
1174
|
def __eq__(self, other):
|
|
708
1175
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -739,7 +1206,7 @@ class GenericV7():
|
|
|
739
1206
|
self.set(raw)
|
|
740
1207
|
|
|
741
1208
|
def __repr__(self) -> str:
|
|
742
|
-
return "\n==> Packet generic_v7 <==\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]], tablefmt="texttable")
|
|
1209
|
+
return "\n==> Packet generic_v7 <==\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, ""]], tablefmt="texttable")
|
|
743
1210
|
|
|
744
1211
|
def __eq__(self, other):
|
|
745
1212
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -776,7 +1243,7 @@ class GenericV1():
|
|
|
776
1243
|
self.set(raw)
|
|
777
1244
|
|
|
778
1245
|
def __repr__(self) -> str:
|
|
779
|
-
return "\n==> Packet generic_v1 <==\n" + tabulate.tabulate([['msg_type', f"0x{self.msg_type:X}", self.msg_type],['seq_id', f"0x{self.seq_id:X}", self.seq_id],['brg_mac', f"0x{self.brg_mac:X}", self.brg_mac]], tablefmt="texttable")
|
|
1246
|
+
return "\n==> Packet generic_v1 <==\n" + tabulate.tabulate([['msg_type', f"0x{self.msg_type:X}", self.msg_type, ""],['seq_id', f"0x{self.seq_id:X}", self.seq_id, ""],['brg_mac', f"0x{self.brg_mac:X}", self.brg_mac, ""]], tablefmt="texttable")
|
|
780
1247
|
|
|
781
1248
|
def __eq__(self, other):
|
|
782
1249
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -799,6 +1266,44 @@ class GenericV1():
|
|
|
799
1266
|
self.brg_mac = d[4]
|
|
800
1267
|
self.unused2 = d[5]
|
|
801
1268
|
|
|
1269
|
+
class ActionGenericV13():
|
|
1270
|
+
def __init__(self, raw='', msg_type=BRG_MGMT_MSG_TYPE_ACTION, api_version=API_VERSION_V13, seq_id=0, brg_mac=ACTION_EMPTY, action_id=0, action_params=0):
|
|
1271
|
+
self.msg_type = msg_type
|
|
1272
|
+
self.api_version = api_version
|
|
1273
|
+
self.seq_id = seq_id
|
|
1274
|
+
self.brg_mac = brg_mac
|
|
1275
|
+
self.action_id = action_id
|
|
1276
|
+
self.action_params = action_params
|
|
1277
|
+
if raw:
|
|
1278
|
+
self.set(raw)
|
|
1279
|
+
|
|
1280
|
+
def __repr__(self) -> str:
|
|
1281
|
+
return "\n==> Packet action_generic_v13 <==\n" + tabulate.tabulate([['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, ""],['action_id', f"0x{self.action_id:X}", self.action_id, ""],['action_params', f"0x{self.action_params:X}", self.action_params, ""]], tablefmt="texttable")
|
|
1282
|
+
|
|
1283
|
+
def __eq__(self, other):
|
|
1284
|
+
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
1285
|
+
return (
|
|
1286
|
+
self.msg_type == other.msg_type and
|
|
1287
|
+
self.api_version == other.api_version and
|
|
1288
|
+
self.brg_mac == other.brg_mac and
|
|
1289
|
+
self.action_id == other.action_id and
|
|
1290
|
+
self.action_params == other.action_params
|
|
1291
|
+
)
|
|
1292
|
+
return False
|
|
1293
|
+
|
|
1294
|
+
def dump(self):
|
|
1295
|
+
string = bitstruct.pack("u8u8u8u48u8u112", self.msg_type, self.api_version, self.seq_id, self.brg_mac, self.action_id, self.action_params)
|
|
1296
|
+
return string.hex().upper()
|
|
1297
|
+
|
|
1298
|
+
def set(self, string):
|
|
1299
|
+
d = bitstruct.unpack("u8u8u8u48u8u112", binascii.unhexlify(string))
|
|
1300
|
+
self.msg_type = d[0]
|
|
1301
|
+
self.api_version = d[1]
|
|
1302
|
+
self.seq_id = d[2]
|
|
1303
|
+
self.brg_mac = d[3]
|
|
1304
|
+
self.action_id = d[4]
|
|
1305
|
+
self.action_params = d[5]
|
|
1306
|
+
|
|
802
1307
|
class ActionGenericV12():
|
|
803
1308
|
def __init__(self, raw='', msg_type=BRG_MGMT_MSG_TYPE_ACTION, api_version=API_VERSION_V12, seq_id=0, brg_mac=ACTION_EMPTY, action_id=0, action_params=0):
|
|
804
1309
|
self.msg_type = msg_type
|
|
@@ -811,7 +1316,7 @@ class ActionGenericV12():
|
|
|
811
1316
|
self.set(raw)
|
|
812
1317
|
|
|
813
1318
|
def __repr__(self) -> str:
|
|
814
|
-
return "\n==> Packet action_generic_v12 <==\n" + tabulate.tabulate([['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],['action_id', f"0x{self.action_id:X}", self.action_id],['action_params', f"0x{self.action_params:X}", self.action_params]], tablefmt="texttable")
|
|
1319
|
+
return "\n==> Packet action_generic_v12 <==\n" + tabulate.tabulate([['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, ""],['action_id', f"0x{self.action_id:X}", self.action_id, ""],['action_params', f"0x{self.action_params:X}", self.action_params, ""]], tablefmt="texttable")
|
|
815
1320
|
|
|
816
1321
|
def __eq__(self, other):
|
|
817
1322
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -849,7 +1354,7 @@ class ActionGenericV11():
|
|
|
849
1354
|
self.set(raw)
|
|
850
1355
|
|
|
851
1356
|
def __repr__(self) -> str:
|
|
852
|
-
return "\n==> Packet action_generic_v11 <==\n" + tabulate.tabulate([['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],['action_id', f"0x{self.action_id:X}", self.action_id],['action_params', f"0x{self.action_params:X}", self.action_params]], tablefmt="texttable")
|
|
1357
|
+
return "\n==> Packet action_generic_v11 <==\n" + tabulate.tabulate([['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, ""],['action_id', f"0x{self.action_id:X}", self.action_id, ""],['action_params', f"0x{self.action_params:X}", self.action_params, ""]], tablefmt="texttable")
|
|
853
1358
|
|
|
854
1359
|
def __eq__(self, other):
|
|
855
1360
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -887,7 +1392,7 @@ class ActionGenericV10():
|
|
|
887
1392
|
self.set(raw)
|
|
888
1393
|
|
|
889
1394
|
def __repr__(self) -> str:
|
|
890
|
-
return "\n==> Packet action_generic_v10 <==\n" + tabulate.tabulate([['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],['action_id', f"0x{self.action_id:X}", self.action_id],['action_params', f"0x{self.action_params:X}", self.action_params]], tablefmt="texttable")
|
|
1395
|
+
return "\n==> Packet action_generic_v10 <==\n" + tabulate.tabulate([['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, ""],['action_id', f"0x{self.action_id:X}", self.action_id, ""],['action_params', f"0x{self.action_params:X}", self.action_params, ""]], tablefmt="texttable")
|
|
891
1396
|
|
|
892
1397
|
def __eq__(self, other):
|
|
893
1398
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -925,7 +1430,7 @@ class ActionGenericV9():
|
|
|
925
1430
|
self.set(raw)
|
|
926
1431
|
|
|
927
1432
|
def __repr__(self) -> str:
|
|
928
|
-
return "\n==> Packet action_generic_v9 <==\n" + tabulate.tabulate([['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],['action_id', f"0x{self.action_id:X}", self.action_id],['action_params', f"0x{self.action_params:X}", self.action_params]], tablefmt="texttable")
|
|
1433
|
+
return "\n==> Packet action_generic_v9 <==\n" + tabulate.tabulate([['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, ""],['action_id', f"0x{self.action_id:X}", self.action_id, ""],['action_params', f"0x{self.action_params:X}", self.action_params, ""]], tablefmt="texttable")
|
|
929
1434
|
|
|
930
1435
|
def __eq__(self, other):
|
|
931
1436
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -963,7 +1468,7 @@ class ActionGenericV8():
|
|
|
963
1468
|
self.set(raw)
|
|
964
1469
|
|
|
965
1470
|
def __repr__(self) -> str:
|
|
966
|
-
return "\n==> Packet action_generic_v8 <==\n" + tabulate.tabulate([['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],['action_id', f"0x{self.action_id:X}", self.action_id],['action_params', f"0x{self.action_params:X}", self.action_params]], tablefmt="texttable")
|
|
1471
|
+
return "\n==> Packet action_generic_v8 <==\n" + tabulate.tabulate([['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, ""],['action_id', f"0x{self.action_id:X}", self.action_id, ""],['action_params', f"0x{self.action_params:X}", self.action_params, ""]], tablefmt="texttable")
|
|
967
1472
|
|
|
968
1473
|
def __eq__(self, other):
|
|
969
1474
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -1001,7 +1506,7 @@ class ActionGenericV7():
|
|
|
1001
1506
|
self.set(raw)
|
|
1002
1507
|
|
|
1003
1508
|
def __repr__(self) -> str:
|
|
1004
|
-
return "\n==> Packet action_generic_v7 <==\n" + tabulate.tabulate([['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],['action_id', f"0x{self.action_id:X}", self.action_id],['action_params', f"0x{self.action_params:X}", self.action_params]], tablefmt="texttable")
|
|
1509
|
+
return "\n==> Packet action_generic_v7 <==\n" + tabulate.tabulate([['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, ""],['action_id', f"0x{self.action_id:X}", self.action_id, ""],['action_params', f"0x{self.action_params:X}", self.action_params, ""]], tablefmt="texttable")
|
|
1005
1510
|
|
|
1006
1511
|
def __eq__(self, other):
|
|
1007
1512
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -1027,6 +1532,47 @@ class ActionGenericV7():
|
|
|
1027
1532
|
self.action_id = d[4]
|
|
1028
1533
|
self.action_params = d[5]
|
|
1029
1534
|
|
|
1535
|
+
class ActionGwHbV13():
|
|
1536
|
+
def __init__(self, raw='', msg_type=BRG_MGMT_MSG_TYPE_ACTION, api_version=API_VERSION_V13, seq_id=0, brg_mac=ACTION_EMPTY, action_id=ACTION_GW_HB, gw_id=0, rssi=0):
|
|
1537
|
+
self.msg_type = msg_type
|
|
1538
|
+
self.api_version = api_version
|
|
1539
|
+
self.seq_id = seq_id
|
|
1540
|
+
self.brg_mac = brg_mac
|
|
1541
|
+
self.action_id = action_id
|
|
1542
|
+
self.gw_id = gw_id
|
|
1543
|
+
self.rssi = rssi
|
|
1544
|
+
if raw:
|
|
1545
|
+
self.set(raw)
|
|
1546
|
+
|
|
1547
|
+
def __repr__(self) -> str:
|
|
1548
|
+
return "\n==> Packet action_gw_hb_v13 <==\n" + tabulate.tabulate([['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, ""],['action_id', f"0x{self.action_id:X}", self.action_id, ""],['gw_id', f"0x{self.gw_id:X}", self.gw_id, ""],['rssi', f"0x{self.rssi:X}", self.rssi, ""]], tablefmt="texttable")
|
|
1549
|
+
|
|
1550
|
+
def __eq__(self, other):
|
|
1551
|
+
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
1552
|
+
return (
|
|
1553
|
+
self.msg_type == other.msg_type and
|
|
1554
|
+
self.api_version == other.api_version and
|
|
1555
|
+
self.brg_mac == other.brg_mac and
|
|
1556
|
+
self.action_id == other.action_id and
|
|
1557
|
+
self.gw_id == other.gw_id and
|
|
1558
|
+
self.rssi == other.rssi
|
|
1559
|
+
)
|
|
1560
|
+
return False
|
|
1561
|
+
|
|
1562
|
+
def dump(self):
|
|
1563
|
+
string = bitstruct.pack("u8u8u8u48u8u104u8", self.msg_type, self.api_version, self.seq_id, self.brg_mac, self.action_id, self.gw_id, self.rssi)
|
|
1564
|
+
return string.hex().upper()
|
|
1565
|
+
|
|
1566
|
+
def set(self, string):
|
|
1567
|
+
d = bitstruct.unpack("u8u8u8u48u8u104u8", binascii.unhexlify(string))
|
|
1568
|
+
self.msg_type = d[0]
|
|
1569
|
+
self.api_version = d[1]
|
|
1570
|
+
self.seq_id = d[2]
|
|
1571
|
+
self.brg_mac = d[3]
|
|
1572
|
+
self.action_id = d[4]
|
|
1573
|
+
self.gw_id = d[5]
|
|
1574
|
+
self.rssi = d[6]
|
|
1575
|
+
|
|
1030
1576
|
class ActionGwHbV12():
|
|
1031
1577
|
def __init__(self, raw='', msg_type=BRG_MGMT_MSG_TYPE_ACTION, api_version=API_VERSION_V12, seq_id=0, brg_mac=ACTION_EMPTY, action_id=ACTION_GW_HB, gw_id=0, rssi=0):
|
|
1032
1578
|
self.msg_type = msg_type
|
|
@@ -1040,7 +1586,48 @@ class ActionGwHbV12():
|
|
|
1040
1586
|
self.set(raw)
|
|
1041
1587
|
|
|
1042
1588
|
def __repr__(self) -> str:
|
|
1043
|
-
return "\n==> Packet action_gw_hb_v12 <==\n" + tabulate.tabulate([['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],['action_id', f"0x{self.action_id:X}", self.action_id],['gw_id', f"0x{self.gw_id:X}", self.gw_id],['rssi', f"0x{self.rssi:X}", self.rssi]], tablefmt="texttable")
|
|
1589
|
+
return "\n==> Packet action_gw_hb_v12 <==\n" + tabulate.tabulate([['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, ""],['action_id', f"0x{self.action_id:X}", self.action_id, ""],['gw_id', f"0x{self.gw_id:X}", self.gw_id, ""],['rssi', f"0x{self.rssi:X}", self.rssi, ""]], tablefmt="texttable")
|
|
1590
|
+
|
|
1591
|
+
def __eq__(self, other):
|
|
1592
|
+
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
1593
|
+
return (
|
|
1594
|
+
self.msg_type == other.msg_type and
|
|
1595
|
+
self.api_version == other.api_version and
|
|
1596
|
+
self.brg_mac == other.brg_mac and
|
|
1597
|
+
self.action_id == other.action_id and
|
|
1598
|
+
self.gw_id == other.gw_id and
|
|
1599
|
+
self.rssi == other.rssi
|
|
1600
|
+
)
|
|
1601
|
+
return False
|
|
1602
|
+
|
|
1603
|
+
def dump(self):
|
|
1604
|
+
string = bitstruct.pack("u8u8u8u48u8u104u8", self.msg_type, self.api_version, self.seq_id, self.brg_mac, self.action_id, self.gw_id, self.rssi)
|
|
1605
|
+
return string.hex().upper()
|
|
1606
|
+
|
|
1607
|
+
def set(self, string):
|
|
1608
|
+
d = bitstruct.unpack("u8u8u8u48u8u104u8", binascii.unhexlify(string))
|
|
1609
|
+
self.msg_type = d[0]
|
|
1610
|
+
self.api_version = d[1]
|
|
1611
|
+
self.seq_id = d[2]
|
|
1612
|
+
self.brg_mac = d[3]
|
|
1613
|
+
self.action_id = d[4]
|
|
1614
|
+
self.gw_id = d[5]
|
|
1615
|
+
self.rssi = d[6]
|
|
1616
|
+
|
|
1617
|
+
class ActionGwHbV11():
|
|
1618
|
+
def __init__(self, raw='', msg_type=BRG_MGMT_MSG_TYPE_ACTION, api_version=API_VERSION_V11, seq_id=0, brg_mac=ACTION_EMPTY, action_id=ACTION_GW_HB, gw_id=0, rssi=0):
|
|
1619
|
+
self.msg_type = msg_type
|
|
1620
|
+
self.api_version = api_version
|
|
1621
|
+
self.seq_id = seq_id
|
|
1622
|
+
self.brg_mac = brg_mac
|
|
1623
|
+
self.action_id = action_id
|
|
1624
|
+
self.gw_id = gw_id
|
|
1625
|
+
self.rssi = rssi
|
|
1626
|
+
if raw:
|
|
1627
|
+
self.set(raw)
|
|
1628
|
+
|
|
1629
|
+
def __repr__(self) -> str:
|
|
1630
|
+
return "\n==> Packet action_gw_hb_v11 <==\n" + tabulate.tabulate([['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, ""],['action_id', f"0x{self.action_id:X}", self.action_id, ""],['gw_id', f"0x{self.gw_id:X}", self.gw_id, ""],['rssi', f"0x{self.rssi:X}", self.rssi, ""]], tablefmt="texttable")
|
|
1044
1631
|
|
|
1045
1632
|
def __eq__(self, other):
|
|
1046
1633
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -1068,8 +1655,8 @@ class ActionGwHbV12():
|
|
|
1068
1655
|
self.gw_id = d[5]
|
|
1069
1656
|
self.rssi = d[6]
|
|
1070
1657
|
|
|
1071
|
-
class
|
|
1072
|
-
def __init__(self, raw='', msg_type=BRG_MGMT_MSG_TYPE_ACTION, api_version=
|
|
1658
|
+
class ActionGwHbV10():
|
|
1659
|
+
def __init__(self, raw='', msg_type=BRG_MGMT_MSG_TYPE_ACTION, api_version=API_VERSION_V10, seq_id=0, brg_mac=ACTION_EMPTY, action_id=ACTION_GW_HB, gw_id=0, rssi=0):
|
|
1073
1660
|
self.msg_type = msg_type
|
|
1074
1661
|
self.api_version = api_version
|
|
1075
1662
|
self.seq_id = seq_id
|
|
@@ -1081,7 +1668,7 @@ class ActionGwHbV11():
|
|
|
1081
1668
|
self.set(raw)
|
|
1082
1669
|
|
|
1083
1670
|
def __repr__(self) -> str:
|
|
1084
|
-
return "\n==> Packet
|
|
1671
|
+
return "\n==> Packet action_gw_hb_v10 <==\n" + tabulate.tabulate([['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, ""],['action_id', f"0x{self.action_id:X}", self.action_id, ""],['gw_id', f"0x{self.gw_id:X}", self.gw_id, ""],['rssi', f"0x{self.rssi:X}", self.rssi, ""]], tablefmt="texttable")
|
|
1085
1672
|
|
|
1086
1673
|
def __eq__(self, other):
|
|
1087
1674
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -1109,8 +1696,8 @@ class ActionGwHbV11():
|
|
|
1109
1696
|
self.gw_id = d[5]
|
|
1110
1697
|
self.rssi = d[6]
|
|
1111
1698
|
|
|
1112
|
-
class
|
|
1113
|
-
def __init__(self, raw='', msg_type=BRG_MGMT_MSG_TYPE_ACTION, api_version=
|
|
1699
|
+
class ActionGwHbV9():
|
|
1700
|
+
def __init__(self, raw='', msg_type=BRG_MGMT_MSG_TYPE_ACTION, api_version=API_VERSION_V9, seq_id=0, brg_mac=ACTION_EMPTY, action_id=ACTION_GW_HB, gw_id=0, rssi=0):
|
|
1114
1701
|
self.msg_type = msg_type
|
|
1115
1702
|
self.api_version = api_version
|
|
1116
1703
|
self.seq_id = seq_id
|
|
@@ -1122,7 +1709,7 @@ class ActionGwHbV10():
|
|
|
1122
1709
|
self.set(raw)
|
|
1123
1710
|
|
|
1124
1711
|
def __repr__(self) -> str:
|
|
1125
|
-
return "\n==> Packet
|
|
1712
|
+
return "\n==> Packet action_gw_hb_v9 <==\n" + tabulate.tabulate([['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, ""],['action_id', f"0x{self.action_id:X}", self.action_id, ""],['gw_id', f"0x{self.gw_id:X}", self.gw_id, ""],['rssi', f"0x{self.rssi:X}", self.rssi, ""]], tablefmt="texttable")
|
|
1126
1713
|
|
|
1127
1714
|
def __eq__(self, other):
|
|
1128
1715
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -1150,8 +1737,8 @@ class ActionGwHbV10():
|
|
|
1150
1737
|
self.gw_id = d[5]
|
|
1151
1738
|
self.rssi = d[6]
|
|
1152
1739
|
|
|
1153
|
-
class
|
|
1154
|
-
def __init__(self, raw='', msg_type=BRG_MGMT_MSG_TYPE_ACTION, api_version=
|
|
1740
|
+
class ActionGwHbV8():
|
|
1741
|
+
def __init__(self, raw='', msg_type=BRG_MGMT_MSG_TYPE_ACTION, api_version=API_VERSION_V8, seq_id=0, brg_mac=ACTION_EMPTY, action_id=ACTION_GW_HB, gw_id=0, rssi=0):
|
|
1155
1742
|
self.msg_type = msg_type
|
|
1156
1743
|
self.api_version = api_version
|
|
1157
1744
|
self.seq_id = seq_id
|
|
@@ -1163,7 +1750,7 @@ class ActionGwHbV9():
|
|
|
1163
1750
|
self.set(raw)
|
|
1164
1751
|
|
|
1165
1752
|
def __repr__(self) -> str:
|
|
1166
|
-
return "\n==> Packet
|
|
1753
|
+
return "\n==> Packet action_gw_hb_v8 <==\n" + tabulate.tabulate([['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, ""],['action_id', f"0x{self.action_id:X}", self.action_id, ""],['gw_id', f"0x{self.gw_id:X}", self.gw_id, ""],['rssi', f"0x{self.rssi:X}", self.rssi, ""]], tablefmt="texttable")
|
|
1167
1754
|
|
|
1168
1755
|
def __eq__(self, other):
|
|
1169
1756
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -1191,20 +1778,19 @@ class ActionGwHbV9():
|
|
|
1191
1778
|
self.gw_id = d[5]
|
|
1192
1779
|
self.rssi = d[6]
|
|
1193
1780
|
|
|
1194
|
-
class
|
|
1195
|
-
def __init__(self, raw='', msg_type=BRG_MGMT_MSG_TYPE_ACTION, api_version=
|
|
1781
|
+
class ActionRebootV13():
|
|
1782
|
+
def __init__(self, raw='', msg_type=BRG_MGMT_MSG_TYPE_ACTION, api_version=API_VERSION_V13, seq_id=0, brg_mac=ACTION_EMPTY, action_id=ACTION_REBOOT, gw_id=0):
|
|
1196
1783
|
self.msg_type = msg_type
|
|
1197
1784
|
self.api_version = api_version
|
|
1198
1785
|
self.seq_id = seq_id
|
|
1199
1786
|
self.brg_mac = brg_mac
|
|
1200
1787
|
self.action_id = action_id
|
|
1201
1788
|
self.gw_id = gw_id
|
|
1202
|
-
self.rssi = rssi
|
|
1203
1789
|
if raw:
|
|
1204
1790
|
self.set(raw)
|
|
1205
1791
|
|
|
1206
1792
|
def __repr__(self) -> str:
|
|
1207
|
-
return "\n==> Packet
|
|
1793
|
+
return "\n==> Packet action_reboot_v13 <==\n" + tabulate.tabulate([['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, ""],['action_id', f"0x{self.action_id:X}", self.action_id, ""],['gw_id', f"0x{self.gw_id:X}", self.gw_id, ""]], tablefmt="texttable")
|
|
1208
1794
|
|
|
1209
1795
|
def __eq__(self, other):
|
|
1210
1796
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -1213,24 +1799,22 @@ class ActionGwHbV8():
|
|
|
1213
1799
|
self.api_version == other.api_version and
|
|
1214
1800
|
self.brg_mac == other.brg_mac and
|
|
1215
1801
|
self.action_id == other.action_id and
|
|
1216
|
-
self.gw_id == other.gw_id
|
|
1217
|
-
self.rssi == other.rssi
|
|
1802
|
+
self.gw_id == other.gw_id
|
|
1218
1803
|
)
|
|
1219
1804
|
return False
|
|
1220
1805
|
|
|
1221
1806
|
def dump(self):
|
|
1222
|
-
string = bitstruct.pack("
|
|
1807
|
+
string = bitstruct.pack("u8u8u8u48u8u112", self.msg_type, self.api_version, self.seq_id, self.brg_mac, self.action_id, self.gw_id)
|
|
1223
1808
|
return string.hex().upper()
|
|
1224
1809
|
|
|
1225
1810
|
def set(self, string):
|
|
1226
|
-
d = bitstruct.unpack("
|
|
1811
|
+
d = bitstruct.unpack("u8u8u8u48u8u112", binascii.unhexlify(string))
|
|
1227
1812
|
self.msg_type = d[0]
|
|
1228
1813
|
self.api_version = d[1]
|
|
1229
1814
|
self.seq_id = d[2]
|
|
1230
1815
|
self.brg_mac = d[3]
|
|
1231
1816
|
self.action_id = d[4]
|
|
1232
1817
|
self.gw_id = d[5]
|
|
1233
|
-
self.rssi = d[6]
|
|
1234
1818
|
|
|
1235
1819
|
class ActionRebootV12():
|
|
1236
1820
|
def __init__(self, raw='', msg_type=BRG_MGMT_MSG_TYPE_ACTION, api_version=API_VERSION_V12, seq_id=0, brg_mac=ACTION_EMPTY, action_id=ACTION_REBOOT, gw_id=0):
|
|
@@ -1244,7 +1828,7 @@ class ActionRebootV12():
|
|
|
1244
1828
|
self.set(raw)
|
|
1245
1829
|
|
|
1246
1830
|
def __repr__(self) -> str:
|
|
1247
|
-
return "\n==> Packet action_reboot_v12 <==\n" + tabulate.tabulate([['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],['action_id', f"0x{self.action_id:X}", self.action_id],['gw_id', f"0x{self.gw_id:X}", self.gw_id]], tablefmt="texttable")
|
|
1831
|
+
return "\n==> Packet action_reboot_v12 <==\n" + tabulate.tabulate([['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, ""],['action_id', f"0x{self.action_id:X}", self.action_id, ""],['gw_id', f"0x{self.gw_id:X}", self.gw_id, ""]], tablefmt="texttable")
|
|
1248
1832
|
|
|
1249
1833
|
def __eq__(self, other):
|
|
1250
1834
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -1282,7 +1866,7 @@ class ActionRebootV11():
|
|
|
1282
1866
|
self.set(raw)
|
|
1283
1867
|
|
|
1284
1868
|
def __repr__(self) -> str:
|
|
1285
|
-
return "\n==> Packet action_reboot_v11 <==\n" + tabulate.tabulate([['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],['action_id', f"0x{self.action_id:X}", self.action_id],['gw_id', f"0x{self.gw_id:X}", self.gw_id]], tablefmt="texttable")
|
|
1869
|
+
return "\n==> Packet action_reboot_v11 <==\n" + tabulate.tabulate([['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, ""],['action_id', f"0x{self.action_id:X}", self.action_id, ""],['gw_id', f"0x{self.gw_id:X}", self.gw_id, ""]], tablefmt="texttable")
|
|
1286
1870
|
|
|
1287
1871
|
def __eq__(self, other):
|
|
1288
1872
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -1320,7 +1904,7 @@ class ActionRebootV10():
|
|
|
1320
1904
|
self.set(raw)
|
|
1321
1905
|
|
|
1322
1906
|
def __repr__(self) -> str:
|
|
1323
|
-
return "\n==> Packet action_reboot_v10 <==\n" + tabulate.tabulate([['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],['action_id', f"0x{self.action_id:X}", self.action_id],['gw_id', f"0x{self.gw_id:X}", self.gw_id]], tablefmt="texttable")
|
|
1907
|
+
return "\n==> Packet action_reboot_v10 <==\n" + tabulate.tabulate([['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, ""],['action_id', f"0x{self.action_id:X}", self.action_id, ""],['gw_id', f"0x{self.gw_id:X}", self.gw_id, ""]], tablefmt="texttable")
|
|
1324
1908
|
|
|
1325
1909
|
def __eq__(self, other):
|
|
1326
1910
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -1358,7 +1942,7 @@ class ActionRebootV9():
|
|
|
1358
1942
|
self.set(raw)
|
|
1359
1943
|
|
|
1360
1944
|
def __repr__(self) -> str:
|
|
1361
|
-
return "\n==> Packet action_reboot_v9 <==\n" + tabulate.tabulate([['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],['action_id', f"0x{self.action_id:X}", self.action_id],['gw_id', f"0x{self.gw_id:X}", self.gw_id]], tablefmt="texttable")
|
|
1945
|
+
return "\n==> Packet action_reboot_v9 <==\n" + tabulate.tabulate([['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, ""],['action_id', f"0x{self.action_id:X}", self.action_id, ""],['gw_id', f"0x{self.gw_id:X}", self.gw_id, ""]], tablefmt="texttable")
|
|
1362
1946
|
|
|
1363
1947
|
def __eq__(self, other):
|
|
1364
1948
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -1396,7 +1980,7 @@ class ActionRebootV8():
|
|
|
1396
1980
|
self.set(raw)
|
|
1397
1981
|
|
|
1398
1982
|
def __repr__(self) -> str:
|
|
1399
|
-
return "\n==> Packet action_reboot_v8 <==\n" + tabulate.tabulate([['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],['action_id', f"0x{self.action_id:X}", self.action_id],['gw_id', f"0x{self.gw_id:X}", self.gw_id]], tablefmt="texttable")
|
|
1983
|
+
return "\n==> Packet action_reboot_v8 <==\n" + tabulate.tabulate([['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, ""],['action_id', f"0x{self.action_id:X}", self.action_id, ""],['gw_id', f"0x{self.gw_id:X}", self.gw_id, ""]], tablefmt="texttable")
|
|
1400
1984
|
|
|
1401
1985
|
def __eq__(self, other):
|
|
1402
1986
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -1422,6 +2006,43 @@ class ActionRebootV8():
|
|
|
1422
2006
|
self.action_id = d[4]
|
|
1423
2007
|
self.gw_id = d[5]
|
|
1424
2008
|
|
|
2009
|
+
class ActionBlinkV13():
|
|
2010
|
+
def __init__(self, raw='', msg_type=BRG_MGMT_MSG_TYPE_ACTION, api_version=API_VERSION_V13, seq_id=0, brg_mac=ACTION_EMPTY, action_id=ACTION_BLINK, unused0=0):
|
|
2011
|
+
self.msg_type = msg_type
|
|
2012
|
+
self.api_version = api_version
|
|
2013
|
+
self.seq_id = seq_id
|
|
2014
|
+
self.brg_mac = brg_mac
|
|
2015
|
+
self.action_id = action_id
|
|
2016
|
+
self.unused0 = unused0
|
|
2017
|
+
if raw:
|
|
2018
|
+
self.set(raw)
|
|
2019
|
+
|
|
2020
|
+
def __repr__(self) -> str:
|
|
2021
|
+
return "\n==> Packet action_blink_v13 <==\n" + tabulate.tabulate([['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, ""],['action_id', f"0x{self.action_id:X}", self.action_id, ""]], tablefmt="texttable")
|
|
2022
|
+
|
|
2023
|
+
def __eq__(self, other):
|
|
2024
|
+
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
2025
|
+
return (
|
|
2026
|
+
self.msg_type == other.msg_type and
|
|
2027
|
+
self.api_version == other.api_version and
|
|
2028
|
+
self.brg_mac == other.brg_mac and
|
|
2029
|
+
self.action_id == other.action_id
|
|
2030
|
+
)
|
|
2031
|
+
return False
|
|
2032
|
+
|
|
2033
|
+
def dump(self):
|
|
2034
|
+
string = bitstruct.pack("u8u8u8u48u8u112", self.msg_type, self.api_version, self.seq_id, self.brg_mac, self.action_id, self.unused0)
|
|
2035
|
+
return string.hex().upper()
|
|
2036
|
+
|
|
2037
|
+
def set(self, string):
|
|
2038
|
+
d = bitstruct.unpack("u8u8u8u48u8u112", binascii.unhexlify(string))
|
|
2039
|
+
self.msg_type = d[0]
|
|
2040
|
+
self.api_version = d[1]
|
|
2041
|
+
self.seq_id = d[2]
|
|
2042
|
+
self.brg_mac = d[3]
|
|
2043
|
+
self.action_id = d[4]
|
|
2044
|
+
self.unused0 = d[5]
|
|
2045
|
+
|
|
1425
2046
|
class ActionBlinkV12():
|
|
1426
2047
|
def __init__(self, raw='', msg_type=BRG_MGMT_MSG_TYPE_ACTION, api_version=API_VERSION_V12, seq_id=0, brg_mac=ACTION_EMPTY, action_id=ACTION_BLINK, unused0=0):
|
|
1427
2048
|
self.msg_type = msg_type
|
|
@@ -1434,7 +2055,7 @@ class ActionBlinkV12():
|
|
|
1434
2055
|
self.set(raw)
|
|
1435
2056
|
|
|
1436
2057
|
def __repr__(self) -> str:
|
|
1437
|
-
return "\n==> Packet action_blink_v12 <==\n" + tabulate.tabulate([['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],['action_id', f"0x{self.action_id:X}", self.action_id]], tablefmt="texttable")
|
|
2058
|
+
return "\n==> Packet action_blink_v12 <==\n" + tabulate.tabulate([['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, ""],['action_id', f"0x{self.action_id:X}", self.action_id, ""]], tablefmt="texttable")
|
|
1438
2059
|
|
|
1439
2060
|
def __eq__(self, other):
|
|
1440
2061
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -1471,7 +2092,7 @@ class ActionBlinkV11():
|
|
|
1471
2092
|
self.set(raw)
|
|
1472
2093
|
|
|
1473
2094
|
def __repr__(self) -> str:
|
|
1474
|
-
return "\n==> Packet action_blink_v11 <==\n" + tabulate.tabulate([['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],['action_id', f"0x{self.action_id:X}", self.action_id]], tablefmt="texttable")
|
|
2095
|
+
return "\n==> Packet action_blink_v11 <==\n" + tabulate.tabulate([['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, ""],['action_id', f"0x{self.action_id:X}", self.action_id, ""]], tablefmt="texttable")
|
|
1475
2096
|
|
|
1476
2097
|
def __eq__(self, other):
|
|
1477
2098
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -1508,7 +2129,7 @@ class ActionBlinkV10():
|
|
|
1508
2129
|
self.set(raw)
|
|
1509
2130
|
|
|
1510
2131
|
def __repr__(self) -> str:
|
|
1511
|
-
return "\n==> Packet action_blink_v10 <==\n" + tabulate.tabulate([['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],['action_id', f"0x{self.action_id:X}", self.action_id]], tablefmt="texttable")
|
|
2132
|
+
return "\n==> Packet action_blink_v10 <==\n" + tabulate.tabulate([['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, ""],['action_id', f"0x{self.action_id:X}", self.action_id, ""]], tablefmt="texttable")
|
|
1512
2133
|
|
|
1513
2134
|
def __eq__(self, other):
|
|
1514
2135
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -1545,7 +2166,7 @@ class ActionBlinkV9():
|
|
|
1545
2166
|
self.set(raw)
|
|
1546
2167
|
|
|
1547
2168
|
def __repr__(self) -> str:
|
|
1548
|
-
return "\n==> Packet action_blink_v9 <==\n" + tabulate.tabulate([['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],['action_id', f"0x{self.action_id:X}", self.action_id]], tablefmt="texttable")
|
|
2169
|
+
return "\n==> Packet action_blink_v9 <==\n" + tabulate.tabulate([['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, ""],['action_id', f"0x{self.action_id:X}", self.action_id, ""]], tablefmt="texttable")
|
|
1549
2170
|
|
|
1550
2171
|
def __eq__(self, other):
|
|
1551
2172
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -1582,7 +2203,7 @@ class ActionBlinkV8():
|
|
|
1582
2203
|
self.set(raw)
|
|
1583
2204
|
|
|
1584
2205
|
def __repr__(self) -> str:
|
|
1585
|
-
return "\n==> Packet action_blink_v8 <==\n" + tabulate.tabulate([['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],['action_id', f"0x{self.action_id:X}", self.action_id]], tablefmt="texttable")
|
|
2206
|
+
return "\n==> Packet action_blink_v8 <==\n" + tabulate.tabulate([['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, ""],['action_id', f"0x{self.action_id:X}", self.action_id, ""]], tablefmt="texttable")
|
|
1586
2207
|
|
|
1587
2208
|
def __eq__(self, other):
|
|
1588
2209
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -1607,6 +2228,67 @@ class ActionBlinkV8():
|
|
|
1607
2228
|
self.action_id = d[4]
|
|
1608
2229
|
self.unused0 = d[5]
|
|
1609
2230
|
|
|
2231
|
+
class ActionGetModuleV13():
|
|
2232
|
+
def __init__(self, raw='', msg_type=BRG_MGMT_MSG_TYPE_ACTION, api_version=API_VERSION_V13, seq_id=0, brg_mac=ACTION_EMPTY, action_id=ACTION_GET_MODULE, interface=0, datapath=0, energy2400=0, energy_sub1g=0, calibration=0, pwr_mgmt=0, ext_sensors=0, custom=0, unused0=0):
|
|
2233
|
+
self.msg_type = msg_type
|
|
2234
|
+
self.api_version = api_version
|
|
2235
|
+
self.seq_id = seq_id
|
|
2236
|
+
self.brg_mac = brg_mac
|
|
2237
|
+
self.action_id = action_id
|
|
2238
|
+
self.interface = interface
|
|
2239
|
+
self.datapath = datapath
|
|
2240
|
+
self.energy2400 = energy2400
|
|
2241
|
+
self.energy_sub1g = energy_sub1g
|
|
2242
|
+
self.calibration = calibration
|
|
2243
|
+
self.pwr_mgmt = pwr_mgmt
|
|
2244
|
+
self.ext_sensors = ext_sensors
|
|
2245
|
+
self.custom = custom
|
|
2246
|
+
self.unused0 = unused0
|
|
2247
|
+
if raw:
|
|
2248
|
+
self.set(raw)
|
|
2249
|
+
|
|
2250
|
+
def __repr__(self) -> str:
|
|
2251
|
+
return "\n==> Packet action_get_module_v13 <==\n" + tabulate.tabulate([['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, ""],['action_id', f"0x{self.action_id:X}", self.action_id, ""],['interface', f"0x{self.interface:X}", self.interface, ""],['datapath', f"0x{self.datapath:X}", self.datapath, ""],['energy2400', f"0x{self.energy2400:X}", self.energy2400, ""],['energy_sub1g', f"0x{self.energy_sub1g:X}", self.energy_sub1g, ""],['calibration', f"0x{self.calibration:X}", self.calibration, ""],['pwr_mgmt', f"0x{self.pwr_mgmt:X}", self.pwr_mgmt, ""],['ext_sensors', f"0x{self.ext_sensors:X}", self.ext_sensors, ""],['custom', f"0x{self.custom:X}", self.custom, ""]], tablefmt="texttable")
|
|
2252
|
+
|
|
2253
|
+
def __eq__(self, other):
|
|
2254
|
+
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
2255
|
+
return (
|
|
2256
|
+
self.msg_type == other.msg_type and
|
|
2257
|
+
self.api_version == other.api_version and
|
|
2258
|
+
self.brg_mac == other.brg_mac and
|
|
2259
|
+
self.action_id == other.action_id and
|
|
2260
|
+
self.interface == other.interface and
|
|
2261
|
+
self.datapath == other.datapath and
|
|
2262
|
+
self.energy2400 == other.energy2400 and
|
|
2263
|
+
self.energy_sub1g == other.energy_sub1g and
|
|
2264
|
+
self.calibration == other.calibration and
|
|
2265
|
+
self.pwr_mgmt == other.pwr_mgmt and
|
|
2266
|
+
self.ext_sensors == other.ext_sensors and
|
|
2267
|
+
self.custom == other.custom
|
|
2268
|
+
)
|
|
2269
|
+
return False
|
|
2270
|
+
|
|
2271
|
+
def dump(self):
|
|
2272
|
+
string = bitstruct.pack("u8u8u8u48u8u1u1u1u1u1u1u1u1u104", self.msg_type, self.api_version, self.seq_id, self.brg_mac, self.action_id, self.interface, self.datapath, self.energy2400, self.energy_sub1g, self.calibration, self.pwr_mgmt, self.ext_sensors, self.custom, self.unused0)
|
|
2273
|
+
return string.hex().upper()
|
|
2274
|
+
|
|
2275
|
+
def set(self, string):
|
|
2276
|
+
d = bitstruct.unpack("u8u8u8u48u8u1u1u1u1u1u1u1u1u104", binascii.unhexlify(string))
|
|
2277
|
+
self.msg_type = d[0]
|
|
2278
|
+
self.api_version = d[1]
|
|
2279
|
+
self.seq_id = d[2]
|
|
2280
|
+
self.brg_mac = d[3]
|
|
2281
|
+
self.action_id = d[4]
|
|
2282
|
+
self.interface = d[5]
|
|
2283
|
+
self.datapath = d[6]
|
|
2284
|
+
self.energy2400 = d[7]
|
|
2285
|
+
self.energy_sub1g = d[8]
|
|
2286
|
+
self.calibration = d[9]
|
|
2287
|
+
self.pwr_mgmt = d[10]
|
|
2288
|
+
self.ext_sensors = d[11]
|
|
2289
|
+
self.custom = d[12]
|
|
2290
|
+
self.unused0 = d[13]
|
|
2291
|
+
|
|
1610
2292
|
class ActionGetModuleV12():
|
|
1611
2293
|
def __init__(self, raw='', msg_type=BRG_MGMT_MSG_TYPE_ACTION, api_version=API_VERSION_V12, seq_id=0, brg_mac=ACTION_EMPTY, action_id=ACTION_GET_MODULE, interface=0, datapath=0, energy2400=0, energy_sub1g=0, calibration=0, pwr_mgmt=0, ext_sensors=0, custom=0, unused0=0):
|
|
1612
2294
|
self.msg_type = msg_type
|
|
@@ -1627,7 +2309,7 @@ class ActionGetModuleV12():
|
|
|
1627
2309
|
self.set(raw)
|
|
1628
2310
|
|
|
1629
2311
|
def __repr__(self) -> str:
|
|
1630
|
-
return "\n==> Packet action_get_module_v12 <==\n" + tabulate.tabulate([['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],['action_id', f"0x{self.action_id:X}", self.action_id],['interface', f"0x{self.interface:X}", self.interface],['datapath', f"0x{self.datapath:X}", self.datapath],['energy2400', f"0x{self.energy2400:X}", self.energy2400],['energy_sub1g', f"0x{self.energy_sub1g:X}", self.energy_sub1g],['calibration', f"0x{self.calibration:X}", self.calibration],['pwr_mgmt', f"0x{self.pwr_mgmt:X}", self.pwr_mgmt],['ext_sensors', f"0x{self.ext_sensors:X}", self.ext_sensors],['custom', f"0x{self.custom:X}", self.custom]], tablefmt="texttable")
|
|
2312
|
+
return "\n==> Packet action_get_module_v12 <==\n" + tabulate.tabulate([['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, ""],['action_id', f"0x{self.action_id:X}", self.action_id, ""],['interface', f"0x{self.interface:X}", self.interface, ""],['datapath', f"0x{self.datapath:X}", self.datapath, ""],['energy2400', f"0x{self.energy2400:X}", self.energy2400, ""],['energy_sub1g', f"0x{self.energy_sub1g:X}", self.energy_sub1g, ""],['calibration', f"0x{self.calibration:X}", self.calibration, ""],['pwr_mgmt', f"0x{self.pwr_mgmt:X}", self.pwr_mgmt, ""],['ext_sensors', f"0x{self.ext_sensors:X}", self.ext_sensors, ""],['custom', f"0x{self.custom:X}", self.custom, ""]], tablefmt="texttable")
|
|
1631
2313
|
|
|
1632
2314
|
def __eq__(self, other):
|
|
1633
2315
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -1688,7 +2370,7 @@ class ActionGetModuleV11():
|
|
|
1688
2370
|
self.set(raw)
|
|
1689
2371
|
|
|
1690
2372
|
def __repr__(self) -> str:
|
|
1691
|
-
return "\n==> Packet action_get_module_v11 <==\n" + tabulate.tabulate([['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],['action_id', f"0x{self.action_id:X}", self.action_id],['interface', f"0x{self.interface:X}", self.interface],['datapath', f"0x{self.datapath:X}", self.datapath],['energy2400', f"0x{self.energy2400:X}", self.energy2400],['energy_sub1g', f"0x{self.energy_sub1g:X}", self.energy_sub1g],['calibration', f"0x{self.calibration:X}", self.calibration],['pwr_mgmt', f"0x{self.pwr_mgmt:X}", self.pwr_mgmt],['ext_sensors', f"0x{self.ext_sensors:X}", self.ext_sensors],['custom', f"0x{self.custom:X}", self.custom]], tablefmt="texttable")
|
|
2373
|
+
return "\n==> Packet action_get_module_v11 <==\n" + tabulate.tabulate([['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, ""],['action_id', f"0x{self.action_id:X}", self.action_id, ""],['interface', f"0x{self.interface:X}", self.interface, ""],['datapath', f"0x{self.datapath:X}", self.datapath, ""],['energy2400', f"0x{self.energy2400:X}", self.energy2400, ""],['energy_sub1g', f"0x{self.energy_sub1g:X}", self.energy_sub1g, ""],['calibration', f"0x{self.calibration:X}", self.calibration, ""],['pwr_mgmt', f"0x{self.pwr_mgmt:X}", self.pwr_mgmt, ""],['ext_sensors', f"0x{self.ext_sensors:X}", self.ext_sensors, ""],['custom', f"0x{self.custom:X}", self.custom, ""]], tablefmt="texttable")
|
|
1692
2374
|
|
|
1693
2375
|
def __eq__(self, other):
|
|
1694
2376
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -1749,7 +2431,7 @@ class ActionGetModuleV10():
|
|
|
1749
2431
|
self.set(raw)
|
|
1750
2432
|
|
|
1751
2433
|
def __repr__(self) -> str:
|
|
1752
|
-
return "\n==> Packet action_get_module_v10 <==\n" + tabulate.tabulate([['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],['action_id', f"0x{self.action_id:X}", self.action_id],['interface', f"0x{self.interface:X}", self.interface],['datapath', f"0x{self.datapath:X}", self.datapath],['energy2400', f"0x{self.energy2400:X}", self.energy2400],['energy_sub1g', f"0x{self.energy_sub1g:X}", self.energy_sub1g],['calibration', f"0x{self.calibration:X}", self.calibration],['pwr_mgmt', f"0x{self.pwr_mgmt:X}", self.pwr_mgmt],['ext_sensors', f"0x{self.ext_sensors:X}", self.ext_sensors],['custom', f"0x{self.custom:X}", self.custom]], tablefmt="texttable")
|
|
2434
|
+
return "\n==> Packet action_get_module_v10 <==\n" + tabulate.tabulate([['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, ""],['action_id', f"0x{self.action_id:X}", self.action_id, ""],['interface', f"0x{self.interface:X}", self.interface, ""],['datapath', f"0x{self.datapath:X}", self.datapath, ""],['energy2400', f"0x{self.energy2400:X}", self.energy2400, ""],['energy_sub1g', f"0x{self.energy_sub1g:X}", self.energy_sub1g, ""],['calibration', f"0x{self.calibration:X}", self.calibration, ""],['pwr_mgmt', f"0x{self.pwr_mgmt:X}", self.pwr_mgmt, ""],['ext_sensors', f"0x{self.ext_sensors:X}", self.ext_sensors, ""],['custom', f"0x{self.custom:X}", self.custom, ""]], tablefmt="texttable")
|
|
1753
2435
|
|
|
1754
2436
|
def __eq__(self, other):
|
|
1755
2437
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -1810,7 +2492,158 @@ class ActionGetModuleV9():
|
|
|
1810
2492
|
self.set(raw)
|
|
1811
2493
|
|
|
1812
2494
|
def __repr__(self) -> str:
|
|
1813
|
-
return "\n==> Packet action_get_module_v9 <==\n" + tabulate.tabulate([['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],['action_id', f"0x{self.action_id:X}", self.action_id],['interface', f"0x{self.interface:X}", self.interface],['datapath', f"0x{self.datapath:X}", self.datapath],['energy2400', f"0x{self.energy2400:X}", self.energy2400],['energy_sub1g', f"0x{self.energy_sub1g:X}", self.energy_sub1g],['calibration', f"0x{self.calibration:X}", self.calibration],['pwr_mgmt', f"0x{self.pwr_mgmt:X}", self.pwr_mgmt],['ext_sensors', f"0x{self.ext_sensors:X}", self.ext_sensors],['custom', f"0x{self.custom:X}", self.custom]], tablefmt="texttable")
|
|
2495
|
+
return "\n==> Packet action_get_module_v9 <==\n" + tabulate.tabulate([['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, ""],['action_id', f"0x{self.action_id:X}", self.action_id, ""],['interface', f"0x{self.interface:X}", self.interface, ""],['datapath', f"0x{self.datapath:X}", self.datapath, ""],['energy2400', f"0x{self.energy2400:X}", self.energy2400, ""],['energy_sub1g', f"0x{self.energy_sub1g:X}", self.energy_sub1g, ""],['calibration', f"0x{self.calibration:X}", self.calibration, ""],['pwr_mgmt', f"0x{self.pwr_mgmt:X}", self.pwr_mgmt, ""],['ext_sensors', f"0x{self.ext_sensors:X}", self.ext_sensors, ""],['custom', f"0x{self.custom:X}", self.custom, ""]], tablefmt="texttable")
|
|
2496
|
+
|
|
2497
|
+
def __eq__(self, other):
|
|
2498
|
+
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
2499
|
+
return (
|
|
2500
|
+
self.msg_type == other.msg_type and
|
|
2501
|
+
self.api_version == other.api_version and
|
|
2502
|
+
self.brg_mac == other.brg_mac and
|
|
2503
|
+
self.action_id == other.action_id and
|
|
2504
|
+
self.interface == other.interface and
|
|
2505
|
+
self.datapath == other.datapath and
|
|
2506
|
+
self.energy2400 == other.energy2400 and
|
|
2507
|
+
self.energy_sub1g == other.energy_sub1g and
|
|
2508
|
+
self.calibration == other.calibration and
|
|
2509
|
+
self.pwr_mgmt == other.pwr_mgmt and
|
|
2510
|
+
self.ext_sensors == other.ext_sensors and
|
|
2511
|
+
self.custom == other.custom
|
|
2512
|
+
)
|
|
2513
|
+
return False
|
|
2514
|
+
|
|
2515
|
+
def dump(self):
|
|
2516
|
+
string = bitstruct.pack("u8u8u8u48u8u1u1u1u1u1u1u1u1u104", self.msg_type, self.api_version, self.seq_id, self.brg_mac, self.action_id, self.interface, self.datapath, self.energy2400, self.energy_sub1g, self.calibration, self.pwr_mgmt, self.ext_sensors, self.custom, self.unused0)
|
|
2517
|
+
return string.hex().upper()
|
|
2518
|
+
|
|
2519
|
+
def set(self, string):
|
|
2520
|
+
d = bitstruct.unpack("u8u8u8u48u8u1u1u1u1u1u1u1u1u104", binascii.unhexlify(string))
|
|
2521
|
+
self.msg_type = d[0]
|
|
2522
|
+
self.api_version = d[1]
|
|
2523
|
+
self.seq_id = d[2]
|
|
2524
|
+
self.brg_mac = d[3]
|
|
2525
|
+
self.action_id = d[4]
|
|
2526
|
+
self.interface = d[5]
|
|
2527
|
+
self.datapath = d[6]
|
|
2528
|
+
self.energy2400 = d[7]
|
|
2529
|
+
self.energy_sub1g = d[8]
|
|
2530
|
+
self.calibration = d[9]
|
|
2531
|
+
self.pwr_mgmt = d[10]
|
|
2532
|
+
self.ext_sensors = d[11]
|
|
2533
|
+
self.custom = d[12]
|
|
2534
|
+
self.unused0 = d[13]
|
|
2535
|
+
|
|
2536
|
+
class ActionGetModuleV8():
|
|
2537
|
+
def __init__(self, raw='', msg_type=BRG_MGMT_MSG_TYPE_ACTION, api_version=API_VERSION_V8, seq_id=0, brg_mac=ACTION_EMPTY, action_id=ACTION_GET_MODULE, interface=0, datapath=0, energy2400=0, energy_sub1g=0, calibration=0, pwr_mgmt=0, ext_sensors=0, custom=0, unused0=0):
|
|
2538
|
+
self.msg_type = msg_type
|
|
2539
|
+
self.api_version = api_version
|
|
2540
|
+
self.seq_id = seq_id
|
|
2541
|
+
self.brg_mac = brg_mac
|
|
2542
|
+
self.action_id = action_id
|
|
2543
|
+
self.interface = interface
|
|
2544
|
+
self.datapath = datapath
|
|
2545
|
+
self.energy2400 = energy2400
|
|
2546
|
+
self.energy_sub1g = energy_sub1g
|
|
2547
|
+
self.calibration = calibration
|
|
2548
|
+
self.pwr_mgmt = pwr_mgmt
|
|
2549
|
+
self.ext_sensors = ext_sensors
|
|
2550
|
+
self.custom = custom
|
|
2551
|
+
self.unused0 = unused0
|
|
2552
|
+
if raw:
|
|
2553
|
+
self.set(raw)
|
|
2554
|
+
|
|
2555
|
+
def __repr__(self) -> str:
|
|
2556
|
+
return "\n==> Packet action_get_module_v8 <==\n" + tabulate.tabulate([['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, ""],['action_id', f"0x{self.action_id:X}", self.action_id, ""],['interface', f"0x{self.interface:X}", self.interface, ""],['datapath', f"0x{self.datapath:X}", self.datapath, ""],['energy2400', f"0x{self.energy2400:X}", self.energy2400, ""],['energy_sub1g', f"0x{self.energy_sub1g:X}", self.energy_sub1g, ""],['calibration', f"0x{self.calibration:X}", self.calibration, ""],['pwr_mgmt', f"0x{self.pwr_mgmt:X}", self.pwr_mgmt, ""],['ext_sensors', f"0x{self.ext_sensors:X}", self.ext_sensors, ""],['custom', f"0x{self.custom:X}", self.custom, ""]], tablefmt="texttable")
|
|
2557
|
+
|
|
2558
|
+
def __eq__(self, other):
|
|
2559
|
+
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
2560
|
+
return (
|
|
2561
|
+
self.msg_type == other.msg_type and
|
|
2562
|
+
self.api_version == other.api_version and
|
|
2563
|
+
self.brg_mac == other.brg_mac and
|
|
2564
|
+
self.action_id == other.action_id and
|
|
2565
|
+
self.interface == other.interface and
|
|
2566
|
+
self.datapath == other.datapath and
|
|
2567
|
+
self.energy2400 == other.energy2400 and
|
|
2568
|
+
self.energy_sub1g == other.energy_sub1g and
|
|
2569
|
+
self.calibration == other.calibration and
|
|
2570
|
+
self.pwr_mgmt == other.pwr_mgmt and
|
|
2571
|
+
self.ext_sensors == other.ext_sensors and
|
|
2572
|
+
self.custom == other.custom
|
|
2573
|
+
)
|
|
2574
|
+
return False
|
|
2575
|
+
|
|
2576
|
+
def dump(self):
|
|
2577
|
+
string = bitstruct.pack("u8u8u8u48u8u1u1u1u1u1u1u1u1u104", self.msg_type, self.api_version, self.seq_id, self.brg_mac, self.action_id, self.interface, self.datapath, self.energy2400, self.energy_sub1g, self.calibration, self.pwr_mgmt, self.ext_sensors, self.custom, self.unused0)
|
|
2578
|
+
return string.hex().upper()
|
|
2579
|
+
|
|
2580
|
+
def set(self, string):
|
|
2581
|
+
d = bitstruct.unpack("u8u8u8u48u8u1u1u1u1u1u1u1u1u104", binascii.unhexlify(string))
|
|
2582
|
+
self.msg_type = d[0]
|
|
2583
|
+
self.api_version = d[1]
|
|
2584
|
+
self.seq_id = d[2]
|
|
2585
|
+
self.brg_mac = d[3]
|
|
2586
|
+
self.action_id = d[4]
|
|
2587
|
+
self.interface = d[5]
|
|
2588
|
+
self.datapath = d[6]
|
|
2589
|
+
self.energy2400 = d[7]
|
|
2590
|
+
self.energy_sub1g = d[8]
|
|
2591
|
+
self.calibration = d[9]
|
|
2592
|
+
self.pwr_mgmt = d[10]
|
|
2593
|
+
self.ext_sensors = d[11]
|
|
2594
|
+
self.custom = d[12]
|
|
2595
|
+
self.unused0 = d[13]
|
|
2596
|
+
|
|
2597
|
+
class ActionRestoreDefaultsV13():
|
|
2598
|
+
def __init__(self, raw='', msg_type=BRG_MGMT_MSG_TYPE_ACTION, api_version=API_VERSION_V13, seq_id=0, brg_mac=ACTION_EMPTY, action_id=ACTION_RESTORE_DEFAULTS, unused0=0):
|
|
2599
|
+
self.msg_type = msg_type
|
|
2600
|
+
self.api_version = api_version
|
|
2601
|
+
self.seq_id = seq_id
|
|
2602
|
+
self.brg_mac = brg_mac
|
|
2603
|
+
self.action_id = action_id
|
|
2604
|
+
self.unused0 = unused0
|
|
2605
|
+
if raw:
|
|
2606
|
+
self.set(raw)
|
|
2607
|
+
|
|
2608
|
+
def __repr__(self) -> str:
|
|
2609
|
+
return "\n==> Packet action_restore_defaults_v13 <==\n" + tabulate.tabulate([['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, ""],['action_id', f"0x{self.action_id:X}", self.action_id, ""]], tablefmt="texttable")
|
|
2610
|
+
|
|
2611
|
+
def __eq__(self, other):
|
|
2612
|
+
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
2613
|
+
return (
|
|
2614
|
+
self.msg_type == other.msg_type and
|
|
2615
|
+
self.api_version == other.api_version and
|
|
2616
|
+
self.brg_mac == other.brg_mac and
|
|
2617
|
+
self.action_id == other.action_id
|
|
2618
|
+
)
|
|
2619
|
+
return False
|
|
2620
|
+
|
|
2621
|
+
def dump(self):
|
|
2622
|
+
string = bitstruct.pack("u8u8u8u48u8u112", self.msg_type, self.api_version, self.seq_id, self.brg_mac, self.action_id, self.unused0)
|
|
2623
|
+
return string.hex().upper()
|
|
2624
|
+
|
|
2625
|
+
def set(self, string):
|
|
2626
|
+
d = bitstruct.unpack("u8u8u8u48u8u112", binascii.unhexlify(string))
|
|
2627
|
+
self.msg_type = d[0]
|
|
2628
|
+
self.api_version = d[1]
|
|
2629
|
+
self.seq_id = d[2]
|
|
2630
|
+
self.brg_mac = d[3]
|
|
2631
|
+
self.action_id = d[4]
|
|
2632
|
+
self.unused0 = d[5]
|
|
2633
|
+
|
|
2634
|
+
class ActionRestoreDefaultsV12():
|
|
2635
|
+
def __init__(self, raw='', msg_type=BRG_MGMT_MSG_TYPE_ACTION, api_version=API_VERSION_V12, seq_id=0, brg_mac=ACTION_EMPTY, action_id=ACTION_RESTORE_DEFAULTS, unused0=0):
|
|
2636
|
+
self.msg_type = msg_type
|
|
2637
|
+
self.api_version = api_version
|
|
2638
|
+
self.seq_id = seq_id
|
|
2639
|
+
self.brg_mac = brg_mac
|
|
2640
|
+
self.action_id = action_id
|
|
2641
|
+
self.unused0 = unused0
|
|
2642
|
+
if raw:
|
|
2643
|
+
self.set(raw)
|
|
2644
|
+
|
|
2645
|
+
def __repr__(self) -> str:
|
|
2646
|
+
return "\n==> Packet action_restore_defaults_v12 <==\n" + tabulate.tabulate([['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, ""],['action_id', f"0x{self.action_id:X}", self.action_id, ""]], tablefmt="texttable")
|
|
1814
2647
|
|
|
1815
2648
|
def __eq__(self, other):
|
|
1816
2649
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -1818,60 +2651,36 @@ class ActionGetModuleV9():
|
|
|
1818
2651
|
self.msg_type == other.msg_type and
|
|
1819
2652
|
self.api_version == other.api_version and
|
|
1820
2653
|
self.brg_mac == other.brg_mac and
|
|
1821
|
-
self.action_id == other.action_id
|
|
1822
|
-
self.interface == other.interface and
|
|
1823
|
-
self.datapath == other.datapath and
|
|
1824
|
-
self.energy2400 == other.energy2400 and
|
|
1825
|
-
self.energy_sub1g == other.energy_sub1g and
|
|
1826
|
-
self.calibration == other.calibration and
|
|
1827
|
-
self.pwr_mgmt == other.pwr_mgmt and
|
|
1828
|
-
self.ext_sensors == other.ext_sensors and
|
|
1829
|
-
self.custom == other.custom
|
|
2654
|
+
self.action_id == other.action_id
|
|
1830
2655
|
)
|
|
1831
2656
|
return False
|
|
1832
2657
|
|
|
1833
2658
|
def dump(self):
|
|
1834
|
-
string = bitstruct.pack("
|
|
2659
|
+
string = bitstruct.pack("u8u8u8u48u8u112", self.msg_type, self.api_version, self.seq_id, self.brg_mac, self.action_id, self.unused0)
|
|
1835
2660
|
return string.hex().upper()
|
|
1836
2661
|
|
|
1837
2662
|
def set(self, string):
|
|
1838
|
-
d = bitstruct.unpack("
|
|
2663
|
+
d = bitstruct.unpack("u8u8u8u48u8u112", binascii.unhexlify(string))
|
|
1839
2664
|
self.msg_type = d[0]
|
|
1840
2665
|
self.api_version = d[1]
|
|
1841
2666
|
self.seq_id = d[2]
|
|
1842
2667
|
self.brg_mac = d[3]
|
|
1843
2668
|
self.action_id = d[4]
|
|
1844
|
-
self.
|
|
1845
|
-
self.datapath = d[6]
|
|
1846
|
-
self.energy2400 = d[7]
|
|
1847
|
-
self.energy_sub1g = d[8]
|
|
1848
|
-
self.calibration = d[9]
|
|
1849
|
-
self.pwr_mgmt = d[10]
|
|
1850
|
-
self.ext_sensors = d[11]
|
|
1851
|
-
self.custom = d[12]
|
|
1852
|
-
self.unused0 = d[13]
|
|
2669
|
+
self.unused0 = d[5]
|
|
1853
2670
|
|
|
1854
|
-
class
|
|
1855
|
-
def __init__(self, raw='', msg_type=BRG_MGMT_MSG_TYPE_ACTION, api_version=
|
|
2671
|
+
class ActionRestoreDefaultsV11():
|
|
2672
|
+
def __init__(self, raw='', msg_type=BRG_MGMT_MSG_TYPE_ACTION, api_version=API_VERSION_V11, seq_id=0, brg_mac=ACTION_EMPTY, action_id=ACTION_RESTORE_DEFAULTS, unused0=0):
|
|
1856
2673
|
self.msg_type = msg_type
|
|
1857
2674
|
self.api_version = api_version
|
|
1858
2675
|
self.seq_id = seq_id
|
|
1859
2676
|
self.brg_mac = brg_mac
|
|
1860
2677
|
self.action_id = action_id
|
|
1861
|
-
self.interface = interface
|
|
1862
|
-
self.datapath = datapath
|
|
1863
|
-
self.energy2400 = energy2400
|
|
1864
|
-
self.energy_sub1g = energy_sub1g
|
|
1865
|
-
self.calibration = calibration
|
|
1866
|
-
self.pwr_mgmt = pwr_mgmt
|
|
1867
|
-
self.ext_sensors = ext_sensors
|
|
1868
|
-
self.custom = custom
|
|
1869
2678
|
self.unused0 = unused0
|
|
1870
2679
|
if raw:
|
|
1871
2680
|
self.set(raw)
|
|
1872
2681
|
|
|
1873
2682
|
def __repr__(self) -> str:
|
|
1874
|
-
return "\n==> Packet
|
|
2683
|
+
return "\n==> Packet action_restore_defaults_v11 <==\n" + tabulate.tabulate([['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, ""],['action_id', f"0x{self.action_id:X}", self.action_id, ""]], tablefmt="texttable")
|
|
1875
2684
|
|
|
1876
2685
|
def __eq__(self, other):
|
|
1877
2686
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -1879,41 +2688,25 @@ class ActionGetModuleV8():
|
|
|
1879
2688
|
self.msg_type == other.msg_type and
|
|
1880
2689
|
self.api_version == other.api_version and
|
|
1881
2690
|
self.brg_mac == other.brg_mac and
|
|
1882
|
-
self.action_id == other.action_id
|
|
1883
|
-
self.interface == other.interface and
|
|
1884
|
-
self.datapath == other.datapath and
|
|
1885
|
-
self.energy2400 == other.energy2400 and
|
|
1886
|
-
self.energy_sub1g == other.energy_sub1g and
|
|
1887
|
-
self.calibration == other.calibration and
|
|
1888
|
-
self.pwr_mgmt == other.pwr_mgmt and
|
|
1889
|
-
self.ext_sensors == other.ext_sensors and
|
|
1890
|
-
self.custom == other.custom
|
|
2691
|
+
self.action_id == other.action_id
|
|
1891
2692
|
)
|
|
1892
2693
|
return False
|
|
1893
2694
|
|
|
1894
2695
|
def dump(self):
|
|
1895
|
-
string = bitstruct.pack("
|
|
2696
|
+
string = bitstruct.pack("u8u8u8u48u8u112", self.msg_type, self.api_version, self.seq_id, self.brg_mac, self.action_id, self.unused0)
|
|
1896
2697
|
return string.hex().upper()
|
|
1897
2698
|
|
|
1898
2699
|
def set(self, string):
|
|
1899
|
-
d = bitstruct.unpack("
|
|
2700
|
+
d = bitstruct.unpack("u8u8u8u48u8u112", binascii.unhexlify(string))
|
|
1900
2701
|
self.msg_type = d[0]
|
|
1901
2702
|
self.api_version = d[1]
|
|
1902
2703
|
self.seq_id = d[2]
|
|
1903
2704
|
self.brg_mac = d[3]
|
|
1904
2705
|
self.action_id = d[4]
|
|
1905
|
-
self.
|
|
1906
|
-
self.datapath = d[6]
|
|
1907
|
-
self.energy2400 = d[7]
|
|
1908
|
-
self.energy_sub1g = d[8]
|
|
1909
|
-
self.calibration = d[9]
|
|
1910
|
-
self.pwr_mgmt = d[10]
|
|
1911
|
-
self.ext_sensors = d[11]
|
|
1912
|
-
self.custom = d[12]
|
|
1913
|
-
self.unused0 = d[13]
|
|
2706
|
+
self.unused0 = d[5]
|
|
1914
2707
|
|
|
1915
|
-
class
|
|
1916
|
-
def __init__(self, raw='', msg_type=BRG_MGMT_MSG_TYPE_ACTION, api_version=
|
|
2708
|
+
class ActionRestoreDefaultsV10():
|
|
2709
|
+
def __init__(self, raw='', msg_type=BRG_MGMT_MSG_TYPE_ACTION, api_version=API_VERSION_V10, seq_id=0, brg_mac=ACTION_EMPTY, action_id=ACTION_RESTORE_DEFAULTS, unused0=0):
|
|
1917
2710
|
self.msg_type = msg_type
|
|
1918
2711
|
self.api_version = api_version
|
|
1919
2712
|
self.seq_id = seq_id
|
|
@@ -1924,7 +2717,7 @@ class ActionRestoreDefaultsV12():
|
|
|
1924
2717
|
self.set(raw)
|
|
1925
2718
|
|
|
1926
2719
|
def __repr__(self) -> str:
|
|
1927
|
-
return "\n==> Packet
|
|
2720
|
+
return "\n==> Packet action_restore_defaults_v10 <==\n" + tabulate.tabulate([['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, ""],['action_id', f"0x{self.action_id:X}", self.action_id, ""]], tablefmt="texttable")
|
|
1928
2721
|
|
|
1929
2722
|
def __eq__(self, other):
|
|
1930
2723
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -1949,8 +2742,8 @@ class ActionRestoreDefaultsV12():
|
|
|
1949
2742
|
self.action_id = d[4]
|
|
1950
2743
|
self.unused0 = d[5]
|
|
1951
2744
|
|
|
1952
|
-
class
|
|
1953
|
-
def __init__(self, raw='', msg_type=BRG_MGMT_MSG_TYPE_ACTION, api_version=
|
|
2745
|
+
class ActionRestoreDefaultsV9():
|
|
2746
|
+
def __init__(self, raw='', msg_type=BRG_MGMT_MSG_TYPE_ACTION, api_version=API_VERSION_V9, seq_id=0, brg_mac=ACTION_EMPTY, action_id=ACTION_RESTORE_DEFAULTS, unused0=0):
|
|
1954
2747
|
self.msg_type = msg_type
|
|
1955
2748
|
self.api_version = api_version
|
|
1956
2749
|
self.seq_id = seq_id
|
|
@@ -1961,7 +2754,7 @@ class ActionRestoreDefaultsV11():
|
|
|
1961
2754
|
self.set(raw)
|
|
1962
2755
|
|
|
1963
2756
|
def __repr__(self) -> str:
|
|
1964
|
-
return "\n==> Packet
|
|
2757
|
+
return "\n==> Packet action_restore_defaults_v9 <==\n" + tabulate.tabulate([['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, ""],['action_id', f"0x{self.action_id:X}", self.action_id, ""]], tablefmt="texttable")
|
|
1965
2758
|
|
|
1966
2759
|
def __eq__(self, other):
|
|
1967
2760
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -1986,8 +2779,8 @@ class ActionRestoreDefaultsV11():
|
|
|
1986
2779
|
self.action_id = d[4]
|
|
1987
2780
|
self.unused0 = d[5]
|
|
1988
2781
|
|
|
1989
|
-
class
|
|
1990
|
-
def __init__(self, raw='', msg_type=BRG_MGMT_MSG_TYPE_ACTION, api_version=
|
|
2782
|
+
class ActionRestoreDefaultsV8():
|
|
2783
|
+
def __init__(self, raw='', msg_type=BRG_MGMT_MSG_TYPE_ACTION, api_version=API_VERSION_V8, seq_id=0, brg_mac=ACTION_EMPTY, action_id=ACTION_RESTORE_DEFAULTS, unused0=0):
|
|
1991
2784
|
self.msg_type = msg_type
|
|
1992
2785
|
self.api_version = api_version
|
|
1993
2786
|
self.seq_id = seq_id
|
|
@@ -1998,7 +2791,7 @@ class ActionRestoreDefaultsV10():
|
|
|
1998
2791
|
self.set(raw)
|
|
1999
2792
|
|
|
2000
2793
|
def __repr__(self) -> str:
|
|
2001
|
-
return "\n==> Packet
|
|
2794
|
+
return "\n==> Packet action_restore_defaults_v8 <==\n" + tabulate.tabulate([['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, ""],['action_id', f"0x{self.action_id:X}", self.action_id, ""]], tablefmt="texttable")
|
|
2002
2795
|
|
|
2003
2796
|
def __eq__(self, other):
|
|
2004
2797
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -2023,8 +2816,8 @@ class ActionRestoreDefaultsV10():
|
|
|
2023
2816
|
self.action_id = d[4]
|
|
2024
2817
|
self.unused0 = d[5]
|
|
2025
2818
|
|
|
2026
|
-
class
|
|
2027
|
-
def __init__(self, raw='', msg_type=BRG_MGMT_MSG_TYPE_ACTION, api_version=
|
|
2819
|
+
class ActionSendHbV13():
|
|
2820
|
+
def __init__(self, raw='', msg_type=BRG_MGMT_MSG_TYPE_ACTION, api_version=API_VERSION_V13, seq_id=0, brg_mac=ACTION_EMPTY, action_id=ACTION_SEND_HB, unused0=0):
|
|
2028
2821
|
self.msg_type = msg_type
|
|
2029
2822
|
self.api_version = api_version
|
|
2030
2823
|
self.seq_id = seq_id
|
|
@@ -2035,7 +2828,7 @@ class ActionRestoreDefaultsV9():
|
|
|
2035
2828
|
self.set(raw)
|
|
2036
2829
|
|
|
2037
2830
|
def __repr__(self) -> str:
|
|
2038
|
-
return "\n==> Packet
|
|
2831
|
+
return "\n==> Packet action_send_hb_v13 <==\n" + tabulate.tabulate([['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, ""],['action_id', f"0x{self.action_id:X}", self.action_id, ""]], tablefmt="texttable")
|
|
2039
2832
|
|
|
2040
2833
|
def __eq__(self, other):
|
|
2041
2834
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -2060,8 +2853,8 @@ class ActionRestoreDefaultsV9():
|
|
|
2060
2853
|
self.action_id = d[4]
|
|
2061
2854
|
self.unused0 = d[5]
|
|
2062
2855
|
|
|
2063
|
-
class
|
|
2064
|
-
def __init__(self, raw='', msg_type=BRG_MGMT_MSG_TYPE_ACTION, api_version=
|
|
2856
|
+
class ActionSendHbV12():
|
|
2857
|
+
def __init__(self, raw='', msg_type=BRG_MGMT_MSG_TYPE_ACTION, api_version=API_VERSION_V12, seq_id=0, brg_mac=ACTION_EMPTY, action_id=ACTION_SEND_HB, unused0=0):
|
|
2065
2858
|
self.msg_type = msg_type
|
|
2066
2859
|
self.api_version = api_version
|
|
2067
2860
|
self.seq_id = seq_id
|
|
@@ -2072,7 +2865,7 @@ class ActionRestoreDefaultsV8():
|
|
|
2072
2865
|
self.set(raw)
|
|
2073
2866
|
|
|
2074
2867
|
def __repr__(self) -> str:
|
|
2075
|
-
return "\n==> Packet
|
|
2868
|
+
return "\n==> Packet action_send_hb_v12 <==\n" + tabulate.tabulate([['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, ""],['action_id', f"0x{self.action_id:X}", self.action_id, ""]], tablefmt="texttable")
|
|
2076
2869
|
|
|
2077
2870
|
def __eq__(self, other):
|
|
2078
2871
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -2097,8 +2890,8 @@ class ActionRestoreDefaultsV8():
|
|
|
2097
2890
|
self.action_id = d[4]
|
|
2098
2891
|
self.unused0 = d[5]
|
|
2099
2892
|
|
|
2100
|
-
class
|
|
2101
|
-
def __init__(self, raw='', msg_type=BRG_MGMT_MSG_TYPE_ACTION, api_version=
|
|
2893
|
+
class ActionSendHbV11():
|
|
2894
|
+
def __init__(self, raw='', msg_type=BRG_MGMT_MSG_TYPE_ACTION, api_version=API_VERSION_V11, seq_id=0, brg_mac=ACTION_EMPTY, action_id=ACTION_SEND_HB, unused0=0):
|
|
2102
2895
|
self.msg_type = msg_type
|
|
2103
2896
|
self.api_version = api_version
|
|
2104
2897
|
self.seq_id = seq_id
|
|
@@ -2109,7 +2902,7 @@ class ActionSendHbV12():
|
|
|
2109
2902
|
self.set(raw)
|
|
2110
2903
|
|
|
2111
2904
|
def __repr__(self) -> str:
|
|
2112
|
-
return "\n==> Packet
|
|
2905
|
+
return "\n==> Packet action_send_hb_v11 <==\n" + tabulate.tabulate([['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, ""],['action_id', f"0x{self.action_id:X}", self.action_id, ""]], tablefmt="texttable")
|
|
2113
2906
|
|
|
2114
2907
|
def __eq__(self, other):
|
|
2115
2908
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -2134,8 +2927,8 @@ class ActionSendHbV12():
|
|
|
2134
2927
|
self.action_id = d[4]
|
|
2135
2928
|
self.unused0 = d[5]
|
|
2136
2929
|
|
|
2137
|
-
class
|
|
2138
|
-
def __init__(self, raw='', msg_type=BRG_MGMT_MSG_TYPE_ACTION, api_version=
|
|
2930
|
+
class ActionSendHbV10():
|
|
2931
|
+
def __init__(self, raw='', msg_type=BRG_MGMT_MSG_TYPE_ACTION, api_version=API_VERSION_V10, seq_id=0, brg_mac=ACTION_EMPTY, action_id=ACTION_SEND_HB, unused0=0):
|
|
2139
2932
|
self.msg_type = msg_type
|
|
2140
2933
|
self.api_version = api_version
|
|
2141
2934
|
self.seq_id = seq_id
|
|
@@ -2146,7 +2939,7 @@ class ActionSendHbV11():
|
|
|
2146
2939
|
self.set(raw)
|
|
2147
2940
|
|
|
2148
2941
|
def __repr__(self) -> str:
|
|
2149
|
-
return "\n==> Packet
|
|
2942
|
+
return "\n==> Packet action_send_hb_v10 <==\n" + tabulate.tabulate([['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, ""],['action_id', f"0x{self.action_id:X}", self.action_id, ""]], tablefmt="texttable")
|
|
2150
2943
|
|
|
2151
2944
|
def __eq__(self, other):
|
|
2152
2945
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -2171,8 +2964,8 @@ class ActionSendHbV11():
|
|
|
2171
2964
|
self.action_id = d[4]
|
|
2172
2965
|
self.unused0 = d[5]
|
|
2173
2966
|
|
|
2174
|
-
class
|
|
2175
|
-
def __init__(self, raw='', msg_type=BRG_MGMT_MSG_TYPE_ACTION, api_version=
|
|
2967
|
+
class ActionSendHbV9():
|
|
2968
|
+
def __init__(self, raw='', msg_type=BRG_MGMT_MSG_TYPE_ACTION, api_version=API_VERSION_V9, seq_id=0, brg_mac=ACTION_EMPTY, action_id=ACTION_SEND_HB, unused0=0):
|
|
2176
2969
|
self.msg_type = msg_type
|
|
2177
2970
|
self.api_version = api_version
|
|
2178
2971
|
self.seq_id = seq_id
|
|
@@ -2183,7 +2976,7 @@ class ActionSendHbV10():
|
|
|
2183
2976
|
self.set(raw)
|
|
2184
2977
|
|
|
2185
2978
|
def __repr__(self) -> str:
|
|
2186
|
-
return "\n==> Packet
|
|
2979
|
+
return "\n==> Packet action_send_hb_v9 <==\n" + tabulate.tabulate([['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, ""],['action_id', f"0x{self.action_id:X}", self.action_id, ""]], tablefmt="texttable")
|
|
2187
2980
|
|
|
2188
2981
|
def __eq__(self, other):
|
|
2189
2982
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -2208,8 +3001,8 @@ class ActionSendHbV10():
|
|
|
2208
3001
|
self.action_id = d[4]
|
|
2209
3002
|
self.unused0 = d[5]
|
|
2210
3003
|
|
|
2211
|
-
class
|
|
2212
|
-
def __init__(self, raw='', msg_type=BRG_MGMT_MSG_TYPE_ACTION, api_version=
|
|
3004
|
+
class ActionSendHbV8():
|
|
3005
|
+
def __init__(self, raw='', msg_type=BRG_MGMT_MSG_TYPE_ACTION, api_version=API_VERSION_V8, seq_id=0, brg_mac=ACTION_EMPTY, action_id=ACTION_SEND_HB, unused0=0):
|
|
2213
3006
|
self.msg_type = msg_type
|
|
2214
3007
|
self.api_version = api_version
|
|
2215
3008
|
self.seq_id = seq_id
|
|
@@ -2220,7 +3013,7 @@ class ActionSendHbV9():
|
|
|
2220
3013
|
self.set(raw)
|
|
2221
3014
|
|
|
2222
3015
|
def __repr__(self) -> str:
|
|
2223
|
-
return "\n==> Packet
|
|
3016
|
+
return "\n==> Packet action_send_hb_v8 <==\n" + tabulate.tabulate([['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, ""],['action_id', f"0x{self.action_id:X}", self.action_id, ""]], tablefmt="texttable")
|
|
2224
3017
|
|
|
2225
3018
|
def __eq__(self, other):
|
|
2226
3019
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -2245,8 +3038,8 @@ class ActionSendHbV9():
|
|
|
2245
3038
|
self.action_id = d[4]
|
|
2246
3039
|
self.unused0 = d[5]
|
|
2247
3040
|
|
|
2248
|
-
class
|
|
2249
|
-
def __init__(self, raw='', msg_type=BRG_MGMT_MSG_TYPE_ACTION, api_version=
|
|
3041
|
+
class ActionGetBatterySensorV13():
|
|
3042
|
+
def __init__(self, raw='', msg_type=BRG_MGMT_MSG_TYPE_ACTION, api_version=API_VERSION_V13, seq_id=0, brg_mac=ACTION_EMPTY, action_id=ACTION_GET_BATTERY_SENSOR, unused0=0):
|
|
2250
3043
|
self.msg_type = msg_type
|
|
2251
3044
|
self.api_version = api_version
|
|
2252
3045
|
self.seq_id = seq_id
|
|
@@ -2257,7 +3050,7 @@ class ActionSendHbV8():
|
|
|
2257
3050
|
self.set(raw)
|
|
2258
3051
|
|
|
2259
3052
|
def __repr__(self) -> str:
|
|
2260
|
-
return "\n==> Packet
|
|
3053
|
+
return "\n==> Packet action_get_battery_sensor_v13 <==\n" + tabulate.tabulate([['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, ""],['action_id', f"0x{self.action_id:X}", self.action_id, ""]], tablefmt="texttable")
|
|
2261
3054
|
|
|
2262
3055
|
def __eq__(self, other):
|
|
2263
3056
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -2294,7 +3087,7 @@ class ActionGetBatterySensorV12():
|
|
|
2294
3087
|
self.set(raw)
|
|
2295
3088
|
|
|
2296
3089
|
def __repr__(self) -> str:
|
|
2297
|
-
return "\n==> Packet action_get_battery_sensor_v12 <==\n" + tabulate.tabulate([['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],['action_id', f"0x{self.action_id:X}", self.action_id]], tablefmt="texttable")
|
|
3090
|
+
return "\n==> Packet action_get_battery_sensor_v12 <==\n" + tabulate.tabulate([['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, ""],['action_id', f"0x{self.action_id:X}", self.action_id, ""]], tablefmt="texttable")
|
|
2298
3091
|
|
|
2299
3092
|
def __eq__(self, other):
|
|
2300
3093
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -2331,7 +3124,7 @@ class ActionGetBatterySensorV11():
|
|
|
2331
3124
|
self.set(raw)
|
|
2332
3125
|
|
|
2333
3126
|
def __repr__(self) -> str:
|
|
2334
|
-
return "\n==> Packet action_get_battery_sensor_v11 <==\n" + tabulate.tabulate([['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],['action_id', f"0x{self.action_id:X}", self.action_id]], tablefmt="texttable")
|
|
3127
|
+
return "\n==> Packet action_get_battery_sensor_v11 <==\n" + tabulate.tabulate([['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, ""],['action_id', f"0x{self.action_id:X}", self.action_id, ""]], tablefmt="texttable")
|
|
2335
3128
|
|
|
2336
3129
|
def __eq__(self, other):
|
|
2337
3130
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -2368,7 +3161,7 @@ class ActionGetBatterySensorV10():
|
|
|
2368
3161
|
self.set(raw)
|
|
2369
3162
|
|
|
2370
3163
|
def __repr__(self) -> str:
|
|
2371
|
-
return "\n==> Packet action_get_battery_sensor_v10 <==\n" + tabulate.tabulate([['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],['action_id', f"0x{self.action_id:X}", self.action_id]], tablefmt="texttable")
|
|
3164
|
+
return "\n==> Packet action_get_battery_sensor_v10 <==\n" + tabulate.tabulate([['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, ""],['action_id', f"0x{self.action_id:X}", self.action_id, ""]], tablefmt="texttable")
|
|
2372
3165
|
|
|
2373
3166
|
def __eq__(self, other):
|
|
2374
3167
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -2405,7 +3198,7 @@ class ActionGetBatterySensorV9():
|
|
|
2405
3198
|
self.set(raw)
|
|
2406
3199
|
|
|
2407
3200
|
def __repr__(self) -> str:
|
|
2408
|
-
return "\n==> Packet action_get_battery_sensor_v9 <==\n" + tabulate.tabulate([['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],['action_id', f"0x{self.action_id:X}", self.action_id]], tablefmt="texttable")
|
|
3201
|
+
return "\n==> Packet action_get_battery_sensor_v9 <==\n" + tabulate.tabulate([['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, ""],['action_id', f"0x{self.action_id:X}", self.action_id, ""]], tablefmt="texttable")
|
|
2409
3202
|
|
|
2410
3203
|
def __eq__(self, other):
|
|
2411
3204
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -2442,7 +3235,44 @@ class ActionGetBatterySensorV8():
|
|
|
2442
3235
|
self.set(raw)
|
|
2443
3236
|
|
|
2444
3237
|
def __repr__(self) -> str:
|
|
2445
|
-
return "\n==> Packet action_get_battery_sensor_v8 <==\n" + tabulate.tabulate([['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],['action_id', f"0x{self.action_id:X}", self.action_id]], tablefmt="texttable")
|
|
3238
|
+
return "\n==> Packet action_get_battery_sensor_v8 <==\n" + tabulate.tabulate([['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, ""],['action_id', f"0x{self.action_id:X}", self.action_id, ""]], tablefmt="texttable")
|
|
3239
|
+
|
|
3240
|
+
def __eq__(self, other):
|
|
3241
|
+
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
3242
|
+
return (
|
|
3243
|
+
self.msg_type == other.msg_type and
|
|
3244
|
+
self.api_version == other.api_version and
|
|
3245
|
+
self.brg_mac == other.brg_mac and
|
|
3246
|
+
self.action_id == other.action_id
|
|
3247
|
+
)
|
|
3248
|
+
return False
|
|
3249
|
+
|
|
3250
|
+
def dump(self):
|
|
3251
|
+
string = bitstruct.pack("u8u8u8u48u8u112", self.msg_type, self.api_version, self.seq_id, self.brg_mac, self.action_id, self.unused0)
|
|
3252
|
+
return string.hex().upper()
|
|
3253
|
+
|
|
3254
|
+
def set(self, string):
|
|
3255
|
+
d = bitstruct.unpack("u8u8u8u48u8u112", binascii.unhexlify(string))
|
|
3256
|
+
self.msg_type = d[0]
|
|
3257
|
+
self.api_version = d[1]
|
|
3258
|
+
self.seq_id = d[2]
|
|
3259
|
+
self.brg_mac = d[3]
|
|
3260
|
+
self.action_id = d[4]
|
|
3261
|
+
self.unused0 = d[5]
|
|
3262
|
+
|
|
3263
|
+
class ActionGetPofDataV13():
|
|
3264
|
+
def __init__(self, raw='', msg_type=BRG_MGMT_MSG_TYPE_ACTION, api_version=API_VERSION_V13, seq_id=0, brg_mac=ACTION_EMPTY, action_id=ACTION_GET_POF_DATA, unused0=0):
|
|
3265
|
+
self.msg_type = msg_type
|
|
3266
|
+
self.api_version = api_version
|
|
3267
|
+
self.seq_id = seq_id
|
|
3268
|
+
self.brg_mac = brg_mac
|
|
3269
|
+
self.action_id = action_id
|
|
3270
|
+
self.unused0 = unused0
|
|
3271
|
+
if raw:
|
|
3272
|
+
self.set(raw)
|
|
3273
|
+
|
|
3274
|
+
def __repr__(self) -> str:
|
|
3275
|
+
return "\n==> Packet action_get_pof_data_v13 <==\n" + tabulate.tabulate([['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, ""],['action_id', f"0x{self.action_id:X}", self.action_id, ""]], tablefmt="texttable")
|
|
2446
3276
|
|
|
2447
3277
|
def __eq__(self, other):
|
|
2448
3278
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -2479,7 +3309,7 @@ class ActionGetPofDataV12():
|
|
|
2479
3309
|
self.set(raw)
|
|
2480
3310
|
|
|
2481
3311
|
def __repr__(self) -> str:
|
|
2482
|
-
return "\n==> Packet action_get_pof_data_v12 <==\n" + tabulate.tabulate([['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],['action_id', f"0x{self.action_id:X}", self.action_id]], tablefmt="texttable")
|
|
3312
|
+
return "\n==> Packet action_get_pof_data_v12 <==\n" + tabulate.tabulate([['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, ""],['action_id', f"0x{self.action_id:X}", self.action_id, ""]], tablefmt="texttable")
|
|
2483
3313
|
|
|
2484
3314
|
def __eq__(self, other):
|
|
2485
3315
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -2516,7 +3346,7 @@ class ActionGetPofDataV11():
|
|
|
2516
3346
|
self.set(raw)
|
|
2517
3347
|
|
|
2518
3348
|
def __repr__(self) -> str:
|
|
2519
|
-
return "\n==> Packet action_get_pof_data_v11 <==\n" + tabulate.tabulate([['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],['action_id', f"0x{self.action_id:X}", self.action_id]], tablefmt="texttable")
|
|
3349
|
+
return "\n==> Packet action_get_pof_data_v11 <==\n" + tabulate.tabulate([['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, ""],['action_id', f"0x{self.action_id:X}", self.action_id, ""]], tablefmt="texttable")
|
|
2520
3350
|
|
|
2521
3351
|
def __eq__(self, other):
|
|
2522
3352
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -2553,7 +3383,7 @@ class ActionGetPofDataV10():
|
|
|
2553
3383
|
self.set(raw)
|
|
2554
3384
|
|
|
2555
3385
|
def __repr__(self) -> str:
|
|
2556
|
-
return "\n==> Packet action_get_pof_data_v10 <==\n" + tabulate.tabulate([['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],['action_id', f"0x{self.action_id:X}", self.action_id]], tablefmt="texttable")
|
|
3386
|
+
return "\n==> Packet action_get_pof_data_v10 <==\n" + tabulate.tabulate([['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, ""],['action_id', f"0x{self.action_id:X}", self.action_id, ""]], tablefmt="texttable")
|
|
2557
3387
|
|
|
2558
3388
|
def __eq__(self, other):
|
|
2559
3389
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -2590,7 +3420,7 @@ class ActionGetPofDataV9():
|
|
|
2590
3420
|
self.set(raw)
|
|
2591
3421
|
|
|
2592
3422
|
def __repr__(self) -> str:
|
|
2593
|
-
return "\n==> Packet action_get_pof_data_v9 <==\n" + tabulate.tabulate([['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],['action_id', f"0x{self.action_id:X}", self.action_id]], tablefmt="texttable")
|
|
3423
|
+
return "\n==> Packet action_get_pof_data_v9 <==\n" + tabulate.tabulate([['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, ""],['action_id', f"0x{self.action_id:X}", self.action_id, ""]], tablefmt="texttable")
|
|
2594
3424
|
|
|
2595
3425
|
def __eq__(self, other):
|
|
2596
3426
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -2627,7 +3457,7 @@ class ActionGetPofDataV8():
|
|
|
2627
3457
|
self.set(raw)
|
|
2628
3458
|
|
|
2629
3459
|
def __repr__(self) -> str:
|
|
2630
|
-
return "\n==> Packet action_get_pof_data_v8 <==\n" + tabulate.tabulate([['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],['action_id', f"0x{self.action_id:X}", self.action_id]], tablefmt="texttable")
|
|
3460
|
+
return "\n==> Packet action_get_pof_data_v8 <==\n" + tabulate.tabulate([['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, ""],['action_id', f"0x{self.action_id:X}", self.action_id, ""]], tablefmt="texttable")
|
|
2631
3461
|
|
|
2632
3462
|
def __eq__(self, other):
|
|
2633
3463
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -2652,6 +3482,46 @@ class ActionGetPofDataV8():
|
|
|
2652
3482
|
self.action_id = d[4]
|
|
2653
3483
|
self.unused0 = d[5]
|
|
2654
3484
|
|
|
3485
|
+
class ActionPlStatusV13():
|
|
3486
|
+
def __init__(self, raw='', msg_type=BRG_MGMT_MSG_TYPE_ACTION, api_version=API_VERSION_V13, seq_id=0, brg_mac=ACTION_EMPTY, action_id=ACTION_PL_STATUS, status=0, unused0=0):
|
|
3487
|
+
self.msg_type = msg_type
|
|
3488
|
+
self.api_version = api_version
|
|
3489
|
+
self.seq_id = seq_id
|
|
3490
|
+
self.brg_mac = brg_mac
|
|
3491
|
+
self.action_id = action_id
|
|
3492
|
+
self.status = status
|
|
3493
|
+
self.unused0 = unused0
|
|
3494
|
+
if raw:
|
|
3495
|
+
self.set(raw)
|
|
3496
|
+
|
|
3497
|
+
def __repr__(self) -> str:
|
|
3498
|
+
return "\n==> Packet action_pl_status_v13 <==\n" + tabulate.tabulate([['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, ""],['action_id', f"0x{self.action_id:X}", self.action_id, ""],['status', f"0x{self.status:X}", self.status, ""]], tablefmt="texttable")
|
|
3499
|
+
|
|
3500
|
+
def __eq__(self, other):
|
|
3501
|
+
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
3502
|
+
return (
|
|
3503
|
+
self.msg_type == other.msg_type and
|
|
3504
|
+
self.api_version == other.api_version and
|
|
3505
|
+
self.brg_mac == other.brg_mac and
|
|
3506
|
+
self.action_id == other.action_id and
|
|
3507
|
+
self.status == other.status
|
|
3508
|
+
)
|
|
3509
|
+
return False
|
|
3510
|
+
|
|
3511
|
+
def dump(self):
|
|
3512
|
+
string = bitstruct.pack("u8u8u8u48u8u8u104", self.msg_type, self.api_version, self.seq_id, self.brg_mac, self.action_id, self.status, self.unused0)
|
|
3513
|
+
return string.hex().upper()
|
|
3514
|
+
|
|
3515
|
+
def set(self, string):
|
|
3516
|
+
d = bitstruct.unpack("u8u8u8u48u8u8u104", binascii.unhexlify(string))
|
|
3517
|
+
self.msg_type = d[0]
|
|
3518
|
+
self.api_version = d[1]
|
|
3519
|
+
self.seq_id = d[2]
|
|
3520
|
+
self.brg_mac = d[3]
|
|
3521
|
+
self.action_id = d[4]
|
|
3522
|
+
self.status = d[5]
|
|
3523
|
+
self.unused0 = d[6]
|
|
3524
|
+
|
|
2655
3525
|
class ActionPlStatusV12():
|
|
2656
3526
|
def __init__(self, raw='', msg_type=BRG_MGMT_MSG_TYPE_ACTION, api_version=API_VERSION_V12, seq_id=0, brg_mac=ACTION_EMPTY, action_id=ACTION_PL_STATUS, status=0, unused0=0):
|
|
2657
3527
|
self.msg_type = msg_type
|
|
@@ -2665,7 +3535,7 @@ class ActionPlStatusV12():
|
|
|
2665
3535
|
self.set(raw)
|
|
2666
3536
|
|
|
2667
3537
|
def __repr__(self) -> str:
|
|
2668
|
-
return "\n==> Packet action_pl_status_v12 <==\n" + tabulate.tabulate([['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],['action_id', f"0x{self.action_id:X}", self.action_id],['status', f"0x{self.status:X}", self.status]], tablefmt="texttable")
|
|
3538
|
+
return "\n==> Packet action_pl_status_v12 <==\n" + tabulate.tabulate([['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, ""],['action_id', f"0x{self.action_id:X}", self.action_id, ""],['status', f"0x{self.status:X}", self.status, ""]], tablefmt="texttable")
|
|
2669
3539
|
|
|
2670
3540
|
def __eq__(self, other):
|
|
2671
3541
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -2705,7 +3575,7 @@ class ActionPlStatusV11():
|
|
|
2705
3575
|
self.set(raw)
|
|
2706
3576
|
|
|
2707
3577
|
def __repr__(self) -> str:
|
|
2708
|
-
return "\n==> Packet action_pl_status_v11 <==\n" + tabulate.tabulate([['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],['action_id', f"0x{self.action_id:X}", self.action_id],['status', f"0x{self.status:X}", self.status]], tablefmt="texttable")
|
|
3578
|
+
return "\n==> Packet action_pl_status_v11 <==\n" + tabulate.tabulate([['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, ""],['action_id', f"0x{self.action_id:X}", self.action_id, ""],['status', f"0x{self.status:X}", self.status, ""]], tablefmt="texttable")
|
|
2709
3579
|
|
|
2710
3580
|
def __eq__(self, other):
|
|
2711
3581
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -2745,7 +3615,7 @@ class ActionPlStatusV10():
|
|
|
2745
3615
|
self.set(raw)
|
|
2746
3616
|
|
|
2747
3617
|
def __repr__(self) -> str:
|
|
2748
|
-
return "\n==> Packet action_pl_status_v10 <==\n" + tabulate.tabulate([['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],['action_id', f"0x{self.action_id:X}", self.action_id],['status', f"0x{self.status:X}", self.status]], tablefmt="texttable")
|
|
3618
|
+
return "\n==> Packet action_pl_status_v10 <==\n" + tabulate.tabulate([['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, ""],['action_id', f"0x{self.action_id:X}", self.action_id, ""],['status', f"0x{self.status:X}", self.status, ""]], tablefmt="texttable")
|
|
2749
3619
|
|
|
2750
3620
|
def __eq__(self, other):
|
|
2751
3621
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -2772,6 +3642,52 @@ class ActionPlStatusV10():
|
|
|
2772
3642
|
self.status = d[5]
|
|
2773
3643
|
self.unused0 = d[6]
|
|
2774
3644
|
|
|
3645
|
+
class Brg2BrgOtaV13():
|
|
3646
|
+
def __init__(self, raw='', msg_type=BRG_MGMT_MSG_TYPE_BRG2BRG, api_version=API_VERSION_V13, seq_id=0, src_brg_mac=ACTION_EMPTY, action_id=BRG2BRG_ACTION_OTA, dest_brg_mac=ACTION_EMPTY, app=0, bootloader=0, unused0=0):
|
|
3647
|
+
self.msg_type = msg_type
|
|
3648
|
+
self.api_version = api_version
|
|
3649
|
+
self.seq_id = seq_id
|
|
3650
|
+
self.src_brg_mac = src_brg_mac
|
|
3651
|
+
self.action_id = action_id
|
|
3652
|
+
self.dest_brg_mac = dest_brg_mac
|
|
3653
|
+
self.app = app
|
|
3654
|
+
self.bootloader = bootloader
|
|
3655
|
+
self.unused0 = unused0
|
|
3656
|
+
if raw:
|
|
3657
|
+
self.set(raw)
|
|
3658
|
+
|
|
3659
|
+
def __repr__(self) -> str:
|
|
3660
|
+
return "\n==> Packet brg2brg_ota_v13 <==\n" + tabulate.tabulate([['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, ""],['src_brg_mac', f"0x{self.src_brg_mac:X}", self.src_brg_mac, ""],['action_id', f"0x{self.action_id:X}", self.action_id, ""],['dest_brg_mac', f"0x{self.dest_brg_mac:X}", self.dest_brg_mac, ""],['app', f"0x{self.app:X}", self.app, ""],['bootloader', f"0x{self.bootloader:X}", self.bootloader, ""]], tablefmt="texttable")
|
|
3661
|
+
|
|
3662
|
+
def __eq__(self, other):
|
|
3663
|
+
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
3664
|
+
return (
|
|
3665
|
+
self.msg_type == other.msg_type and
|
|
3666
|
+
self.api_version == other.api_version and
|
|
3667
|
+
self.src_brg_mac == other.src_brg_mac and
|
|
3668
|
+
self.action_id == other.action_id and
|
|
3669
|
+
self.dest_brg_mac == other.dest_brg_mac and
|
|
3670
|
+
self.app == other.app and
|
|
3671
|
+
self.bootloader == other.bootloader
|
|
3672
|
+
)
|
|
3673
|
+
return False
|
|
3674
|
+
|
|
3675
|
+
def dump(self):
|
|
3676
|
+
string = bitstruct.pack("u8u8u8u48u8u48u8u8u48", self.msg_type, self.api_version, self.seq_id, self.src_brg_mac, self.action_id, self.dest_brg_mac, self.app, self.bootloader, self.unused0)
|
|
3677
|
+
return string.hex().upper()
|
|
3678
|
+
|
|
3679
|
+
def set(self, string):
|
|
3680
|
+
d = bitstruct.unpack("u8u8u8u48u8u48u8u8u48", binascii.unhexlify(string))
|
|
3681
|
+
self.msg_type = d[0]
|
|
3682
|
+
self.api_version = d[1]
|
|
3683
|
+
self.seq_id = d[2]
|
|
3684
|
+
self.src_brg_mac = d[3]
|
|
3685
|
+
self.action_id = d[4]
|
|
3686
|
+
self.dest_brg_mac = d[5]
|
|
3687
|
+
self.app = d[6]
|
|
3688
|
+
self.bootloader = d[7]
|
|
3689
|
+
self.unused0 = d[8]
|
|
3690
|
+
|
|
2775
3691
|
class Brg2BrgOtaV12():
|
|
2776
3692
|
def __init__(self, raw='', msg_type=BRG_MGMT_MSG_TYPE_BRG2BRG, api_version=API_VERSION_V12, seq_id=0, src_brg_mac=ACTION_EMPTY, action_id=BRG2BRG_ACTION_OTA, dest_brg_mac=ACTION_EMPTY, app=0, bootloader=0, unused0=0):
|
|
2777
3693
|
self.msg_type = msg_type
|
|
@@ -2787,7 +3703,7 @@ class Brg2BrgOtaV12():
|
|
|
2787
3703
|
self.set(raw)
|
|
2788
3704
|
|
|
2789
3705
|
def __repr__(self) -> str:
|
|
2790
|
-
return "\n==> Packet brg2brg_ota_v12 <==\n" + tabulate.tabulate([['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],['src_brg_mac', f"0x{self.src_brg_mac:X}", self.src_brg_mac],['action_id', f"0x{self.action_id:X}", self.action_id],['dest_brg_mac', f"0x{self.dest_brg_mac:X}", self.dest_brg_mac],['app', f"0x{self.app:X}", self.app],['bootloader', f"0x{self.bootloader:X}", self.bootloader]], tablefmt="texttable")
|
|
3706
|
+
return "\n==> Packet brg2brg_ota_v12 <==\n" + tabulate.tabulate([['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, ""],['src_brg_mac', f"0x{self.src_brg_mac:X}", self.src_brg_mac, ""],['action_id', f"0x{self.action_id:X}", self.action_id, ""],['dest_brg_mac', f"0x{self.dest_brg_mac:X}", self.dest_brg_mac, ""],['app', f"0x{self.app:X}", self.app, ""],['bootloader', f"0x{self.bootloader:X}", self.bootloader, ""]], tablefmt="texttable")
|
|
2791
3707
|
|
|
2792
3708
|
def __eq__(self, other):
|
|
2793
3709
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -2833,7 +3749,7 @@ class Brg2BrgOtaV11():
|
|
|
2833
3749
|
self.set(raw)
|
|
2834
3750
|
|
|
2835
3751
|
def __repr__(self) -> str:
|
|
2836
|
-
return "\n==> Packet brg2brg_ota_v11 <==\n" + tabulate.tabulate([['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],['src_brg_mac', f"0x{self.src_brg_mac:X}", self.src_brg_mac],['action_id', f"0x{self.action_id:X}", self.action_id],['dest_brg_mac', f"0x{self.dest_brg_mac:X}", self.dest_brg_mac],['app', f"0x{self.app:X}", self.app],['bootloader', f"0x{self.bootloader:X}", self.bootloader]], tablefmt="texttable")
|
|
3752
|
+
return "\n==> Packet brg2brg_ota_v11 <==\n" + tabulate.tabulate([['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, ""],['src_brg_mac', f"0x{self.src_brg_mac:X}", self.src_brg_mac, ""],['action_id', f"0x{self.action_id:X}", self.action_id, ""],['dest_brg_mac', f"0x{self.dest_brg_mac:X}", self.dest_brg_mac, ""],['app', f"0x{self.app:X}", self.app, ""],['bootloader', f"0x{self.bootloader:X}", self.bootloader, ""]], tablefmt="texttable")
|
|
2837
3753
|
|
|
2838
3754
|
def __eq__(self, other):
|
|
2839
3755
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -2879,7 +3795,7 @@ class Brg2BrgOtaV10():
|
|
|
2879
3795
|
self.set(raw)
|
|
2880
3796
|
|
|
2881
3797
|
def __repr__(self) -> str:
|
|
2882
|
-
return "\n==> Packet brg2brg_ota_v10 <==\n" + tabulate.tabulate([['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],['src_brg_mac', f"0x{self.src_brg_mac:X}", self.src_brg_mac],['action_id', f"0x{self.action_id:X}", self.action_id],['dest_brg_mac', f"0x{self.dest_brg_mac:X}", self.dest_brg_mac],['app', f"0x{self.app:X}", self.app],['bootloader', f"0x{self.bootloader:X}", self.bootloader]], tablefmt="texttable")
|
|
3798
|
+
return "\n==> Packet brg2brg_ota_v10 <==\n" + tabulate.tabulate([['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, ""],['src_brg_mac', f"0x{self.src_brg_mac:X}", self.src_brg_mac, ""],['action_id', f"0x{self.action_id:X}", self.action_id, ""],['dest_brg_mac', f"0x{self.dest_brg_mac:X}", self.dest_brg_mac, ""],['app', f"0x{self.app:X}", self.app, ""],['bootloader', f"0x{self.bootloader:X}", self.bootloader, ""]], tablefmt="texttable")
|
|
2883
3799
|
|
|
2884
3800
|
def __eq__(self, other):
|
|
2885
3801
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -2895,35 +3811,77 @@ class Brg2BrgOtaV10():
|
|
|
2895
3811
|
return False
|
|
2896
3812
|
|
|
2897
3813
|
def dump(self):
|
|
2898
|
-
string = bitstruct.pack("u8u8u8u48u8u48u8u8u48", self.msg_type, self.api_version, self.seq_id, self.src_brg_mac, self.action_id, self.dest_brg_mac, self.app, self.bootloader, self.unused0)
|
|
3814
|
+
string = bitstruct.pack("u8u8u8u48u8u48u8u8u48", self.msg_type, self.api_version, self.seq_id, self.src_brg_mac, self.action_id, self.dest_brg_mac, self.app, self.bootloader, self.unused0)
|
|
3815
|
+
return string.hex().upper()
|
|
3816
|
+
|
|
3817
|
+
def set(self, string):
|
|
3818
|
+
d = bitstruct.unpack("u8u8u8u48u8u48u8u8u48", binascii.unhexlify(string))
|
|
3819
|
+
self.msg_type = d[0]
|
|
3820
|
+
self.api_version = d[1]
|
|
3821
|
+
self.seq_id = d[2]
|
|
3822
|
+
self.src_brg_mac = d[3]
|
|
3823
|
+
self.action_id = d[4]
|
|
3824
|
+
self.dest_brg_mac = d[5]
|
|
3825
|
+
self.app = d[6]
|
|
3826
|
+
self.bootloader = d[7]
|
|
3827
|
+
self.unused0 = d[8]
|
|
3828
|
+
|
|
3829
|
+
class Brg2BrgOtaV9():
|
|
3830
|
+
def __init__(self, raw='', msg_type=BRG_MGMT_MSG_TYPE_BRG2BRG, api_version=API_VERSION_V9, seq_id=0, src_brg_mac=ACTION_EMPTY, action_id=BRG2BRG_ACTION_OTA, dest_brg_mac=ACTION_EMPTY, unused0=0):
|
|
3831
|
+
self.msg_type = msg_type
|
|
3832
|
+
self.api_version = api_version
|
|
3833
|
+
self.seq_id = seq_id
|
|
3834
|
+
self.src_brg_mac = src_brg_mac
|
|
3835
|
+
self.action_id = action_id
|
|
3836
|
+
self.dest_brg_mac = dest_brg_mac
|
|
3837
|
+
self.unused0 = unused0
|
|
3838
|
+
if raw:
|
|
3839
|
+
self.set(raw)
|
|
3840
|
+
|
|
3841
|
+
def __repr__(self) -> str:
|
|
3842
|
+
return "\n==> Packet brg2brg_ota_v9 <==\n" + tabulate.tabulate([['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, ""],['src_brg_mac', f"0x{self.src_brg_mac:X}", self.src_brg_mac, ""],['action_id', f"0x{self.action_id:X}", self.action_id, ""],['dest_brg_mac', f"0x{self.dest_brg_mac:X}", self.dest_brg_mac, ""]], tablefmt="texttable")
|
|
3843
|
+
|
|
3844
|
+
def __eq__(self, other):
|
|
3845
|
+
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
3846
|
+
return (
|
|
3847
|
+
self.msg_type == other.msg_type and
|
|
3848
|
+
self.api_version == other.api_version and
|
|
3849
|
+
self.src_brg_mac == other.src_brg_mac and
|
|
3850
|
+
self.action_id == other.action_id and
|
|
3851
|
+
self.dest_brg_mac == other.dest_brg_mac
|
|
3852
|
+
)
|
|
3853
|
+
return False
|
|
3854
|
+
|
|
3855
|
+
def dump(self):
|
|
3856
|
+
string = bitstruct.pack("u8u8u8u48u8u48u64", self.msg_type, self.api_version, self.seq_id, self.src_brg_mac, self.action_id, self.dest_brg_mac, self.unused0)
|
|
2899
3857
|
return string.hex().upper()
|
|
2900
3858
|
|
|
2901
3859
|
def set(self, string):
|
|
2902
|
-
d = bitstruct.unpack("
|
|
3860
|
+
d = bitstruct.unpack("u8u8u8u48u8u48u64", binascii.unhexlify(string))
|
|
2903
3861
|
self.msg_type = d[0]
|
|
2904
3862
|
self.api_version = d[1]
|
|
2905
3863
|
self.seq_id = d[2]
|
|
2906
3864
|
self.src_brg_mac = d[3]
|
|
2907
3865
|
self.action_id = d[4]
|
|
2908
3866
|
self.dest_brg_mac = d[5]
|
|
2909
|
-
self.
|
|
2910
|
-
self.bootloader = d[7]
|
|
2911
|
-
self.unused0 = d[8]
|
|
3867
|
+
self.unused0 = d[6]
|
|
2912
3868
|
|
|
2913
|
-
class
|
|
2914
|
-
def __init__(self, raw='', msg_type=BRG_MGMT_MSG_TYPE_BRG2BRG, api_version=
|
|
3869
|
+
class Brg2BrgCfgV13():
|
|
3870
|
+
def __init__(self, raw='', msg_type=BRG_MGMT_MSG_TYPE_BRG2BRG, api_version=API_VERSION_V13, seq_id=0, src_brg_mac=ACTION_EMPTY, action_id=BRG2BRG_ACTION_CFG, dest_brg_mac=ACTION_EMPTY, module_type=MODULE_EMPTY, unused0=0, unused1=0):
|
|
2915
3871
|
self.msg_type = msg_type
|
|
2916
3872
|
self.api_version = api_version
|
|
2917
3873
|
self.seq_id = seq_id
|
|
2918
3874
|
self.src_brg_mac = src_brg_mac
|
|
2919
3875
|
self.action_id = action_id
|
|
2920
3876
|
self.dest_brg_mac = dest_brg_mac
|
|
3877
|
+
self.module_type = module_type
|
|
2921
3878
|
self.unused0 = unused0
|
|
3879
|
+
self.unused1 = unused1
|
|
2922
3880
|
if raw:
|
|
2923
3881
|
self.set(raw)
|
|
2924
3882
|
|
|
2925
3883
|
def __repr__(self) -> str:
|
|
2926
|
-
return "\n==> Packet
|
|
3884
|
+
return "\n==> Packet brg2brg_cfg_v13 <==\n" + tabulate.tabulate([['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, ""],['src_brg_mac', f"0x{self.src_brg_mac:X}", self.src_brg_mac, ""],['action_id', f"0x{self.action_id:X}", self.action_id, ""],['dest_brg_mac', f"0x{self.dest_brg_mac:X}", self.dest_brg_mac, ""],['module_type', f"0x{self.module_type:X}", self.module_type, ""]], tablefmt="texttable")
|
|
2927
3885
|
|
|
2928
3886
|
def __eq__(self, other):
|
|
2929
3887
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -2932,23 +3890,26 @@ class Brg2BrgOtaV9():
|
|
|
2932
3890
|
self.api_version == other.api_version and
|
|
2933
3891
|
self.src_brg_mac == other.src_brg_mac and
|
|
2934
3892
|
self.action_id == other.action_id and
|
|
2935
|
-
self.dest_brg_mac == other.dest_brg_mac
|
|
3893
|
+
self.dest_brg_mac == other.dest_brg_mac and
|
|
3894
|
+
self.module_type == other.module_type
|
|
2936
3895
|
)
|
|
2937
3896
|
return False
|
|
2938
3897
|
|
|
2939
3898
|
def dump(self):
|
|
2940
|
-
string = bitstruct.pack("
|
|
3899
|
+
string = bitstruct.pack("u8u8u8u48u8u48u4u4u56", self.msg_type, self.api_version, self.seq_id, self.src_brg_mac, self.action_id, self.dest_brg_mac, self.module_type, self.unused0, self.unused1)
|
|
2941
3900
|
return string.hex().upper()
|
|
2942
3901
|
|
|
2943
3902
|
def set(self, string):
|
|
2944
|
-
d = bitstruct.unpack("
|
|
3903
|
+
d = bitstruct.unpack("u8u8u8u48u8u48u4u4u56", binascii.unhexlify(string))
|
|
2945
3904
|
self.msg_type = d[0]
|
|
2946
3905
|
self.api_version = d[1]
|
|
2947
3906
|
self.seq_id = d[2]
|
|
2948
3907
|
self.src_brg_mac = d[3]
|
|
2949
3908
|
self.action_id = d[4]
|
|
2950
3909
|
self.dest_brg_mac = d[5]
|
|
2951
|
-
self.
|
|
3910
|
+
self.module_type = d[6]
|
|
3911
|
+
self.unused0 = d[7]
|
|
3912
|
+
self.unused1 = d[8]
|
|
2952
3913
|
|
|
2953
3914
|
class Brg2BrgCfgV12():
|
|
2954
3915
|
def __init__(self, raw='', msg_type=BRG_MGMT_MSG_TYPE_BRG2BRG, api_version=API_VERSION_V12, seq_id=0, src_brg_mac=ACTION_EMPTY, action_id=BRG2BRG_ACTION_CFG, dest_brg_mac=ACTION_EMPTY, module_type=MODULE_EMPTY, unused0=0, unused1=0):
|
|
@@ -2965,7 +3926,7 @@ class Brg2BrgCfgV12():
|
|
|
2965
3926
|
self.set(raw)
|
|
2966
3927
|
|
|
2967
3928
|
def __repr__(self) -> str:
|
|
2968
|
-
return "\n==> Packet brg2brg_cfg_v12 <==\n" + tabulate.tabulate([['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],['src_brg_mac', f"0x{self.src_brg_mac:X}", self.src_brg_mac],['action_id', f"0x{self.action_id:X}", self.action_id],['dest_brg_mac', f"0x{self.dest_brg_mac:X}", self.dest_brg_mac],['module_type', f"0x{self.module_type:X}", self.module_type]], tablefmt="texttable")
|
|
3929
|
+
return "\n==> Packet brg2brg_cfg_v12 <==\n" + tabulate.tabulate([['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, ""],['src_brg_mac', f"0x{self.src_brg_mac:X}", self.src_brg_mac, ""],['action_id', f"0x{self.action_id:X}", self.action_id, ""],['dest_brg_mac', f"0x{self.dest_brg_mac:X}", self.dest_brg_mac, ""],['module_type', f"0x{self.module_type:X}", self.module_type, ""]], tablefmt="texttable")
|
|
2969
3930
|
|
|
2970
3931
|
def __eq__(self, other):
|
|
2971
3932
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -3010,7 +3971,7 @@ class Brg2BrgCfgV11():
|
|
|
3010
3971
|
self.set(raw)
|
|
3011
3972
|
|
|
3012
3973
|
def __repr__(self) -> str:
|
|
3013
|
-
return "\n==> Packet brg2brg_cfg_v11 <==\n" + tabulate.tabulate([['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],['src_brg_mac', f"0x{self.src_brg_mac:X}", self.src_brg_mac],['action_id', f"0x{self.action_id:X}", self.action_id],['dest_brg_mac', f"0x{self.dest_brg_mac:X}", self.dest_brg_mac],['module_type', f"0x{self.module_type:X}", self.module_type]], tablefmt="texttable")
|
|
3974
|
+
return "\n==> Packet brg2brg_cfg_v11 <==\n" + tabulate.tabulate([['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, ""],['src_brg_mac', f"0x{self.src_brg_mac:X}", self.src_brg_mac, ""],['action_id', f"0x{self.action_id:X}", self.action_id, ""],['dest_brg_mac', f"0x{self.dest_brg_mac:X}", self.dest_brg_mac, ""],['module_type', f"0x{self.module_type:X}", self.module_type, ""]], tablefmt="texttable")
|
|
3014
3975
|
|
|
3015
3976
|
def __eq__(self, other):
|
|
3016
3977
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -3055,7 +4016,7 @@ class Brg2BrgCfgV10():
|
|
|
3055
4016
|
self.set(raw)
|
|
3056
4017
|
|
|
3057
4018
|
def __repr__(self) -> str:
|
|
3058
|
-
return "\n==> Packet brg2brg_cfg_v10 <==\n" + tabulate.tabulate([['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],['src_brg_mac', f"0x{self.src_brg_mac:X}", self.src_brg_mac],['action_id', f"0x{self.action_id:X}", self.action_id],['dest_brg_mac', f"0x{self.dest_brg_mac:X}", self.dest_brg_mac],['module_type', f"0x{self.module_type:X}", self.module_type]], tablefmt="texttable")
|
|
4019
|
+
return "\n==> Packet brg2brg_cfg_v10 <==\n" + tabulate.tabulate([['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, ""],['src_brg_mac', f"0x{self.src_brg_mac:X}", self.src_brg_mac, ""],['action_id', f"0x{self.action_id:X}", self.action_id, ""],['dest_brg_mac', f"0x{self.dest_brg_mac:X}", self.dest_brg_mac, ""],['module_type', f"0x{self.module_type:X}", self.module_type, ""]], tablefmt="texttable")
|
|
3059
4020
|
|
|
3060
4021
|
def __eq__(self, other):
|
|
3061
4022
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -3100,7 +4061,7 @@ class Brg2BrgCfgV9():
|
|
|
3100
4061
|
self.set(raw)
|
|
3101
4062
|
|
|
3102
4063
|
def __repr__(self) -> str:
|
|
3103
|
-
return "\n==> Packet brg2brg_cfg_v9 <==\n" + tabulate.tabulate([['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],['src_brg_mac', f"0x{self.src_brg_mac:X}", self.src_brg_mac],['action_id', f"0x{self.action_id:X}", self.action_id],['dest_brg_mac', f"0x{self.dest_brg_mac:X}", self.dest_brg_mac],['module_type', f"0x{self.module_type:X}", self.module_type]], tablefmt="texttable")
|
|
4064
|
+
return "\n==> Packet brg2brg_cfg_v9 <==\n" + tabulate.tabulate([['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, ""],['src_brg_mac', f"0x{self.src_brg_mac:X}", self.src_brg_mac, ""],['action_id', f"0x{self.action_id:X}", self.action_id, ""],['dest_brg_mac', f"0x{self.dest_brg_mac:X}", self.dest_brg_mac, ""],['module_type', f"0x{self.module_type:X}", self.module_type, ""]], tablefmt="texttable")
|
|
3104
4065
|
|
|
3105
4066
|
def __eq__(self, other):
|
|
3106
4067
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -3157,7 +4118,7 @@ class Gw2BrgCfgV8():
|
|
|
3157
4118
|
self.set(raw)
|
|
3158
4119
|
|
|
3159
4120
|
def __repr__(self) -> str:
|
|
3160
|
-
return "\n==> Packet gw2brg_cfg_v8 <==\n" + tabulate.tabulate([['msg_type', f"0x{self.msg_type:X}", self.msg_type],['global_pacing_group', f"0x{self.global_pacing_group:X}", self.global_pacing_group],['output_power_sub1g', f"0x{self.output_power_sub1g:X}", self.output_power_sub1g],['seq_id', f"0x{self.seq_id:X}", self.seq_id],['brg_mac', f"0x{self.brg_mac:X}", self.brg_mac],['pkt_types_mask', f"0x{self.pkt_types_mask:X}", self.pkt_types_mask],['rx_tx_period_ms', f"0x{self.rx_tx_period_ms:X}", self.rx_tx_period_ms],['tx_period_ms', f"0x{self.tx_period_ms:X}", self.tx_period_ms],['energy_pattern_idx', f"0x{self.energy_pattern_idx:X}", self.energy_pattern_idx],['output_power_2_4', f"0x{self.output_power_2_4:X}", self.output_power_2_4],['pacer_interval', f"0x{self.pacer_interval:X}", self.pacer_interval],['tx_repetition', f"0x{self.tx_repetition:X}", self.tx_repetition],['transmit_time_sub1g', f"0x{self.transmit_time_sub1g:X}", self.transmit_time_sub1g],['sub1g_freq_profile', f"0x{self.sub1g_freq_profile:X}", self.sub1g_freq_profile]], tablefmt="texttable")
|
|
4121
|
+
return "\n==> Packet gw2brg_cfg_v8 <==\n" + tabulate.tabulate([['msg_type', f"0x{self.msg_type:X}", self.msg_type, ""],['global_pacing_group', f"0x{self.global_pacing_group:X}", self.global_pacing_group, ""],['output_power_sub1g', f"0x{self.output_power_sub1g:X}", self.output_power_sub1g, ""],['seq_id', f"0x{self.seq_id:X}", self.seq_id, ""],['brg_mac', f"0x{self.brg_mac:X}", self.brg_mac, ""],['pkt_types_mask', f"0x{self.pkt_types_mask:X}", self.pkt_types_mask, ""],['rx_tx_period_ms', f"0x{self.rx_tx_period_ms:X}", self.rx_tx_period_ms, ""],['tx_period_ms', f"0x{self.tx_period_ms:X}", self.tx_period_ms, ""],['energy_pattern_idx', f"0x{self.energy_pattern_idx:X}", self.energy_pattern_idx, ""],['output_power_2_4', f"0x{self.output_power_2_4:X}", self.output_power_2_4, ""],['pacer_interval', f"0x{self.pacer_interval:X}", self.pacer_interval, ""],['tx_repetition', f"0x{self.tx_repetition:X}", self.tx_repetition, ""],['transmit_time_sub1g', f"0x{self.transmit_time_sub1g:X}", self.transmit_time_sub1g, ""],['sub1g_freq_profile', f"0x{self.sub1g_freq_profile:X}", self.sub1g_freq_profile, ""]], tablefmt="texttable")
|
|
3161
4122
|
|
|
3162
4123
|
def __eq__(self, other):
|
|
3163
4124
|
if isinstance(other, (Gw2BrgCfgV8, Brg2GwCfgV8)):
|
|
@@ -3227,7 +4188,7 @@ class Gw2BrgCfgV7():
|
|
|
3227
4188
|
self.set(raw)
|
|
3228
4189
|
|
|
3229
4190
|
def __repr__(self) -> str:
|
|
3230
|
-
return "\n==> Packet gw2brg_cfg_v7 <==\n" + tabulate.tabulate([['msg_type', f"0x{self.msg_type:X}", self.msg_type],['global_pacing_group', f"0x{self.global_pacing_group:X}", self.global_pacing_group],['output_power_sub1g', f"0x{self.output_power_sub1g:X}", self.output_power_sub1g],['seq_id', f"0x{self.seq_id:X}", self.seq_id],['brg_mac', f"0x{self.brg_mac:X}", self.brg_mac],['rx_tx_period_ms', f"0x{self.rx_tx_period_ms:X}", self.rx_tx_period_ms],['tx_period_ms', f"0x{self.tx_period_ms:X}", self.tx_period_ms],['energy_pattern_idx', f"0x{self.energy_pattern_idx:X}", self.energy_pattern_idx],['output_power_2_4', f"0x{self.output_power_2_4:X}", self.output_power_2_4],['pacer_interval', f"0x{self.pacer_interval:X}", self.pacer_interval],['tx_probability', f"0x{self.tx_probability:X}", self.tx_probability],['tx_repetition', f"0x{self.tx_repetition:X}", self.tx_repetition],['transmit_time_sub1g', f"0x{self.transmit_time_sub1g:X}", self.transmit_time_sub1g],['sub1g_freq_profile', f"0x{self.sub1g_freq_profile:X}", self.sub1g_freq_profile]], tablefmt="texttable")
|
|
4191
|
+
return "\n==> Packet gw2brg_cfg_v7 <==\n" + tabulate.tabulate([['msg_type', f"0x{self.msg_type:X}", self.msg_type, ""],['global_pacing_group', f"0x{self.global_pacing_group:X}", self.global_pacing_group, ""],['output_power_sub1g', f"0x{self.output_power_sub1g:X}", self.output_power_sub1g, ""],['seq_id', f"0x{self.seq_id:X}", self.seq_id, ""],['brg_mac', f"0x{self.brg_mac:X}", self.brg_mac, ""],['rx_tx_period_ms', f"0x{self.rx_tx_period_ms:X}", self.rx_tx_period_ms, ""],['tx_period_ms', f"0x{self.tx_period_ms:X}", self.tx_period_ms, ""],['energy_pattern_idx', f"0x{self.energy_pattern_idx:X}", self.energy_pattern_idx, ""],['output_power_2_4', f"0x{self.output_power_2_4:X}", self.output_power_2_4, ""],['pacer_interval', f"0x{self.pacer_interval:X}", self.pacer_interval, ""],['tx_probability', f"0x{self.tx_probability:X}", self.tx_probability, ""],['tx_repetition', f"0x{self.tx_repetition:X}", self.tx_repetition, ""],['transmit_time_sub1g', f"0x{self.transmit_time_sub1g:X}", self.transmit_time_sub1g, ""],['sub1g_freq_profile', f"0x{self.sub1g_freq_profile:X}", self.sub1g_freq_profile, ""]], tablefmt="texttable")
|
|
3231
4192
|
|
|
3232
4193
|
def __eq__(self, other):
|
|
3233
4194
|
if isinstance(other, (Gw2BrgCfgV7, Brg2GwCfgV7)):
|
|
@@ -3293,7 +4254,7 @@ class Gw2BrgCfgV6():
|
|
|
3293
4254
|
self.set(raw)
|
|
3294
4255
|
|
|
3295
4256
|
def __repr__(self) -> str:
|
|
3296
|
-
return "\n==> Packet gw2brg_cfg_v6 <==\n" + tabulate.tabulate([['msg_type', f"0x{self.msg_type:X}", self.msg_type],['global_pacing_group', f"0x{self.global_pacing_group:X}", self.global_pacing_group],['output_power_sub1g', f"0x{self.output_power_sub1g:X}", self.output_power_sub1g],['seq_id', f"0x{self.seq_id:X}", self.seq_id],['brg_mac', f"0x{self.brg_mac:X}", self.brg_mac],['rx_tx_period_ms', f"0x{self.rx_tx_period_ms:X}", self.rx_tx_period_ms],['tx_period_ms', f"0x{self.tx_period_ms:X}", self.tx_period_ms],['energy_pattern_idx', f"0x{self.energy_pattern_idx:X}", self.energy_pattern_idx],['output_power_2_4', f"0x{self.output_power_2_4:X}", self.output_power_2_4],['pacer_interval', f"0x{self.pacer_interval:X}", self.pacer_interval],['tx_probability', f"0x{self.tx_probability:X}", self.tx_probability],['tx_repetition', f"0x{self.tx_repetition:X}", self.tx_repetition],['transmit_time_sub1g', f"0x{self.transmit_time_sub1g:X}", self.transmit_time_sub1g],['sub1g_freq_profile', f"0x{self.sub1g_freq_profile:X}", self.sub1g_freq_profile]], tablefmt="texttable")
|
|
4257
|
+
return "\n==> Packet gw2brg_cfg_v6 <==\n" + tabulate.tabulate([['msg_type', f"0x{self.msg_type:X}", self.msg_type, ""],['global_pacing_group', f"0x{self.global_pacing_group:X}", self.global_pacing_group, ""],['output_power_sub1g', f"0x{self.output_power_sub1g:X}", self.output_power_sub1g, ""],['seq_id', f"0x{self.seq_id:X}", self.seq_id, ""],['brg_mac', f"0x{self.brg_mac:X}", self.brg_mac, ""],['rx_tx_period_ms', f"0x{self.rx_tx_period_ms:X}", self.rx_tx_period_ms, ""],['tx_period_ms', f"0x{self.tx_period_ms:X}", self.tx_period_ms, ""],['energy_pattern_idx', f"0x{self.energy_pattern_idx:X}", self.energy_pattern_idx, ""],['output_power_2_4', f"0x{self.output_power_2_4:X}", self.output_power_2_4, ""],['pacer_interval', f"0x{self.pacer_interval:X}", self.pacer_interval, ""],['tx_probability', f"0x{self.tx_probability:X}", self.tx_probability, ""],['tx_repetition', f"0x{self.tx_repetition:X}", self.tx_repetition, ""],['transmit_time_sub1g', f"0x{self.transmit_time_sub1g:X}", self.transmit_time_sub1g, ""],['sub1g_freq_profile', f"0x{self.sub1g_freq_profile:X}", self.sub1g_freq_profile, ""]], tablefmt="texttable")
|
|
3297
4258
|
|
|
3298
4259
|
def __eq__(self, other):
|
|
3299
4260
|
if isinstance(other, (Gw2BrgCfgV6, Brg2GwCfgV6)):
|
|
@@ -3359,7 +4320,7 @@ class Gw2BrgCfgV5():
|
|
|
3359
4320
|
self.set(raw)
|
|
3360
4321
|
|
|
3361
4322
|
def __repr__(self) -> str:
|
|
3362
|
-
return "\n==> Packet gw2brg_cfg_v5 <==\n" + tabulate.tabulate([['msg_type', f"0x{self.msg_type:X}", self.msg_type],['output_power_sub1g', f"0x{self.output_power_sub1g:X}", self.output_power_sub1g],['seq_id', f"0x{self.seq_id:X}", self.seq_id],['brg_mac', f"0x{self.brg_mac:X}", self.brg_mac],['rx_tx_period_ms', f"0x{self.rx_tx_period_ms:X}", self.rx_tx_period_ms],['tx_period_ms', f"0x{self.tx_period_ms:X}", self.tx_period_ms],['energy_pattern_idx', f"0x{self.energy_pattern_idx:X}", self.energy_pattern_idx],['output_power_2_4', f"0x{self.output_power_2_4:X}", self.output_power_2_4],['pacer_interval', f"0x{self.pacer_interval:X}", self.pacer_interval],['global_pacing', f"0x{self.global_pacing:X}", self.global_pacing],['tx_probability', f"0x{self.tx_probability:X}", self.tx_probability],['stat_freq', f"0x{self.stat_freq:X}", self.stat_freq],['transmit_time_sub1g', f"0x{self.transmit_time_sub1g:X}", self.transmit_time_sub1g],['sub1g_freq_profile', f"0x{self.sub1g_freq_profile:X}", self.sub1g_freq_profile]], tablefmt="texttable")
|
|
4323
|
+
return "\n==> Packet gw2brg_cfg_v5 <==\n" + tabulate.tabulate([['msg_type', f"0x{self.msg_type:X}", self.msg_type, ""],['output_power_sub1g', f"0x{self.output_power_sub1g:X}", self.output_power_sub1g, ""],['seq_id', f"0x{self.seq_id:X}", self.seq_id, ""],['brg_mac', f"0x{self.brg_mac:X}", self.brg_mac, ""],['rx_tx_period_ms', f"0x{self.rx_tx_period_ms:X}", self.rx_tx_period_ms, ""],['tx_period_ms', f"0x{self.tx_period_ms:X}", self.tx_period_ms, ""],['energy_pattern_idx', f"0x{self.energy_pattern_idx:X}", self.energy_pattern_idx, ""],['output_power_2_4', f"0x{self.output_power_2_4:X}", self.output_power_2_4, ""],['pacer_interval', f"0x{self.pacer_interval:X}", self.pacer_interval, ""],['global_pacing', f"0x{self.global_pacing:X}", self.global_pacing, ""],['tx_probability', f"0x{self.tx_probability:X}", self.tx_probability, ""],['stat_freq', f"0x{self.stat_freq:X}", self.stat_freq, ""],['transmit_time_sub1g', f"0x{self.transmit_time_sub1g:X}", self.transmit_time_sub1g, ""],['sub1g_freq_profile', f"0x{self.sub1g_freq_profile:X}", self.sub1g_freq_profile, ""]], tablefmt="texttable")
|
|
3363
4324
|
|
|
3364
4325
|
def __eq__(self, other):
|
|
3365
4326
|
if isinstance(other, (Gw2BrgCfgV5, Brg2GwCfgV5)):
|
|
@@ -3425,7 +4386,7 @@ class Gw2BrgCfgV2():
|
|
|
3425
4386
|
self.set(raw)
|
|
3426
4387
|
|
|
3427
4388
|
def __repr__(self) -> str:
|
|
3428
|
-
return "\n==> Packet gw2brg_cfg_v2 <==\n" + tabulate.tabulate([['msg_type', f"0x{self.msg_type:X}", self.msg_type],['output_power_sub1g', f"0x{self.output_power_sub1g:X}", self.output_power_sub1g],['seq_id', f"0x{self.seq_id:X}", self.seq_id],['brg_mac', f"0x{self.brg_mac:X}", self.brg_mac],['gw_mac', f"0x{self.gw_mac:X}", self.gw_mac],['rx_rssi', f"0x{self.rx_rssi:X}", self.rx_rssi],['rx_tx_period_ms', f"0x{self.rx_tx_period_ms:X}", self.rx_tx_period_ms],['tx_period_ms', f"0x{self.tx_period_ms:X}", self.tx_period_ms],['energy_pattern_idx', f"0x{self.energy_pattern_idx:X}", self.energy_pattern_idx],['output_power_2_4', f"0x{self.output_power_2_4:X}", self.output_power_2_4],['pacer_interval', f"0x{self.pacer_interval:X}", self.pacer_interval],['global_pacing', f"0x{self.global_pacing:X}", self.global_pacing],['tx_probability', f"0x{self.tx_probability:X}", self.tx_probability],['stat_freq', f"0x{self.stat_freq:X}", self.stat_freq],['transmit_time_sub1g', f"0x{self.transmit_time_sub1g:X}", self.transmit_time_sub1g],['sub1g_freq_profile', f"0x{self.sub1g_freq_profile:X}", self.sub1g_freq_profile]], tablefmt="texttable")
|
|
4389
|
+
return "\n==> Packet gw2brg_cfg_v2 <==\n" + tabulate.tabulate([['msg_type', f"0x{self.msg_type:X}", self.msg_type, ""],['output_power_sub1g', f"0x{self.output_power_sub1g:X}", self.output_power_sub1g, ""],['seq_id', f"0x{self.seq_id:X}", self.seq_id, ""],['brg_mac', f"0x{self.brg_mac:X}", self.brg_mac, ""],['gw_mac', f"0x{self.gw_mac:X}", self.gw_mac, ""],['rx_rssi', f"0x{self.rx_rssi:X}", self.rx_rssi, ""],['rx_tx_period_ms', f"0x{self.rx_tx_period_ms:X}", self.rx_tx_period_ms, ""],['tx_period_ms', f"0x{self.tx_period_ms:X}", self.tx_period_ms, ""],['energy_pattern_idx', f"0x{self.energy_pattern_idx:X}", self.energy_pattern_idx, ""],['output_power_2_4', f"0x{self.output_power_2_4:X}", self.output_power_2_4, ""],['pacer_interval', f"0x{self.pacer_interval:X}", self.pacer_interval, ""],['global_pacing', f"0x{self.global_pacing:X}", self.global_pacing, ""],['tx_probability', f"0x{self.tx_probability:X}", self.tx_probability, ""],['stat_freq', f"0x{self.stat_freq:X}", self.stat_freq, ""],['transmit_time_sub1g', f"0x{self.transmit_time_sub1g:X}", self.transmit_time_sub1g, ""],['sub1g_freq_profile', f"0x{self.sub1g_freq_profile:X}", self.sub1g_freq_profile, ""]], tablefmt="texttable")
|
|
3429
4390
|
|
|
3430
4391
|
def __eq__(self, other):
|
|
3431
4392
|
if isinstance(other, (Gw2BrgCfgV2, Brg2GwCfgV2)):
|
|
@@ -3490,7 +4451,7 @@ class Gw2BrgCfgV1():
|
|
|
3490
4451
|
self.set(raw)
|
|
3491
4452
|
|
|
3492
4453
|
def __repr__(self) -> str:
|
|
3493
|
-
return "\n==> Packet gw2brg_cfg_v1 <==\n" + tabulate.tabulate([['msg_type', f"0x{self.msg_type:X}", self.msg_type],['seq_id', f"0x{self.seq_id:X}", self.seq_id],['brg_mac', f"0x{self.brg_mac:X}", self.brg_mac],['gw_mac', f"0x{self.gw_mac:X}", self.gw_mac],['rx_rssi', f"0x{self.rx_rssi:X}", self.rx_rssi],['rx_tx_period_ms', f"0x{self.rx_tx_period_ms:X}", self.rx_tx_period_ms],['tx_period_ms', f"0x{self.tx_period_ms:X}", self.tx_period_ms],['energy_pattern_idx', f"0x{self.energy_pattern_idx:X}", self.energy_pattern_idx],['output_power', f"0x{self.output_power:X}", self.output_power],['pacer_interval', f"0x{self.pacer_interval:X}", self.pacer_interval],['tx_probability', f"0x{self.tx_probability:X}", self.tx_probability]], tablefmt="texttable")
|
|
4454
|
+
return "\n==> Packet gw2brg_cfg_v1 <==\n" + tabulate.tabulate([['msg_type', f"0x{self.msg_type:X}", self.msg_type, ""],['seq_id', f"0x{self.seq_id:X}", self.seq_id, ""],['brg_mac', f"0x{self.brg_mac:X}", self.brg_mac, ""],['gw_mac', f"0x{self.gw_mac:X}", self.gw_mac, ""],['rx_rssi', f"0x{self.rx_rssi:X}", self.rx_rssi, ""],['rx_tx_period_ms', f"0x{self.rx_tx_period_ms:X}", self.rx_tx_period_ms, ""],['tx_period_ms', f"0x{self.tx_period_ms:X}", self.tx_period_ms, ""],['energy_pattern_idx', f"0x{self.energy_pattern_idx:X}", self.energy_pattern_idx, ""],['output_power', f"0x{self.output_power:X}", self.output_power, ""],['pacer_interval', f"0x{self.pacer_interval:X}", self.pacer_interval, ""],['tx_probability', f"0x{self.tx_probability:X}", self.tx_probability, ""]], tablefmt="texttable")
|
|
3494
4455
|
|
|
3495
4456
|
def __eq__(self, other):
|
|
3496
4457
|
if isinstance(other, (Gw2BrgCfgV1, Brg2GwCfgV1)):
|
|
@@ -3560,7 +4521,7 @@ class Brg2GwCfgV8():
|
|
|
3560
4521
|
self.set(raw)
|
|
3561
4522
|
|
|
3562
4523
|
def __repr__(self) -> str:
|
|
3563
|
-
return "\n==> Packet brg2gw_cfg_v8 <==\n" + tabulate.tabulate([['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],['tx_repetition', f"0x{self.tx_repetition:X}", self.tx_repetition],['global_pacing_group', f"0x{self.global_pacing_group:X}", self.global_pacing_group],['output_power_sub1g', f"0x{self.output_power_sub1g:X}", self.output_power_sub1g],['transmit_time_sub1g', f"0x{self.transmit_time_sub1g:X}", self.transmit_time_sub1g],['sub1g_freq_profile', f"0x{self.sub1g_freq_profile:X}", self.sub1g_freq_profile],['bl_version', f"0x{self.bl_version:X}", self.bl_version],['board_type', f"0x{self.board_type:X}", self.board_type],['pkt_types_mask', f"0x{self.pkt_types_mask:X}", self.pkt_types_mask],['brg_mac', f"0x{self.brg_mac:X}", self.brg_mac],['major_ver', f"0x{self.major_ver:X}", self.major_ver],['minor_ver', f"0x{self.minor_ver:X}", self.minor_ver],['build_ver', f"0x{self.build_ver:X}", self.build_ver],['rx_tx_period_ms', f"0x{self.rx_tx_period_ms:X}", self.rx_tx_period_ms],['tx_period_ms', f"0x{self.tx_period_ms:X}", self.tx_period_ms],['energy_pattern_idx', f"0x{self.energy_pattern_idx:X}", self.energy_pattern_idx],['output_power_2_4', f"0x{self.output_power_2_4:X}", self.output_power_2_4],['pacer_interval', f"0x{self.pacer_interval:X}", self.pacer_interval]], tablefmt="texttable")
|
|
4524
|
+
return "\n==> Packet brg2gw_cfg_v8 <==\n" + tabulate.tabulate([['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, ""],['tx_repetition', f"0x{self.tx_repetition:X}", self.tx_repetition, ""],['global_pacing_group', f"0x{self.global_pacing_group:X}", self.global_pacing_group, ""],['output_power_sub1g', f"0x{self.output_power_sub1g:X}", self.output_power_sub1g, ""],['transmit_time_sub1g', f"0x{self.transmit_time_sub1g:X}", self.transmit_time_sub1g, ""],['sub1g_freq_profile', f"0x{self.sub1g_freq_profile:X}", self.sub1g_freq_profile, ""],['bl_version', f"0x{self.bl_version:X}", self.bl_version, ""],['board_type', f"0x{self.board_type:X}", self.board_type, ""],['pkt_types_mask', f"0x{self.pkt_types_mask:X}", self.pkt_types_mask, ""],['brg_mac', f"0x{self.brg_mac:X}", self.brg_mac, ""],['major_ver', f"0x{self.major_ver:X}", self.major_ver, ""],['minor_ver', f"0x{self.minor_ver:X}", self.minor_ver, ""],['build_ver', f"0x{self.build_ver:X}", self.build_ver, ""],['rx_tx_period_ms', f"0x{self.rx_tx_period_ms:X}", self.rx_tx_period_ms, ""],['tx_period_ms', f"0x{self.tx_period_ms:X}", self.tx_period_ms, ""],['energy_pattern_idx', f"0x{self.energy_pattern_idx:X}", self.energy_pattern_idx, ""],['output_power_2_4', f"0x{self.output_power_2_4:X}", self.output_power_2_4, ""],['pacer_interval', f"0x{self.pacer_interval:X}", self.pacer_interval, ""]], tablefmt="texttable")
|
|
3564
4525
|
|
|
3565
4526
|
def __eq__(self, other):
|
|
3566
4527
|
if isinstance(other, Brg2GwCfgV8):
|
|
@@ -3662,7 +4623,7 @@ class Brg2GwCfgV7():
|
|
|
3662
4623
|
self.set(raw)
|
|
3663
4624
|
|
|
3664
4625
|
def __repr__(self) -> str:
|
|
3665
|
-
return "\n==> Packet brg2gw_cfg_v7 <==\n" + tabulate.tabulate([['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],['tx_probability', f"0x{self.tx_probability:X}", self.tx_probability],['tx_repetition', f"0x{self.tx_repetition:X}", self.tx_repetition],['global_pacing_group', f"0x{self.global_pacing_group:X}", self.global_pacing_group],['output_power_sub1g', f"0x{self.output_power_sub1g:X}", self.output_power_sub1g],['transmit_time_sub1g', f"0x{self.transmit_time_sub1g:X}", self.transmit_time_sub1g],['sub1g_freq_profile', f"0x{self.sub1g_freq_profile:X}", self.sub1g_freq_profile],['bl_version', f"0x{self.bl_version:X}", self.bl_version],['board_type', f"0x{self.board_type:X}", self.board_type],['brg_mac', f"0x{self.brg_mac:X}", self.brg_mac],['major_ver', f"0x{self.major_ver:X}", self.major_ver],['minor_ver', f"0x{self.minor_ver:X}", self.minor_ver],['build_ver', f"0x{self.build_ver:X}", self.build_ver],['rx_tx_period_ms', f"0x{self.rx_tx_period_ms:X}", self.rx_tx_period_ms],['tx_period_ms', f"0x{self.tx_period_ms:X}", self.tx_period_ms],['energy_pattern_idx', f"0x{self.energy_pattern_idx:X}", self.energy_pattern_idx],['output_power_2_4', f"0x{self.output_power_2_4:X}", self.output_power_2_4],['pacer_interval', f"0x{self.pacer_interval:X}", self.pacer_interval]], tablefmt="texttable")
|
|
4626
|
+
return "\n==> Packet brg2gw_cfg_v7 <==\n" + tabulate.tabulate([['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, ""],['tx_probability', f"0x{self.tx_probability:X}", self.tx_probability, ""],['tx_repetition', f"0x{self.tx_repetition:X}", self.tx_repetition, ""],['global_pacing_group', f"0x{self.global_pacing_group:X}", self.global_pacing_group, ""],['output_power_sub1g', f"0x{self.output_power_sub1g:X}", self.output_power_sub1g, ""],['transmit_time_sub1g', f"0x{self.transmit_time_sub1g:X}", self.transmit_time_sub1g, ""],['sub1g_freq_profile', f"0x{self.sub1g_freq_profile:X}", self.sub1g_freq_profile, ""],['bl_version', f"0x{self.bl_version:X}", self.bl_version, ""],['board_type', f"0x{self.board_type:X}", self.board_type, ""],['brg_mac', f"0x{self.brg_mac:X}", self.brg_mac, ""],['major_ver', f"0x{self.major_ver:X}", self.major_ver, ""],['minor_ver', f"0x{self.minor_ver:X}", self.minor_ver, ""],['build_ver', f"0x{self.build_ver:X}", self.build_ver, ""],['rx_tx_period_ms', f"0x{self.rx_tx_period_ms:X}", self.rx_tx_period_ms, ""],['tx_period_ms', f"0x{self.tx_period_ms:X}", self.tx_period_ms, ""],['energy_pattern_idx', f"0x{self.energy_pattern_idx:X}", self.energy_pattern_idx, ""],['output_power_2_4', f"0x{self.output_power_2_4:X}", self.output_power_2_4, ""],['pacer_interval', f"0x{self.pacer_interval:X}", self.pacer_interval, ""]], tablefmt="texttable")
|
|
3666
4627
|
|
|
3667
4628
|
def __eq__(self, other):
|
|
3668
4629
|
if isinstance(other, Brg2GwCfgV7):
|
|
@@ -3760,7 +4721,7 @@ class Brg2GwCfgV6():
|
|
|
3760
4721
|
self.set(raw)
|
|
3761
4722
|
|
|
3762
4723
|
def __repr__(self) -> str:
|
|
3763
|
-
return "\n==> Packet brg2gw_cfg_v6 <==\n" + tabulate.tabulate([['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],['tx_probability', f"0x{self.tx_probability:X}", self.tx_probability],['tx_repetition', f"0x{self.tx_repetition:X}", self.tx_repetition],['global_pacing_group', f"0x{self.global_pacing_group:X}", self.global_pacing_group],['output_power_sub1g', f"0x{self.output_power_sub1g:X}", self.output_power_sub1g],['transmit_time_sub1g', f"0x{self.transmit_time_sub1g:X}", self.transmit_time_sub1g],['sub1g_freq_profile', f"0x{self.sub1g_freq_profile:X}", self.sub1g_freq_profile],['bl_version', f"0x{self.bl_version:X}", self.bl_version],['board_type', f"0x{self.board_type:X}", self.board_type],['brg_mac', f"0x{self.brg_mac:X}", self.brg_mac],['major_ver', f"0x{self.major_ver:X}", self.major_ver],['minor_ver', f"0x{self.minor_ver:X}", self.minor_ver],['build_ver', f"0x{self.build_ver:X}", self.build_ver],['rx_tx_period_ms', f"0x{self.rx_tx_period_ms:X}", self.rx_tx_period_ms],['tx_period_ms', f"0x{self.tx_period_ms:X}", self.tx_period_ms],['energy_pattern_idx', f"0x{self.energy_pattern_idx:X}", self.energy_pattern_idx],['output_power_2_4', f"0x{self.output_power_2_4:X}", self.output_power_2_4],['pacer_interval', f"0x{self.pacer_interval:X}", self.pacer_interval]], tablefmt="texttable")
|
|
4724
|
+
return "\n==> Packet brg2gw_cfg_v6 <==\n" + tabulate.tabulate([['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, ""],['tx_probability', f"0x{self.tx_probability:X}", self.tx_probability, ""],['tx_repetition', f"0x{self.tx_repetition:X}", self.tx_repetition, ""],['global_pacing_group', f"0x{self.global_pacing_group:X}", self.global_pacing_group, ""],['output_power_sub1g', f"0x{self.output_power_sub1g:X}", self.output_power_sub1g, ""],['transmit_time_sub1g', f"0x{self.transmit_time_sub1g:X}", self.transmit_time_sub1g, ""],['sub1g_freq_profile', f"0x{self.sub1g_freq_profile:X}", self.sub1g_freq_profile, ""],['bl_version', f"0x{self.bl_version:X}", self.bl_version, ""],['board_type', f"0x{self.board_type:X}", self.board_type, ""],['brg_mac', f"0x{self.brg_mac:X}", self.brg_mac, ""],['major_ver', f"0x{self.major_ver:X}", self.major_ver, ""],['minor_ver', f"0x{self.minor_ver:X}", self.minor_ver, ""],['build_ver', f"0x{self.build_ver:X}", self.build_ver, ""],['rx_tx_period_ms', f"0x{self.rx_tx_period_ms:X}", self.rx_tx_period_ms, ""],['tx_period_ms', f"0x{self.tx_period_ms:X}", self.tx_period_ms, ""],['energy_pattern_idx', f"0x{self.energy_pattern_idx:X}", self.energy_pattern_idx, ""],['output_power_2_4', f"0x{self.output_power_2_4:X}", self.output_power_2_4, ""],['pacer_interval', f"0x{self.pacer_interval:X}", self.pacer_interval, ""]], tablefmt="texttable")
|
|
3764
4725
|
|
|
3765
4726
|
def __eq__(self, other):
|
|
3766
4727
|
if isinstance(other, Brg2GwCfgV6):
|
|
@@ -3858,7 +4819,7 @@ class Brg2GwCfgV5():
|
|
|
3858
4819
|
self.set(raw)
|
|
3859
4820
|
|
|
3860
4821
|
def __repr__(self) -> str:
|
|
3861
|
-
return "\n==> Packet brg2gw_cfg_v5 <==\n" + tabulate.tabulate([['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],['global_pacing_enabled', f"0x{self.global_pacing_enabled:X}", self.global_pacing_enabled],['tx_probability', f"0x{self.tx_probability:X}", self.tx_probability],['stat_freq', f"0x{self.stat_freq:X}", self.stat_freq],['output_power_sub1g', f"0x{self.output_power_sub1g:X}", self.output_power_sub1g],['transmit_time_sub1g', f"0x{self.transmit_time_sub1g:X}", self.transmit_time_sub1g],['sub1g_freq_profile', f"0x{self.sub1g_freq_profile:X}", self.sub1g_freq_profile],['bl_version', f"0x{self.bl_version:X}", self.bl_version],['board_type', f"0x{self.board_type:X}", self.board_type],['brg_mac', f"0x{self.brg_mac:X}", self.brg_mac],['major_ver', f"0x{self.major_ver:X}", self.major_ver],['minor_ver', f"0x{self.minor_ver:X}", self.minor_ver],['build_ver', f"0x{self.build_ver:X}", self.build_ver],['rx_tx_period_ms', f"0x{self.rx_tx_period_ms:X}", self.rx_tx_period_ms],['tx_period_ms', f"0x{self.tx_period_ms:X}", self.tx_period_ms],['energy_pattern_idx', f"0x{self.energy_pattern_idx:X}", self.energy_pattern_idx],['output_power_2_4', f"0x{self.output_power_2_4:X}", self.output_power_2_4],['pacer_interval', f"0x{self.pacer_interval:X}", self.pacer_interval]], tablefmt="texttable")
|
|
4822
|
+
return "\n==> Packet brg2gw_cfg_v5 <==\n" + tabulate.tabulate([['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, ""],['global_pacing_enabled', f"0x{self.global_pacing_enabled:X}", self.global_pacing_enabled, ""],['tx_probability', f"0x{self.tx_probability:X}", self.tx_probability, ""],['stat_freq', f"0x{self.stat_freq:X}", self.stat_freq, ""],['output_power_sub1g', f"0x{self.output_power_sub1g:X}", self.output_power_sub1g, ""],['transmit_time_sub1g', f"0x{self.transmit_time_sub1g:X}", self.transmit_time_sub1g, ""],['sub1g_freq_profile', f"0x{self.sub1g_freq_profile:X}", self.sub1g_freq_profile, ""],['bl_version', f"0x{self.bl_version:X}", self.bl_version, ""],['board_type', f"0x{self.board_type:X}", self.board_type, ""],['brg_mac', f"0x{self.brg_mac:X}", self.brg_mac, ""],['major_ver', f"0x{self.major_ver:X}", self.major_ver, ""],['minor_ver', f"0x{self.minor_ver:X}", self.minor_ver, ""],['build_ver', f"0x{self.build_ver:X}", self.build_ver, ""],['rx_tx_period_ms', f"0x{self.rx_tx_period_ms:X}", self.rx_tx_period_ms, ""],['tx_period_ms', f"0x{self.tx_period_ms:X}", self.tx_period_ms, ""],['energy_pattern_idx', f"0x{self.energy_pattern_idx:X}", self.energy_pattern_idx, ""],['output_power_2_4', f"0x{self.output_power_2_4:X}", self.output_power_2_4, ""],['pacer_interval', f"0x{self.pacer_interval:X}", self.pacer_interval, ""]], tablefmt="texttable")
|
|
3862
4823
|
|
|
3863
4824
|
def __eq__(self, other):
|
|
3864
4825
|
if isinstance(other, Brg2GwCfgV5):
|
|
@@ -3955,7 +4916,7 @@ class Brg2GwCfgV2():
|
|
|
3955
4916
|
self.set(raw)
|
|
3956
4917
|
|
|
3957
4918
|
def __repr__(self) -> str:
|
|
3958
|
-
return "\n==> Packet brg2gw_cfg_v2 <==\n" + tabulate.tabulate([['msg_type', f"0x{self.msg_type:X}", self.msg_type],['board_type', f"0x{self.board_type:X}", self.board_type],['seq_id', f"0x{self.seq_id:X}", self.seq_id],['global_pacing_enabled', f"0x{self.global_pacing_enabled:X}", self.global_pacing_enabled],['tx_probability', f"0x{self.tx_probability:X}", self.tx_probability],['stat_freq', f"0x{self.stat_freq:X}", self.stat_freq],['output_power_sub1g', f"0x{self.output_power_sub1g:X}", self.output_power_sub1g],['transmit_time_sub1g', f"0x{self.transmit_time_sub1g:X}", self.transmit_time_sub1g],['sub1g_freq_profile', f"0x{self.sub1g_freq_profile:X}", self.sub1g_freq_profile],['bl_version', f"0x{self.bl_version:X}", self.bl_version],['brg_mac', f"0x{self.brg_mac:X}", self.brg_mac],['major_ver', f"0x{self.major_ver:X}", self.major_ver],['minor_ver', f"0x{self.minor_ver:X}", self.minor_ver],['build_ver', f"0x{self.build_ver:X}", self.build_ver],['rx_tx_period_ms', f"0x{self.rx_tx_period_ms:X}", self.rx_tx_period_ms],['tx_period_ms', f"0x{self.tx_period_ms:X}", self.tx_period_ms],['energy_pattern_idx', f"0x{self.energy_pattern_idx:X}", self.energy_pattern_idx],['output_power_2_4', f"0x{self.output_power_2_4:X}", self.output_power_2_4],['pacer_interval', f"0x{self.pacer_interval:X}", self.pacer_interval]], tablefmt="texttable")
|
|
4919
|
+
return "\n==> Packet brg2gw_cfg_v2 <==\n" + tabulate.tabulate([['msg_type', f"0x{self.msg_type:X}", self.msg_type, ""],['board_type', f"0x{self.board_type:X}", self.board_type, ""],['seq_id', f"0x{self.seq_id:X}", self.seq_id, ""],['global_pacing_enabled', f"0x{self.global_pacing_enabled:X}", self.global_pacing_enabled, ""],['tx_probability', f"0x{self.tx_probability:X}", self.tx_probability, ""],['stat_freq', f"0x{self.stat_freq:X}", self.stat_freq, ""],['output_power_sub1g', f"0x{self.output_power_sub1g:X}", self.output_power_sub1g, ""],['transmit_time_sub1g', f"0x{self.transmit_time_sub1g:X}", self.transmit_time_sub1g, ""],['sub1g_freq_profile', f"0x{self.sub1g_freq_profile:X}", self.sub1g_freq_profile, ""],['bl_version', f"0x{self.bl_version:X}", self.bl_version, ""],['brg_mac', f"0x{self.brg_mac:X}", self.brg_mac, ""],['major_ver', f"0x{self.major_ver:X}", self.major_ver, ""],['minor_ver', f"0x{self.minor_ver:X}", self.minor_ver, ""],['build_ver', f"0x{self.build_ver:X}", self.build_ver, ""],['rx_tx_period_ms', f"0x{self.rx_tx_period_ms:X}", self.rx_tx_period_ms, ""],['tx_period_ms', f"0x{self.tx_period_ms:X}", self.tx_period_ms, ""],['energy_pattern_idx', f"0x{self.energy_pattern_idx:X}", self.energy_pattern_idx, ""],['output_power_2_4', f"0x{self.output_power_2_4:X}", self.output_power_2_4, ""],['pacer_interval', f"0x{self.pacer_interval:X}", self.pacer_interval, ""]], tablefmt="texttable")
|
|
3959
4920
|
|
|
3960
4921
|
def __eq__(self, other):
|
|
3961
4922
|
if isinstance(other, Brg2GwCfgV2):
|
|
@@ -4045,7 +5006,7 @@ class Brg2GwCfgV1():
|
|
|
4045
5006
|
self.set(raw)
|
|
4046
5007
|
|
|
4047
5008
|
def __repr__(self) -> str:
|
|
4048
|
-
return "\n==> Packet brg2gw_cfg_v1 <==\n" + tabulate.tabulate([['msg_type', f"0x{self.msg_type:X}", self.msg_type],['seq_id', f"0x{self.seq_id:X}", self.seq_id],['gw_mac', f"0x{self.gw_mac:X}", self.gw_mac],['brg_mac', f"0x{self.brg_mac:X}", self.brg_mac],['major_ver', f"0x{self.major_ver:X}", self.major_ver],['minor_ver', f"0x{self.minor_ver:X}", self.minor_ver],['build_ver', f"0x{self.build_ver:X}", self.build_ver],['tx_probability', f"0x{self.tx_probability:X}", self.tx_probability],['is_dual_band', f"0x{self.is_dual_band:X}", self.is_dual_band],['rx_tx_period_ms', f"0x{self.rx_tx_period_ms:X}", self.rx_tx_period_ms],['tx_period_ms', f"0x{self.tx_period_ms:X}", self.tx_period_ms],['energy_pattern_idx', f"0x{self.energy_pattern_idx:X}", self.energy_pattern_idx],['output_power', f"0x{self.output_power:X}", self.output_power],['pacer_interval', f"0x{self.pacer_interval:X}", self.pacer_interval]], tablefmt="texttable")
|
|
5009
|
+
return "\n==> Packet brg2gw_cfg_v1 <==\n" + tabulate.tabulate([['msg_type', f"0x{self.msg_type:X}", self.msg_type, ""],['seq_id', f"0x{self.seq_id:X}", self.seq_id, ""],['gw_mac', f"0x{self.gw_mac:X}", self.gw_mac, ""],['brg_mac', f"0x{self.brg_mac:X}", self.brg_mac, ""],['major_ver', f"0x{self.major_ver:X}", self.major_ver, ""],['minor_ver', f"0x{self.minor_ver:X}", self.minor_ver, ""],['build_ver', f"0x{self.build_ver:X}", self.build_ver, ""],['tx_probability', f"0x{self.tx_probability:X}", self.tx_probability, ""],['is_dual_band', f"0x{self.is_dual_band:X}", self.is_dual_band, ""],['rx_tx_period_ms', f"0x{self.rx_tx_period_ms:X}", self.rx_tx_period_ms, ""],['tx_period_ms', f"0x{self.tx_period_ms:X}", self.tx_period_ms, ""],['energy_pattern_idx', f"0x{self.energy_pattern_idx:X}", self.energy_pattern_idx, ""],['output_power', f"0x{self.output_power:X}", self.output_power, ""],['pacer_interval', f"0x{self.pacer_interval:X}", self.pacer_interval, ""]], tablefmt="texttable")
|
|
4049
5010
|
|
|
4050
5011
|
def __eq__(self, other):
|
|
4051
5012
|
if isinstance(other, Brg2GwCfgV1):
|
|
@@ -4121,7 +5082,7 @@ class Brg2GwCfgV0():
|
|
|
4121
5082
|
self.set(raw)
|
|
4122
5083
|
|
|
4123
5084
|
def __repr__(self) -> str:
|
|
4124
|
-
return "\n==> Packet brg2gw_cfg_v0 <==\n" + tabulate.tabulate([['msg_type', f"0x{self.msg_type:X}", self.msg_type],['bridge_id', f"0x{self.bridge_id:X}", self.bridge_id],['seq_id', f"0x{self.seq_id:X}", self.seq_id],['gw_mac', f"0x{self.gw_mac:X}", self.gw_mac],['brg_mac', f"0x{self.brg_mac:X}", self.brg_mac],['major_ver', f"0x{self.major_ver:X}", self.major_ver],['minor_ver', f"0x{self.minor_ver:X}", self.minor_ver],['build_ver', f"0x{self.build_ver:X}", self.build_ver],['rx_tx_period_ms', f"0x{self.rx_tx_period_ms:X}", self.rx_tx_period_ms],['tx_period_ms', f"0x{self.tx_period_ms:X}", self.tx_period_ms],['energy_pattern_idx', f"0x{self.energy_pattern_idx:X}", self.energy_pattern_idx],['output_power', f"0x{self.output_power:X}", self.output_power],['pacer_interval', f"0x{self.pacer_interval:X}", self.pacer_interval]], tablefmt="texttable")
|
|
5085
|
+
return "\n==> Packet brg2gw_cfg_v0 <==\n" + tabulate.tabulate([['msg_type', f"0x{self.msg_type:X}", self.msg_type, ""],['bridge_id', f"0x{self.bridge_id:X}", self.bridge_id, ""],['seq_id', f"0x{self.seq_id:X}", self.seq_id, ""],['gw_mac', f"0x{self.gw_mac:X}", self.gw_mac, ""],['brg_mac', f"0x{self.brg_mac:X}", self.brg_mac, ""],['major_ver', f"0x{self.major_ver:X}", self.major_ver, ""],['minor_ver', f"0x{self.minor_ver:X}", self.minor_ver, ""],['build_ver', f"0x{self.build_ver:X}", self.build_ver, ""],['rx_tx_period_ms', f"0x{self.rx_tx_period_ms:X}", self.rx_tx_period_ms, ""],['tx_period_ms', f"0x{self.tx_period_ms:X}", self.tx_period_ms, ""],['energy_pattern_idx', f"0x{self.energy_pattern_idx:X}", self.energy_pattern_idx, ""],['output_power', f"0x{self.output_power:X}", self.output_power, ""],['pacer_interval', f"0x{self.pacer_interval:X}", self.pacer_interval, ""]], tablefmt="texttable")
|
|
4125
5086
|
|
|
4126
5087
|
def __eq__(self, other):
|
|
4127
5088
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -4174,7 +5135,7 @@ class Gw2BrgHbV1():
|
|
|
4174
5135
|
self.set(raw)
|
|
4175
5136
|
|
|
4176
5137
|
def __repr__(self) -> str:
|
|
4177
|
-
return "\n==> Packet gw2brg_hb_v1 <==\n" + tabulate.tabulate([['msg_type', f"0x{self.msg_type:X}", self.msg_type],['seq_id', f"0x{self.seq_id:X}", self.seq_id],['brg_mac', f"0x{self.brg_mac:X}", self.brg_mac],['gw_mac', f"0x{self.gw_mac:X}", self.gw_mac],['rx_rssi', f"0x{self.rx_rssi:X}", self.rx_rssi]], tablefmt="texttable")
|
|
5138
|
+
return "\n==> Packet gw2brg_hb_v1 <==\n" + tabulate.tabulate([['msg_type', f"0x{self.msg_type:X}", self.msg_type, ""],['seq_id', f"0x{self.seq_id:X}", self.seq_id, ""],['brg_mac', f"0x{self.brg_mac:X}", self.brg_mac, ""],['gw_mac', f"0x{self.gw_mac:X}", self.gw_mac, ""],['rx_rssi', f"0x{self.rx_rssi:X}", self.rx_rssi, ""]], tablefmt="texttable")
|
|
4178
5139
|
|
|
4179
5140
|
def __eq__(self, other):
|
|
4180
5141
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -4200,6 +5161,45 @@ class Gw2BrgHbV1():
|
|
|
4200
5161
|
self.rx_rssi = d[5]
|
|
4201
5162
|
self.unused1 = d[6]
|
|
4202
5163
|
|
|
5164
|
+
class Brg2GwHbSleepV13():
|
|
5165
|
+
def __init__(self, raw='', msg_type=BRG_MGMT_MSG_TYPE_HB_SLEEP, api_version=API_VERSION_V13, seq_id=0, brg_mac=0, unused0=0, dynamic=0, unused1=0):
|
|
5166
|
+
self.msg_type = msg_type
|
|
5167
|
+
self.api_version = api_version
|
|
5168
|
+
self.seq_id = seq_id
|
|
5169
|
+
self.brg_mac = brg_mac
|
|
5170
|
+
self.unused0 = unused0
|
|
5171
|
+
self.dynamic = dynamic
|
|
5172
|
+
self.unused1 = unused1
|
|
5173
|
+
if raw:
|
|
5174
|
+
self.set(raw)
|
|
5175
|
+
|
|
5176
|
+
def __repr__(self) -> str:
|
|
5177
|
+
return "\n==> Packet brg2gw_hb_sleep_v13 <==\n" + tabulate.tabulate([['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, ""],['dynamic', f"0x{self.dynamic:X}", self.dynamic, ""]], tablefmt="texttable")
|
|
5178
|
+
|
|
5179
|
+
def __eq__(self, other):
|
|
5180
|
+
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
5181
|
+
return (
|
|
5182
|
+
self.msg_type == other.msg_type and
|
|
5183
|
+
self.api_version == other.api_version and
|
|
5184
|
+
self.brg_mac == other.brg_mac and
|
|
5185
|
+
self.dynamic == other.dynamic
|
|
5186
|
+
)
|
|
5187
|
+
return False
|
|
5188
|
+
|
|
5189
|
+
def dump(self):
|
|
5190
|
+
string = bitstruct.pack("u8u8u8u48u7u1u112", self.msg_type, self.api_version, self.seq_id, self.brg_mac, self.unused0, self.dynamic, self.unused1)
|
|
5191
|
+
return string.hex().upper()
|
|
5192
|
+
|
|
5193
|
+
def set(self, string):
|
|
5194
|
+
d = bitstruct.unpack("u8u8u8u48u7u1u112", binascii.unhexlify(string))
|
|
5195
|
+
self.msg_type = d[0]
|
|
5196
|
+
self.api_version = d[1]
|
|
5197
|
+
self.seq_id = d[2]
|
|
5198
|
+
self.brg_mac = d[3]
|
|
5199
|
+
self.unused0 = d[4]
|
|
5200
|
+
self.dynamic = d[5]
|
|
5201
|
+
self.unused1 = d[6]
|
|
5202
|
+
|
|
4203
5203
|
class Brg2GwHbSleepV12():
|
|
4204
5204
|
def __init__(self, raw='', msg_type=BRG_MGMT_MSG_TYPE_HB_SLEEP, api_version=API_VERSION_V12, seq_id=0, brg_mac=0, unused0=0, dynamic=0, unused1=0):
|
|
4205
5205
|
self.msg_type = msg_type
|
|
@@ -4213,7 +5213,7 @@ class Brg2GwHbSleepV12():
|
|
|
4213
5213
|
self.set(raw)
|
|
4214
5214
|
|
|
4215
5215
|
def __repr__(self) -> str:
|
|
4216
|
-
return "\n==> Packet brg2gw_hb_sleep_v12 <==\n" + tabulate.tabulate([['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],['dynamic', f"0x{self.dynamic:X}", self.dynamic]], tablefmt="texttable")
|
|
5216
|
+
return "\n==> Packet brg2gw_hb_sleep_v12 <==\n" + tabulate.tabulate([['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, ""],['dynamic', f"0x{self.dynamic:X}", self.dynamic, ""]], tablefmt="texttable")
|
|
4217
5217
|
|
|
4218
5218
|
def __eq__(self, other):
|
|
4219
5219
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -4252,7 +5252,7 @@ class Brg2GwHbSleepV11():
|
|
|
4252
5252
|
self.set(raw)
|
|
4253
5253
|
|
|
4254
5254
|
def __repr__(self) -> str:
|
|
4255
|
-
return "\n==> Packet brg2gw_hb_sleep_v11 <==\n" + tabulate.tabulate([['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],['dynamic', f"0x{self.dynamic:X}", self.dynamic]], tablefmt="texttable")
|
|
5255
|
+
return "\n==> Packet brg2gw_hb_sleep_v11 <==\n" + tabulate.tabulate([['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, ""],['dynamic', f"0x{self.dynamic:X}", self.dynamic, ""]], tablefmt="texttable")
|
|
4256
5256
|
|
|
4257
5257
|
def __eq__(self, other):
|
|
4258
5258
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -4291,7 +5291,7 @@ class Brg2GwHbSleepV10():
|
|
|
4291
5291
|
self.set(raw)
|
|
4292
5292
|
|
|
4293
5293
|
def __repr__(self) -> str:
|
|
4294
|
-
return "\n==> Packet brg2gw_hb_sleep_v10 <==\n" + tabulate.tabulate([['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],['dynamic', f"0x{self.dynamic:X}", self.dynamic]], tablefmt="texttable")
|
|
5294
|
+
return "\n==> Packet brg2gw_hb_sleep_v10 <==\n" + tabulate.tabulate([['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, ""],['dynamic', f"0x{self.dynamic:X}", self.dynamic, ""]], tablefmt="texttable")
|
|
4295
5295
|
|
|
4296
5296
|
def __eq__(self, other):
|
|
4297
5297
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -4317,8 +5317,8 @@ class Brg2GwHbSleepV10():
|
|
|
4317
5317
|
self.dynamic = d[5]
|
|
4318
5318
|
self.unused1 = d[6]
|
|
4319
5319
|
|
|
4320
|
-
class
|
|
4321
|
-
def __init__(self, raw='', msg_type=BRG_MGMT_MSG_TYPE_HB, api_version=
|
|
5320
|
+
class Brg2GwHbV13():
|
|
5321
|
+
def __init__(self, raw='', msg_type=BRG_MGMT_MSG_TYPE_HB, api_version=API_VERSION_V13, seq_id=0, brg_mac=0, non_wlt_rx_pkts_ctr=0, bad_crc_pkts_ctr=0, wlt_rx_pkts_ctr=0, wlt_tx_pkts_ctr=0, algo_tx_rep=0, tags_ctr=0, tx_queue_watermark=0, dynamic=0, effective_pacer_increment=0):
|
|
4322
5322
|
self.msg_type = msg_type
|
|
4323
5323
|
self.api_version = api_version
|
|
4324
5324
|
self.seq_id = seq_id
|
|
@@ -4327,6 +5327,7 @@ class Brg2GwHbV12():
|
|
|
4327
5327
|
self.bad_crc_pkts_ctr = bad_crc_pkts_ctr
|
|
4328
5328
|
self.wlt_rx_pkts_ctr = wlt_rx_pkts_ctr
|
|
4329
5329
|
self.wlt_tx_pkts_ctr = wlt_tx_pkts_ctr
|
|
5330
|
+
self.algo_tx_rep = algo_tx_rep
|
|
4330
5331
|
self.tags_ctr = tags_ctr
|
|
4331
5332
|
self.tx_queue_watermark = tx_queue_watermark
|
|
4332
5333
|
self.dynamic = dynamic
|
|
@@ -4335,7 +5336,7 @@ class Brg2GwHbV12():
|
|
|
4335
5336
|
self.set(raw)
|
|
4336
5337
|
|
|
4337
5338
|
def __repr__(self) -> str:
|
|
4338
|
-
return "\n==> Packet
|
|
5339
|
+
return "\n==> Packet brg2gw_hb_v13 <==\n" + tabulate.tabulate([['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, ""],['non_wlt_rx_pkts_ctr', f"0x{self.non_wlt_rx_pkts_ctr:X}", self.non_wlt_rx_pkts_ctr, ""],['bad_crc_pkts_ctr', f"0x{self.bad_crc_pkts_ctr:X}", self.bad_crc_pkts_ctr, ""],['wlt_rx_pkts_ctr', f"0x{self.wlt_rx_pkts_ctr:X}", self.wlt_rx_pkts_ctr, ""],['wlt_tx_pkts_ctr', f"0x{self.wlt_tx_pkts_ctr:X}", self.wlt_tx_pkts_ctr, ""],['algo_tx_rep', f"0x{self.algo_tx_rep:X}", self.algo_tx_rep, ""],['tags_ctr', f"0x{self.tags_ctr:X}", self.tags_ctr, ""],['tx_queue_watermark', f"0x{self.tx_queue_watermark:X}", self.tx_queue_watermark, ""],['dynamic', f"0x{self.dynamic:X}", self.dynamic, ""],['effective_pacer_increment', f"0x{self.effective_pacer_increment:X}", self.effective_pacer_increment, ""]], tablefmt="texttable")
|
|
4339
5340
|
|
|
4340
5341
|
def __eq__(self, other):
|
|
4341
5342
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -4347,6 +5348,7 @@ class Brg2GwHbV12():
|
|
|
4347
5348
|
self.bad_crc_pkts_ctr == other.bad_crc_pkts_ctr and
|
|
4348
5349
|
self.wlt_rx_pkts_ctr == other.wlt_rx_pkts_ctr and
|
|
4349
5350
|
self.wlt_tx_pkts_ctr == other.wlt_tx_pkts_ctr and
|
|
5351
|
+
self.algo_tx_rep == other.algo_tx_rep and
|
|
4350
5352
|
self.tags_ctr == other.tags_ctr and
|
|
4351
5353
|
self.tx_queue_watermark == other.tx_queue_watermark and
|
|
4352
5354
|
self.dynamic == other.dynamic and
|
|
@@ -4355,11 +5357,11 @@ class Brg2GwHbV12():
|
|
|
4355
5357
|
return False
|
|
4356
5358
|
|
|
4357
5359
|
def dump(self):
|
|
4358
|
-
string = bitstruct.pack("
|
|
5360
|
+
string = bitstruct.pack("u8u8u8u48u24u24u24u16u2u14u8u1u7", self.msg_type, self.api_version, self.seq_id, self.brg_mac, self.non_wlt_rx_pkts_ctr, self.bad_crc_pkts_ctr, self.wlt_rx_pkts_ctr, self.wlt_tx_pkts_ctr, self.algo_tx_rep, self.tags_ctr, self.tx_queue_watermark, self.dynamic, self.effective_pacer_increment)
|
|
4359
5361
|
return string.hex().upper()
|
|
4360
5362
|
|
|
4361
5363
|
def set(self, string):
|
|
4362
|
-
d = bitstruct.unpack("
|
|
5364
|
+
d = bitstruct.unpack("u8u8u8u48u24u24u24u16u2u14u8u1u7", binascii.unhexlify(string))
|
|
4363
5365
|
self.msg_type = d[0]
|
|
4364
5366
|
self.api_version = d[1]
|
|
4365
5367
|
self.seq_id = d[2]
|
|
@@ -4368,13 +5370,14 @@ class Brg2GwHbV12():
|
|
|
4368
5370
|
self.bad_crc_pkts_ctr = d[5]
|
|
4369
5371
|
self.wlt_rx_pkts_ctr = d[6]
|
|
4370
5372
|
self.wlt_tx_pkts_ctr = d[7]
|
|
4371
|
-
self.
|
|
4372
|
-
self.
|
|
4373
|
-
self.
|
|
4374
|
-
self.
|
|
5373
|
+
self.algo_tx_rep = d[8]
|
|
5374
|
+
self.tags_ctr = d[9]
|
|
5375
|
+
self.tx_queue_watermark = d[10]
|
|
5376
|
+
self.dynamic = d[11]
|
|
5377
|
+
self.effective_pacer_increment = d[12]
|
|
4375
5378
|
|
|
4376
|
-
class
|
|
4377
|
-
def __init__(self, raw='', msg_type=BRG_MGMT_MSG_TYPE_HB, api_version=
|
|
5379
|
+
class Brg2GwHbV12():
|
|
5380
|
+
def __init__(self, raw='', msg_type=BRG_MGMT_MSG_TYPE_HB, api_version=API_VERSION_V12, seq_id=0, brg_mac=0, non_wlt_rx_pkts_ctr=0, bad_crc_pkts_ctr=0, wlt_rx_pkts_ctr=0, wlt_tx_pkts_ctr=0, tags_ctr=0, tx_queue_watermark=0, dynamic=0, effective_pacer_increment=0):
|
|
4378
5381
|
self.msg_type = msg_type
|
|
4379
5382
|
self.api_version = api_version
|
|
4380
5383
|
self.seq_id = seq_id
|
|
@@ -4391,7 +5394,7 @@ class Brg2GwHbV11():
|
|
|
4391
5394
|
self.set(raw)
|
|
4392
5395
|
|
|
4393
5396
|
def __repr__(self) -> str:
|
|
4394
|
-
return "\n==> Packet
|
|
5397
|
+
return "\n==> Packet brg2gw_hb_v12 <==\n" + tabulate.tabulate([['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, ""],['non_wlt_rx_pkts_ctr', f"0x{self.non_wlt_rx_pkts_ctr:X}", self.non_wlt_rx_pkts_ctr, ""],['bad_crc_pkts_ctr', f"0x{self.bad_crc_pkts_ctr:X}", self.bad_crc_pkts_ctr, ""],['wlt_rx_pkts_ctr', f"0x{self.wlt_rx_pkts_ctr:X}", self.wlt_rx_pkts_ctr, ""],['wlt_tx_pkts_ctr', f"0x{self.wlt_tx_pkts_ctr:X}", self.wlt_tx_pkts_ctr, ""],['tags_ctr', f"0x{self.tags_ctr:X}", self.tags_ctr, ""],['tx_queue_watermark', f"0x{self.tx_queue_watermark:X}", self.tx_queue_watermark, ""],['dynamic', f"0x{self.dynamic:X}", self.dynamic, ""],['effective_pacer_increment', f"0x{self.effective_pacer_increment:X}", self.effective_pacer_increment, ""]], tablefmt="texttable")
|
|
4395
5398
|
|
|
4396
5399
|
def __eq__(self, other):
|
|
4397
5400
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -4429,8 +5432,8 @@ class Brg2GwHbV11():
|
|
|
4429
5432
|
self.dynamic = d[10]
|
|
4430
5433
|
self.effective_pacer_increment = d[11]
|
|
4431
5434
|
|
|
4432
|
-
class
|
|
4433
|
-
def __init__(self, raw='', msg_type=BRG_MGMT_MSG_TYPE_HB, api_version=
|
|
5435
|
+
class Brg2GwHbV11():
|
|
5436
|
+
def __init__(self, raw='', msg_type=BRG_MGMT_MSG_TYPE_HB, api_version=API_VERSION_V11, seq_id=0, brg_mac=0, non_wlt_rx_pkts_ctr=0, bad_crc_pkts_ctr=0, wlt_rx_pkts_ctr=0, wlt_tx_pkts_ctr=0, tags_ctr=0, tx_queue_watermark=0, dynamic=0, effective_pacer_increment=0):
|
|
4434
5437
|
self.msg_type = msg_type
|
|
4435
5438
|
self.api_version = api_version
|
|
4436
5439
|
self.seq_id = seq_id
|
|
@@ -4447,7 +5450,7 @@ class Brg2GwHbV10():
|
|
|
4447
5450
|
self.set(raw)
|
|
4448
5451
|
|
|
4449
5452
|
def __repr__(self) -> str:
|
|
4450
|
-
return "\n==> Packet
|
|
5453
|
+
return "\n==> Packet brg2gw_hb_v11 <==\n" + tabulate.tabulate([['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, ""],['non_wlt_rx_pkts_ctr', f"0x{self.non_wlt_rx_pkts_ctr:X}", self.non_wlt_rx_pkts_ctr, ""],['bad_crc_pkts_ctr', f"0x{self.bad_crc_pkts_ctr:X}", self.bad_crc_pkts_ctr, ""],['wlt_rx_pkts_ctr', f"0x{self.wlt_rx_pkts_ctr:X}", self.wlt_rx_pkts_ctr, ""],['wlt_tx_pkts_ctr', f"0x{self.wlt_tx_pkts_ctr:X}", self.wlt_tx_pkts_ctr, ""],['tags_ctr', f"0x{self.tags_ctr:X}", self.tags_ctr, ""],['tx_queue_watermark', f"0x{self.tx_queue_watermark:X}", self.tx_queue_watermark, ""],['dynamic', f"0x{self.dynamic:X}", self.dynamic, ""],['effective_pacer_increment', f"0x{self.effective_pacer_increment:X}", self.effective_pacer_increment, ""]], tablefmt="texttable")
|
|
4451
5454
|
|
|
4452
5455
|
def __eq__(self, other):
|
|
4453
5456
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -4485,8 +5488,8 @@ class Brg2GwHbV10():
|
|
|
4485
5488
|
self.dynamic = d[10]
|
|
4486
5489
|
self.effective_pacer_increment = d[11]
|
|
4487
5490
|
|
|
4488
|
-
class
|
|
4489
|
-
def __init__(self, raw='', msg_type=BRG_MGMT_MSG_TYPE_HB, api_version=
|
|
5491
|
+
class Brg2GwHbV10():
|
|
5492
|
+
def __init__(self, raw='', msg_type=BRG_MGMT_MSG_TYPE_HB, api_version=API_VERSION_V10, seq_id=0, brg_mac=0, non_wlt_rx_pkts_ctr=0, bad_crc_pkts_ctr=0, wlt_rx_pkts_ctr=0, wlt_tx_pkts_ctr=0, tags_ctr=0, tx_queue_watermark=0, dynamic=0, effective_pacer_increment=0):
|
|
4490
5493
|
self.msg_type = msg_type
|
|
4491
5494
|
self.api_version = api_version
|
|
4492
5495
|
self.seq_id = seq_id
|
|
@@ -4497,12 +5500,13 @@ class Brg2GwHbV9():
|
|
|
4497
5500
|
self.wlt_tx_pkts_ctr = wlt_tx_pkts_ctr
|
|
4498
5501
|
self.tags_ctr = tags_ctr
|
|
4499
5502
|
self.tx_queue_watermark = tx_queue_watermark
|
|
5503
|
+
self.dynamic = dynamic
|
|
4500
5504
|
self.effective_pacer_increment = effective_pacer_increment
|
|
4501
5505
|
if raw:
|
|
4502
5506
|
self.set(raw)
|
|
4503
5507
|
|
|
4504
5508
|
def __repr__(self) -> str:
|
|
4505
|
-
return "\n==> Packet
|
|
5509
|
+
return "\n==> Packet brg2gw_hb_v10 <==\n" + tabulate.tabulate([['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, ""],['non_wlt_rx_pkts_ctr', f"0x{self.non_wlt_rx_pkts_ctr:X}", self.non_wlt_rx_pkts_ctr, ""],['bad_crc_pkts_ctr', f"0x{self.bad_crc_pkts_ctr:X}", self.bad_crc_pkts_ctr, ""],['wlt_rx_pkts_ctr', f"0x{self.wlt_rx_pkts_ctr:X}", self.wlt_rx_pkts_ctr, ""],['wlt_tx_pkts_ctr', f"0x{self.wlt_tx_pkts_ctr:X}", self.wlt_tx_pkts_ctr, ""],['tags_ctr', f"0x{self.tags_ctr:X}", self.tags_ctr, ""],['tx_queue_watermark', f"0x{self.tx_queue_watermark:X}", self.tx_queue_watermark, ""],['dynamic', f"0x{self.dynamic:X}", self.dynamic, ""],['effective_pacer_increment', f"0x{self.effective_pacer_increment:X}", self.effective_pacer_increment, ""]], tablefmt="texttable")
|
|
4506
5510
|
|
|
4507
5511
|
def __eq__(self, other):
|
|
4508
5512
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -4516,16 +5520,17 @@ class Brg2GwHbV9():
|
|
|
4516
5520
|
self.wlt_tx_pkts_ctr == other.wlt_tx_pkts_ctr and
|
|
4517
5521
|
self.tags_ctr == other.tags_ctr and
|
|
4518
5522
|
self.tx_queue_watermark == other.tx_queue_watermark and
|
|
5523
|
+
self.dynamic == other.dynamic and
|
|
4519
5524
|
self.effective_pacer_increment == other.effective_pacer_increment
|
|
4520
5525
|
)
|
|
4521
5526
|
return False
|
|
4522
5527
|
|
|
4523
5528
|
def dump(self):
|
|
4524
|
-
string = bitstruct.pack("
|
|
5529
|
+
string = bitstruct.pack("u8u8u8u48u24u24u24u16u16u8u1u7", self.msg_type, self.api_version, self.seq_id, self.brg_mac, self.non_wlt_rx_pkts_ctr, self.bad_crc_pkts_ctr, self.wlt_rx_pkts_ctr, self.wlt_tx_pkts_ctr, self.tags_ctr, self.tx_queue_watermark, self.dynamic, self.effective_pacer_increment)
|
|
4525
5530
|
return string.hex().upper()
|
|
4526
5531
|
|
|
4527
5532
|
def set(self, string):
|
|
4528
|
-
d = bitstruct.unpack("
|
|
5533
|
+
d = bitstruct.unpack("u8u8u8u48u24u24u24u16u16u8u1u7", binascii.unhexlify(string))
|
|
4529
5534
|
self.msg_type = d[0]
|
|
4530
5535
|
self.api_version = d[1]
|
|
4531
5536
|
self.seq_id = d[2]
|
|
@@ -4536,10 +5541,11 @@ class Brg2GwHbV9():
|
|
|
4536
5541
|
self.wlt_tx_pkts_ctr = d[7]
|
|
4537
5542
|
self.tags_ctr = d[8]
|
|
4538
5543
|
self.tx_queue_watermark = d[9]
|
|
4539
|
-
self.
|
|
5544
|
+
self.dynamic = d[10]
|
|
5545
|
+
self.effective_pacer_increment = d[11]
|
|
4540
5546
|
|
|
4541
|
-
class
|
|
4542
|
-
def __init__(self, raw='', msg_type=BRG_MGMT_MSG_TYPE_HB, api_version=
|
|
5547
|
+
class Brg2GwHbV9():
|
|
5548
|
+
def __init__(self, raw='', msg_type=BRG_MGMT_MSG_TYPE_HB, api_version=API_VERSION_V9, seq_id=0, brg_mac=0, non_wlt_rx_pkts_ctr=0, bad_crc_pkts_ctr=0, wlt_rx_pkts_ctr=0, wlt_tx_pkts_ctr=0, tags_ctr=0, tx_queue_watermark=0, effective_pacer_increment=0):
|
|
4543
5549
|
self.msg_type = msg_type
|
|
4544
5550
|
self.api_version = api_version
|
|
4545
5551
|
self.seq_id = seq_id
|
|
@@ -4550,12 +5556,12 @@ class Brg2GwHbV8():
|
|
|
4550
5556
|
self.wlt_tx_pkts_ctr = wlt_tx_pkts_ctr
|
|
4551
5557
|
self.tags_ctr = tags_ctr
|
|
4552
5558
|
self.tx_queue_watermark = tx_queue_watermark
|
|
4553
|
-
self.
|
|
5559
|
+
self.effective_pacer_increment = effective_pacer_increment
|
|
4554
5560
|
if raw:
|
|
4555
5561
|
self.set(raw)
|
|
4556
5562
|
|
|
4557
5563
|
def __repr__(self) -> str:
|
|
4558
|
-
return "\n==> Packet
|
|
5564
|
+
return "\n==> Packet brg2gw_hb_v9 <==\n" + tabulate.tabulate([['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, ""],['non_wlt_rx_pkts_ctr', f"0x{self.non_wlt_rx_pkts_ctr:X}", self.non_wlt_rx_pkts_ctr, ""],['bad_crc_pkts_ctr', f"0x{self.bad_crc_pkts_ctr:X}", self.bad_crc_pkts_ctr, ""],['wlt_rx_pkts_ctr', f"0x{self.wlt_rx_pkts_ctr:X}", self.wlt_rx_pkts_ctr, ""],['wlt_tx_pkts_ctr', f"0x{self.wlt_tx_pkts_ctr:X}", self.wlt_tx_pkts_ctr, ""],['tags_ctr', f"0x{self.tags_ctr:X}", self.tags_ctr, ""],['tx_queue_watermark', f"0x{self.tx_queue_watermark:X}", self.tx_queue_watermark, ""],['effective_pacer_increment', f"0x{self.effective_pacer_increment:X}", self.effective_pacer_increment, ""]], tablefmt="texttable")
|
|
4559
5565
|
|
|
4560
5566
|
def __eq__(self, other):
|
|
4561
5567
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -4568,12 +5574,13 @@ class Brg2GwHbV8():
|
|
|
4568
5574
|
self.wlt_rx_pkts_ctr == other.wlt_rx_pkts_ctr and
|
|
4569
5575
|
self.wlt_tx_pkts_ctr == other.wlt_tx_pkts_ctr and
|
|
4570
5576
|
self.tags_ctr == other.tags_ctr and
|
|
4571
|
-
self.tx_queue_watermark == other.tx_queue_watermark
|
|
5577
|
+
self.tx_queue_watermark == other.tx_queue_watermark and
|
|
5578
|
+
self.effective_pacer_increment == other.effective_pacer_increment
|
|
4572
5579
|
)
|
|
4573
5580
|
return False
|
|
4574
5581
|
|
|
4575
5582
|
def dump(self):
|
|
4576
|
-
string = bitstruct.pack("u8u8u8u48u24u24u24u16u16u8u8", self.msg_type, self.api_version, self.seq_id, self.brg_mac, self.non_wlt_rx_pkts_ctr, self.bad_crc_pkts_ctr, self.wlt_rx_pkts_ctr, self.wlt_tx_pkts_ctr, self.tags_ctr, self.tx_queue_watermark, self.
|
|
5583
|
+
string = bitstruct.pack("u8u8u8u48u24u24u24u16u16u8u8", self.msg_type, self.api_version, self.seq_id, self.brg_mac, self.non_wlt_rx_pkts_ctr, self.bad_crc_pkts_ctr, self.wlt_rx_pkts_ctr, self.wlt_tx_pkts_ctr, self.tags_ctr, self.tx_queue_watermark, self.effective_pacer_increment)
|
|
4577
5584
|
return string.hex().upper()
|
|
4578
5585
|
|
|
4579
5586
|
def set(self, string):
|
|
@@ -4588,10 +5595,10 @@ class Brg2GwHbV8():
|
|
|
4588
5595
|
self.wlt_tx_pkts_ctr = d[7]
|
|
4589
5596
|
self.tags_ctr = d[8]
|
|
4590
5597
|
self.tx_queue_watermark = d[9]
|
|
4591
|
-
self.
|
|
5598
|
+
self.effective_pacer_increment = d[10]
|
|
4592
5599
|
|
|
4593
|
-
class
|
|
4594
|
-
def __init__(self, raw='', msg_type=BRG_MGMT_MSG_TYPE_HB, api_version=
|
|
5600
|
+
class Brg2GwHbV8():
|
|
5601
|
+
def __init__(self, raw='', msg_type=BRG_MGMT_MSG_TYPE_HB, api_version=API_VERSION_V8, seq_id=0, brg_mac=0, non_wlt_rx_pkts_ctr=0, bad_crc_pkts_ctr=0, wlt_rx_pkts_ctr=0, wlt_tx_pkts_ctr=0, tags_ctr=0, tx_queue_watermark=0, unused=0):
|
|
4595
5602
|
self.msg_type = msg_type
|
|
4596
5603
|
self.api_version = api_version
|
|
4597
5604
|
self.seq_id = seq_id
|
|
@@ -4601,12 +5608,13 @@ class Brg2GwHbV7():
|
|
|
4601
5608
|
self.wlt_rx_pkts_ctr = wlt_rx_pkts_ctr
|
|
4602
5609
|
self.wlt_tx_pkts_ctr = wlt_tx_pkts_ctr
|
|
4603
5610
|
self.tags_ctr = tags_ctr
|
|
5611
|
+
self.tx_queue_watermark = tx_queue_watermark
|
|
4604
5612
|
self.unused = unused
|
|
4605
5613
|
if raw:
|
|
4606
5614
|
self.set(raw)
|
|
4607
5615
|
|
|
4608
5616
|
def __repr__(self) -> str:
|
|
4609
|
-
return "\n==> Packet
|
|
5617
|
+
return "\n==> Packet brg2gw_hb_v8 <==\n" + tabulate.tabulate([['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, ""],['non_wlt_rx_pkts_ctr', f"0x{self.non_wlt_rx_pkts_ctr:X}", self.non_wlt_rx_pkts_ctr, ""],['bad_crc_pkts_ctr', f"0x{self.bad_crc_pkts_ctr:X}", self.bad_crc_pkts_ctr, ""],['wlt_rx_pkts_ctr', f"0x{self.wlt_rx_pkts_ctr:X}", self.wlt_rx_pkts_ctr, ""],['wlt_tx_pkts_ctr', f"0x{self.wlt_tx_pkts_ctr:X}", self.wlt_tx_pkts_ctr, ""],['tags_ctr', f"0x{self.tags_ctr:X}", self.tags_ctr, ""],['tx_queue_watermark', f"0x{self.tx_queue_watermark:X}", self.tx_queue_watermark, ""]], tablefmt="texttable")
|
|
4610
5618
|
|
|
4611
5619
|
def __eq__(self, other):
|
|
4612
5620
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -4618,16 +5626,17 @@ class Brg2GwHbV7():
|
|
|
4618
5626
|
self.bad_crc_pkts_ctr == other.bad_crc_pkts_ctr and
|
|
4619
5627
|
self.wlt_rx_pkts_ctr == other.wlt_rx_pkts_ctr and
|
|
4620
5628
|
self.wlt_tx_pkts_ctr == other.wlt_tx_pkts_ctr and
|
|
4621
|
-
self.tags_ctr == other.tags_ctr
|
|
5629
|
+
self.tags_ctr == other.tags_ctr and
|
|
5630
|
+
self.tx_queue_watermark == other.tx_queue_watermark
|
|
4622
5631
|
)
|
|
4623
5632
|
return False
|
|
4624
5633
|
|
|
4625
5634
|
def dump(self):
|
|
4626
|
-
string = bitstruct.pack("
|
|
5635
|
+
string = bitstruct.pack("u8u8u8u48u24u24u24u16u16u8u8", self.msg_type, self.api_version, self.seq_id, self.brg_mac, self.non_wlt_rx_pkts_ctr, self.bad_crc_pkts_ctr, self.wlt_rx_pkts_ctr, self.wlt_tx_pkts_ctr, self.tags_ctr, self.tx_queue_watermark, self.unused)
|
|
4627
5636
|
return string.hex().upper()
|
|
4628
5637
|
|
|
4629
5638
|
def set(self, string):
|
|
4630
|
-
d = bitstruct.unpack("
|
|
5639
|
+
d = bitstruct.unpack("u8u8u8u48u24u24u24u16u16u8u8", binascii.unhexlify(string))
|
|
4631
5640
|
self.msg_type = d[0]
|
|
4632
5641
|
self.api_version = d[1]
|
|
4633
5642
|
self.seq_id = d[2]
|
|
@@ -4637,10 +5646,11 @@ class Brg2GwHbV7():
|
|
|
4637
5646
|
self.wlt_rx_pkts_ctr = d[6]
|
|
4638
5647
|
self.wlt_tx_pkts_ctr = d[7]
|
|
4639
5648
|
self.tags_ctr = d[8]
|
|
4640
|
-
self.
|
|
5649
|
+
self.tx_queue_watermark = d[9]
|
|
5650
|
+
self.unused = d[10]
|
|
4641
5651
|
|
|
4642
|
-
class
|
|
4643
|
-
def __init__(self, raw='', msg_type=BRG_MGMT_MSG_TYPE_HB, api_version=
|
|
5652
|
+
class Brg2GwHbV7():
|
|
5653
|
+
def __init__(self, raw='', msg_type=BRG_MGMT_MSG_TYPE_HB, api_version=API_VERSION_V7, seq_id=0, brg_mac=0, non_wlt_rx_pkts_ctr=0, bad_crc_pkts_ctr=0, wlt_rx_pkts_ctr=0, wlt_tx_pkts_ctr=0, tags_ctr=0, unused=0):
|
|
4644
5654
|
self.msg_type = msg_type
|
|
4645
5655
|
self.api_version = api_version
|
|
4646
5656
|
self.seq_id = seq_id
|
|
@@ -4655,7 +5665,7 @@ class Brg2GwHbV6():
|
|
|
4655
5665
|
self.set(raw)
|
|
4656
5666
|
|
|
4657
5667
|
def __repr__(self) -> str:
|
|
4658
|
-
return "\n==> Packet
|
|
5668
|
+
return "\n==> Packet brg2gw_hb_v7 <==\n" + tabulate.tabulate([['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, ""],['non_wlt_rx_pkts_ctr', f"0x{self.non_wlt_rx_pkts_ctr:X}", self.non_wlt_rx_pkts_ctr, ""],['bad_crc_pkts_ctr', f"0x{self.bad_crc_pkts_ctr:X}", self.bad_crc_pkts_ctr, ""],['wlt_rx_pkts_ctr', f"0x{self.wlt_rx_pkts_ctr:X}", self.wlt_rx_pkts_ctr, ""],['wlt_tx_pkts_ctr', f"0x{self.wlt_tx_pkts_ctr:X}", self.wlt_tx_pkts_ctr, ""],['tags_ctr', f"0x{self.tags_ctr:X}", self.tags_ctr, ""]], tablefmt="texttable")
|
|
4659
5669
|
|
|
4660
5670
|
def __eq__(self, other):
|
|
4661
5671
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -4688,7 +5698,7 @@ class Brg2GwHbV6():
|
|
|
4688
5698
|
self.tags_ctr = d[8]
|
|
4689
5699
|
self.unused = d[9]
|
|
4690
5700
|
|
|
4691
|
-
class
|
|
5701
|
+
class Brg2GwHbV6():
|
|
4692
5702
|
def __init__(self, raw='', msg_type=BRG_MGMT_MSG_TYPE_HB, api_version=API_VERSION_V6, seq_id=0, brg_mac=0, non_wlt_rx_pkts_ctr=0, bad_crc_pkts_ctr=0, wlt_rx_pkts_ctr=0, wlt_tx_pkts_ctr=0, tags_ctr=0, unused=0):
|
|
4693
5703
|
self.msg_type = msg_type
|
|
4694
5704
|
self.api_version = api_version
|
|
@@ -4704,7 +5714,7 @@ class Brg2GwHbV5():
|
|
|
4704
5714
|
self.set(raw)
|
|
4705
5715
|
|
|
4706
5716
|
def __repr__(self) -> str:
|
|
4707
|
-
return "\n==> Packet
|
|
5717
|
+
return "\n==> Packet brg2gw_hb_v6 <==\n" + tabulate.tabulate([['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, ""],['non_wlt_rx_pkts_ctr', f"0x{self.non_wlt_rx_pkts_ctr:X}", self.non_wlt_rx_pkts_ctr, ""],['bad_crc_pkts_ctr', f"0x{self.bad_crc_pkts_ctr:X}", self.bad_crc_pkts_ctr, ""],['wlt_rx_pkts_ctr', f"0x{self.wlt_rx_pkts_ctr:X}", self.wlt_rx_pkts_ctr, ""],['wlt_tx_pkts_ctr', f"0x{self.wlt_tx_pkts_ctr:X}", self.wlt_tx_pkts_ctr, ""],['tags_ctr', f"0x{self.tags_ctr:X}", self.tags_ctr, ""]], tablefmt="texttable")
|
|
4708
5718
|
|
|
4709
5719
|
def __eq__(self, other):
|
|
4710
5720
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -4737,256 +5747,179 @@ class Brg2GwHbV5():
|
|
|
4737
5747
|
self.tags_ctr = d[8]
|
|
4738
5748
|
self.unused = d[9]
|
|
4739
5749
|
|
|
4740
|
-
class
|
|
4741
|
-
def __init__(self, raw='', msg_type=BRG_MGMT_MSG_TYPE_HB, api_version=
|
|
5750
|
+
class Brg2GwHbV5():
|
|
5751
|
+
def __init__(self, raw='', msg_type=BRG_MGMT_MSG_TYPE_HB, api_version=API_VERSION_V6, seq_id=0, brg_mac=0, non_wlt_rx_pkts_ctr=0, bad_crc_pkts_ctr=0, wlt_rx_pkts_ctr=0, wlt_tx_pkts_ctr=0, tags_ctr=0, unused=0):
|
|
4742
5752
|
self.msg_type = msg_type
|
|
4743
5753
|
self.api_version = api_version
|
|
4744
5754
|
self.seq_id = seq_id
|
|
4745
|
-
self.gw_mac = gw_mac
|
|
4746
5755
|
self.brg_mac = brg_mac
|
|
4747
|
-
self.
|
|
4748
|
-
self.
|
|
5756
|
+
self.non_wlt_rx_pkts_ctr = non_wlt_rx_pkts_ctr
|
|
5757
|
+
self.bad_crc_pkts_ctr = bad_crc_pkts_ctr
|
|
5758
|
+
self.wlt_rx_pkts_ctr = wlt_rx_pkts_ctr
|
|
5759
|
+
self.wlt_tx_pkts_ctr = wlt_tx_pkts_ctr
|
|
4749
5760
|
self.tags_ctr = tags_ctr
|
|
4750
|
-
self.
|
|
5761
|
+
self.unused = unused
|
|
4751
5762
|
if raw:
|
|
4752
5763
|
self.set(raw)
|
|
4753
5764
|
|
|
4754
5765
|
def __repr__(self) -> str:
|
|
4755
|
-
return "\n==> Packet
|
|
5766
|
+
return "\n==> Packet brg2gw_hb_v5 <==\n" + tabulate.tabulate([['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, ""],['non_wlt_rx_pkts_ctr', f"0x{self.non_wlt_rx_pkts_ctr:X}", self.non_wlt_rx_pkts_ctr, ""],['bad_crc_pkts_ctr', f"0x{self.bad_crc_pkts_ctr:X}", self.bad_crc_pkts_ctr, ""],['wlt_rx_pkts_ctr', f"0x{self.wlt_rx_pkts_ctr:X}", self.wlt_rx_pkts_ctr, ""],['wlt_tx_pkts_ctr', f"0x{self.wlt_tx_pkts_ctr:X}", self.wlt_tx_pkts_ctr, ""],['tags_ctr', f"0x{self.tags_ctr:X}", self.tags_ctr, ""]], tablefmt="texttable")
|
|
4756
5767
|
|
|
4757
5768
|
def __eq__(self, other):
|
|
4758
5769
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
4759
5770
|
return (
|
|
4760
5771
|
self.msg_type == other.msg_type and
|
|
4761
5772
|
self.api_version == other.api_version and
|
|
4762
|
-
self.
|
|
4763
|
-
self.
|
|
4764
|
-
self.
|
|
4765
|
-
self.
|
|
4766
|
-
self.
|
|
4767
|
-
|
|
4768
|
-
return False
|
|
4769
|
-
|
|
4770
|
-
def dump(self):
|
|
4771
|
-
string = bitstruct.pack("u8u8u8u48u48u16u16u16u24", self.msg_type, self.api_version, self.seq_id, self.gw_mac, self.brg_mac, self.sent_pkts_ctr, self.non_wlt_pkts_ctr, self.tags_ctr, self.unused1)
|
|
4772
|
-
return string.hex().upper()
|
|
4773
|
-
|
|
4774
|
-
def set(self, string):
|
|
4775
|
-
d = bitstruct.unpack("u8u8u8u48u48u16u16u16u24", binascii.unhexlify(string))
|
|
4776
|
-
self.msg_type = d[0]
|
|
4777
|
-
self.api_version = d[1]
|
|
4778
|
-
self.seq_id = d[2]
|
|
4779
|
-
self.gw_mac = d[3]
|
|
4780
|
-
self.brg_mac = d[4]
|
|
4781
|
-
self.sent_pkts_ctr = d[5]
|
|
4782
|
-
self.non_wlt_pkts_ctr = d[6]
|
|
4783
|
-
self.tags_ctr = d[7]
|
|
4784
|
-
self.unused1 = d[8]
|
|
4785
|
-
|
|
4786
|
-
class SideInfo():
|
|
4787
|
-
def __init__(self, raw='', brg_mac=0, nfpkt=0, rssi=0, unused2=0, unused0=0, unused1=0, pkt_id=0):
|
|
4788
|
-
self.brg_mac = brg_mac
|
|
4789
|
-
self.nfpkt = nfpkt
|
|
4790
|
-
self.rssi = rssi
|
|
4791
|
-
self.unused2 = unused2
|
|
4792
|
-
self.unused0 = unused0
|
|
4793
|
-
self.unused1 = unused1
|
|
4794
|
-
self.pkt_id = pkt_id
|
|
4795
|
-
if raw:
|
|
4796
|
-
self.set(raw)
|
|
4797
|
-
|
|
4798
|
-
def __repr__(self) -> str:
|
|
4799
|
-
return "\n==> Packet side_info <==\n" + tabulate.tabulate([['brg_mac', f"0x{self.brg_mac:X}", self.brg_mac],['nfpkt', f"0x{self.nfpkt:X}", self.nfpkt],['rssi', f"0x{self.rssi:X}", self.rssi],['pkt_id', f"0x{self.pkt_id:X}", self.pkt_id]], tablefmt="texttable")
|
|
4800
|
-
|
|
4801
|
-
def __eq__(self, other):
|
|
4802
|
-
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
4803
|
-
return (
|
|
4804
|
-
self.brg_mac == other.brg_mac and
|
|
4805
|
-
self.nfpkt == other.nfpkt and
|
|
4806
|
-
self.rssi == other.rssi and
|
|
4807
|
-
self.pkt_id == other.pkt_id
|
|
4808
|
-
)
|
|
4809
|
-
return False
|
|
4810
|
-
|
|
4811
|
-
def dump(self):
|
|
4812
|
-
string = bitstruct.pack("u48u16u8u4u4u80u32", self.brg_mac, self.nfpkt, self.rssi, self.unused2, self.unused0, self.unused1, self.pkt_id)
|
|
4813
|
-
return string.hex().upper()
|
|
4814
|
-
|
|
4815
|
-
def set(self, string):
|
|
4816
|
-
d = bitstruct.unpack("u48u16u8u4u4u80u32", binascii.unhexlify(string))
|
|
4817
|
-
self.brg_mac = d[0]
|
|
4818
|
-
self.nfpkt = d[1]
|
|
4819
|
-
self.rssi = d[2]
|
|
4820
|
-
self.unused2 = d[3]
|
|
4821
|
-
self.unused0 = d[4]
|
|
4822
|
-
self.unused1 = d[5]
|
|
4823
|
-
self.pkt_id = d[6]
|
|
4824
|
-
|
|
4825
|
-
class SensorData():
|
|
4826
|
-
def __init__(self, raw='', data=0, pkt_id=0):
|
|
4827
|
-
self.data = data
|
|
4828
|
-
self.pkt_id = pkt_id
|
|
4829
|
-
if raw:
|
|
4830
|
-
self.set(raw)
|
|
4831
|
-
|
|
4832
|
-
def __repr__(self) -> str:
|
|
4833
|
-
return "\n==> Packet sensor_data <==\n" + tabulate.tabulate([['data', f"0x{self.data:X}", self.data],['pkt_id', f"0x{self.pkt_id:X}", self.pkt_id]], tablefmt="texttable")
|
|
4834
|
-
|
|
4835
|
-
def __eq__(self, other):
|
|
4836
|
-
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
4837
|
-
return (
|
|
4838
|
-
self.data == other.data and
|
|
4839
|
-
self.pkt_id == other.pkt_id
|
|
4840
|
-
)
|
|
4841
|
-
return False
|
|
4842
|
-
|
|
4843
|
-
def dump(self):
|
|
4844
|
-
string = bitstruct.pack("u216u32", self.data, self.pkt_id)
|
|
4845
|
-
return string.hex().upper()
|
|
4846
|
-
|
|
4847
|
-
def set(self, string):
|
|
4848
|
-
d = bitstruct.unpack("u216u32", binascii.unhexlify(string))
|
|
4849
|
-
self.data = d[0]
|
|
4850
|
-
self.pkt_id = d[1]
|
|
4851
|
-
|
|
4852
|
-
class SideInfoSensor():
|
|
4853
|
-
def __init__(self, raw='', brg_mac=0, nfpkt=0, rssi=0, unused2=0, unused0=0, sensor_mac=0, sensor_ad_type=0, sensor_uuid_msb=0, sensor_uuid_lsb=0, api_version=0, unused1=0, is_scrambled=0, is_sensor_embedded=0, is_sensor=0, pkt_id=0):
|
|
4854
|
-
self.brg_mac = brg_mac
|
|
4855
|
-
self.nfpkt = nfpkt
|
|
4856
|
-
self.rssi = rssi
|
|
4857
|
-
self.unused2 = unused2
|
|
4858
|
-
self.unused0 = unused0
|
|
4859
|
-
self.sensor_mac = sensor_mac
|
|
4860
|
-
self.sensor_ad_type = sensor_ad_type
|
|
4861
|
-
self.sensor_uuid_msb = sensor_uuid_msb
|
|
4862
|
-
self.sensor_uuid_lsb = sensor_uuid_lsb
|
|
4863
|
-
self.api_version = api_version
|
|
4864
|
-
self.unused1 = unused1
|
|
4865
|
-
self.is_scrambled = is_scrambled
|
|
4866
|
-
self.is_sensor_embedded = is_sensor_embedded
|
|
4867
|
-
self.is_sensor = is_sensor
|
|
4868
|
-
self.pkt_id = pkt_id
|
|
4869
|
-
if raw:
|
|
4870
|
-
self.set(raw)
|
|
4871
|
-
|
|
4872
|
-
def __repr__(self) -> str:
|
|
4873
|
-
return "\n==> Packet side_info_sensor <==\n" + tabulate.tabulate([['brg_mac', f"0x{self.brg_mac:X}", self.brg_mac],['nfpkt', f"0x{self.nfpkt:X}", self.nfpkt],['rssi', f"0x{self.rssi:X}", self.rssi],['sensor_mac', f"0x{self.sensor_mac:X}", self.sensor_mac],['sensor_ad_type', f"0x{self.sensor_ad_type:X}", self.sensor_ad_type],['sensor_uuid_msb', f"0x{self.sensor_uuid_msb:X}", self.sensor_uuid_msb],['sensor_uuid_lsb', f"0x{self.sensor_uuid_lsb:X}", self.sensor_uuid_lsb],['api_version', f"0x{self.api_version:X}", self.api_version],['is_scrambled', f"0x{self.is_scrambled:X}", self.is_scrambled],['is_sensor_embedded', f"0x{self.is_sensor_embedded:X}", self.is_sensor_embedded],['is_sensor', f"0x{self.is_sensor:X}", self.is_sensor],['pkt_id', f"0x{self.pkt_id:X}", self.pkt_id]], tablefmt="texttable")
|
|
4874
|
-
|
|
4875
|
-
def __eq__(self, other):
|
|
4876
|
-
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
4877
|
-
return (
|
|
4878
|
-
self.brg_mac == other.brg_mac and
|
|
4879
|
-
self.nfpkt == other.nfpkt and
|
|
4880
|
-
self.rssi == other.rssi and
|
|
4881
|
-
self.sensor_mac == other.sensor_mac and
|
|
4882
|
-
self.sensor_ad_type == other.sensor_ad_type and
|
|
4883
|
-
self.sensor_uuid_msb == other.sensor_uuid_msb and
|
|
4884
|
-
self.sensor_uuid_lsb == other.sensor_uuid_lsb and
|
|
4885
|
-
self.api_version == other.api_version and
|
|
4886
|
-
self.is_scrambled == other.is_scrambled and
|
|
4887
|
-
self.is_sensor_embedded == other.is_sensor_embedded and
|
|
4888
|
-
self.is_sensor == other.is_sensor and
|
|
4889
|
-
self.pkt_id == other.pkt_id
|
|
5773
|
+
self.brg_mac == other.brg_mac and
|
|
5774
|
+
self.non_wlt_rx_pkts_ctr == other.non_wlt_rx_pkts_ctr and
|
|
5775
|
+
self.bad_crc_pkts_ctr == other.bad_crc_pkts_ctr and
|
|
5776
|
+
self.wlt_rx_pkts_ctr == other.wlt_rx_pkts_ctr and
|
|
5777
|
+
self.wlt_tx_pkts_ctr == other.wlt_tx_pkts_ctr and
|
|
5778
|
+
self.tags_ctr == other.tags_ctr
|
|
4890
5779
|
)
|
|
4891
5780
|
return False
|
|
4892
5781
|
|
|
4893
5782
|
def dump(self):
|
|
4894
|
-
string = bitstruct.pack("
|
|
5783
|
+
string = bitstruct.pack("u8u8u8u48u24u24u24u16u16u16", self.msg_type, self.api_version, self.seq_id, self.brg_mac, self.non_wlt_rx_pkts_ctr, self.bad_crc_pkts_ctr, self.wlt_rx_pkts_ctr, self.wlt_tx_pkts_ctr, self.tags_ctr, self.unused)
|
|
4895
5784
|
return string.hex().upper()
|
|
4896
5785
|
|
|
4897
5786
|
def set(self, string):
|
|
4898
|
-
d = bitstruct.unpack("
|
|
4899
|
-
self.
|
|
4900
|
-
self.
|
|
4901
|
-
self.
|
|
4902
|
-
self.
|
|
4903
|
-
self.
|
|
4904
|
-
self.
|
|
4905
|
-
self.
|
|
4906
|
-
self.
|
|
4907
|
-
self.
|
|
4908
|
-
self.
|
|
4909
|
-
self.unused1 = d[10]
|
|
4910
|
-
self.is_scrambled = d[11]
|
|
4911
|
-
self.is_sensor_embedded = d[12]
|
|
4912
|
-
self.is_sensor = d[13]
|
|
4913
|
-
self.pkt_id = d[14]
|
|
5787
|
+
d = bitstruct.unpack("u8u8u8u48u24u24u24u16u16u16", binascii.unhexlify(string))
|
|
5788
|
+
self.msg_type = d[0]
|
|
5789
|
+
self.api_version = d[1]
|
|
5790
|
+
self.seq_id = d[2]
|
|
5791
|
+
self.brg_mac = d[3]
|
|
5792
|
+
self.non_wlt_rx_pkts_ctr = d[4]
|
|
5793
|
+
self.bad_crc_pkts_ctr = d[5]
|
|
5794
|
+
self.wlt_rx_pkts_ctr = d[6]
|
|
5795
|
+
self.wlt_tx_pkts_ctr = d[7]
|
|
5796
|
+
self.tags_ctr = d[8]
|
|
5797
|
+
self.unused = d[9]
|
|
4914
5798
|
|
|
4915
|
-
class
|
|
4916
|
-
def __init__(self, raw='',
|
|
4917
|
-
self.
|
|
4918
|
-
self.
|
|
4919
|
-
self.
|
|
4920
|
-
self.
|
|
4921
|
-
self.
|
|
4922
|
-
self.
|
|
5799
|
+
class Brg2GwHbV1():
|
|
5800
|
+
def __init__(self, raw='', msg_type=BRG_MGMT_MSG_TYPE_HB, api_version=API_VERSION_V1, seq_id=0, gw_mac=0, brg_mac=0, sent_pkts_ctr=0, non_wlt_pkts_ctr=0, tags_ctr=0, unused1=0):
|
|
5801
|
+
self.msg_type = msg_type
|
|
5802
|
+
self.api_version = api_version
|
|
5803
|
+
self.seq_id = seq_id
|
|
5804
|
+
self.gw_mac = gw_mac
|
|
5805
|
+
self.brg_mac = brg_mac
|
|
5806
|
+
self.sent_pkts_ctr = sent_pkts_ctr
|
|
5807
|
+
self.non_wlt_pkts_ctr = non_wlt_pkts_ctr
|
|
5808
|
+
self.tags_ctr = tags_ctr
|
|
5809
|
+
self.unused1 = unused1
|
|
4923
5810
|
if raw:
|
|
4924
5811
|
self.set(raw)
|
|
4925
5812
|
|
|
4926
5813
|
def __repr__(self) -> str:
|
|
4927
|
-
return "\n==> Packet
|
|
5814
|
+
return "\n==> Packet brg2gw_hb_v1 <==\n" + tabulate.tabulate([['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, ""],['gw_mac', f"0x{self.gw_mac:X}", self.gw_mac, ""],['brg_mac', f"0x{self.brg_mac:X}", self.brg_mac, ""],['sent_pkts_ctr', f"0x{self.sent_pkts_ctr:X}", self.sent_pkts_ctr, ""],['non_wlt_pkts_ctr', f"0x{self.non_wlt_pkts_ctr:X}", self.non_wlt_pkts_ctr, ""],['tags_ctr', f"0x{self.tags_ctr:X}", self.tags_ctr, ""]], tablefmt="texttable")
|
|
4928
5815
|
|
|
4929
5816
|
def __eq__(self, other):
|
|
4930
5817
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
4931
5818
|
return (
|
|
4932
|
-
self.
|
|
4933
|
-
self.
|
|
4934
|
-
self.
|
|
4935
|
-
self.
|
|
4936
|
-
self.
|
|
5819
|
+
self.msg_type == other.msg_type and
|
|
5820
|
+
self.api_version == other.api_version and
|
|
5821
|
+
self.gw_mac == other.gw_mac and
|
|
5822
|
+
self.brg_mac == other.brg_mac and
|
|
5823
|
+
self.sent_pkts_ctr == other.sent_pkts_ctr and
|
|
5824
|
+
self.non_wlt_pkts_ctr == other.non_wlt_pkts_ctr and
|
|
5825
|
+
self.tags_ctr == other.tags_ctr
|
|
4937
5826
|
)
|
|
4938
5827
|
return False
|
|
4939
5828
|
|
|
4940
5829
|
def dump(self):
|
|
4941
|
-
string = bitstruct.pack("
|
|
5830
|
+
string = bitstruct.pack("u8u8u8u48u48u16u16u16u24", self.msg_type, self.api_version, self.seq_id, self.gw_mac, self.brg_mac, self.sent_pkts_ctr, self.non_wlt_pkts_ctr, self.tags_ctr, self.unused1)
|
|
4942
5831
|
return string.hex().upper()
|
|
4943
5832
|
|
|
4944
5833
|
def set(self, string):
|
|
4945
|
-
d = bitstruct.unpack("
|
|
4946
|
-
self.
|
|
4947
|
-
self.
|
|
4948
|
-
self.
|
|
4949
|
-
self.
|
|
4950
|
-
self.
|
|
4951
|
-
self.
|
|
5834
|
+
d = bitstruct.unpack("u8u8u8u48u48u16u16u16u24", binascii.unhexlify(string))
|
|
5835
|
+
self.msg_type = d[0]
|
|
5836
|
+
self.api_version = d[1]
|
|
5837
|
+
self.seq_id = d[2]
|
|
5838
|
+
self.gw_mac = d[3]
|
|
5839
|
+
self.brg_mac = d[4]
|
|
5840
|
+
self.sent_pkts_ctr = d[5]
|
|
5841
|
+
self.non_wlt_pkts_ctr = d[6]
|
|
5842
|
+
self.tags_ctr = d[7]
|
|
5843
|
+
self.unused1 = d[8]
|
|
4952
5844
|
|
|
4953
|
-
class
|
|
4954
|
-
def __init__(self, raw='',
|
|
4955
|
-
self.
|
|
4956
|
-
self.
|
|
4957
|
-
self.
|
|
4958
|
-
self.
|
|
4959
|
-
self.
|
|
4960
|
-
self.
|
|
5845
|
+
class ModuleIfV13():
|
|
5846
|
+
def __init__(self, raw='', module_type=MODULE_IF, msg_type=BRG_MGMT_MSG_TYPE_CFG_INFO, api_version=API_VERSION_V13, seq_id=0, brg_mac=0, board_type=0, bl_version=0, major_ver=0, minor_ver=0, patch_ver=0, sup_cap_glob=0, sup_cap_datapath=0, sup_cap_energy2400=0, sup_cap_energy_sub1g=0, sup_cap_calibration=0, sup_cap_pwr_mgmt=0, sup_cap_sensors=0, sup_cap_custom=0, cfg_hash=0, unused0=0):
|
|
5847
|
+
self.module_type = module_type
|
|
5848
|
+
self.msg_type = msg_type
|
|
5849
|
+
self.api_version = api_version
|
|
5850
|
+
self.seq_id = seq_id
|
|
5851
|
+
self.brg_mac = brg_mac
|
|
5852
|
+
self.board_type = board_type
|
|
5853
|
+
self.bl_version = bl_version
|
|
5854
|
+
self.major_ver = major_ver
|
|
5855
|
+
self.minor_ver = minor_ver
|
|
5856
|
+
self.patch_ver = patch_ver
|
|
5857
|
+
self.sup_cap_glob = sup_cap_glob
|
|
5858
|
+
self.sup_cap_datapath = sup_cap_datapath
|
|
5859
|
+
self.sup_cap_energy2400 = sup_cap_energy2400
|
|
5860
|
+
self.sup_cap_energy_sub1g = sup_cap_energy_sub1g
|
|
5861
|
+
self.sup_cap_calibration = sup_cap_calibration
|
|
5862
|
+
self.sup_cap_pwr_mgmt = sup_cap_pwr_mgmt
|
|
5863
|
+
self.sup_cap_sensors = sup_cap_sensors
|
|
5864
|
+
self.sup_cap_custom = sup_cap_custom
|
|
5865
|
+
self.cfg_hash = cfg_hash
|
|
5866
|
+
self.unused0 = unused0
|
|
4961
5867
|
if raw:
|
|
4962
5868
|
self.set(raw)
|
|
4963
5869
|
|
|
4964
5870
|
def __repr__(self) -> str:
|
|
4965
|
-
return "\n==> Packet
|
|
5871
|
+
return "\n==> Packet module_if_v13 <==\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")
|
|
4966
5872
|
|
|
4967
5873
|
def __eq__(self, other):
|
|
4968
5874
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
4969
5875
|
return (
|
|
4970
|
-
self.
|
|
4971
|
-
self.
|
|
4972
|
-
self.
|
|
4973
|
-
self.
|
|
4974
|
-
self.
|
|
5876
|
+
self.module_type == other.module_type and
|
|
5877
|
+
self.msg_type == other.msg_type and
|
|
5878
|
+
self.api_version == other.api_version and
|
|
5879
|
+
self.brg_mac == other.brg_mac and
|
|
5880
|
+
self.board_type == other.board_type and
|
|
5881
|
+
self.bl_version == other.bl_version and
|
|
5882
|
+
self.major_ver == other.major_ver and
|
|
5883
|
+
self.minor_ver == other.minor_ver and
|
|
5884
|
+
self.patch_ver == other.patch_ver and
|
|
5885
|
+
self.sup_cap_glob == other.sup_cap_glob and
|
|
5886
|
+
self.sup_cap_datapath == other.sup_cap_datapath and
|
|
5887
|
+
self.sup_cap_energy2400 == other.sup_cap_energy2400 and
|
|
5888
|
+
self.sup_cap_energy_sub1g == other.sup_cap_energy_sub1g and
|
|
5889
|
+
self.sup_cap_calibration == other.sup_cap_calibration and
|
|
5890
|
+
self.sup_cap_pwr_mgmt == other.sup_cap_pwr_mgmt and
|
|
5891
|
+
self.sup_cap_sensors == other.sup_cap_sensors and
|
|
5892
|
+
self.sup_cap_custom == other.sup_cap_custom and
|
|
5893
|
+
self.cfg_hash == other.cfg_hash
|
|
4975
5894
|
)
|
|
4976
5895
|
return False
|
|
4977
5896
|
|
|
4978
5897
|
def dump(self):
|
|
4979
|
-
string = bitstruct.pack("
|
|
5898
|
+
string = bitstruct.pack("u4u4u8u8u48u8u8u8u8u8u1u1u1u1u1u1u1u1u32u40", self.module_type, self.msg_type, self.api_version, self.seq_id, self.brg_mac, self.board_type, self.bl_version, self.major_ver, self.minor_ver, self.patch_ver, self.sup_cap_glob, self.sup_cap_datapath, self.sup_cap_energy2400, self.sup_cap_energy_sub1g, self.sup_cap_calibration, self.sup_cap_pwr_mgmt, self.sup_cap_sensors, self.sup_cap_custom, self.cfg_hash, self.unused0)
|
|
4980
5899
|
return string.hex().upper()
|
|
4981
5900
|
|
|
4982
5901
|
def set(self, string):
|
|
4983
|
-
d = bitstruct.unpack("
|
|
4984
|
-
self.
|
|
4985
|
-
self.
|
|
4986
|
-
self.
|
|
4987
|
-
self.
|
|
4988
|
-
self.
|
|
4989
|
-
self.
|
|
5902
|
+
d = bitstruct.unpack("u4u4u8u8u48u8u8u8u8u8u1u1u1u1u1u1u1u1u32u40", binascii.unhexlify(string))
|
|
5903
|
+
self.module_type = d[0]
|
|
5904
|
+
self.msg_type = d[1]
|
|
5905
|
+
self.api_version = d[2]
|
|
5906
|
+
self.seq_id = d[3]
|
|
5907
|
+
self.brg_mac = d[4]
|
|
5908
|
+
self.board_type = d[5]
|
|
5909
|
+
self.bl_version = d[6]
|
|
5910
|
+
self.major_ver = d[7]
|
|
5911
|
+
self.minor_ver = d[8]
|
|
5912
|
+
self.patch_ver = d[9]
|
|
5913
|
+
self.sup_cap_glob = d[10]
|
|
5914
|
+
self.sup_cap_datapath = d[11]
|
|
5915
|
+
self.sup_cap_energy2400 = d[12]
|
|
5916
|
+
self.sup_cap_energy_sub1g = d[13]
|
|
5917
|
+
self.sup_cap_calibration = d[14]
|
|
5918
|
+
self.sup_cap_pwr_mgmt = d[15]
|
|
5919
|
+
self.sup_cap_sensors = d[16]
|
|
5920
|
+
self.sup_cap_custom = d[17]
|
|
5921
|
+
self.cfg_hash = d[18]
|
|
5922
|
+
self.unused0 = d[19]
|
|
4990
5923
|
|
|
4991
5924
|
class ModuleIfV12():
|
|
4992
5925
|
def __init__(self, raw='', module_type=MODULE_IF, msg_type=BRG_MGMT_MSG_TYPE_CFG_INFO, api_version=API_VERSION_V12, seq_id=0, brg_mac=0, board_type=0, bl_version=0, major_ver=0, minor_ver=0, patch_ver=0, sup_cap_glob=0, sup_cap_datapath=0, sup_cap_energy2400=0, sup_cap_energy_sub1g=0, sup_cap_calibration=0, sup_cap_pwr_mgmt=0, sup_cap_sensors=0, sup_cap_custom=0, cfg_hash=0, unused0=0):
|
|
@@ -5014,7 +5947,7 @@ class ModuleIfV12():
|
|
|
5014
5947
|
self.set(raw)
|
|
5015
5948
|
|
|
5016
5949
|
def __repr__(self) -> str:
|
|
5017
|
-
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")
|
|
5950
|
+
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")
|
|
5018
5951
|
|
|
5019
5952
|
def __eq__(self, other):
|
|
5020
5953
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -5093,7 +6026,7 @@ class ModuleIfV11():
|
|
|
5093
6026
|
self.set(raw)
|
|
5094
6027
|
|
|
5095
6028
|
def __repr__(self) -> str:
|
|
5096
|
-
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")
|
|
6029
|
+
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")
|
|
5097
6030
|
|
|
5098
6031
|
def __eq__(self, other):
|
|
5099
6032
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -5172,7 +6105,7 @@ class ModuleIfV10():
|
|
|
5172
6105
|
self.set(raw)
|
|
5173
6106
|
|
|
5174
6107
|
def __repr__(self) -> str:
|
|
5175
|
-
return "\n==> Packet module_if_v10 <==\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")
|
|
6108
|
+
return "\n==> Packet module_if_v10 <==\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")
|
|
5176
6109
|
|
|
5177
6110
|
def __eq__(self, other):
|
|
5178
6111
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -5251,7 +6184,7 @@ class ModuleIfV9():
|
|
|
5251
6184
|
self.set(raw)
|
|
5252
6185
|
|
|
5253
6186
|
def __repr__(self) -> str:
|
|
5254
|
-
return "\n==> Packet module_if_v9 <==\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")
|
|
6187
|
+
return "\n==> Packet module_if_v9 <==\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")
|
|
5255
6188
|
|
|
5256
6189
|
def __eq__(self, other):
|
|
5257
6190
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -5330,7 +6263,7 @@ class ModuleIfV8():
|
|
|
5330
6263
|
self.set(raw)
|
|
5331
6264
|
|
|
5332
6265
|
def __repr__(self) -> str:
|
|
5333
|
-
return "\n==> Packet module_if_v8 <==\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")
|
|
6266
|
+
return "\n==> Packet module_if_v8 <==\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")
|
|
5334
6267
|
|
|
5335
6268
|
def __eq__(self, other):
|
|
5336
6269
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -5408,7 +6341,7 @@ class ModuleIfV7():
|
|
|
5408
6341
|
self.set(raw)
|
|
5409
6342
|
|
|
5410
6343
|
def __repr__(self) -> str:
|
|
5411
|
-
return "\n==> Packet module_if_v7 <==\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]], tablefmt="texttable")
|
|
6344
|
+
return "\n==> Packet module_if_v7 <==\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, ""]], tablefmt="texttable")
|
|
5412
6345
|
|
|
5413
6346
|
def __eq__(self, other):
|
|
5414
6347
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -5459,6 +6392,57 @@ class ModuleIfV7():
|
|
|
5459
6392
|
self.sup_cap_custom = d[17]
|
|
5460
6393
|
self.unused0 = d[18]
|
|
5461
6394
|
|
|
6395
|
+
MODULE_CALIBRATION_V13_OUTPUT_POWER_MAP = {0x00:"Maximum", 0x02:"Maximum - 2 dBm", 0x03:"Maximum - 3 dBm", 0x04:"Maximum - 4 dBm", 0x06:"Maximum - 6 dBm", 0x07:"Maximum - 7 dBm", 0x08:"Maximum - 8 dBm", 0x0A:"Maximum - 10 dBm", 0x0B:"Maximum - 11 dBm", 0x0C:"Maximum - 12 dBm", 0x0E:"Maximum - 14 dBm", 0x0F:"Maximum - 15 dBm", 0x10:"Maximum - 16 dBm", 0x12:"Maximum - 18 dBm", 0x13:"Maximum - 19 dBm", 0x14:"Maximum - 20 dBm", 0x16:"Maximum - 22 dBm", 0x17:"Maximum - 23 dBm", 0x1A:"Maximum - 26 dBm"}
|
|
6396
|
+
MODULE_CALIBRATION_V13_PATTERN_MAP = {0x00:"Standard beaconing", 0x01:"No Beacons on Channel 37", 0x02:"EU pattern", 0x03:"Disable calibration beaconing"}
|
|
6397
|
+
class ModuleCalibrationV13():
|
|
6398
|
+
def __init__(self, raw='', module_type=MODULE_CALIBRATION, msg_type=BRG_MGMT_MSG_TYPE_CFG_SET, api_version=API_VERSION_V13, seq_id=0, brg_mac=0, interval=BRG_DEFAULT_CALIBRATION_INTERVAL, output_power=BRG_DEFAULT_CALIBRATION_OUTPUT_POWER, pattern=BRG_DEFAULT_CALIBRATION_PATTERN, unused0=0, unused1=0):
|
|
6399
|
+
self.module_type = module_type
|
|
6400
|
+
self.msg_type = msg_type
|
|
6401
|
+
self.api_version = api_version
|
|
6402
|
+
self.seq_id = seq_id
|
|
6403
|
+
self.brg_mac = brg_mac
|
|
6404
|
+
self.interval = interval
|
|
6405
|
+
self.output_power = output_power
|
|
6406
|
+
self.pattern = pattern
|
|
6407
|
+
self.unused0 = unused0
|
|
6408
|
+
self.unused1 = unused1
|
|
6409
|
+
if raw:
|
|
6410
|
+
self.set(raw)
|
|
6411
|
+
|
|
6412
|
+
def __repr__(self) -> str:
|
|
6413
|
+
return "\n==> Packet module_calibration_v13 <==\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, MODULE_CALIBRATION_V13_OUTPUT_POWER_MAP[self.output_power]],['pattern', f"0x{self.pattern:X}", self.pattern, MODULE_CALIBRATION_V13_PATTERN_MAP[self.pattern]]], tablefmt="texttable")
|
|
6414
|
+
|
|
6415
|
+
def __eq__(self, other):
|
|
6416
|
+
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
6417
|
+
return (
|
|
6418
|
+
self.module_type == other.module_type and
|
|
6419
|
+
self.msg_type == other.msg_type and
|
|
6420
|
+
self.api_version == other.api_version and
|
|
6421
|
+
self.brg_mac == other.brg_mac and
|
|
6422
|
+
self.interval == other.interval and
|
|
6423
|
+
self.output_power == other.output_power and
|
|
6424
|
+
self.pattern == other.pattern
|
|
6425
|
+
)
|
|
6426
|
+
return False
|
|
6427
|
+
|
|
6428
|
+
def dump(self):
|
|
6429
|
+
string = bitstruct.pack("u4u4u8u8u48u8u8u4u4u96", self.module_type, self.msg_type, self.api_version, self.seq_id, self.brg_mac, self.interval, self.output_power, self.pattern, self.unused0, self.unused1)
|
|
6430
|
+
return string.hex().upper()
|
|
6431
|
+
|
|
6432
|
+
def set(self, string):
|
|
6433
|
+
d = bitstruct.unpack("u4u4u8u8u48u8u8u4u4u96", binascii.unhexlify(string))
|
|
6434
|
+
self.module_type = d[0]
|
|
6435
|
+
self.msg_type = d[1]
|
|
6436
|
+
self.api_version = d[2]
|
|
6437
|
+
self.seq_id = d[3]
|
|
6438
|
+
self.brg_mac = d[4]
|
|
6439
|
+
self.interval = d[5]
|
|
6440
|
+
self.output_power = d[6]
|
|
6441
|
+
self.pattern = d[7]
|
|
6442
|
+
self.unused0 = d[8]
|
|
6443
|
+
self.unused1 = d[9]
|
|
6444
|
+
|
|
6445
|
+
MODULE_CALIBRATION_V12_PATTERN_MAP = {0x00:"Standard beaconing", 0x01:"No Beacons on Channel 37", 0x02:"EU pattern", 0x03:"Disable calibration beaconing"}
|
|
5462
6446
|
class ModuleCalibrationV12():
|
|
5463
6447
|
def __init__(self, raw='', module_type=MODULE_CALIBRATION, msg_type=BRG_MGMT_MSG_TYPE_CFG_SET, api_version=API_VERSION_V12, seq_id=0, brg_mac=0, interval=BRG_DEFAULT_CALIBRATION_INTERVAL, output_power=BRG_DEFAULT_OUTPUT_POWER_2_4, pattern=BRG_DEFAULT_CALIBRATION_PATTERN, unused0=0, unused1=0):
|
|
5464
6448
|
self.module_type = module_type
|
|
@@ -5475,7 +6459,7 @@ class ModuleCalibrationV12():
|
|
|
5475
6459
|
self.set(raw)
|
|
5476
6460
|
|
|
5477
6461
|
def __repr__(self) -> str:
|
|
5478
|
-
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")
|
|
6462
|
+
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, MODULE_CALIBRATION_V12_PATTERN_MAP[self.pattern]]], tablefmt="texttable")
|
|
5479
6463
|
|
|
5480
6464
|
def __eq__(self, other):
|
|
5481
6465
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -5507,6 +6491,7 @@ class ModuleCalibrationV12():
|
|
|
5507
6491
|
self.unused0 = d[8]
|
|
5508
6492
|
self.unused1 = d[9]
|
|
5509
6493
|
|
|
6494
|
+
MODULE_CALIBRATION_V11_PATTERN_MAP = {0x00:"Standard beaconing", 0x01:"No Beacons on Channel 37", 0x02:"EU pattern", 0x03:"Disable calibration beaconing"}
|
|
5510
6495
|
class ModuleCalibrationV11():
|
|
5511
6496
|
def __init__(self, raw='', module_type=MODULE_CALIBRATION, msg_type=BRG_MGMT_MSG_TYPE_CFG_SET, api_version=API_VERSION_V11, seq_id=0, brg_mac=0, interval=BRG_DEFAULT_CALIBRATION_INTERVAL, output_power=BRG_DEFAULT_OUTPUT_POWER_2_4, pattern=BRG_DEFAULT_CALIBRATION_PATTERN, unused0=0, unused1=0):
|
|
5512
6497
|
self.module_type = module_type
|
|
@@ -5523,7 +6508,7 @@ class ModuleCalibrationV11():
|
|
|
5523
6508
|
self.set(raw)
|
|
5524
6509
|
|
|
5525
6510
|
def __repr__(self) -> str:
|
|
5526
|
-
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")
|
|
6511
|
+
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, MODULE_CALIBRATION_V11_PATTERN_MAP[self.pattern]]], tablefmt="texttable")
|
|
5527
6512
|
|
|
5528
6513
|
def __eq__(self, other):
|
|
5529
6514
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -5555,6 +6540,7 @@ class ModuleCalibrationV11():
|
|
|
5555
6540
|
self.unused0 = d[8]
|
|
5556
6541
|
self.unused1 = d[9]
|
|
5557
6542
|
|
|
6543
|
+
MODULE_CALIBRATION_V10_CALIB_PATTERN_MAP = {0x00:"Standard beaconing", 0x01:"No Beacons on Channel 37", 0x02:"EU pattern", 0x03:"Disable calibration beaconing"}
|
|
5558
6544
|
class ModuleCalibrationV10():
|
|
5559
6545
|
def __init__(self, raw='', module_type=MODULE_CALIBRATION, msg_type=BRG_MGMT_MSG_TYPE_CFG_SET, api_version=API_VERSION_V10, seq_id=0, brg_mac=0, calib_interval=BRG_DEFAULT_CALIBRATION_INTERVAL, calib_output_power=BRG_DEFAULT_OUTPUT_POWER_2_4, calib_pattern=BRG_DEFAULT_CALIBRATION_PATTERN, unused0=0, unused1=0):
|
|
5560
6546
|
self.module_type = module_type
|
|
@@ -5571,7 +6557,7 @@ class ModuleCalibrationV10():
|
|
|
5571
6557
|
self.set(raw)
|
|
5572
6558
|
|
|
5573
6559
|
def __repr__(self) -> str:
|
|
5574
|
-
return "\n==> Packet module_calibration_v10 <==\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],['calib_interval', f"0x{self.calib_interval:X}", self.calib_interval],['calib_output_power', f"0x{self.calib_output_power:X}", self.calib_output_power],['calib_pattern', f"0x{self.calib_pattern:X}", self.calib_pattern]], tablefmt="texttable")
|
|
6560
|
+
return "\n==> Packet module_calibration_v10 <==\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, ""],['calib_interval', f"0x{self.calib_interval:X}", self.calib_interval, ""],['calib_output_power', f"0x{self.calib_output_power:X}", self.calib_output_power, ""],['calib_pattern', f"0x{self.calib_pattern:X}", self.calib_pattern, MODULE_CALIBRATION_V10_CALIB_PATTERN_MAP[self.calib_pattern]]], tablefmt="texttable")
|
|
5575
6561
|
|
|
5576
6562
|
def __eq__(self, other):
|
|
5577
6563
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -5603,6 +6589,7 @@ class ModuleCalibrationV10():
|
|
|
5603
6589
|
self.unused0 = d[8]
|
|
5604
6590
|
self.unused1 = d[9]
|
|
5605
6591
|
|
|
6592
|
+
MODULE_CALIBRATION_V9_CALIB_PATTERN_MAP = {0x00:"Standard beaconing", 0x01:"No Beacons on Channel 37", 0x02:"EU pattern", 0x03:"Disable calibration beaconing"}
|
|
5606
6593
|
class ModuleCalibrationV9():
|
|
5607
6594
|
def __init__(self, raw='', module_type=MODULE_CALIBRATION, msg_type=BRG_MGMT_MSG_TYPE_CFG_SET, api_version=API_VERSION_V9, seq_id=0, brg_mac=0, calib_interval=BRG_DEFAULT_CALIBRATION_INTERVAL, calib_output_power=BRG_DEFAULT_OUTPUT_POWER_2_4, calib_pattern=BRG_DEFAULT_CALIBRATION_PATTERN, unused0=0, unused1=0):
|
|
5608
6595
|
self.module_type = module_type
|
|
@@ -5619,7 +6606,7 @@ class ModuleCalibrationV9():
|
|
|
5619
6606
|
self.set(raw)
|
|
5620
6607
|
|
|
5621
6608
|
def __repr__(self) -> str:
|
|
5622
|
-
return "\n==> Packet module_calibration_v9 <==\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],['calib_interval', f"0x{self.calib_interval:X}", self.calib_interval],['calib_output_power', f"0x{self.calib_output_power:X}", self.calib_output_power],['calib_pattern', f"0x{self.calib_pattern:X}", self.calib_pattern]], tablefmt="texttable")
|
|
6609
|
+
return "\n==> Packet module_calibration_v9 <==\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, ""],['calib_interval', f"0x{self.calib_interval:X}", self.calib_interval, ""],['calib_output_power', f"0x{self.calib_output_power:X}", self.calib_output_power, ""],['calib_pattern', f"0x{self.calib_pattern:X}", self.calib_pattern, MODULE_CALIBRATION_V9_CALIB_PATTERN_MAP[self.calib_pattern]]], tablefmt="texttable")
|
|
5623
6610
|
|
|
5624
6611
|
def __eq__(self, other):
|
|
5625
6612
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -5663,7 +6650,7 @@ class ModuleCalibrationV8():
|
|
|
5663
6650
|
self.set(raw)
|
|
5664
6651
|
|
|
5665
6652
|
def __repr__(self) -> str:
|
|
5666
|
-
return "\n==> Packet module_calibration_v8 <==\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]], tablefmt="texttable")
|
|
6653
|
+
return "\n==> Packet module_calibration_v8 <==\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, ""]], tablefmt="texttable")
|
|
5667
6654
|
|
|
5668
6655
|
def __eq__(self, other):
|
|
5669
6656
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -5700,7 +6687,7 @@ class ModuleCalibrationV7():
|
|
|
5700
6687
|
self.set(raw)
|
|
5701
6688
|
|
|
5702
6689
|
def __repr__(self) -> str:
|
|
5703
|
-
return "\n==> Packet module_calibration_v7 <==\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]], tablefmt="texttable")
|
|
6690
|
+
return "\n==> Packet module_calibration_v7 <==\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, ""]], tablefmt="texttable")
|
|
5704
6691
|
|
|
5705
6692
|
def __eq__(self, other):
|
|
5706
6693
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -5725,6 +6712,90 @@ class ModuleCalibrationV7():
|
|
|
5725
6712
|
self.brg_mac = d[4]
|
|
5726
6713
|
self.unused0 = d[5]
|
|
5727
6714
|
|
|
6715
|
+
MODULE_DATAPATH_V13_PKT_FILTER_MAP = {0x00:"Random first Arriving packet", 0x10:"Disable forwarding", 0x11:"Temperature packet", 0x12:"Advanced packet", 0x13:"Temperature and Advanced packets", 0x14:"Debug packet", 0x15:"Temperature and Debug packets", 0x17:"Temperature Advanced and Debug packets"}
|
|
6716
|
+
MODULE_DATAPATH_V13_OUTPUT_POWER_MAP = {0x00:"Maximum", 0x02:"Maximum - 2 dBm", 0x03:"Maximum - 3 dBm", 0x04:"Maximum - 4 dBm", 0x06:"Maximum - 6 dBm", 0x07:"Maximum - 7 dBm", 0x08:"Maximum - 8 dBm", 0x0A:"Maximum - 10 dBm", 0x0B:"Maximum - 11 dBm", 0x0C:"Maximum - 12 dBm", 0x0E:"Maximum - 14 dBm", 0x0F:"Maximum - 15 dBm", 0x10:"Maximum - 16 dBm", 0x12:"Maximum - 18 dBm", 0x13:"Maximum - 19 dBm", 0x14:"Maximum - 20 dBm", 0x16:"Maximum - 22 dBm", 0x17:"Maximum - 23 dBm", 0x1A:"Maximum - 26 dBm"}
|
|
6717
|
+
MODULE_DATAPATH_V13_PATTERN_MAP = {0x00:"Standard beaconing", 0x01:"No Beacons on Channel 37", 0x02:"EU pattern", 0x03:"Extended Advertising", 0x04:"Extended Advertising - No Pointers on Channel 37", 0x05:"Extended Advertising - Channel 10"}
|
|
6718
|
+
MODULE_DATAPATH_V13_RX_CHANNEL_MAP = {0x00:"Channel 37 - primary advertisement channel", 0x01:"Channel 38 - primary advertisement channel", 0x02:"Channel 39 - primary advertisement channel", 0x03:"Channel 10 - 2Mbps - E2/E3 Pixels", 0x04:"Channel 10 - 2Mbps - E4 Pixels", 0x05:"Channel Hopping - 37 and 10", 0x06:"Channel 21 - 2Mbps - E4 Pixels"}
|
|
6719
|
+
MODULE_DATAPATH_V13_EVENT_TIME_UNIT_MAP = {0x00:"Seconds", 0x01:"Minutes", 0x02:"Hours"}
|
|
6720
|
+
MODULE_DATAPATH_V13_EVENT_TRIGGER_MAP = {0x00:"No Trigger", 0x01:"New Pixel", 0x02:"Temperature Change", 0x03:"New Pixel or Temperature Change", 0x04:"Tx Rate Change", 0x05:"New Pixel or Tx Rate Change", 0x06:"Temperature Change or Tx Rate Change", 0x07:"New Pixel, Temperature Change or Tx Rate Change", 0x08:"RSSI Change", 0x09:"New Pixel or RSSI Change", 0x0A:"Temperature Change or RSSI Change", 0x0B:"New Pixel, Temperature Change or RSSI Change", 0x0C:"Tx Rate or RSSI Change", 0x0D:"New Pixel, Tx Rate or RSSI Change", 0x0E:"Temperature Change, Tx Rate Change or RSSI Change", 0x0F:"All Triggers"}
|
|
6721
|
+
class ModuleDatapathV13():
|
|
6722
|
+
def __init__(self, raw='', module_type=MODULE_DATAPATH, msg_type=BRG_MGMT_MSG_TYPE_CFG_SET, api_version=API_VERSION_V13, seq_id=0, brg_mac=0, rssi_threshold=BRG_DEFAULT_RSSI_THRESHOLD, pacer_interval=BRG_DEFAULT_PACER_INTERVAL, pkt_filter=BRG_DEFAULT_PKT_FILTER, tx_repetition=BRG_DEFAULT_TX_REPETITION, output_power=BRG_DEFAULT_DATAPATH_OUTPUT_POWER, pattern=BRG_DEFAULT_DATAPATH_PATTERN, rx_channel=BRG_DEFAULT_RX_CHANNEL, event_window=BRG_DEFAULT_EVENT_WINDOW, unused0=0, event_time_unit=BRG_DEFAULT_EVENT_TIME_UNIT, event_trigger=BRG_DEFAULT_EVENT_TRIGGER, rssi_movement_threshold=BRG_DEFAULT_RSSI_MOVEMENT_THRESHOLD, event_pacer_interval=0, unused1=0):
|
|
6723
|
+
self.module_type = module_type
|
|
6724
|
+
self.msg_type = msg_type
|
|
6725
|
+
self.api_version = api_version
|
|
6726
|
+
self.seq_id = seq_id
|
|
6727
|
+
self.brg_mac = brg_mac
|
|
6728
|
+
self.rssi_threshold = rssi_threshold
|
|
6729
|
+
self.pacer_interval = pacer_interval
|
|
6730
|
+
self.pkt_filter = pkt_filter
|
|
6731
|
+
self.tx_repetition = tx_repetition
|
|
6732
|
+
self.output_power = output_power
|
|
6733
|
+
self.pattern = pattern
|
|
6734
|
+
self.rx_channel = rx_channel
|
|
6735
|
+
self.event_window = event_window
|
|
6736
|
+
self.unused0 = unused0
|
|
6737
|
+
self.event_time_unit = event_time_unit
|
|
6738
|
+
self.event_trigger = event_trigger
|
|
6739
|
+
self.rssi_movement_threshold = rssi_movement_threshold
|
|
6740
|
+
self.event_pacer_interval = event_pacer_interval
|
|
6741
|
+
self.unused1 = unused1
|
|
6742
|
+
if raw:
|
|
6743
|
+
self.set(raw)
|
|
6744
|
+
|
|
6745
|
+
def __repr__(self) -> str:
|
|
6746
|
+
return "\n==> Packet module_datapath_v13 <==\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, MODULE_DATAPATH_V13_PKT_FILTER_MAP[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, MODULE_DATAPATH_V13_OUTPUT_POWER_MAP[self.output_power]],['pattern', f"0x{self.pattern:X}", self.pattern, MODULE_DATAPATH_V13_PATTERN_MAP[self.pattern]],['rx_channel', f"0x{self.rx_channel:X}", self.rx_channel, MODULE_DATAPATH_V13_RX_CHANNEL_MAP[self.rx_channel]],['event_window', f"0x{self.event_window:X}", self.event_window, ""],['event_time_unit', f"0x{self.event_time_unit:X}", self.event_time_unit, MODULE_DATAPATH_V13_EVENT_TIME_UNIT_MAP[self.event_time_unit]],['event_trigger', f"0x{self.event_trigger:X}", self.event_trigger, MODULE_DATAPATH_V13_EVENT_TRIGGER_MAP[self.event_trigger]],['rssi_movement_threshold', f"0x{self.rssi_movement_threshold:X}", self.rssi_movement_threshold, ""],['event_pacer_interval', f"0x{self.event_pacer_interval:X}", self.event_pacer_interval, ""]], tablefmt="texttable")
|
|
6747
|
+
|
|
6748
|
+
def __eq__(self, other):
|
|
6749
|
+
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
6750
|
+
return (
|
|
6751
|
+
self.module_type == other.module_type and
|
|
6752
|
+
self.msg_type == other.msg_type and
|
|
6753
|
+
self.api_version == other.api_version and
|
|
6754
|
+
self.brg_mac == other.brg_mac and
|
|
6755
|
+
self.rssi_threshold == other.rssi_threshold and
|
|
6756
|
+
self.pacer_interval == other.pacer_interval and
|
|
6757
|
+
self.pkt_filter == other.pkt_filter and
|
|
6758
|
+
self.tx_repetition == other.tx_repetition and
|
|
6759
|
+
self.output_power == other.output_power and
|
|
6760
|
+
self.pattern == other.pattern and
|
|
6761
|
+
self.rx_channel == other.rx_channel and
|
|
6762
|
+
self.event_window == other.event_window and
|
|
6763
|
+
self.event_time_unit == other.event_time_unit and
|
|
6764
|
+
self.event_trigger == other.event_trigger and
|
|
6765
|
+
self.rssi_movement_threshold == other.rssi_movement_threshold and
|
|
6766
|
+
self.event_pacer_interval == other.event_pacer_interval
|
|
6767
|
+
)
|
|
6768
|
+
return False
|
|
6769
|
+
|
|
6770
|
+
def dump(self):
|
|
6771
|
+
string = bitstruct.pack("u4u4u8u8u48s8u16u5u3u8u4u4u8u2u2u4u8u16u32", self.module_type, self.msg_type, self.api_version, self.seq_id, self.brg_mac, ((self.rssi_threshold-0)//-1), self.pacer_interval, self.pkt_filter, self.tx_repetition, self.output_power, self.pattern, self.rx_channel, self.event_window, self.unused0, self.event_time_unit, self.event_trigger, self.rssi_movement_threshold, self.event_pacer_interval, self.unused1)
|
|
6772
|
+
return string.hex().upper()
|
|
6773
|
+
|
|
6774
|
+
def set(self, string):
|
|
6775
|
+
d = bitstruct.unpack("u4u4u8u8u48s8u16u5u3u8u4u4u8u2u2u4u8u16u32", binascii.unhexlify(string))
|
|
6776
|
+
self.module_type = d[0]
|
|
6777
|
+
self.msg_type = d[1]
|
|
6778
|
+
self.api_version = d[2]
|
|
6779
|
+
self.seq_id = d[3]
|
|
6780
|
+
self.brg_mac = d[4]
|
|
6781
|
+
self.rssi_threshold = ((d[5]*-1)+0)
|
|
6782
|
+
self.pacer_interval = d[6]
|
|
6783
|
+
self.pkt_filter = d[7]
|
|
6784
|
+
self.tx_repetition = d[8]
|
|
6785
|
+
self.output_power = d[9]
|
|
6786
|
+
self.pattern = d[10]
|
|
6787
|
+
self.rx_channel = d[11]
|
|
6788
|
+
self.event_window = d[12]
|
|
6789
|
+
self.unused0 = d[13]
|
|
6790
|
+
self.event_time_unit = d[14]
|
|
6791
|
+
self.event_trigger = d[15]
|
|
6792
|
+
self.rssi_movement_threshold = d[16]
|
|
6793
|
+
self.event_pacer_interval = d[17]
|
|
6794
|
+
self.unused1 = d[18]
|
|
6795
|
+
|
|
6796
|
+
MODULE_DATAPATH_V12_PKT_FILTER_MAP = {0x00:"Random first Arriving packet", 0x10:"Disable forwarding", 0x11:"Temperature packet", 0x12:"Advanced packet", 0x13:"Temperature and Advanced packets", 0x14:"Debug packet", 0x15:"Temperature and Debug packets", 0x17:"Temperature Advanced and Debug packets"}
|
|
6797
|
+
MODULE_DATAPATH_V12_PATTERN_MAP = {0x00:"Standard beaconing", 0x01:"No Beacons on Channel 37", 0x02:"EU pattern", 0x03:"Extended Advertising", 0x04:"Extended Advertising - No Pointers on Channel 37", 0x05:"Extended Advertising - Channel 10"}
|
|
6798
|
+
MODULE_DATAPATH_V12_RX_CHANNEL_MAP = {0x00:"Channel 37 - primary advertisement channel", 0x01:"Channel 38 - primary advertisement channel", 0x02:"Channel 39 - primary advertisement channel", 0x03:"Channel 10 - 2Mbps - E2/E3 Pixels", 0x04:"Channel 10 - 2Mbps - E4 Pixels", 0x05:"Channel Hopping - 37 and 10", 0x06:"Channel 21 - 2Mbps - E4 Pixels"}
|
|
5728
6799
|
class ModuleDatapathV12():
|
|
5729
6800
|
def __init__(self, raw='', module_type=MODULE_DATAPATH, msg_type=BRG_MGMT_MSG_TYPE_CFG_SET, api_version=API_VERSION_V12, seq_id=0, brg_mac=0, rssi_threshold=BRG_DEFAULT_RSSI_THRESHOLD, pacer_interval=BRG_DEFAULT_PACER_INTERVAL, pkt_filter=BRG_DEFAULT_PKT_FILTER, tx_repetition=BRG_DEFAULT_TX_REPETITION, output_power=BRG_DEFAULT_DATAPATH_OUTPUT_POWER, pattern=BRG_DEFAULT_DATAPATH_PATTERN, rx_channel=BRG_DEFAULT_RX_CHANNEL, unused0=0):
|
|
5730
6801
|
self.module_type = module_type
|
|
@@ -5744,7 +6815,7 @@ class ModuleDatapathV12():
|
|
|
5744
6815
|
self.set(raw)
|
|
5745
6816
|
|
|
5746
6817
|
def __repr__(self) -> str:
|
|
5747
|
-
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")
|
|
6818
|
+
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, MODULE_DATAPATH_V12_PKT_FILTER_MAP[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, MODULE_DATAPATH_V12_PATTERN_MAP[self.pattern]],['rx_channel', f"0x{self.rx_channel:X}", self.rx_channel, MODULE_DATAPATH_V12_RX_CHANNEL_MAP[self.rx_channel]]], tablefmt="texttable")
|
|
5748
6819
|
|
|
5749
6820
|
def __eq__(self, other):
|
|
5750
6821
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -5783,6 +6854,9 @@ class ModuleDatapathV12():
|
|
|
5783
6854
|
self.rx_channel = d[11]
|
|
5784
6855
|
self.unused0 = d[12]
|
|
5785
6856
|
|
|
6857
|
+
MODULE_DATAPATH_V11_PKT_FILTER_MAP = {0x00:"Random first Arriving packet", 0x10:"Disable forwarding", 0x11:"Temperature packet", 0x12:"Advanced packet", 0x13:"Temperature and Advanced packets", 0x14:"Debug packet", 0x15:"Temperature and Debug packets", 0x17:"Temperature Advanced and Debug packets"}
|
|
6858
|
+
MODULE_DATAPATH_V11_PATTERN_MAP = {0x00:"Standard beaconing", 0x01:"No Beacons on Channel 37", 0x02:"EU pattern", 0x03:"Extended Advertising", 0x04:"Extended Advertising - No Pointers on Channel 37", 0x05:"Extended Advertising - Channel 10"}
|
|
6859
|
+
MODULE_DATAPATH_V11_RX_CHANNEL_MAP = {0x00:"Channel 37 - primary advertisement channel", 0x01:"Channel 38 - primary advertisement channel", 0x02:"Channel 39 - primary advertisement channel", 0x03:"Channel 4 - 1Mbps - secondary advertisement channel", 0x04:"Channel 10 - 1Mbps - secondary advertisement channel", 0x05:"Channel 4 - 2Mbps - secondary advertisement channel", 0x06:"Channel 10 - 2Mbps - secondary advertisement channel"}
|
|
5786
6860
|
class ModuleDatapathV11():
|
|
5787
6861
|
def __init__(self, raw='', module_type=MODULE_DATAPATH, msg_type=BRG_MGMT_MSG_TYPE_CFG_SET, api_version=API_VERSION_V11, seq_id=0, brg_mac=0, unused1=0, unused0=0, adaptive_pacer=0, unified_echo_pkt=1, pacer_interval=BRG_DEFAULT_PACER_INTERVAL, pkt_filter=BRG_DEFAULT_PKT_FILTER, tx_repetition=BRG_DEFAULT_TX_REPETITION, output_power=BRG_DEFAULT_DATAPATH_OUTPUT_POWER, pattern=BRG_DEFAULT_DATAPATH_PATTERN, rx_channel=BRG_DEFAULT_RX_CHANNEL, unused2=0):
|
|
5788
6862
|
self.module_type = module_type
|
|
@@ -5805,7 +6879,7 @@ class ModuleDatapathV11():
|
|
|
5805
6879
|
self.set(raw)
|
|
5806
6880
|
|
|
5807
6881
|
def __repr__(self) -> str:
|
|
5808
|
-
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")
|
|
6882
|
+
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, MODULE_DATAPATH_V11_PKT_FILTER_MAP[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, MODULE_DATAPATH_V11_PATTERN_MAP[self.pattern]],['rx_channel', f"0x{self.rx_channel:X}", self.rx_channel, MODULE_DATAPATH_V11_RX_CHANNEL_MAP[self.rx_channel]]], tablefmt="texttable")
|
|
5809
6883
|
|
|
5810
6884
|
def __eq__(self, other):
|
|
5811
6885
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -5848,6 +6922,8 @@ class ModuleDatapathV11():
|
|
|
5848
6922
|
self.rx_channel = d[14]
|
|
5849
6923
|
self.unused2 = d[15]
|
|
5850
6924
|
|
|
6925
|
+
MODULE_DATAPATH_V10_PKT_FILTER_MAP = {0x00:"Random first Arriving packet", 0x10:"Disable forwarding", 0x11:"Temperature packet", 0x12:"Advanced packet", 0x13:"Temperature and Advanced packets", 0x14:"Debug packet", 0x15:"Temperature and Debug packets", 0x17:"Temperature Advanced and Debug packets"}
|
|
6926
|
+
MODULE_DATAPATH_V10_COMM_PATTERN_MAP = {0x00:"Standard beaconing", 0x01:"No Beacons on Channel 37", 0x02:"EU pattern", 0x03:"Extended Advertising", 0x04:"Extended Advertising - No Pointers on Channel 37", 0x05:"Extended Advertising - Channel 10"}
|
|
5851
6927
|
class ModuleDatapathV10():
|
|
5852
6928
|
def __init__(self, raw='', module_type=MODULE_DATAPATH, msg_type=BRG_MGMT_MSG_TYPE_CFG_SET, api_version=API_VERSION_V10, seq_id=0, brg_mac=0, global_pacing_group=0, unused0=0, adaptive_pacer=0, unified_echo_pkt=0, pacer_interval=BRG_DEFAULT_PACER_INTERVAL, pkt_filter=BRG_DEFAULT_PKT_FILTER, tx_repetition=BRG_DEFAULT_TX_REPETITION, comm_output_power=BRG_DEFAULT_OUTPUT_POWER_2_4, comm_pattern=BRG_DEFAULT_DATAPATH_PATTERN, unused1=0, unused2=0):
|
|
5853
6929
|
self.module_type = module_type
|
|
@@ -5870,7 +6946,7 @@ class ModuleDatapathV10():
|
|
|
5870
6946
|
self.set(raw)
|
|
5871
6947
|
|
|
5872
6948
|
def __repr__(self) -> str:
|
|
5873
|
-
return "\n==> Packet module_datapath_v10 <==\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],['global_pacing_group', f"0x{self.global_pacing_group:X}", self.global_pacing_group],['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],['comm_output_power', f"0x{self.comm_output_power:X}", self.comm_output_power],['comm_pattern', f"0x{self.comm_pattern:X}", self.comm_pattern]], tablefmt="texttable")
|
|
6949
|
+
return "\n==> Packet module_datapath_v10 <==\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, ""],['global_pacing_group', f"0x{self.global_pacing_group:X}", self.global_pacing_group, ""],['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, MODULE_DATAPATH_V10_PKT_FILTER_MAP[self.pkt_filter]],['tx_repetition', f"0x{self.tx_repetition:X}", self.tx_repetition, ""],['comm_output_power', f"0x{self.comm_output_power:X}", self.comm_output_power, ""],['comm_pattern', f"0x{self.comm_pattern:X}", self.comm_pattern, MODULE_DATAPATH_V10_COMM_PATTERN_MAP[self.comm_pattern]]], tablefmt="texttable")
|
|
5874
6950
|
|
|
5875
6951
|
def __eq__(self, other):
|
|
5876
6952
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -5913,6 +6989,8 @@ class ModuleDatapathV10():
|
|
|
5913
6989
|
self.unused1 = d[14]
|
|
5914
6990
|
self.unused2 = d[15]
|
|
5915
6991
|
|
|
6992
|
+
MODULE_DATAPATH_V9_PKT_FILTER_MAP = {0x00:"Random first Arriving packet", 0x10:"Disable forwarding", 0x11:"Temperature packet", 0x12:"Advanced packet", 0x13:"Temperature and Advanced packets", 0x14:"Debug packet", 0x15:"Temperature and Debug packets", 0x17:"Temperature Advanced and Debug packets"}
|
|
6993
|
+
MODULE_DATAPATH_V9_COMM_PATTERN_MAP = {0x00:"Standard beaconing", 0x01:"No Beacons on Channel 37", 0x02:"EU pattern", 0x03:"Extended Advertising", 0x04:"Extended Advertising - No Pointers on Channel 37", 0x05:"Extended Advertising - Channel 10"}
|
|
5916
6994
|
class ModuleDatapathV9():
|
|
5917
6995
|
def __init__(self, raw='', module_type=MODULE_DATAPATH, msg_type=BRG_MGMT_MSG_TYPE_CFG_SET, api_version=API_VERSION_V9, seq_id=0, brg_mac=0, global_pacing_group=0, unused0=0, adaptive_pacer=0, unified_echo_pkt=0, pacer_interval=BRG_DEFAULT_PACER_INTERVAL, pkt_filter=BRG_DEFAULT_PKT_FILTER, tx_repetition=BRG_DEFAULT_TX_REPETITION, comm_output_power=BRG_DEFAULT_OUTPUT_POWER_2_4, comm_pattern=BRG_DEFAULT_DATAPATH_PATTERN, unused1=0, unused2=0):
|
|
5918
6996
|
self.module_type = module_type
|
|
@@ -5935,7 +7013,7 @@ class ModuleDatapathV9():
|
|
|
5935
7013
|
self.set(raw)
|
|
5936
7014
|
|
|
5937
7015
|
def __repr__(self) -> str:
|
|
5938
|
-
return "\n==> Packet module_datapath_v9 <==\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],['global_pacing_group', f"0x{self.global_pacing_group:X}", self.global_pacing_group],['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],['comm_output_power', f"0x{self.comm_output_power:X}", self.comm_output_power],['comm_pattern', f"0x{self.comm_pattern:X}", self.comm_pattern]], tablefmt="texttable")
|
|
7016
|
+
return "\n==> Packet module_datapath_v9 <==\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, ""],['global_pacing_group', f"0x{self.global_pacing_group:X}", self.global_pacing_group, ""],['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, MODULE_DATAPATH_V9_PKT_FILTER_MAP[self.pkt_filter]],['tx_repetition', f"0x{self.tx_repetition:X}", self.tx_repetition, ""],['comm_output_power', f"0x{self.comm_output_power:X}", self.comm_output_power, ""],['comm_pattern', f"0x{self.comm_pattern:X}", self.comm_pattern, MODULE_DATAPATH_V9_COMM_PATTERN_MAP[self.comm_pattern]]], tablefmt="texttable")
|
|
5939
7017
|
|
|
5940
7018
|
def __eq__(self, other):
|
|
5941
7019
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -5995,7 +7073,7 @@ class ModuleDatapathV8():
|
|
|
5995
7073
|
self.set(raw)
|
|
5996
7074
|
|
|
5997
7075
|
def __repr__(self) -> str:
|
|
5998
|
-
return "\n==> Packet module_datapath_v8 <==\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],['global_pacing_group', f"0x{self.global_pacing_group:X}", self.global_pacing_group],['pacer_interval', f"0x{self.pacer_interval:X}", self.pacer_interval],['pkt_types_mask', f"0x{self.pkt_types_mask:X}", self.pkt_types_mask],['tx_repetition', f"0x{self.tx_repetition:X}", self.tx_repetition]], tablefmt="texttable")
|
|
7076
|
+
return "\n==> Packet module_datapath_v8 <==\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, ""],['global_pacing_group', f"0x{self.global_pacing_group:X}", self.global_pacing_group, ""],['pacer_interval', f"0x{self.pacer_interval:X}", self.pacer_interval, ""],['pkt_types_mask', f"0x{self.pkt_types_mask:X}", self.pkt_types_mask, ""],['tx_repetition', f"0x{self.tx_repetition:X}", self.tx_repetition, ""]], tablefmt="texttable")
|
|
5999
7077
|
|
|
6000
7078
|
def __eq__(self, other):
|
|
6001
7079
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -6030,7 +7108,7 @@ class ModuleDatapathV8():
|
|
|
6030
7108
|
self.unused1 = d[10]
|
|
6031
7109
|
|
|
6032
7110
|
class ModuleDatapathV7():
|
|
6033
|
-
def __init__(self, raw='', module_type=MODULE_DATAPATH, msg_type=BRG_MGMT_MSG_TYPE_CFG_SET, api_version=API_VERSION_V7, seq_id=0, brg_mac=0, global_pacing_group=0, unused0=0, pacer_interval=BRG_DEFAULT_PACER_INTERVAL,
|
|
7111
|
+
def __init__(self, raw='', module_type=MODULE_DATAPATH, msg_type=BRG_MGMT_MSG_TYPE_CFG_SET, api_version=API_VERSION_V7, seq_id=0, brg_mac=0, global_pacing_group=0, unused0=0, pacer_interval=BRG_DEFAULT_PACER_INTERVAL, unused2=0, tx_repetition=BRG_DEFAULT_TX_REPETITION, unused1=0):
|
|
6034
7112
|
self.module_type = module_type
|
|
6035
7113
|
self.msg_type = msg_type
|
|
6036
7114
|
self.api_version = api_version
|
|
@@ -6039,14 +7117,14 @@ class ModuleDatapathV7():
|
|
|
6039
7117
|
self.global_pacing_group = global_pacing_group
|
|
6040
7118
|
self.unused0 = unused0
|
|
6041
7119
|
self.pacer_interval = pacer_interval
|
|
6042
|
-
self.
|
|
7120
|
+
self.unused2 = unused2
|
|
6043
7121
|
self.tx_repetition = tx_repetition
|
|
6044
7122
|
self.unused1 = unused1
|
|
6045
7123
|
if raw:
|
|
6046
7124
|
self.set(raw)
|
|
6047
7125
|
|
|
6048
7126
|
def __repr__(self) -> str:
|
|
6049
|
-
return "\n==> Packet module_datapath_v7 <==\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],['global_pacing_group', f"0x{self.global_pacing_group:X}", self.global_pacing_group],['pacer_interval', f"0x{self.pacer_interval:X}", self.pacer_interval
|
|
7127
|
+
return "\n==> Packet module_datapath_v7 <==\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, ""],['global_pacing_group', f"0x{self.global_pacing_group:X}", self.global_pacing_group, ""],['pacer_interval', f"0x{self.pacer_interval:X}", self.pacer_interval, ""],['tx_repetition', f"0x{self.tx_repetition:X}", self.tx_repetition, ""]], tablefmt="texttable")
|
|
6050
7128
|
|
|
6051
7129
|
def __eq__(self, other):
|
|
6052
7130
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -6057,13 +7135,12 @@ class ModuleDatapathV7():
|
|
|
6057
7135
|
self.brg_mac == other.brg_mac and
|
|
6058
7136
|
self.global_pacing_group == other.global_pacing_group and
|
|
6059
7137
|
self.pacer_interval == other.pacer_interval and
|
|
6060
|
-
self.unsued2 == other.unsued2 and
|
|
6061
7138
|
self.tx_repetition == other.tx_repetition
|
|
6062
7139
|
)
|
|
6063
7140
|
return False
|
|
6064
7141
|
|
|
6065
7142
|
def dump(self):
|
|
6066
|
-
string = bitstruct.pack("u4u4u8u8u48u4u4u16u5u3u88", self.module_type, self.msg_type, self.api_version, self.seq_id, self.brg_mac, self.global_pacing_group, self.unused0, self.pacer_interval, self.
|
|
7143
|
+
string = bitstruct.pack("u4u4u8u8u48u4u4u16u5u3u88", self.module_type, self.msg_type, self.api_version, self.seq_id, self.brg_mac, self.global_pacing_group, self.unused0, self.pacer_interval, self.unused2, self.tx_repetition, self.unused1)
|
|
6067
7144
|
return string.hex().upper()
|
|
6068
7145
|
|
|
6069
7146
|
def set(self, string):
|
|
@@ -6076,10 +7153,67 @@ class ModuleDatapathV7():
|
|
|
6076
7153
|
self.global_pacing_group = d[5]
|
|
6077
7154
|
self.unused0 = d[6]
|
|
6078
7155
|
self.pacer_interval = d[7]
|
|
6079
|
-
self.
|
|
7156
|
+
self.unused2 = d[8]
|
|
6080
7157
|
self.tx_repetition = d[9]
|
|
6081
7158
|
self.unused1 = d[10]
|
|
6082
7159
|
|
|
7160
|
+
MODULE_ENERGY_2400_V13_PATTERN_MAP = {0x00:"No Energizing", 0x01:"Channel 37", 0x02:"Channel 38", 0x03:"Channel 39", 0x04:"2450MHz", 0x05:"2454MHz"}
|
|
7161
|
+
MODULE_ENERGY_2400_V13_OUTPUT_POWER_MAP = {0x00:"Maximum", 0x02:"Maximum - 2 dBm", 0x03:"Maximum - 3 dBm", 0x04:"Maximum - 4 dBm", 0x06:"Maximum - 6 dBm", 0x07:"Maximum - 7 dBm", 0x08:"Maximum - 8 dBm", 0x0A:"Maximum - 10 dBm", 0x0B:"Maximum - 11 dBm", 0x0C:"Maximum - 12 dBm", 0x0E:"Maximum - 14 dBm", 0x0F:"Maximum - 15 dBm", 0x10:"Maximum - 16 dBm", 0x12:"Maximum - 18 dBm", 0x13:"Maximum - 19 dBm", 0x14:"Maximum - 20 dBm", 0x16:"Maximum - 22 dBm", 0x17:"Maximum - 23 dBm", 0x1A:"Maximum - 26 dBm"}
|
|
7162
|
+
MODULE_ENERGY_2400_V13_SIGNAL_INDICATOR_REP_ENC = {SIGNAL_INDICATOR_REP_1:0, SIGNAL_INDICATOR_REP_2:1, SIGNAL_INDICATOR_REP_3:2, SIGNAL_INDICATOR_REP_4:3}
|
|
7163
|
+
MODULE_ENERGY_2400_V13_SIGNAL_INDICATOR_REP_DEC = {0:SIGNAL_INDICATOR_REP_1, 1:SIGNAL_INDICATOR_REP_2, 2:SIGNAL_INDICATOR_REP_3, 3:SIGNAL_INDICATOR_REP_4}
|
|
7164
|
+
class ModuleEnergy2400V13():
|
|
7165
|
+
def __init__(self, raw='', module_type=MODULE_ENERGY_2400, msg_type=BRG_MGMT_MSG_TYPE_CFG_SET, api_version=API_VERSION_V13, seq_id=0, brg_mac=0, duty_cycle=BRG_DEFAULT_ENERGY_DUTY_CYCLE_2_4, pattern=BRG_DEFAULT_ENERGY_PATTERN_2_4, output_power=BRG_DEFAULT_OUTPUT_POWER_2_4, signal_indicator_cycle=BRG_DEFAULT_SIGNAL_INDICATOR_CYCLE, signal_indicator_rep=BRG_DEFAULT_SIGNAL_INDICATOR_REP, unused0=0):
|
|
7166
|
+
self.module_type = module_type
|
|
7167
|
+
self.msg_type = msg_type
|
|
7168
|
+
self.api_version = api_version
|
|
7169
|
+
self.seq_id = seq_id
|
|
7170
|
+
self.brg_mac = brg_mac
|
|
7171
|
+
self.duty_cycle = duty_cycle
|
|
7172
|
+
self.pattern = pattern
|
|
7173
|
+
self.output_power = output_power
|
|
7174
|
+
self.signal_indicator_cycle = signal_indicator_cycle
|
|
7175
|
+
self.signal_indicator_rep = signal_indicator_rep
|
|
7176
|
+
self.unused0 = unused0
|
|
7177
|
+
if raw:
|
|
7178
|
+
self.set(raw)
|
|
7179
|
+
|
|
7180
|
+
def __repr__(self) -> str:
|
|
7181
|
+
return "\n==> Packet module_energy_2400_v13 <==\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, MODULE_ENERGY_2400_V13_PATTERN_MAP[self.pattern]],['output_power', f"0x{self.output_power:X}", self.output_power, MODULE_ENERGY_2400_V13_OUTPUT_POWER_MAP[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")
|
|
7182
|
+
|
|
7183
|
+
def __eq__(self, other):
|
|
7184
|
+
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
7185
|
+
return (
|
|
7186
|
+
self.module_type == other.module_type and
|
|
7187
|
+
self.msg_type == other.msg_type and
|
|
7188
|
+
self.api_version == other.api_version and
|
|
7189
|
+
self.brg_mac == other.brg_mac and
|
|
7190
|
+
self.duty_cycle == other.duty_cycle and
|
|
7191
|
+
self.pattern == other.pattern and
|
|
7192
|
+
self.output_power == other.output_power and
|
|
7193
|
+
self.signal_indicator_cycle == other.signal_indicator_cycle and
|
|
7194
|
+
self.signal_indicator_rep == other.signal_indicator_rep
|
|
7195
|
+
)
|
|
7196
|
+
return False
|
|
7197
|
+
|
|
7198
|
+
def dump(self):
|
|
7199
|
+
string = bitstruct.pack("u4u4u8u8u48u8u8u8u14u2u80", self.module_type, self.msg_type, self.api_version, self.seq_id, self.brg_mac, self.duty_cycle, self.pattern, self.output_power, self.signal_indicator_cycle, MODULE_ENERGY_2400_V13_SIGNAL_INDICATOR_REP_ENC[self.signal_indicator_rep], self.unused0)
|
|
7200
|
+
return string.hex().upper()
|
|
7201
|
+
|
|
7202
|
+
def set(self, string):
|
|
7203
|
+
d = bitstruct.unpack("u4u4u8u8u48u8u8u8u14u2u80", binascii.unhexlify(string))
|
|
7204
|
+
self.module_type = d[0]
|
|
7205
|
+
self.msg_type = d[1]
|
|
7206
|
+
self.api_version = d[2]
|
|
7207
|
+
self.seq_id = d[3]
|
|
7208
|
+
self.brg_mac = d[4]
|
|
7209
|
+
self.duty_cycle = d[5]
|
|
7210
|
+
self.pattern = d[6]
|
|
7211
|
+
self.output_power = d[7]
|
|
7212
|
+
self.signal_indicator_cycle = d[8]
|
|
7213
|
+
self.signal_indicator_rep = MODULE_ENERGY_2400_V13_SIGNAL_INDICATOR_REP_DEC[d[9]]
|
|
7214
|
+
self.unused0 = d[10]
|
|
7215
|
+
|
|
7216
|
+
MODULE_ENERGY_2400_V12_PATTERN_MAP = {0x00:"No Energizing", 0x01:"Channel 37", 0x02:"Channel 38", 0x03:"Channel 39", 0x04:"2450MHz", 0x05:"2454MHz"}
|
|
6083
7217
|
MODULE_ENERGY_2400_V12_SIGNAL_INDICATOR_REP_ENC = {SIGNAL_INDICATOR_REP_1:0, SIGNAL_INDICATOR_REP_2:1, SIGNAL_INDICATOR_REP_3:2, SIGNAL_INDICATOR_REP_4:3}
|
|
6084
7218
|
MODULE_ENERGY_2400_V12_SIGNAL_INDICATOR_REP_DEC = {0:SIGNAL_INDICATOR_REP_1, 1:SIGNAL_INDICATOR_REP_2, 2:SIGNAL_INDICATOR_REP_3, 3:SIGNAL_INDICATOR_REP_4}
|
|
6085
7219
|
class ModuleEnergy2400V12():
|
|
@@ -6099,7 +7233,7 @@ class ModuleEnergy2400V12():
|
|
|
6099
7233
|
self.set(raw)
|
|
6100
7234
|
|
|
6101
7235
|
def __repr__(self) -> str:
|
|
6102
|
-
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")
|
|
7236
|
+
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, MODULE_ENERGY_2400_V12_PATTERN_MAP[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")
|
|
6103
7237
|
|
|
6104
7238
|
def __eq__(self, other):
|
|
6105
7239
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -6134,6 +7268,7 @@ class ModuleEnergy2400V12():
|
|
|
6134
7268
|
self.signal_indicator_rep = MODULE_ENERGY_2400_V12_SIGNAL_INDICATOR_REP_DEC[d[9]]
|
|
6135
7269
|
self.unused0 = d[10]
|
|
6136
7270
|
|
|
7271
|
+
MODULE_ENERGY_2400_V11_PATTERN_MAP = {0x00:"No Energizing", 0x01:"Channel 37", 0x02:"Channel 38", 0x03:"Channel 39", 0x04:"2450MHz", 0x05:"2454MHz"}
|
|
6137
7272
|
MODULE_ENERGY_2400_V11_SIGNAL_INDICATOR_REP_ENC = {SIGNAL_INDICATOR_REP_1:0, SIGNAL_INDICATOR_REP_2:1, SIGNAL_INDICATOR_REP_3:2, SIGNAL_INDICATOR_REP_4:3}
|
|
6138
7273
|
MODULE_ENERGY_2400_V11_SIGNAL_INDICATOR_REP_DEC = {0:SIGNAL_INDICATOR_REP_1, 1:SIGNAL_INDICATOR_REP_2, 2:SIGNAL_INDICATOR_REP_3, 3:SIGNAL_INDICATOR_REP_4}
|
|
6139
7274
|
class ModuleEnergy2400V11():
|
|
@@ -6153,7 +7288,7 @@ class ModuleEnergy2400V11():
|
|
|
6153
7288
|
self.set(raw)
|
|
6154
7289
|
|
|
6155
7290
|
def __repr__(self) -> str:
|
|
6156
|
-
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")
|
|
7291
|
+
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, MODULE_ENERGY_2400_V11_PATTERN_MAP[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")
|
|
6157
7292
|
|
|
6158
7293
|
def __eq__(self, other):
|
|
6159
7294
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -6188,6 +7323,7 @@ class ModuleEnergy2400V11():
|
|
|
6188
7323
|
self.signal_indicator_rep = MODULE_ENERGY_2400_V11_SIGNAL_INDICATOR_REP_DEC[d[9]]
|
|
6189
7324
|
self.unused0 = d[10]
|
|
6190
7325
|
|
|
7326
|
+
MODULE_ENERGY_2400_V10_ENERGY_PATTERN_2400_MAP = {0x00:"No Energizing", 0x01:"Channel 37", 0x02:"Channel 38", 0x03:"Channel 39", 0x04:"2450MHz", 0x05:"2454MHz"}
|
|
6191
7327
|
MODULE_ENERGY_2400_V10_SIGNAL_INDICATOR_REP_ENC = {SIGNAL_INDICATOR_REP_1:0, SIGNAL_INDICATOR_REP_2:1, SIGNAL_INDICATOR_REP_3:2, SIGNAL_INDICATOR_REP_4:3}
|
|
6192
7328
|
MODULE_ENERGY_2400_V10_SIGNAL_INDICATOR_REP_DEC = {0:SIGNAL_INDICATOR_REP_1, 1:SIGNAL_INDICATOR_REP_2, 2:SIGNAL_INDICATOR_REP_3, 3:SIGNAL_INDICATOR_REP_4}
|
|
6193
7329
|
class ModuleEnergy2400V10():
|
|
@@ -6207,7 +7343,7 @@ class ModuleEnergy2400V10():
|
|
|
6207
7343
|
self.set(raw)
|
|
6208
7344
|
|
|
6209
7345
|
def __repr__(self) -> str:
|
|
6210
|
-
return "\n==> Packet module_energy_2400_v10 <==\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],['energy_pattern_2400', f"0x{self.energy_pattern_2400:X}", self.energy_pattern_2400],['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")
|
|
7346
|
+
return "\n==> Packet module_energy_2400_v10 <==\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, ""],['energy_pattern_2400', f"0x{self.energy_pattern_2400:X}", self.energy_pattern_2400, MODULE_ENERGY_2400_V10_ENERGY_PATTERN_2400_MAP[self.energy_pattern_2400]],['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")
|
|
6211
7347
|
|
|
6212
7348
|
def __eq__(self, other):
|
|
6213
7349
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -6242,6 +7378,7 @@ class ModuleEnergy2400V10():
|
|
|
6242
7378
|
self.signal_indicator_rep = MODULE_ENERGY_2400_V10_SIGNAL_INDICATOR_REP_DEC[d[9]]
|
|
6243
7379
|
self.unused0 = d[10]
|
|
6244
7380
|
|
|
7381
|
+
MODULE_ENERGY_2400_V9_ENERGY_PATTERN_2400_MAP = {0x00:"No Energizing", 0x01:"Channel 37", 0x02:"Channel 38", 0x03:"Channel 39", 0x04:"2450MHz", 0x05:"2454MHz"}
|
|
6245
7382
|
class ModuleEnergy2400V9():
|
|
6246
7383
|
def __init__(self, raw='', module_type=MODULE_ENERGY_2400, msg_type=BRG_MGMT_MSG_TYPE_CFG_SET, api_version=API_VERSION_V9, seq_id=0, brg_mac=0, duty_cycle=BRG_DEFAULT_ENERGY_DUTY_CYCLE_2_4, energy_pattern_2400=BRG_DEFAULT_ENERGY_PATTERN_2_4, output_power=BRG_DEFAULT_OUTPUT_POWER_2_4, unused0=0):
|
|
6247
7384
|
self.module_type = module_type
|
|
@@ -6257,7 +7394,7 @@ class ModuleEnergy2400V9():
|
|
|
6257
7394
|
self.set(raw)
|
|
6258
7395
|
|
|
6259
7396
|
def __repr__(self) -> str:
|
|
6260
|
-
return "\n==> Packet module_energy_2400_v9 <==\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],['energy_pattern_2400', f"0x{self.energy_pattern_2400:X}", self.energy_pattern_2400],['output_power', f"0x{self.output_power:X}", self.output_power]], tablefmt="texttable")
|
|
7397
|
+
return "\n==> Packet module_energy_2400_v9 <==\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, ""],['energy_pattern_2400', f"0x{self.energy_pattern_2400:X}", self.energy_pattern_2400, MODULE_ENERGY_2400_V9_ENERGY_PATTERN_2400_MAP[self.energy_pattern_2400]],['output_power', f"0x{self.output_power:X}", self.output_power, ""]], tablefmt="texttable")
|
|
6261
7398
|
|
|
6262
7399
|
def __eq__(self, other):
|
|
6263
7400
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -6304,7 +7441,7 @@ class ModuleEnergy2400V8():
|
|
|
6304
7441
|
self.set(raw)
|
|
6305
7442
|
|
|
6306
7443
|
def __repr__(self) -> str:
|
|
6307
|
-
return "\n==> Packet module_energy_2400_v8 <==\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],['rx_tx_period', f"0x{self.rx_tx_period:X}", self.rx_tx_period],['tx_period', f"0x{self.tx_period:X}", self.tx_period],['energy_pattern', f"0x{self.energy_pattern:X}", self.energy_pattern],['output_power', f"0x{self.output_power:X}", self.output_power]], tablefmt="texttable")
|
|
7444
|
+
return "\n==> Packet module_energy_2400_v8 <==\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, ""],['rx_tx_period', f"0x{self.rx_tx_period:X}", self.rx_tx_period, ""],['tx_period', f"0x{self.tx_period:X}", self.tx_period, ""],['energy_pattern', f"0x{self.energy_pattern:X}", self.energy_pattern, ""],['output_power', f"0x{self.output_power:X}", self.output_power, ""]], tablefmt="texttable")
|
|
6308
7445
|
|
|
6309
7446
|
def __eq__(self, other):
|
|
6310
7447
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -6355,7 +7492,7 @@ class ModuleEnergy2400V7():
|
|
|
6355
7492
|
self.set(raw)
|
|
6356
7493
|
|
|
6357
7494
|
def __repr__(self) -> str:
|
|
6358
|
-
return "\n==> Packet module_energy_2400_v7 <==\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],['rx_tx_period', f"0x{self.rx_tx_period:X}", self.rx_tx_period],['tx_period', f"0x{self.tx_period:X}", self.tx_period],['energy_pattern', f"0x{self.energy_pattern:X}", self.energy_pattern],['output_power', f"0x{self.output_power:X}", self.output_power],['tx_probability', f"0x{self.tx_probability:X}", self.tx_probability]], tablefmt="texttable")
|
|
7495
|
+
return "\n==> Packet module_energy_2400_v7 <==\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, ""],['rx_tx_period', f"0x{self.rx_tx_period:X}", self.rx_tx_period, ""],['tx_period', f"0x{self.tx_period:X}", self.tx_period, ""],['energy_pattern', f"0x{self.energy_pattern:X}", self.energy_pattern, ""],['output_power', f"0x{self.output_power:X}", self.output_power, ""],['tx_probability', f"0x{self.tx_probability:X}", self.tx_probability, ""]], tablefmt="texttable")
|
|
6359
7496
|
|
|
6360
7497
|
def __eq__(self, other):
|
|
6361
7498
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -6391,6 +7528,59 @@ class ModuleEnergy2400V7():
|
|
|
6391
7528
|
self.unused0 = d[10]
|
|
6392
7529
|
self.unused1 = d[11]
|
|
6393
7530
|
|
|
7531
|
+
MODULE_ENERGY_SUB1G_V13_PATTERN_MAP = {0x00:"No Energizing", 0x01:"Single Tone 915MHz", 0x02:"FCC (Hopping)", 0x03:"Japan1W", 0x04:"Japan350mW", 0x05:"Korea", 0x06:"Single tone 916300MHz", 0x07:"Single tone 917500MHz", 0x08:"Australia", 0x09:"Israel", 0x0A:"NZ (Hopping)"}
|
|
7532
|
+
MODULE_ENERGY_SUB1G_V13_SIGNAL_INDICATOR_REP_ENC = {SIGNAL_INDICATOR_SUB1G_REP_1:SIGNAL_INDICATOR_SUB1G_REP_PROFILE_1, SIGNAL_INDICATOR_SUB1G_REP_2:SIGNAL_INDICATOR_SUB1G_REP_PROFILE_2, SIGNAL_INDICATOR_SUB1G_REP_3:SIGNAL_INDICATOR_SUB1G_REP_PROFILE_3, SIGNAL_INDICATOR_SUB1G_REP_4:SIGNAL_INDICATOR_SUB1G_REP_PROFILE_4}
|
|
7533
|
+
MODULE_ENERGY_SUB1G_V13_SIGNAL_INDICATOR_REP_DEC = {SIGNAL_INDICATOR_SUB1G_REP_PROFILE_1:SIGNAL_INDICATOR_SUB1G_REP_1, SIGNAL_INDICATOR_SUB1G_REP_PROFILE_2:SIGNAL_INDICATOR_SUB1G_REP_2, SIGNAL_INDICATOR_SUB1G_REP_PROFILE_3:SIGNAL_INDICATOR_SUB1G_REP_3, SIGNAL_INDICATOR_SUB1G_REP_PROFILE_4:SIGNAL_INDICATOR_SUB1G_REP_4}
|
|
7534
|
+
class ModuleEnergySub1GV13():
|
|
7535
|
+
def __init__(self, raw='', module_type=MODULE_ENERGY_SUB1G, msg_type=BRG_MGMT_MSG_TYPE_CFG_SET, api_version=API_VERSION_V13, seq_id=0, brg_mac=0, pattern=BRG_DEFAULT_SUB1G_ENERGY_PATTERN, duty_cycle=BRG_DEFAULT_SUB1G_DUTY_CYCLE, signal_indicator_cycle=BRG_DEFAULT_SIGNAL_INDICATOR_SUB1G_CYCLE, signal_indicator_rep=BRG_DEFAULT_SIGNAL_INDICATOR_SUB1G_REP, unused0=0):
|
|
7536
|
+
self.module_type = module_type
|
|
7537
|
+
self.msg_type = msg_type
|
|
7538
|
+
self.api_version = api_version
|
|
7539
|
+
self.seq_id = seq_id
|
|
7540
|
+
self.brg_mac = brg_mac
|
|
7541
|
+
self.pattern = pattern
|
|
7542
|
+
self.duty_cycle = duty_cycle
|
|
7543
|
+
self.signal_indicator_cycle = signal_indicator_cycle
|
|
7544
|
+
self.signal_indicator_rep = signal_indicator_rep
|
|
7545
|
+
self.unused0 = unused0
|
|
7546
|
+
if raw:
|
|
7547
|
+
self.set(raw)
|
|
7548
|
+
|
|
7549
|
+
def __repr__(self) -> str:
|
|
7550
|
+
return "\n==> Packet module_energy_sub1g_v13 <==\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, MODULE_ENERGY_SUB1G_V13_PATTERN_MAP[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")
|
|
7551
|
+
|
|
7552
|
+
def __eq__(self, other):
|
|
7553
|
+
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
7554
|
+
return (
|
|
7555
|
+
self.module_type == other.module_type and
|
|
7556
|
+
self.msg_type == other.msg_type and
|
|
7557
|
+
self.api_version == other.api_version and
|
|
7558
|
+
self.brg_mac == other.brg_mac and
|
|
7559
|
+
self.pattern == other.pattern and
|
|
7560
|
+
self.duty_cycle == other.duty_cycle and
|
|
7561
|
+
self.signal_indicator_cycle == other.signal_indicator_cycle and
|
|
7562
|
+
self.signal_indicator_rep == other.signal_indicator_rep
|
|
7563
|
+
)
|
|
7564
|
+
return False
|
|
7565
|
+
|
|
7566
|
+
def dump(self):
|
|
7567
|
+
string = bitstruct.pack("u4u4u8u8u48u8u8u14u2u88", self.module_type, self.msg_type, self.api_version, self.seq_id, self.brg_mac, self.pattern, self.duty_cycle, self.signal_indicator_cycle, MODULE_ENERGY_SUB1G_V13_SIGNAL_INDICATOR_REP_ENC[self.signal_indicator_rep], self.unused0)
|
|
7568
|
+
return string.hex().upper()
|
|
7569
|
+
|
|
7570
|
+
def set(self, string):
|
|
7571
|
+
d = bitstruct.unpack("u4u4u8u8u48u8u8u14u2u88", binascii.unhexlify(string))
|
|
7572
|
+
self.module_type = d[0]
|
|
7573
|
+
self.msg_type = d[1]
|
|
7574
|
+
self.api_version = d[2]
|
|
7575
|
+
self.seq_id = d[3]
|
|
7576
|
+
self.brg_mac = d[4]
|
|
7577
|
+
self.pattern = d[5]
|
|
7578
|
+
self.duty_cycle = d[6]
|
|
7579
|
+
self.signal_indicator_cycle = d[7]
|
|
7580
|
+
self.signal_indicator_rep = MODULE_ENERGY_SUB1G_V13_SIGNAL_INDICATOR_REP_DEC[d[8]]
|
|
7581
|
+
self.unused0 = d[9]
|
|
7582
|
+
|
|
7583
|
+
MODULE_ENERGY_SUB1G_V12_PATTERN_MAP = {0x00:"No Energizing", 0x01:"Single Tone 915MHz", 0x02:"FCC (Hopping)", 0x03:"Japan1W", 0x04:"Japan350mW", 0x05:"Korea", 0x06:"Single tone 916300MHz", 0x07:"Single tone 917500MHz", 0x08:"Australia", 0x09:"Israel", 0x0A:"NZ (Hopping)"}
|
|
6394
7584
|
MODULE_ENERGY_SUB1G_V12_SIGNAL_INDICATOR_REP_ENC = {SIGNAL_INDICATOR_SUB1G_REP_1:SIGNAL_INDICATOR_SUB1G_REP_PROFILE_1, SIGNAL_INDICATOR_SUB1G_REP_2:SIGNAL_INDICATOR_SUB1G_REP_PROFILE_2, SIGNAL_INDICATOR_SUB1G_REP_3:SIGNAL_INDICATOR_SUB1G_REP_PROFILE_3, SIGNAL_INDICATOR_SUB1G_REP_4:SIGNAL_INDICATOR_SUB1G_REP_PROFILE_4}
|
|
6395
7585
|
MODULE_ENERGY_SUB1G_V12_SIGNAL_INDICATOR_REP_DEC = {SIGNAL_INDICATOR_SUB1G_REP_PROFILE_1:SIGNAL_INDICATOR_SUB1G_REP_1, SIGNAL_INDICATOR_SUB1G_REP_PROFILE_2:SIGNAL_INDICATOR_SUB1G_REP_2, SIGNAL_INDICATOR_SUB1G_REP_PROFILE_3:SIGNAL_INDICATOR_SUB1G_REP_3, SIGNAL_INDICATOR_SUB1G_REP_PROFILE_4:SIGNAL_INDICATOR_SUB1G_REP_4}
|
|
6396
7586
|
class ModuleEnergySub1GV12():
|
|
@@ -6409,7 +7599,7 @@ class ModuleEnergySub1GV12():
|
|
|
6409
7599
|
self.set(raw)
|
|
6410
7600
|
|
|
6411
7601
|
def __repr__(self) -> str:
|
|
6412
|
-
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")
|
|
7602
|
+
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, MODULE_ENERGY_SUB1G_V12_PATTERN_MAP[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")
|
|
6413
7603
|
|
|
6414
7604
|
def __eq__(self, other):
|
|
6415
7605
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -6444,6 +7634,7 @@ class ModuleEnergySub1GV12():
|
|
|
6444
7634
|
|
|
6445
7635
|
MODULE_ENERGY_SUB1G_V11_OUTPUT_POWER_ENC = {SUB1G_OUTPUT_POWER_14:SUB1G_OUTPUT_POWER_PROFILE_14, SUB1G_OUTPUT_POWER_17:SUB1G_OUTPUT_POWER_PROFILE_17, SUB1G_OUTPUT_POWER_20:SUB1G_OUTPUT_POWER_PROFILE_20, SUB1G_OUTPUT_POWER_23:SUB1G_OUTPUT_POWER_PROFILE_23, SUB1G_OUTPUT_POWER_26:SUB1G_OUTPUT_POWER_PROFILE_26, SUB1G_OUTPUT_POWER_29:SUB1G_OUTPUT_POWER_PROFILE_29, SUB1G_OUTPUT_POWER_32:SUB1G_OUTPUT_POWER_PROFILE_32}
|
|
6446
7636
|
MODULE_ENERGY_SUB1G_V11_OUTPUT_POWER_DEC = {SUB1G_OUTPUT_POWER_PROFILE_14:SUB1G_OUTPUT_POWER_14, SUB1G_OUTPUT_POWER_PROFILE_17:SUB1G_OUTPUT_POWER_17, SUB1G_OUTPUT_POWER_PROFILE_20:SUB1G_OUTPUT_POWER_20, SUB1G_OUTPUT_POWER_PROFILE_23:SUB1G_OUTPUT_POWER_23, SUB1G_OUTPUT_POWER_PROFILE_26:SUB1G_OUTPUT_POWER_26, SUB1G_OUTPUT_POWER_PROFILE_29:SUB1G_OUTPUT_POWER_29, SUB1G_OUTPUT_POWER_PROFILE_32:SUB1G_OUTPUT_POWER_32}
|
|
7637
|
+
MODULE_ENERGY_SUB1G_V11_SUB1G_ENERGY_PATTERN_MAP = {0x00:"No Energizing", 0x01:"Single Tone 915MHz", 0x02:"FCC (Hopping)", 0x03:"Japan1W", 0x04:"Japan350mW", 0x05:"Korea", 0x06:"Single tone 916300MHz", 0x07:"Single tone 917500MHz", 0x08:"Australia", 0x09:"Israel", 0x0A:"NZ (Hopping)"}
|
|
6447
7638
|
MODULE_ENERGY_SUB1G_V11_SIGNAL_INDICATOR_REP_ENC = {SIGNAL_INDICATOR_SUB1G_REP_1:SIGNAL_INDICATOR_SUB1G_REP_PROFILE_1, SIGNAL_INDICATOR_SUB1G_REP_2:SIGNAL_INDICATOR_SUB1G_REP_PROFILE_2, SIGNAL_INDICATOR_SUB1G_REP_3:SIGNAL_INDICATOR_SUB1G_REP_PROFILE_3, SIGNAL_INDICATOR_SUB1G_REP_4:SIGNAL_INDICATOR_SUB1G_REP_PROFILE_4}
|
|
6448
7639
|
MODULE_ENERGY_SUB1G_V11_SIGNAL_INDICATOR_REP_DEC = {SIGNAL_INDICATOR_SUB1G_REP_PROFILE_1:SIGNAL_INDICATOR_SUB1G_REP_1, SIGNAL_INDICATOR_SUB1G_REP_PROFILE_2:SIGNAL_INDICATOR_SUB1G_REP_2, SIGNAL_INDICATOR_SUB1G_REP_PROFILE_3:SIGNAL_INDICATOR_SUB1G_REP_3, SIGNAL_INDICATOR_SUB1G_REP_PROFILE_4:SIGNAL_INDICATOR_SUB1G_REP_4}
|
|
6449
7640
|
class ModuleEnergySub1GV11():
|
|
@@ -6464,7 +7655,7 @@ class ModuleEnergySub1GV11():
|
|
|
6464
7655
|
self.set(raw)
|
|
6465
7656
|
|
|
6466
7657
|
def __repr__(self) -> str:
|
|
6467
|
-
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")
|
|
7658
|
+
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, MODULE_ENERGY_SUB1G_V11_SUB1G_ENERGY_PATTERN_MAP[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")
|
|
6468
7659
|
|
|
6469
7660
|
def __eq__(self, other):
|
|
6470
7661
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -6503,6 +7694,7 @@ class ModuleEnergySub1GV11():
|
|
|
6503
7694
|
|
|
6504
7695
|
MODULE_ENERGY_SUB1G_V10_OUTPUT_POWER_ENC = {SUB1G_OUTPUT_POWER_14:SUB1G_OUTPUT_POWER_PROFILE_14, SUB1G_OUTPUT_POWER_17:SUB1G_OUTPUT_POWER_PROFILE_17, SUB1G_OUTPUT_POWER_20:SUB1G_OUTPUT_POWER_PROFILE_20, SUB1G_OUTPUT_POWER_23:SUB1G_OUTPUT_POWER_PROFILE_23, SUB1G_OUTPUT_POWER_26:SUB1G_OUTPUT_POWER_PROFILE_26, SUB1G_OUTPUT_POWER_29:SUB1G_OUTPUT_POWER_PROFILE_29, SUB1G_OUTPUT_POWER_32:SUB1G_OUTPUT_POWER_PROFILE_32}
|
|
6505
7696
|
MODULE_ENERGY_SUB1G_V10_OUTPUT_POWER_DEC = {SUB1G_OUTPUT_POWER_PROFILE_14:SUB1G_OUTPUT_POWER_14, SUB1G_OUTPUT_POWER_PROFILE_17:SUB1G_OUTPUT_POWER_17, SUB1G_OUTPUT_POWER_PROFILE_20:SUB1G_OUTPUT_POWER_20, SUB1G_OUTPUT_POWER_PROFILE_23:SUB1G_OUTPUT_POWER_23, SUB1G_OUTPUT_POWER_PROFILE_26:SUB1G_OUTPUT_POWER_26, SUB1G_OUTPUT_POWER_PROFILE_29:SUB1G_OUTPUT_POWER_29, SUB1G_OUTPUT_POWER_PROFILE_32:SUB1G_OUTPUT_POWER_32}
|
|
7697
|
+
MODULE_ENERGY_SUB1G_V10_SUB1G_ENERGY_PATTERN_MAP = {0x00:"No Energizing", 0x01:"Single Tone 915MHz", 0x02:"FCC (Hopping)", 0x03:"Japan1W", 0x04:"Japan350mW", 0x05:"Korea", 0x06:"Single tone 916300MHz", 0x07:"Single tone 917500MHz", 0x08:"Australia", 0x09:"Israel", 0x0A:"NZ (Hopping)"}
|
|
6506
7698
|
MODULE_ENERGY_SUB1G_V10_SIGNAL_INDICATOR_REP_ENC = {SIGNAL_INDICATOR_SUB1G_REP_1:SIGNAL_INDICATOR_SUB1G_REP_PROFILE_1, SIGNAL_INDICATOR_SUB1G_REP_2:SIGNAL_INDICATOR_SUB1G_REP_PROFILE_2, SIGNAL_INDICATOR_SUB1G_REP_3:SIGNAL_INDICATOR_SUB1G_REP_PROFILE_3, SIGNAL_INDICATOR_SUB1G_REP_4:SIGNAL_INDICATOR_SUB1G_REP_PROFILE_4}
|
|
6507
7699
|
MODULE_ENERGY_SUB1G_V10_SIGNAL_INDICATOR_REP_DEC = {SIGNAL_INDICATOR_SUB1G_REP_PROFILE_1:SIGNAL_INDICATOR_SUB1G_REP_1, SIGNAL_INDICATOR_SUB1G_REP_PROFILE_2:SIGNAL_INDICATOR_SUB1G_REP_2, SIGNAL_INDICATOR_SUB1G_REP_PROFILE_3:SIGNAL_INDICATOR_SUB1G_REP_3, SIGNAL_INDICATOR_SUB1G_REP_PROFILE_4:SIGNAL_INDICATOR_SUB1G_REP_4}
|
|
6508
7700
|
class ModuleEnergySub1GV10():
|
|
@@ -6523,7 +7715,7 @@ class ModuleEnergySub1GV10():
|
|
|
6523
7715
|
self.set(raw)
|
|
6524
7716
|
|
|
6525
7717
|
def __repr__(self) -> str:
|
|
6526
|
-
return "\n==> Packet module_energy_sub1g_v10 <==\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")
|
|
7718
|
+
return "\n==> Packet module_energy_sub1g_v10 <==\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, MODULE_ENERGY_SUB1G_V10_SUB1G_ENERGY_PATTERN_MAP[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")
|
|
6527
7719
|
|
|
6528
7720
|
def __eq__(self, other):
|
|
6529
7721
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -6562,6 +7754,7 @@ class ModuleEnergySub1GV10():
|
|
|
6562
7754
|
|
|
6563
7755
|
MODULE_ENERGY_SUB1G_V9_OUTPUT_POWER_ENC = {SUB1G_OUTPUT_POWER_14:SUB1G_OUTPUT_POWER_PROFILE_14, SUB1G_OUTPUT_POWER_17:SUB1G_OUTPUT_POWER_PROFILE_17, SUB1G_OUTPUT_POWER_20:SUB1G_OUTPUT_POWER_PROFILE_20, SUB1G_OUTPUT_POWER_23:SUB1G_OUTPUT_POWER_PROFILE_23, SUB1G_OUTPUT_POWER_26:SUB1G_OUTPUT_POWER_PROFILE_26, SUB1G_OUTPUT_POWER_29:SUB1G_OUTPUT_POWER_PROFILE_29, SUB1G_OUTPUT_POWER_32:SUB1G_OUTPUT_POWER_PROFILE_32}
|
|
6564
7756
|
MODULE_ENERGY_SUB1G_V9_OUTPUT_POWER_DEC = {SUB1G_OUTPUT_POWER_PROFILE_14:SUB1G_OUTPUT_POWER_14, SUB1G_OUTPUT_POWER_PROFILE_17:SUB1G_OUTPUT_POWER_17, SUB1G_OUTPUT_POWER_PROFILE_20:SUB1G_OUTPUT_POWER_20, SUB1G_OUTPUT_POWER_PROFILE_23:SUB1G_OUTPUT_POWER_23, SUB1G_OUTPUT_POWER_PROFILE_26:SUB1G_OUTPUT_POWER_26, SUB1G_OUTPUT_POWER_PROFILE_29:SUB1G_OUTPUT_POWER_29, SUB1G_OUTPUT_POWER_PROFILE_32:SUB1G_OUTPUT_POWER_32}
|
|
7757
|
+
MODULE_ENERGY_SUB1G_V9_SUB1G_ENERGY_PATTERN_MAP = {0x00:"No Energizing", 0x01:"Single Tone 915MHz", 0x02:"FCC (Hopping)", 0x03:"Japan1W", 0x04:"Japan350mW", 0x05:"Korea", 0x06:"Single tone 916300MHz", 0x07:"Single tone 917500MHz", 0x08:"Australia", 0x09:"Israel", 0x0A:"NZ (Hopping)"}
|
|
6565
7758
|
class ModuleEnergySub1GV9():
|
|
6566
7759
|
def __init__(self, raw='', module_type=MODULE_ENERGY_SUB1G, msg_type=BRG_MGMT_MSG_TYPE_CFG_SET, api_version=API_VERSION_V9, seq_id=0, brg_mac=0, output_power=BRG_DEFAULT_OUTPUT_POWER_SUB1G, sub1g_energy_pattern=BRG_DEFAULT_SUB1G_ENERGY_PATTERN, cycle=15, duty_cycle=BRG_DEFAULT_SUB1G_DUTY_CYCLE, unused0=0):
|
|
6567
7760
|
self.module_type = module_type
|
|
@@ -6578,7 +7771,7 @@ class ModuleEnergySub1GV9():
|
|
|
6578
7771
|
self.set(raw)
|
|
6579
7772
|
|
|
6580
7773
|
def __repr__(self) -> str:
|
|
6581
|
-
return "\n==> Packet module_energy_sub1g_v9 <==\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]], tablefmt="texttable")
|
|
7774
|
+
return "\n==> Packet module_energy_sub1g_v9 <==\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, MODULE_ENERGY_SUB1G_V9_SUB1G_ENERGY_PATTERN_MAP[self.sub1g_energy_pattern]],['cycle', f"0x{self.cycle:X}", self.cycle, ""],['duty_cycle', f"0x{self.duty_cycle:X}", self.duty_cycle, ""]], tablefmt="texttable")
|
|
6582
7775
|
|
|
6583
7776
|
def __eq__(self, other):
|
|
6584
7777
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -6629,7 +7822,7 @@ class ModuleEnergySub1GV8():
|
|
|
6629
7822
|
self.set(raw)
|
|
6630
7823
|
|
|
6631
7824
|
def __repr__(self) -> str:
|
|
6632
|
-
return "\n==> Packet module_energy_sub1g_v8 <==\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],['frequency', f"0x{self.frequency:X}", self.frequency]], tablefmt="texttable")
|
|
7825
|
+
return "\n==> Packet module_energy_sub1g_v8 <==\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, ""],['frequency', f"0x{self.frequency:X}", self.frequency, ""]], tablefmt="texttable")
|
|
6633
7826
|
|
|
6634
7827
|
def __eq__(self, other):
|
|
6635
7828
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -6676,7 +7869,7 @@ class ModuleEnergySub1GV7():
|
|
|
6676
7869
|
self.set(raw)
|
|
6677
7870
|
|
|
6678
7871
|
def __repr__(self) -> str:
|
|
6679
|
-
return "\n==> Packet module_energy_sub1g_v7 <==\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],['frequency', f"0x{self.frequency:X}", self.frequency]], tablefmt="texttable")
|
|
7872
|
+
return "\n==> Packet module_energy_sub1g_v7 <==\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, ""],['frequency', f"0x{self.frequency:X}", self.frequency, ""]], tablefmt="texttable")
|
|
6680
7873
|
|
|
6681
7874
|
def __eq__(self, other):
|
|
6682
7875
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -6705,6 +7898,73 @@ class ModuleEnergySub1GV7():
|
|
|
6705
7898
|
self.frequency = MODULE_ENERGY_SUB1G_V7_FREQUENCY_DEC[d[6]]
|
|
6706
7899
|
self.unused0 = d[7]
|
|
6707
7900
|
|
|
7901
|
+
class ModulePwrMgmtV13():
|
|
7902
|
+
def __init__(self, raw='', module_type=MODULE_PWR_MGMT, msg_type=BRG_MGMT_MSG_TYPE_CFG_SET, api_version=API_VERSION_V13, seq_id=0, brg_mac=0, static_leds_on=PWR_MGMT_DEFAULTS_LEDS_ON, static_keep_alive_period=PWR_MGMT_DEFAULTS_KEEP_ALIVE_PERIOD, static_keep_alive_scan=PWR_MGMT_DEFAULTS_KEEP_ALIVE_SCAN, static_on_duration=PWR_MGMT_DEFAULTS_ON_DURATION, static_sleep_duration=PWR_MGMT_DEFAULTS_SLEEP_DURATION, dynamic_leds_on=PWR_MGMT_DEFAULTS_LEDS_ON, dynamic_keep_alive_period=PWR_MGMT_DEFAULTS_KEEP_ALIVE_PERIOD, dynamic_keep_alive_scan=PWR_MGMT_DEFAULTS_KEEP_ALIVE_SCAN, dynamic_on_duration=PWR_MGMT_DEFAULTS_ON_DURATION, dynamic_sleep_duration=PWR_MGMT_DEFAULTS_SLEEP_DURATION, unused0=0):
|
|
7903
|
+
self.module_type = module_type
|
|
7904
|
+
self.msg_type = msg_type
|
|
7905
|
+
self.api_version = api_version
|
|
7906
|
+
self.seq_id = seq_id
|
|
7907
|
+
self.brg_mac = brg_mac
|
|
7908
|
+
self.static_leds_on = static_leds_on
|
|
7909
|
+
self.static_keep_alive_period = static_keep_alive_period # 5sec resolution
|
|
7910
|
+
self.static_keep_alive_scan = static_keep_alive_scan # 10msec resolution
|
|
7911
|
+
self.static_on_duration = static_on_duration # 30sec resolution
|
|
7912
|
+
self.static_sleep_duration = static_sleep_duration # 60sec resolution
|
|
7913
|
+
self.dynamic_leds_on = dynamic_leds_on
|
|
7914
|
+
self.dynamic_keep_alive_period = dynamic_keep_alive_period # 5sec resolution
|
|
7915
|
+
self.dynamic_keep_alive_scan = dynamic_keep_alive_scan # 10msec resolution
|
|
7916
|
+
self.dynamic_on_duration = dynamic_on_duration # 30sec resolution
|
|
7917
|
+
self.dynamic_sleep_duration = dynamic_sleep_duration # 60sec resolution
|
|
7918
|
+
self.unused0 = unused0
|
|
7919
|
+
if raw:
|
|
7920
|
+
self.set(raw)
|
|
7921
|
+
|
|
7922
|
+
def __repr__(self) -> str:
|
|
7923
|
+
return "\n==> Packet module_pwr_mgmt_v13 <==\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")
|
|
7924
|
+
|
|
7925
|
+
def __eq__(self, other):
|
|
7926
|
+
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
7927
|
+
return (
|
|
7928
|
+
self.module_type == other.module_type and
|
|
7929
|
+
self.msg_type == other.msg_type and
|
|
7930
|
+
self.api_version == other.api_version and
|
|
7931
|
+
self.brg_mac == other.brg_mac and
|
|
7932
|
+
self.static_leds_on == other.static_leds_on and
|
|
7933
|
+
self.static_keep_alive_period == other.static_keep_alive_period and
|
|
7934
|
+
self.static_keep_alive_scan == other.static_keep_alive_scan and
|
|
7935
|
+
self.static_on_duration == other.static_on_duration and
|
|
7936
|
+
self.static_sleep_duration == other.static_sleep_duration and
|
|
7937
|
+
self.dynamic_leds_on == other.dynamic_leds_on and
|
|
7938
|
+
self.dynamic_keep_alive_period == other.dynamic_keep_alive_period and
|
|
7939
|
+
self.dynamic_keep_alive_scan == other.dynamic_keep_alive_scan and
|
|
7940
|
+
self.dynamic_on_duration == other.dynamic_on_duration and
|
|
7941
|
+
self.dynamic_sleep_duration == other.dynamic_sleep_duration
|
|
7942
|
+
)
|
|
7943
|
+
return False
|
|
7944
|
+
|
|
7945
|
+
def dump(self):
|
|
7946
|
+
string = bitstruct.pack("u4u4u8u8u48u8u8u8u8u16u8u8u8u8u16u24", self.module_type, self.msg_type, self.api_version, self.seq_id, self.brg_mac, self.static_leds_on, ((self.static_keep_alive_period-0)//5), ((self.static_keep_alive_scan-0)//10), ((self.static_on_duration-0)//30), ((self.static_sleep_duration-0)//60), self.dynamic_leds_on, ((self.dynamic_keep_alive_period-0)//5), ((self.dynamic_keep_alive_scan-0)//10), ((self.dynamic_on_duration-0)//30), ((self.dynamic_sleep_duration-0)//60), self.unused0)
|
|
7947
|
+
return string.hex().upper()
|
|
7948
|
+
|
|
7949
|
+
def set(self, string):
|
|
7950
|
+
d = bitstruct.unpack("u4u4u8u8u48u8u8u8u8u16u8u8u8u8u16u24", binascii.unhexlify(string))
|
|
7951
|
+
self.module_type = d[0]
|
|
7952
|
+
self.msg_type = d[1]
|
|
7953
|
+
self.api_version = d[2]
|
|
7954
|
+
self.seq_id = d[3]
|
|
7955
|
+
self.brg_mac = d[4]
|
|
7956
|
+
self.static_leds_on = d[5]
|
|
7957
|
+
self.static_keep_alive_period = ((d[6]*5)+0)
|
|
7958
|
+
self.static_keep_alive_scan = ((d[7]*10)+0)
|
|
7959
|
+
self.static_on_duration = ((d[8]*30)+0)
|
|
7960
|
+
self.static_sleep_duration = ((d[9]*60)+0)
|
|
7961
|
+
self.dynamic_leds_on = d[10]
|
|
7962
|
+
self.dynamic_keep_alive_period = ((d[11]*5)+0)
|
|
7963
|
+
self.dynamic_keep_alive_scan = ((d[12]*10)+0)
|
|
7964
|
+
self.dynamic_on_duration = ((d[13]*30)+0)
|
|
7965
|
+
self.dynamic_sleep_duration = ((d[14]*60)+0)
|
|
7966
|
+
self.unused0 = d[15]
|
|
7967
|
+
|
|
6708
7968
|
class ModulePwrMgmtV12():
|
|
6709
7969
|
def __init__(self, raw='', module_type=MODULE_PWR_MGMT, msg_type=BRG_MGMT_MSG_TYPE_CFG_SET, api_version=API_VERSION_V12, seq_id=0, brg_mac=0, static_leds_on=PWR_MGMT_DEFAULTS_LEDS_ON, static_keep_alive_period=PWR_MGMT_DEFAULTS_KEEP_ALIVE_PERIOD, static_keep_alive_scan=PWR_MGMT_DEFAULTS_KEEP_ALIVE_SCAN, static_on_duration=PWR_MGMT_DEFAULTS_ON_DURATION, static_sleep_duration=PWR_MGMT_DEFAULTS_SLEEP_DURATION, dynamic_leds_on=PWR_MGMT_DEFAULTS_LEDS_ON, dynamic_keep_alive_period=PWR_MGMT_DEFAULTS_KEEP_ALIVE_PERIOD, dynamic_keep_alive_scan=PWR_MGMT_DEFAULTS_KEEP_ALIVE_SCAN, dynamic_on_duration=PWR_MGMT_DEFAULTS_ON_DURATION, dynamic_sleep_duration=PWR_MGMT_DEFAULTS_SLEEP_DURATION, unused0=0):
|
|
6710
7970
|
self.module_type = module_type
|
|
@@ -6727,7 +7987,7 @@ class ModulePwrMgmtV12():
|
|
|
6727
7987
|
self.set(raw)
|
|
6728
7988
|
|
|
6729
7989
|
def __repr__(self) -> str:
|
|
6730
|
-
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")
|
|
7990
|
+
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")
|
|
6731
7991
|
|
|
6732
7992
|
def __eq__(self, other):
|
|
6733
7993
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -6794,7 +8054,7 @@ class ModulePwrMgmtV11():
|
|
|
6794
8054
|
self.set(raw)
|
|
6795
8055
|
|
|
6796
8056
|
def __repr__(self) -> str:
|
|
6797
|
-
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")
|
|
8057
|
+
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")
|
|
6798
8058
|
|
|
6799
8059
|
def __eq__(self, other):
|
|
6800
8060
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -6861,7 +8121,7 @@ class ModulePwrMgmtV10():
|
|
|
6861
8121
|
self.set(raw)
|
|
6862
8122
|
|
|
6863
8123
|
def __repr__(self) -> str:
|
|
6864
|
-
return "\n==> Packet module_pwr_mgmt_v10 <==\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")
|
|
8124
|
+
return "\n==> Packet module_pwr_mgmt_v10 <==\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")
|
|
6865
8125
|
|
|
6866
8126
|
def __eq__(self, other):
|
|
6867
8127
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -6928,7 +8188,7 @@ class ModulePwrMgmtV9():
|
|
|
6928
8188
|
self.set(raw)
|
|
6929
8189
|
|
|
6930
8190
|
def __repr__(self) -> str:
|
|
6931
|
-
return "\n==> Packet module_pwr_mgmt_v9 <==\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")
|
|
8191
|
+
return "\n==> Packet module_pwr_mgmt_v9 <==\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")
|
|
6932
8192
|
|
|
6933
8193
|
def __eq__(self, other):
|
|
6934
8194
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -6995,7 +8255,7 @@ class ModulePwrMgmtV8():
|
|
|
6995
8255
|
self.set(raw)
|
|
6996
8256
|
|
|
6997
8257
|
def __repr__(self) -> str:
|
|
6998
|
-
return "\n==> Packet module_pwr_mgmt_v8 <==\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")
|
|
8258
|
+
return "\n==> Packet module_pwr_mgmt_v8 <==\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")
|
|
6999
8259
|
|
|
7000
8260
|
def __eq__(self, other):
|
|
7001
8261
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -7062,7 +8322,7 @@ class ModulePwrMgmtV7():
|
|
|
7062
8322
|
self.set(raw)
|
|
7063
8323
|
|
|
7064
8324
|
def __repr__(self) -> str:
|
|
7065
|
-
return "\n==> Packet module_pwr_mgmt_v7 <==\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")
|
|
8325
|
+
return "\n==> Packet module_pwr_mgmt_v7 <==\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")
|
|
7066
8326
|
|
|
7067
8327
|
def __eq__(self, other):
|
|
7068
8328
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -7107,6 +8367,63 @@ class ModulePwrMgmtV7():
|
|
|
7107
8367
|
self.dynamic_sleep_duration = ((d[14]*60)+0)
|
|
7108
8368
|
self.unused0 = d[15]
|
|
7109
8369
|
|
|
8370
|
+
MODULE_EXT_SENSORS_V13_SENSOR0_MAP = {0x00000000:"No_Sensor", 0x16E1FF01:"MinewS1", 0xFF050500:"USB dongle ADC", 0xFF000502:"Signal Indicator", 0x0279FE01:"Zebra Printer", 0xFFAE0400:"ERM Smart MS"}
|
|
8371
|
+
MODULE_EXT_SENSORS_V13_SENSOR1_MAP = {0x00000000:"No_Sensor", 0x16E1FF01:"MinewS1", 0xFF050500:"USB dongle ADC", 0xFF000502:"Signal Indicator", 0x0279FE01:"Zebra Printer", 0xFFAE0400:"ERM Smart MS"}
|
|
8372
|
+
MODULE_EXT_SENSORS_V13_SENSOR2_MAP = {0x00000000:"No_Sensor", 0x16E1FF01:"MinewS1", 0xFF050500:"USB dongle ADC", 0xFF000502:"Signal Indicator", 0x0279FE01:"Zebra Printer", 0xFFAE0400:"ERM Smart MS"}
|
|
8373
|
+
class ModuleExtSensorsV13():
|
|
8374
|
+
def __init__(self, raw='', module_type=MODULE_EXT_SENSORS, msg_type=BRG_MGMT_MSG_TYPE_CFG_SET, api_version=API_VERSION_V13, seq_id=0, brg_mac=0, sensor0=BRG_DEFAULT_EXTERNAL_SENSOR_CFG, sensor1=BRG_DEFAULT_EXTERNAL_SENSOR_CFG, sensor2=BRG_DEFAULT_EXTERNAL_SENSOR_CFG, rssi_threshold=BRG_DEFAULT_RSSI_THRESHOLD, sub1g_rssi_threshold=BRG_DEFAULT_RSSI_THRESHOLD, unused=0):
|
|
8375
|
+
self.module_type = module_type
|
|
8376
|
+
self.msg_type = msg_type
|
|
8377
|
+
self.api_version = api_version
|
|
8378
|
+
self.seq_id = seq_id
|
|
8379
|
+
self.brg_mac = brg_mac
|
|
8380
|
+
self.sensor0 = sensor0
|
|
8381
|
+
self.sensor1 = sensor1
|
|
8382
|
+
self.sensor2 = sensor2
|
|
8383
|
+
self.rssi_threshold = rssi_threshold
|
|
8384
|
+
self.sub1g_rssi_threshold = sub1g_rssi_threshold
|
|
8385
|
+
self.unused = unused
|
|
8386
|
+
if raw:
|
|
8387
|
+
self.set(raw)
|
|
8388
|
+
|
|
8389
|
+
def __repr__(self) -> str:
|
|
8390
|
+
return "\n==> Packet module_ext_sensors_v13 <==\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, MODULE_EXT_SENSORS_V13_SENSOR0_MAP[self.sensor0]],['sensor1', f"0x{self.sensor1:X}", self.sensor1, MODULE_EXT_SENSORS_V13_SENSOR1_MAP[self.sensor1]],['sensor2', f"0x{self.sensor2:X}", self.sensor2, MODULE_EXT_SENSORS_V13_SENSOR2_MAP[self.sensor2]],['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")
|
|
8391
|
+
|
|
8392
|
+
def __eq__(self, other):
|
|
8393
|
+
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
8394
|
+
return (
|
|
8395
|
+
self.module_type == other.module_type and
|
|
8396
|
+
self.msg_type == other.msg_type and
|
|
8397
|
+
self.api_version == other.api_version and
|
|
8398
|
+
self.brg_mac == other.brg_mac and
|
|
8399
|
+
self.sensor0 == other.sensor0 and
|
|
8400
|
+
self.sensor1 == other.sensor1 and
|
|
8401
|
+
self.sensor2 == other.sensor2 and
|
|
8402
|
+
self.rssi_threshold == other.rssi_threshold and
|
|
8403
|
+
self.sub1g_rssi_threshold == other.sub1g_rssi_threshold
|
|
8404
|
+
)
|
|
8405
|
+
return False
|
|
8406
|
+
|
|
8407
|
+
def dump(self):
|
|
8408
|
+
string = bitstruct.pack("u4u4u8u8u48u32u32u32s8s8u8", self.module_type, self.msg_type, self.api_version, self.seq_id, self.brg_mac, self.sensor0, self.sensor1, self.sensor2, ((self.rssi_threshold-0)//-1), ((self.sub1g_rssi_threshold-0)//-1), self.unused)
|
|
8409
|
+
return string.hex().upper()
|
|
8410
|
+
|
|
8411
|
+
def set(self, string):
|
|
8412
|
+
d = bitstruct.unpack("u4u4u8u8u48u32u32u32s8s8u8", binascii.unhexlify(string))
|
|
8413
|
+
self.module_type = d[0]
|
|
8414
|
+
self.msg_type = d[1]
|
|
8415
|
+
self.api_version = d[2]
|
|
8416
|
+
self.seq_id = d[3]
|
|
8417
|
+
self.brg_mac = d[4]
|
|
8418
|
+
self.sensor0 = d[5]
|
|
8419
|
+
self.sensor1 = d[6]
|
|
8420
|
+
self.sensor2 = d[7]
|
|
8421
|
+
self.rssi_threshold = ((d[8]*-1)+0)
|
|
8422
|
+
self.sub1g_rssi_threshold = ((d[9]*-1)+0)
|
|
8423
|
+
self.unused = d[10]
|
|
8424
|
+
|
|
8425
|
+
MODULE_EXT_SENSORS_V12_SENSOR0_MAP = {0x00000000:"No_Sensor", 0x16E1FF01:"MinewS1", 0xFF050500:"USB dongle ADC", 0xFF000502:"Signal Indicator", 0x0279FE01:"Zebra Printer", 0xFFAE0400:"ERM Smart MS"}
|
|
8426
|
+
MODULE_EXT_SENSORS_V12_SENSOR1_MAP = {0x00000000:"No_Sensor", 0x16E1FF01:"MinewS1", 0xFF050500:"USB dongle ADC", 0xFF000502:"Signal Indicator", 0x0279FE01:"Zebra Printer", 0xFFAE0400:"ERM Smart MS"}
|
|
7110
8427
|
class ModuleExtSensorsV12():
|
|
7111
8428
|
def __init__(self, raw='', module_type=MODULE_EXT_SENSORS, msg_type=BRG_MGMT_MSG_TYPE_CFG_SET, api_version=API_VERSION_V12, seq_id=0, brg_mac=0, sensor0=BRG_DEFAULT_EXTERNAL_SENSOR_CFG, sensor1=BRG_DEFAULT_EXTERNAL_SENSOR_CFG, rssi_threshold=BRG_DEFAULT_RSSI_THRESHOLD, sub1g_rssi_threshold=BRG_DEFAULT_RSSI_THRESHOLD, unused=0):
|
|
7112
8429
|
self.module_type = module_type
|
|
@@ -7123,7 +8440,7 @@ class ModuleExtSensorsV12():
|
|
|
7123
8440
|
self.set(raw)
|
|
7124
8441
|
|
|
7125
8442
|
def __repr__(self) -> str:
|
|
7126
|
-
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")
|
|
8443
|
+
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, MODULE_EXT_SENSORS_V12_SENSOR0_MAP[self.sensor0]],['sensor1', f"0x{self.sensor1:X}", self.sensor1, MODULE_EXT_SENSORS_V12_SENSOR1_MAP[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")
|
|
7127
8444
|
|
|
7128
8445
|
def __eq__(self, other):
|
|
7129
8446
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -7156,6 +8473,8 @@ class ModuleExtSensorsV12():
|
|
|
7156
8473
|
self.sub1g_rssi_threshold = ((d[8]*-1)+0)
|
|
7157
8474
|
self.unused = d[9]
|
|
7158
8475
|
|
|
8476
|
+
MODULE_EXT_SENSORS_V11_SENSOR0_MAP = {0x00000000:"No_Sensor", 0x16E1FF01:"MinewS1", 0xFF050500:"USB dongle ADC", 0xFF000502:"Signal Indicator", 0x0279FE01:"Zebra Printer", 0xFFAE0400:"ERM Smart MS"}
|
|
8477
|
+
MODULE_EXT_SENSORS_V11_SENSOR1_MAP = {0x00000000:"No_Sensor", 0x16E1FF01:"MinewS1", 0xFF050500:"USB dongle ADC", 0xFF000502:"Signal Indicator", 0x0279FE01:"Zebra Printer", 0xFFAE0400:"ERM Smart MS"}
|
|
7159
8478
|
class ModuleExtSensorsV11():
|
|
7160
8479
|
def __init__(self, raw='', module_type=MODULE_EXT_SENSORS, msg_type=BRG_MGMT_MSG_TYPE_CFG_SET, api_version=API_VERSION_V11, seq_id=0, brg_mac=0, sensor0=BRG_DEFAULT_EXTERNAL_SENSOR_CFG, sensor1=BRG_DEFAULT_EXTERNAL_SENSOR_CFG, unused=0):
|
|
7161
8480
|
self.module_type = module_type
|
|
@@ -7170,7 +8489,7 @@ class ModuleExtSensorsV11():
|
|
|
7170
8489
|
self.set(raw)
|
|
7171
8490
|
|
|
7172
8491
|
def __repr__(self) -> str:
|
|
7173
|
-
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")
|
|
8492
|
+
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, MODULE_EXT_SENSORS_V11_SENSOR0_MAP[self.sensor0]],['sensor1', f"0x{self.sensor1:X}", self.sensor1, MODULE_EXT_SENSORS_V11_SENSOR1_MAP[self.sensor1]]], tablefmt="texttable")
|
|
7174
8493
|
|
|
7175
8494
|
def __eq__(self, other):
|
|
7176
8495
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -7199,6 +8518,8 @@ class ModuleExtSensorsV11():
|
|
|
7199
8518
|
self.sensor1 = d[6]
|
|
7200
8519
|
self.unused = d[7]
|
|
7201
8520
|
|
|
8521
|
+
MODULE_EXT_SENSORS_V10_SENSOR0_MAP = {0x00000000:"No_Sensor", 0x16E1FF01:"MinewS1", 0xFF050500:"USB dongle ADC", 0xFF000502:"Signal Indicator", 0x0279FE01:"Zebra Printer", 0xFFAE0400:"ERM Smart MS"}
|
|
8522
|
+
MODULE_EXT_SENSORS_V10_SENSOR1_MAP = {0x00000000:"No_Sensor", 0x16E1FF01:"MinewS1", 0xFF050500:"USB dongle ADC", 0xFF000502:"Signal Indicator", 0x0279FE01:"Zebra Printer", 0xFFAE0400:"ERM Smart MS"}
|
|
7202
8523
|
class ModuleExtSensorsV10():
|
|
7203
8524
|
def __init__(self, raw='', module_type=MODULE_EXT_SENSORS, msg_type=BRG_MGMT_MSG_TYPE_CFG_SET, api_version=API_VERSION_V10, seq_id=0, brg_mac=0, sensor0=BRG_DEFAULT_EXTERNAL_SENSOR_CFG, sensor1=BRG_DEFAULT_EXTERNAL_SENSOR_CFG, unused=0):
|
|
7204
8525
|
self.module_type = module_type
|
|
@@ -7213,7 +8534,7 @@ class ModuleExtSensorsV10():
|
|
|
7213
8534
|
self.set(raw)
|
|
7214
8535
|
|
|
7215
8536
|
def __repr__(self) -> str:
|
|
7216
|
-
return "\n==> Packet module_ext_sensors_v10 <==\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")
|
|
8537
|
+
return "\n==> Packet module_ext_sensors_v10 <==\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, MODULE_EXT_SENSORS_V10_SENSOR0_MAP[self.sensor0]],['sensor1', f"0x{self.sensor1:X}", self.sensor1, MODULE_EXT_SENSORS_V10_SENSOR1_MAP[self.sensor1]]], tablefmt="texttable")
|
|
7217
8538
|
|
|
7218
8539
|
def __eq__(self, other):
|
|
7219
8540
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -7263,7 +8584,7 @@ class ModuleExtSensorsV9():
|
|
|
7263
8584
|
self.set(raw)
|
|
7264
8585
|
|
|
7265
8586
|
def __repr__(self) -> str:
|
|
7266
|
-
return "\n==> Packet module_ext_sensors_v9 <==\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],['ad_type0', f"0x{self.ad_type0:X}", self.ad_type0],['uuid_msb0', f"0x{self.uuid_msb0:X}", self.uuid_msb0],['uuid_lsb0', f"0x{self.uuid_lsb0:X}", self.uuid_lsb0],['ad_type1', f"0x{self.ad_type1:X}", self.ad_type1],['uuid_msb1', f"0x{self.uuid_msb1:X}", self.uuid_msb1],['uuid_lsb1', f"0x{self.uuid_lsb1:X}", self.uuid_lsb1],['sensor0_scramble', f"0x{self.sensor0_scramble:X}", self.sensor0_scramble],['sensor1_scramble', f"0x{self.sensor1_scramble:X}", self.sensor1_scramble]], tablefmt="texttable")
|
|
8587
|
+
return "\n==> Packet module_ext_sensors_v9 <==\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, ""],['ad_type0', f"0x{self.ad_type0:X}", self.ad_type0, ""],['uuid_msb0', f"0x{self.uuid_msb0:X}", self.uuid_msb0, ""],['uuid_lsb0', f"0x{self.uuid_lsb0:X}", self.uuid_lsb0, ""],['ad_type1', f"0x{self.ad_type1:X}", self.ad_type1, ""],['uuid_msb1', f"0x{self.uuid_msb1:X}", self.uuid_msb1, ""],['uuid_lsb1', f"0x{self.uuid_lsb1:X}", self.uuid_lsb1, ""],['sensor0_scramble', f"0x{self.sensor0_scramble:X}", self.sensor0_scramble, ""],['sensor1_scramble', f"0x{self.sensor1_scramble:X}", self.sensor1_scramble, ""]], tablefmt="texttable")
|
|
7267
8588
|
|
|
7268
8589
|
def __eq__(self, other):
|
|
7269
8590
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -7326,7 +8647,7 @@ class ModuleExtSensorsV8():
|
|
|
7326
8647
|
self.set(raw)
|
|
7327
8648
|
|
|
7328
8649
|
def __repr__(self) -> str:
|
|
7329
|
-
return "\n==> Packet module_ext_sensors_v8 <==\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],['ad_type0', f"0x{self.ad_type0:X}", self.ad_type0],['uuid_msb0', f"0x{self.uuid_msb0:X}", self.uuid_msb0],['uuid_lsb0', f"0x{self.uuid_lsb0:X}", self.uuid_lsb0],['ad_type1', f"0x{self.ad_type1:X}", self.ad_type1],['uuid_msb1', f"0x{self.uuid_msb1:X}", self.uuid_msb1],['uuid_lsb1', f"0x{self.uuid_lsb1:X}", self.uuid_lsb1],['sensor0_scramble', f"0x{self.sensor0_scramble:X}", self.sensor0_scramble],['sensor1_scramble', f"0x{self.sensor1_scramble:X}", self.sensor1_scramble]], tablefmt="texttable")
|
|
8650
|
+
return "\n==> Packet module_ext_sensors_v8 <==\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, ""],['ad_type0', f"0x{self.ad_type0:X}", self.ad_type0, ""],['uuid_msb0', f"0x{self.uuid_msb0:X}", self.uuid_msb0, ""],['uuid_lsb0', f"0x{self.uuid_lsb0:X}", self.uuid_lsb0, ""],['ad_type1', f"0x{self.ad_type1:X}", self.ad_type1, ""],['uuid_msb1', f"0x{self.uuid_msb1:X}", self.uuid_msb1, ""],['uuid_lsb1', f"0x{self.uuid_lsb1:X}", self.uuid_lsb1, ""],['sensor0_scramble', f"0x{self.sensor0_scramble:X}", self.sensor0_scramble, ""],['sensor1_scramble', f"0x{self.sensor1_scramble:X}", self.sensor1_scramble, ""]], tablefmt="texttable")
|
|
7330
8651
|
|
|
7331
8652
|
def __eq__(self, other):
|
|
7332
8653
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -7389,7 +8710,7 @@ class ModuleExtSensorsV7():
|
|
|
7389
8710
|
self.set(raw)
|
|
7390
8711
|
|
|
7391
8712
|
def __repr__(self) -> str:
|
|
7392
|
-
return "\n==> Packet module_ext_sensors_v7 <==\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],['ad_type0', f"0x{self.ad_type0:X}", self.ad_type0],['uuid_msb0', f"0x{self.uuid_msb0:X}", self.uuid_msb0],['uuid_lsb0', f"0x{self.uuid_lsb0:X}", self.uuid_lsb0],['ad_type1', f"0x{self.ad_type1:X}", self.ad_type1],['uuid_msb1', f"0x{self.uuid_msb1:X}", self.uuid_msb1],['uuid_lsb1', f"0x{self.uuid_lsb1:X}", self.uuid_lsb1],['sensor0_scramble', f"0x{self.sensor0_scramble:X}", self.sensor0_scramble],['sensor1_scramble', f"0x{self.sensor1_scramble:X}", self.sensor1_scramble]], tablefmt="texttable")
|
|
8713
|
+
return "\n==> Packet module_ext_sensors_v7 <==\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, ""],['ad_type0', f"0x{self.ad_type0:X}", self.ad_type0, ""],['uuid_msb0', f"0x{self.uuid_msb0:X}", self.uuid_msb0, ""],['uuid_lsb0', f"0x{self.uuid_lsb0:X}", self.uuid_lsb0, ""],['ad_type1', f"0x{self.ad_type1:X}", self.ad_type1, ""],['uuid_msb1', f"0x{self.uuid_msb1:X}", self.uuid_msb1, ""],['uuid_lsb1', f"0x{self.uuid_lsb1:X}", self.uuid_lsb1, ""],['sensor0_scramble', f"0x{self.sensor0_scramble:X}", self.sensor0_scramble, ""],['sensor1_scramble', f"0x{self.sensor1_scramble:X}", self.sensor1_scramble, ""]], tablefmt="texttable")
|
|
7393
8714
|
|
|
7394
8715
|
def __eq__(self, other):
|
|
7395
8716
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -7431,6 +8752,52 @@ class ModuleExtSensorsV7():
|
|
|
7431
8752
|
self.unused1 = d[13]
|
|
7432
8753
|
self.unused2 = d[14]
|
|
7433
8754
|
|
|
8755
|
+
class ModuleCustomV13():
|
|
8756
|
+
def __init__(self, raw='', module_type=MODULE_CUSTOM, msg_type=BRG_MGMT_MSG_TYPE_CFG_SET, api_version=API_VERSION_V13, seq_id=0, brg_mac=0, motion_sensitivity_threshold=LIS2DW12_DEFAULTS_MOTION_SENSITIVITY_THRESHOLD, s2d_transition_time=LIS2DW12_DEFAULTS_S2D_TRANSITION_TIME, d2s_transition_time=LIS2DW12_DEFAULTS_D2S_TRANSITION_TIME, unused1=0):
|
|
8757
|
+
self.module_type = module_type
|
|
8758
|
+
self.msg_type = msg_type
|
|
8759
|
+
self.api_version = api_version
|
|
8760
|
+
self.seq_id = seq_id
|
|
8761
|
+
self.brg_mac = brg_mac
|
|
8762
|
+
self.motion_sensitivity_threshold = motion_sensitivity_threshold # 31 [mg] resolution
|
|
8763
|
+
self.s2d_transition_time = s2d_transition_time # 3 [sec] resolution
|
|
8764
|
+
self.d2s_transition_time = d2s_transition_time # 5 [sec] resolution
|
|
8765
|
+
self.unused1 = unused1
|
|
8766
|
+
if raw:
|
|
8767
|
+
self.set(raw)
|
|
8768
|
+
|
|
8769
|
+
def __repr__(self) -> str:
|
|
8770
|
+
return "\n==> Packet module_custom_v13 <==\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")
|
|
8771
|
+
|
|
8772
|
+
def __eq__(self, other):
|
|
8773
|
+
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
8774
|
+
return (
|
|
8775
|
+
self.module_type == other.module_type and
|
|
8776
|
+
self.msg_type == other.msg_type and
|
|
8777
|
+
self.api_version == other.api_version and
|
|
8778
|
+
self.brg_mac == other.brg_mac and
|
|
8779
|
+
self.motion_sensitivity_threshold == other.motion_sensitivity_threshold and
|
|
8780
|
+
self.s2d_transition_time == other.s2d_transition_time and
|
|
8781
|
+
self.d2s_transition_time == other.d2s_transition_time
|
|
8782
|
+
)
|
|
8783
|
+
return False
|
|
8784
|
+
|
|
8785
|
+
def dump(self):
|
|
8786
|
+
string = bitstruct.pack("u4u4u8u8u48u8u8u8u96", self.module_type, self.msg_type, self.api_version, self.seq_id, self.brg_mac, ((self.motion_sensitivity_threshold-0)//31), ((self.s2d_transition_time-0)//3), ((self.d2s_transition_time-0)//5), self.unused1)
|
|
8787
|
+
return string.hex().upper()
|
|
8788
|
+
|
|
8789
|
+
def set(self, string):
|
|
8790
|
+
d = bitstruct.unpack("u4u4u8u8u48u8u8u8u96", binascii.unhexlify(string))
|
|
8791
|
+
self.module_type = d[0]
|
|
8792
|
+
self.msg_type = d[1]
|
|
8793
|
+
self.api_version = d[2]
|
|
8794
|
+
self.seq_id = d[3]
|
|
8795
|
+
self.brg_mac = d[4]
|
|
8796
|
+
self.motion_sensitivity_threshold = ((d[5]*31)+0)
|
|
8797
|
+
self.s2d_transition_time = ((d[6]*3)+0)
|
|
8798
|
+
self.d2s_transition_time = ((d[7]*5)+0)
|
|
8799
|
+
self.unused1 = d[8]
|
|
8800
|
+
|
|
7434
8801
|
class ModuleCustomV12():
|
|
7435
8802
|
def __init__(self, raw='', module_type=MODULE_CUSTOM, msg_type=BRG_MGMT_MSG_TYPE_CFG_SET, api_version=API_VERSION_V12, seq_id=0, brg_mac=0, motion_sensitivity_threshold=LIS2DW12_DEFAULTS_MOTION_SENSITIVITY_THRESHOLD, s2d_transition_time=LIS2DW12_DEFAULTS_S2D_TRANSITION_TIME, d2s_transition_time=LIS2DW12_DEFAULTS_D2S_TRANSITION_TIME, unused1=0):
|
|
7436
8803
|
self.module_type = module_type
|
|
@@ -7446,7 +8813,7 @@ class ModuleCustomV12():
|
|
|
7446
8813
|
self.set(raw)
|
|
7447
8814
|
|
|
7448
8815
|
def __repr__(self) -> str:
|
|
7449
|
-
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")
|
|
8816
|
+
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")
|
|
7450
8817
|
|
|
7451
8818
|
def __eq__(self, other):
|
|
7452
8819
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -7492,7 +8859,7 @@ class ModuleCustomV11():
|
|
|
7492
8859
|
self.set(raw)
|
|
7493
8860
|
|
|
7494
8861
|
def __repr__(self) -> str:
|
|
7495
|
-
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")
|
|
8862
|
+
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")
|
|
7496
8863
|
|
|
7497
8864
|
def __eq__(self, other):
|
|
7498
8865
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -7538,7 +8905,7 @@ class ModuleCustomV10():
|
|
|
7538
8905
|
self.set(raw)
|
|
7539
8906
|
|
|
7540
8907
|
def __repr__(self) -> str:
|
|
7541
|
-
return "\n==> Packet module_custom_v10 <==\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")
|
|
8908
|
+
return "\n==> Packet module_custom_v10 <==\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")
|
|
7542
8909
|
|
|
7543
8910
|
def __eq__(self, other):
|
|
7544
8911
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -7586,7 +8953,7 @@ class ModuleCustomV9():
|
|
|
7586
8953
|
self.set(raw)
|
|
7587
8954
|
|
|
7588
8955
|
def __repr__(self) -> str:
|
|
7589
|
-
return "\n==> Packet module_custom_v9 <==\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],['custom_id', f"0x{self.custom_id:X}", self.custom_id],['version', f"0x{self.version:X}", self.version],['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")
|
|
8956
|
+
return "\n==> Packet module_custom_v9 <==\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, ""],['custom_id', f"0x{self.custom_id:X}", self.custom_id, ""],['version', f"0x{self.version:X}", self.version, ""],['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")
|
|
7590
8957
|
|
|
7591
8958
|
def __eq__(self, other):
|
|
7592
8959
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -7638,7 +9005,7 @@ class ModuleCustomV8():
|
|
|
7638
9005
|
self.set(raw)
|
|
7639
9006
|
|
|
7640
9007
|
def __repr__(self) -> str:
|
|
7641
|
-
return "\n==> Packet module_custom_v8 <==\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],['custom_id', f"0x{self.custom_id:X}", self.custom_id],['version', f"0x{self.version:X}", self.version],['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")
|
|
9008
|
+
return "\n==> Packet module_custom_v8 <==\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, ""],['custom_id', f"0x{self.custom_id:X}", self.custom_id, ""],['version', f"0x{self.version:X}", self.version, ""],['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")
|
|
7642
9009
|
|
|
7643
9010
|
def __eq__(self, other):
|
|
7644
9011
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -7674,19 +9041,18 @@ class ModuleCustomV8():
|
|
|
7674
9041
|
self.unused0 = d[10]
|
|
7675
9042
|
|
|
7676
9043
|
class Lis2Dw12Data():
|
|
7677
|
-
def __init__(self, raw='', version=LIS2DW12_PACKET_VERSION_LATEST, state=0, temperature=0, new_g_value_sample=0, xyz_g_value=0, unused0=0
|
|
9044
|
+
def __init__(self, raw='', version=LIS2DW12_PACKET_VERSION_LATEST, state=0, temperature=0, new_g_value_sample=0, xyz_g_value=0, unused0=0):
|
|
7678
9045
|
self.version = version
|
|
7679
9046
|
self.state = state
|
|
7680
9047
|
self.temperature = temperature # Multiplied by 100
|
|
7681
9048
|
self.new_g_value_sample = new_g_value_sample # Indicates if the g value sent is new or old
|
|
7682
9049
|
self.xyz_g_value = xyz_g_value # The acceleration in mg for each axis axis
|
|
7683
9050
|
self.unused0 = unused0
|
|
7684
|
-
self.pkt_id = pkt_id
|
|
7685
9051
|
if raw:
|
|
7686
9052
|
self.set(raw)
|
|
7687
9053
|
|
|
7688
9054
|
def __repr__(self) -> str:
|
|
7689
|
-
return "\n==> Packet lis2dw12_data <==\n" + tabulate.tabulate([['version', f"0x{self.version:X}", self.version],['state', f"0x{self.state:X}", self.state],['temperature', f"0x{self.temperature:X}", self.temperature],['new_g_value_sample', f"0x{self.new_g_value_sample:X}", self.new_g_value_sample],['xyz_g_value', f"0x{self.xyz_g_value:X}", self.xyz_g_value
|
|
9055
|
+
return "\n==> Packet lis2dw12_data <==\n" + tabulate.tabulate([['version', f"0x{self.version:X}", self.version, ""],['state', f"0x{self.state:X}", self.state, ""],['temperature', f"0x{self.temperature:X}", self.temperature, ""],['new_g_value_sample', f"0x{self.new_g_value_sample:X}", self.new_g_value_sample, ""],['xyz_g_value', f"0x{self.xyz_g_value:X}", self.xyz_g_value, ""]], tablefmt="texttable")
|
|
7690
9056
|
|
|
7691
9057
|
def __eq__(self, other):
|
|
7692
9058
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -7695,95 +9061,88 @@ class Lis2Dw12Data():
|
|
|
7695
9061
|
self.state == other.state and
|
|
7696
9062
|
self.temperature == other.temperature and
|
|
7697
9063
|
self.new_g_value_sample == other.new_g_value_sample and
|
|
7698
|
-
self.xyz_g_value == other.xyz_g_value
|
|
7699
|
-
self.pkt_id == other.pkt_id
|
|
9064
|
+
self.xyz_g_value == other.xyz_g_value
|
|
7700
9065
|
)
|
|
7701
9066
|
return False
|
|
7702
9067
|
|
|
7703
9068
|
def dump(self):
|
|
7704
|
-
string = bitstruct.pack("
|
|
9069
|
+
string = bitstruct.pack("u8u8u16u8s48u128", self.version, self.state, ((self.temperature-0)//0.01), self.new_g_value_sample, self.xyz_g_value, self.unused0)
|
|
7705
9070
|
return string.hex().upper()
|
|
7706
9071
|
|
|
7707
9072
|
def set(self, string):
|
|
7708
|
-
d = bitstruct.unpack("
|
|
9073
|
+
d = bitstruct.unpack("u8u8u16u8s48u128", binascii.unhexlify(string))
|
|
7709
9074
|
self.version = d[0]
|
|
7710
9075
|
self.state = d[1]
|
|
7711
9076
|
self.temperature = ((d[2]*0.01)+0)
|
|
7712
9077
|
self.new_g_value_sample = d[3]
|
|
7713
9078
|
self.xyz_g_value = d[4]
|
|
7714
9079
|
self.unused0 = d[5]
|
|
7715
|
-
self.pkt_id = d[6]
|
|
7716
9080
|
|
|
7717
9081
|
class BatterySensorData():
|
|
7718
|
-
def __init__(self, raw='', version=BATTERY_SENSOR_PACKET_VERSION_LATEST, power_source=0, battery_level=0, unused0=0
|
|
9082
|
+
def __init__(self, raw='', version=BATTERY_SENSOR_PACKET_VERSION_LATEST, power_source=0, battery_level=0, unused0=0):
|
|
7719
9083
|
self.version = version
|
|
7720
9084
|
self.power_source = power_source
|
|
7721
9085
|
self.battery_level = battery_level # In [mV]
|
|
7722
9086
|
self.unused0 = unused0
|
|
7723
|
-
self.pkt_id = pkt_id
|
|
7724
9087
|
if raw:
|
|
7725
9088
|
self.set(raw)
|
|
7726
9089
|
|
|
7727
9090
|
def __repr__(self) -> str:
|
|
7728
|
-
return "\n==> Packet battery_sensor_data <==\n" + tabulate.tabulate([['version', f"0x{self.version:X}", self.version],['power_source', f"0x{self.power_source:X}", self.power_source],['battery_level', f"0x{self.battery_level:X}", self.battery_level
|
|
9091
|
+
return "\n==> Packet battery_sensor_data <==\n" + tabulate.tabulate([['version', f"0x{self.version:X}", self.version, ""],['power_source', f"0x{self.power_source:X}", self.power_source, ""],['battery_level', f"0x{self.battery_level:X}", self.battery_level, ""]], tablefmt="texttable")
|
|
7729
9092
|
|
|
7730
9093
|
def __eq__(self, other):
|
|
7731
9094
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
7732
9095
|
return (
|
|
7733
9096
|
self.version == other.version and
|
|
7734
9097
|
self.power_source == other.power_source and
|
|
7735
|
-
self.battery_level == other.battery_level
|
|
7736
|
-
self.pkt_id == other.pkt_id
|
|
9098
|
+
self.battery_level == other.battery_level
|
|
7737
9099
|
)
|
|
7738
9100
|
return False
|
|
7739
9101
|
|
|
7740
9102
|
def dump(self):
|
|
7741
|
-
string = bitstruct.pack("
|
|
9103
|
+
string = bitstruct.pack("u8u8u16u184", self.version, self.power_source, self.battery_level, self.unused0)
|
|
7742
9104
|
return string.hex().upper()
|
|
7743
9105
|
|
|
7744
9106
|
def set(self, string):
|
|
7745
|
-
d = bitstruct.unpack("
|
|
9107
|
+
d = bitstruct.unpack("u8u8u16u184", binascii.unhexlify(string))
|
|
7746
9108
|
self.version = d[0]
|
|
7747
9109
|
self.power_source = d[1]
|
|
7748
9110
|
self.battery_level = d[2]
|
|
7749
9111
|
self.unused0 = d[3]
|
|
7750
|
-
self.pkt_id = d[4]
|
|
7751
9112
|
|
|
7752
9113
|
class PofData():
|
|
7753
|
-
def __init__(self, raw='', version=POF_DATA_PACKET_VERSION_LATEST, power_source=0, voltage_thr=0, unused0=0
|
|
9114
|
+
def __init__(self, raw='', version=POF_DATA_PACKET_VERSION_LATEST, power_source=0, voltage_thr=0, unused0=0):
|
|
7754
9115
|
self.version = version
|
|
7755
9116
|
self.power_source = power_source
|
|
7756
9117
|
self.voltage_thr = voltage_thr
|
|
7757
9118
|
self.unused0 = unused0
|
|
7758
|
-
self.pkt_id = pkt_id
|
|
7759
9119
|
if raw:
|
|
7760
9120
|
self.set(raw)
|
|
7761
9121
|
|
|
7762
9122
|
def __repr__(self) -> str:
|
|
7763
|
-
return "\n==> Packet pof_data <==\n" + tabulate.tabulate([['version', f"0x{self.version:X}", self.version],['power_source', f"0x{self.power_source:X}", self.power_source],['voltage_thr', f"0x{self.voltage_thr:X}", self.voltage_thr
|
|
9123
|
+
return "\n==> Packet pof_data <==\n" + tabulate.tabulate([['version', f"0x{self.version:X}", self.version, ""],['power_source', f"0x{self.power_source:X}", self.power_source, ""],['voltage_thr', f"0x{self.voltage_thr:X}", self.voltage_thr, ""]], tablefmt="texttable")
|
|
7764
9124
|
|
|
7765
9125
|
def __eq__(self, other):
|
|
7766
9126
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
7767
9127
|
return (
|
|
7768
9128
|
self.version == other.version and
|
|
7769
9129
|
self.power_source == other.power_source and
|
|
7770
|
-
self.voltage_thr == other.voltage_thr
|
|
7771
|
-
self.pkt_id == other.pkt_id
|
|
9130
|
+
self.voltage_thr == other.voltage_thr
|
|
7772
9131
|
)
|
|
7773
9132
|
return False
|
|
7774
9133
|
|
|
7775
9134
|
def dump(self):
|
|
7776
|
-
string = bitstruct.pack("
|
|
9135
|
+
string = bitstruct.pack("u8u8u16u184", self.version, self.power_source, self.voltage_thr, self.unused0)
|
|
7777
9136
|
return string.hex().upper()
|
|
7778
9137
|
|
|
7779
9138
|
def set(self, string):
|
|
7780
|
-
d = bitstruct.unpack("
|
|
9139
|
+
d = bitstruct.unpack("u8u8u16u184", binascii.unhexlify(string))
|
|
7781
9140
|
self.version = d[0]
|
|
7782
9141
|
self.power_source = d[1]
|
|
7783
9142
|
self.voltage_thr = d[2]
|
|
7784
9143
|
self.unused0 = d[3]
|
|
7785
|
-
self.pkt_id = d[4]
|
|
7786
9144
|
|
|
9145
|
+
SIGNAL_INDICATOR_DATA_V1_ANTENNA_TYPE_MAP = {0x0:"2_4 Antenna", 0x1:"Sub1g Antenna"}
|
|
7787
9146
|
class SignalIndicatorDataV1():
|
|
7788
9147
|
def __init__(self, raw='', group_id=0, version=SIGNAL_INDICATOR_PACKET_VERSION_LATEST, msg_type=0, output_power=0, antenna_type=0, tx_antenna=0, rx_antenna=0, seq_id=0, unused0=0, pkt_id=0):
|
|
7789
9148
|
self.group_id = group_id
|
|
@@ -7800,7 +9159,7 @@ class SignalIndicatorDataV1():
|
|
|
7800
9159
|
self.set(raw)
|
|
7801
9160
|
|
|
7802
9161
|
def __repr__(self) -> str:
|
|
7803
|
-
return "\n==> Packet signal_indicator_data_v1 <==\n" + tabulate.tabulate([['group_id', f"0x{self.group_id:X}", self.group_id],['version', f"0x{self.version:X}", self.version],['msg_type', f"0x{self.msg_type:X}", self.msg_type],['output_power', f"0x{self.output_power:X}", self.output_power],['antenna_type', f"0x{self.antenna_type:X}", self.antenna_type],['tx_antenna', f"0x{self.tx_antenna:X}", self.tx_antenna],['rx_antenna', f"0x{self.rx_antenna:X}", self.rx_antenna],['seq_id', f"0x{self.seq_id:X}", self.seq_id],['pkt_id', f"0x{self.pkt_id:X}", self.pkt_id]], tablefmt="texttable")
|
|
9162
|
+
return "\n==> Packet signal_indicator_data_v1 <==\n" + tabulate.tabulate([['group_id', f"0x{self.group_id:X}", self.group_id, ""],['version', f"0x{self.version:X}", self.version, ""],['msg_type', f"0x{self.msg_type:X}", self.msg_type, ""],['output_power', f"0x{self.output_power:X}", self.output_power, ""],['antenna_type', f"0x{self.antenna_type:X}", self.antenna_type, SIGNAL_INDICATOR_DATA_V1_ANTENNA_TYPE_MAP[self.antenna_type]],['tx_antenna', f"0x{self.tx_antenna:X}", self.tx_antenna, ""],['rx_antenna', f"0x{self.rx_antenna:X}", self.rx_antenna, ""],['seq_id', f"0x{self.seq_id:X}", self.seq_id, ""],['pkt_id', f"0x{self.pkt_id:X}", self.pkt_id, ""]], tablefmt="texttable")
|
|
7804
9163
|
|
|
7805
9164
|
def __eq__(self, other):
|
|
7806
9165
|
if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
|
|
@@ -7833,7 +9192,7 @@ class SignalIndicatorDataV1():
|
|
|
7833
9192
|
self.unused0 = d[8]
|
|
7834
9193
|
self.pkt_id = d[9]
|
|
7835
9194
|
|
|
7836
|
-
MODULES_LIST = [ModuleIfV12, ModuleIfV11, ModuleIfV10, ModuleIfV9, ModuleIfV8, ModuleIfV7, ModuleCalibrationV12, ModuleCalibrationV11, ModuleCalibrationV10, ModuleCalibrationV9, ModuleCalibrationV8, ModuleCalibrationV7, ModuleDatapathV12, ModuleDatapathV11, ModuleDatapathV10, ModuleDatapathV9, ModuleDatapathV8, ModuleDatapathV7, ModuleEnergy2400V12, ModuleEnergy2400V11, ModuleEnergy2400V10, ModuleEnergy2400V9, ModuleEnergy2400V8, ModuleEnergy2400V7, ModuleEnergySub1GV12, ModuleEnergySub1GV11, ModuleEnergySub1GV10, ModuleEnergySub1GV9, ModuleEnergySub1GV8, ModuleEnergySub1GV7, ModulePwrMgmtV12, ModulePwrMgmtV11, ModulePwrMgmtV10, ModulePwrMgmtV9, ModulePwrMgmtV8, ModulePwrMgmtV7, ModuleExtSensorsV12, ModuleExtSensorsV11, ModuleExtSensorsV10, ModuleExtSensorsV9, ModuleExtSensorsV8, ModuleExtSensorsV7, ModuleCustomV12, ModuleCustomV11, ModuleCustomV10, ModuleCustomV9, ModuleCustomV8]
|
|
9195
|
+
MODULES_LIST = [ModuleIfV13, ModuleIfV12, ModuleIfV11, ModuleIfV10, ModuleIfV9, ModuleIfV8, ModuleIfV7, ModuleCalibrationV13, ModuleCalibrationV12, ModuleCalibrationV11, ModuleCalibrationV10, ModuleCalibrationV9, ModuleCalibrationV8, ModuleCalibrationV7, ModuleDatapathV13, ModuleDatapathV12, ModuleDatapathV11, ModuleDatapathV10, ModuleDatapathV9, ModuleDatapathV8, ModuleDatapathV7, ModuleEnergy2400V13, ModuleEnergy2400V12, ModuleEnergy2400V11, ModuleEnergy2400V10, ModuleEnergy2400V9, ModuleEnergy2400V8, ModuleEnergy2400V7, ModuleEnergySub1GV13, ModuleEnergySub1GV12, ModuleEnergySub1GV11, ModuleEnergySub1GV10, ModuleEnergySub1GV9, ModuleEnergySub1GV8, ModuleEnergySub1GV7, ModulePwrMgmtV13, ModulePwrMgmtV12, ModulePwrMgmtV11, ModulePwrMgmtV10, ModulePwrMgmtV9, ModulePwrMgmtV8, ModulePwrMgmtV7, ModuleExtSensorsV13, ModuleExtSensorsV12, ModuleExtSensorsV11, ModuleExtSensorsV10, ModuleExtSensorsV9, ModuleExtSensorsV8, ModuleExtSensorsV7, ModuleCustomV13, ModuleCustomV12, ModuleCustomV11, ModuleCustomV10, ModuleCustomV9, ModuleCustomV8]
|
|
7837
9196
|
MODULES_DICT = {MODULE_IF:'ModuleIfV', MODULE_CALIBRATION:'ModuleCalibrationV', MODULE_DATAPATH:'ModuleDatapathV', MODULE_ENERGY_2400:'ModuleEnergy2400V', MODULE_ENERGY_SUB1G:'ModuleEnergySub1GV', MODULE_PWR_MGMT:'ModulePwrMgmtV', MODULE_EXT_SENSORS:'ModuleExtSensorsV', MODULE_CUSTOM:'ModuleCustomV'}
|
|
7838
9197
|
ACTIONS_DICT = {ACTION_EMPTY:'ActionGenericV', ACTION_GW_HB:'ActionGwHbV', ACTION_REBOOT:'ActionRebootV', ACTION_BLINK:'ActionBlinkV', ACTION_GET_MODULE:'ActionGetModuleV', ACTION_RESTORE_DEFAULTS:'ActionRestoreDefaultsV', ACTION_SEND_HB:'ActionSendHbV', ACTION_GET_BATTERY_SENSOR:'ActionGetBatterySensorV', ACTION_GET_POF_DATA:'ActionGetPofDataV', ACTION_PL_STATUS:'ActionPlStatusV'}
|
|
7839
|
-
WLT_PKT_TYPES = [
|
|
9198
|
+
WLT_PKT_TYPES = [UnifiedEchoExtPktV1, UnifiedEchoExtPktV0, UnifiedEchoPktV2, UnifiedEchoPktV1, UnifiedEchoPktV0, SideInfo, UnifiedSensorPkt, SensorData, SideInfoSensor, ActionGenericV13, ActionGenericV12, ActionGenericV11, ActionGenericV10, ActionGenericV9, ActionGenericV8, ActionGenericV7, ActionGwHbV13, ActionGwHbV12, ActionGwHbV11, ActionGwHbV10, ActionGwHbV9, ActionGwHbV8, ActionRebootV13, ActionRebootV12, ActionRebootV11, ActionRebootV10, ActionRebootV9, ActionRebootV8, ActionBlinkV13, ActionBlinkV12, ActionBlinkV11, ActionBlinkV10, ActionBlinkV9, ActionBlinkV8, ActionGetModuleV13, ActionGetModuleV12, ActionGetModuleV11, ActionGetModuleV10, ActionGetModuleV9, ActionGetModuleV8, ActionRestoreDefaultsV13, ActionRestoreDefaultsV12, ActionRestoreDefaultsV11, ActionRestoreDefaultsV10, ActionRestoreDefaultsV9, ActionRestoreDefaultsV8, ActionSendHbV13, ActionSendHbV12, ActionSendHbV11, ActionSendHbV10, ActionSendHbV9, ActionSendHbV8, ActionGetBatterySensorV13, ActionGetBatterySensorV12, ActionGetBatterySensorV11, ActionGetBatterySensorV10, ActionGetBatterySensorV9, ActionGetBatterySensorV8, ActionGetPofDataV13, ActionGetPofDataV12, ActionGetPofDataV11, ActionGetPofDataV10, ActionGetPofDataV9, ActionGetPofDataV8, ActionPlStatusV13, ActionPlStatusV12, ActionPlStatusV11, ActionPlStatusV10, Brg2BrgOtaV13, Brg2BrgOtaV12, Brg2BrgOtaV11, Brg2BrgOtaV10, Brg2BrgOtaV9, Brg2BrgCfgV13, Brg2BrgCfgV12, Brg2BrgCfgV11, Brg2BrgCfgV10, Brg2BrgCfgV9, Gw2BrgCfgV8, Gw2BrgCfgV7, Brg2GwCfgV8, Brg2GwCfgV7, Brg2GwCfgV6, Brg2GwCfgV5, Brg2GwCfgV2, Brg2GwHbSleepV13, Brg2GwHbSleepV12, Brg2GwHbSleepV11, Brg2GwHbSleepV10, Brg2GwHbV13, Brg2GwHbV12, Brg2GwHbV11, Brg2GwHbV10, Brg2GwHbV9, Brg2GwHbV8, Brg2GwHbV7, Brg2GwHbV6, Brg2GwHbV5, Brg2GwHbV1, ModuleIfV13, ModuleIfV12, ModuleIfV11, ModuleIfV10, ModuleIfV9, ModuleIfV8, ModuleIfV7, ModuleCalibrationV13, ModuleCalibrationV12, ModuleCalibrationV11, ModuleCalibrationV10, ModuleCalibrationV9, ModuleCalibrationV8, ModuleCalibrationV7, ModuleDatapathV13, ModuleDatapathV12, ModuleDatapathV11, ModuleDatapathV10, ModuleDatapathV9, ModuleDatapathV8, ModuleDatapathV7, ModuleEnergy2400V13, ModuleEnergy2400V12, ModuleEnergy2400V11, ModuleEnergy2400V10, ModuleEnergy2400V9, ModuleEnergy2400V8, ModuleEnergy2400V7, ModuleEnergySub1GV13, ModuleEnergySub1GV12, ModuleEnergySub1GV11, ModuleEnergySub1GV10, ModuleEnergySub1GV9, ModuleEnergySub1GV8, ModuleEnergySub1GV7, ModulePwrMgmtV13, ModulePwrMgmtV12, ModulePwrMgmtV11, ModulePwrMgmtV10, ModulePwrMgmtV9, ModulePwrMgmtV8, ModulePwrMgmtV7, ModuleExtSensorsV13, ModuleExtSensorsV12, ModuleExtSensorsV11, ModuleExtSensorsV10, ModuleExtSensorsV9, ModuleExtSensorsV8, ModuleExtSensorsV7, ModuleCustomV13, ModuleCustomV12, ModuleCustomV11, ModuleCustomV10, ModuleCustomV9, ModuleCustomV8]
|