wiliot-certificate 1.5.0a1__tar.gz → 1.5.1a1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (222) hide show
  1. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/PKG-INFO +12 -8
  2. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/README.md +9 -6
  3. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/pyproject.toml +1 -1
  4. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/ag/energous_v0_defines.py +17 -17
  5. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/ag/energous_v1_defines.py +17 -17
  6. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/ag/energous_v2_defines.py +17 -17
  7. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/ag/energous_v3_defines.py +17 -17
  8. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/ag/energous_v4_defines.py +17 -17
  9. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/ag/fanstel_lan_v0_defines.py +17 -17
  10. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/ag/fanstel_lte_v0_defines.py +17 -17
  11. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/ag/fanstel_wifi_v0_defines.py +17 -17
  12. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/ag/minew_lte_v0_defines.py +17 -17
  13. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/ag/wlt_types.html +0 -1
  14. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/ag/wlt_types_ag.py +151 -152
  15. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/brg_certificate.py +38 -7
  16. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/brg_certificate_cli.py +1 -0
  17. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/cert_common.py +10 -29
  18. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/cert_config.py +6 -4
  19. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/cert_data_sim.py +26 -4
  20. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/cert_defines.py +10 -1
  21. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/cert_gw_sim.py +6 -4
  22. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/cert_mqtt.py +2 -0
  23. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/cert_results.py +68 -48
  24. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/cert_utils.py +4 -3
  25. wiliot_certificate-1.5.1a1/src/brg_certificate/certificate_bcc_sanity_test_list.txt +35 -0
  26. wiliot_certificate-1.5.0a1/src/brg_certificate/certificate_test_list.txt → wiliot_certificate-1.5.1a1/src/brg_certificate/certificate_bcc_test_list.txt +8 -6
  27. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/certificate_sanity_test_list.txt +2 -1
  28. wiliot_certificate-1.5.1a1/src/brg_certificate/certificate_test_list.txt +49 -0
  29. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/calibration/interval_test/interval_test.json +2 -1
  30. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/calibration/output_power_test/output_power_test.json +5 -3
  31. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/calibration/pattern_test/pattern_test.json +5 -2
  32. wiliot_certificate-1.5.1a1/src/brg_certificate/tests/datapath/aging_test/aging_test.json +20 -0
  33. wiliot_certificate-1.5.1a1/src/brg_certificate/tests/datapath/aging_test/aging_test.py +135 -0
  34. wiliot_certificate-1.5.1a1/src/brg_certificate/tests/datapath/num_of_tags_test/num_of_tags_test.json +18 -0
  35. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/datapath/output_power_test/output_power_test.json +5 -2
  36. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/datapath/pacer_interval_ble5_test/pacer_interval_ble5_test.json +5 -2
  37. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/datapath/pacer_interval_tags_count_test/pacer_interval_tags_count_test.json +5 -2
  38. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/datapath/pacer_interval_test/pacer_interval_test.json +5 -2
  39. wiliot_certificate-1.5.1a1/src/brg_certificate/tests/datapath/pattern_test/pattern_test.json +16 -0
  40. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/datapath/pkt_filter_ble5_test/pkt_filter_ble5_test.json +8 -2
  41. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/datapath/pkt_filter_gen3_test/pkt_filter_gen3_test.json +8 -2
  42. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/datapath/pkt_filter_test/pkt_filter_test.json +8 -2
  43. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/datapath/rssi_threshold_test/rssi_threshold_test.json +6 -2
  44. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/datapath/rx_channel_test/rx_channel_test.json +5 -2
  45. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/datapath/rx_rate_gen2_test/rx_rate_gen2_test.json +3 -4
  46. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/datapath/rx_rate_gen3_test/rx_rate_gen3_test.json +3 -4
  47. wiliot_certificate-1.5.1a1/src/brg_certificate/tests/datapath/stress_gen3_test/stress_gen3_test.json +22 -0
  48. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/datapath/stress_gen3_test/stress_gen3_test.py +22 -22
  49. wiliot_certificate-1.5.1a1/src/brg_certificate/tests/datapath/stress_test/stress_test.json +23 -0
  50. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/datapath/stress_test/stress_test.py +18 -25
  51. wiliot_certificate-1.5.1a1/src/brg_certificate/tests/datapath/tx_repetition_algo_test/tx_repetition_algo_test.json +17 -0
  52. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/datapath/tx_repetition_test/tx_repetition_test.json +6 -2
  53. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/edge_mgmt/actions_test/actions_test.json +2 -1
  54. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/edge_mgmt/actions_test/actions_test.py +0 -20
  55. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/edge_mgmt/brg2brg_ota_ble5_test/brg2brg_ota_ble5_test.json +2 -1
  56. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/edge_mgmt/brg2brg_ota_test/brg2brg_ota_test.json +2 -1
  57. wiliot_certificate-1.5.1a1/src/brg_certificate/tests/edge_mgmt/leds_test/leds_test.json +17 -0
  58. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/edge_mgmt/leds_test/leds_test.py +3 -3
  59. wiliot_certificate-1.5.1a1/src/brg_certificate/tests/edge_mgmt/ota_test/ota_test.json +17 -0
  60. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/edge_mgmt/ota_test/ota_test.py +44 -0
  61. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/edge_mgmt/stat_test/stat_test.json +2 -1
  62. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/energy2400/duty_cycle_test/duty_cycle_test.json +5 -2
  63. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/energy2400/output_power_test/output_power_test.json +5 -3
  64. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/energy2400/pattern_test/pattern_test.json +5 -2
  65. wiliot_certificate-1.5.1a1/src/brg_certificate/tests/energy2400/signal_indicator_ble5_10_250k_test/signal_indicator_ble5_10_250k_test.json +20 -0
  66. wiliot_certificate-1.5.1a1/src/brg_certificate/tests/energy2400/signal_indicator_ble5_10_250k_test/signal_indicator_ble5_10_250k_test.py +346 -0
  67. wiliot_certificate-1.5.1a1/src/brg_certificate/tests/energy2400/signal_indicator_ble5_10_500k_test/signal_indicator_ble5_10_500k_test.json +20 -0
  68. wiliot_certificate-1.5.1a1/src/brg_certificate/tests/energy2400/signal_indicator_ble5_10_500k_test/signal_indicator_ble5_10_500k_test.py +346 -0
  69. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/energy2400/signal_indicator_sub1g_2_4_test/signal_indicator_sub1g_2_4_test.json +2 -1
  70. wiliot_certificate-1.5.1a1/src/brg_certificate/tests/energy2400/signal_indicator_test/signal_indicator_test.json +20 -0
  71. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/energy2400/signal_indicator_test/signal_indicator_test.py +130 -43
  72. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/energy_sub1g/duty_cycle_test/duty_cycle_test.json +5 -2
  73. wiliot_certificate-1.5.1a1/src/brg_certificate/tests/energy_sub1g/pattern_test/pattern_test.json +19 -0
  74. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/energy_sub1g/signal_indicator_functionality_test/signal_indicator_functionality_test.json +2 -1
  75. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/energy_sub1g/signal_indicator_test/signal_indicator_test.json +5 -2
  76. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/wltPb_pb2.py +15 -15
  77. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/wltPb_pb2.pyi +8 -2
  78. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/gw_certificate/cert_results.py +11 -4
  79. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/gw_certificate/gw_certificate.py +0 -2
  80. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/gw_certificate/gw_certificate_cli.py +3 -3
  81. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/gw_certificate/interface/uart_if.py +1 -1
  82. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/gw_certificate/tests/actions.py +7 -1
  83. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/gw_certificate/tests/registration.py +2 -1
  84. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/gw_certificate/tests/uplink.py +26 -35
  85. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/wiliot_certificate.egg-info/PKG-INFO +12 -8
  86. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/wiliot_certificate.egg-info/SOURCES.txt +8 -4
  87. wiliot_certificate-1.5.0a1/src/brg_certificate/tests/datapath/adaptive_pacer_algo_test/adaptive_pacer_algo_test.json +0 -13
  88. wiliot_certificate-1.5.0a1/src/brg_certificate/tests/datapath/adaptive_pacer_algo_test/adaptive_pacer_algo_test.py +0 -76
  89. wiliot_certificate-1.5.0a1/src/brg_certificate/tests/datapath/num_of_tags_test/num_of_tags_test.json +0 -13
  90. wiliot_certificate-1.5.0a1/src/brg_certificate/tests/datapath/pattern_test/pattern_test.json +0 -13
  91. wiliot_certificate-1.5.0a1/src/brg_certificate/tests/datapath/stress_gen3_test/stress_gen3_test.json +0 -30
  92. wiliot_certificate-1.5.0a1/src/brg_certificate/tests/datapath/stress_test/stress_test.json +0 -30
  93. wiliot_certificate-1.5.0a1/src/brg_certificate/tests/datapath/tx_repetition_algo_test/tx_repetition_algo_test.json +0 -13
  94. wiliot_certificate-1.5.0a1/src/brg_certificate/tests/edge_mgmt/leds_test/leds_test.json +0 -13
  95. wiliot_certificate-1.5.0a1/src/brg_certificate/tests/edge_mgmt/ota_test/ota_test.json +0 -13
  96. wiliot_certificate-1.5.0a1/src/brg_certificate/tests/energy2400/signal_indicator_ble5_test/signal_indicator_ble5_test.json +0 -13
  97. wiliot_certificate-1.5.0a1/src/brg_certificate/tests/energy2400/signal_indicator_ble5_test/signal_indicator_ble5_test.py +0 -398
  98. wiliot_certificate-1.5.0a1/src/brg_certificate/tests/energy2400/signal_indicator_test/signal_indicator_test.json +0 -13
  99. wiliot_certificate-1.5.0a1/src/brg_certificate/tests/energy_sub1g/pattern_test/pattern_test.json +0 -13
  100. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/LICENSE +0 -0
  101. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/setup.cfg +0 -0
  102. {wiliot_certificate-1.5.0a1/src/gw_certificate/tests/static → wiliot_certificate-1.5.1a1/src/brg_certificate}/__init__.py +0 -0
  103. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/ag/wlt_cmd_if.html +0 -0
  104. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/ag/wlt_types_ag_jsons/brg2brg_ota.json +0 -0
  105. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/ag/wlt_types_ag_jsons/brg2gw_hb.json +0 -0
  106. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/ag/wlt_types_ag_jsons/brg2gw_hb_sleep.json +0 -0
  107. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/ag/wlt_types_ag_jsons/calibration.json +0 -0
  108. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/ag/wlt_types_ag_jsons/custom.json +0 -0
  109. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/ag/wlt_types_ag_jsons/datapath.json +0 -0
  110. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/ag/wlt_types_ag_jsons/energy2400.json +0 -0
  111. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/ag/wlt_types_ag_jsons/energySub1g.json +0 -0
  112. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/ag/wlt_types_ag_jsons/externalSensor.json +0 -0
  113. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/ag/wlt_types_ag_jsons/interface.json +0 -0
  114. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/ag/wlt_types_ag_jsons/powerManagement.json +0 -0
  115. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/ag/wlt_types_ag_jsons/side_info_sensor.json +0 -0
  116. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/ag/wlt_types_ag_jsons/signal_indicator_data.json +0 -0
  117. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/ag/wlt_types_ag_jsons/unified_echo_ext_pkt.json +0 -0
  118. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/ag/wlt_types_ag_jsons/unified_echo_pkt.json +0 -0
  119. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/cert_prints.py +0 -0
  120. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/cert_protobuf.py +0 -0
  121. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/config/eclipse.json +0 -0
  122. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/config/hivemq.json +0 -0
  123. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/config/mosquitto.json +0 -0
  124. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/config/mosquitto.md +0 -0
  125. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/config/wiliot-dev.json +0 -0
  126. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/restore_brg.py +0 -0
  127. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/calibration/interval_test/interval_test.py +0 -0
  128. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/calibration/output_power_test/output_power_test.py +0 -0
  129. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/calibration/pattern_test/pattern_test.py +0 -0
  130. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/datapath/num_of_tags_test/num_of_tags_test.py +0 -0
  131. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/datapath/output_power_test/output_power_test.py +0 -0
  132. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/datapath/pacer_interval_ble5_test/pacer_interval_ble5_test.py +0 -0
  133. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/datapath/pacer_interval_tags_count_test/pacer_interval_tags_count_test.py +0 -0
  134. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/datapath/pacer_interval_test/pacer_interval_test.py +0 -0
  135. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/datapath/pattern_test/pattern_test.py +0 -0
  136. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/datapath/pkt_filter_ble5_test/pkt_filter_ble5_test.py +0 -0
  137. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/datapath/pkt_filter_gen3_test/pkt_filter_gen3_test.py +0 -0
  138. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/datapath/pkt_filter_test/pkt_filter_test.py +0 -0
  139. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/datapath/rssi_threshold_test/rssi_threshold_test.py +0 -0
  140. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/datapath/rx_channel_test/rx_channel_test.py +0 -0
  141. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/datapath/rx_rate_gen2_test/rx_rate_gen2_test.py +0 -0
  142. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/datapath/rx_rate_gen3_test/rx_rate_gen3_test.py +0 -0
  143. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/datapath/tx_repetition_algo_test/tx_repetition_algo_test.py +0 -0
  144. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/datapath/tx_repetition_test/tx_repetition_test.py +0 -0
  145. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/edge_mgmt/brg2brg_ota_ble5_test/brg2brg_ota_ble5_test.py +0 -0
  146. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/edge_mgmt/brg2brg_ota_test/brg2brg_ota_test.py +0 -0
  147. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/edge_mgmt/stat_test/stat_test.py +0 -0
  148. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/energy2400/duty_cycle_test/duty_cycle_test.py +0 -0
  149. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/energy2400/output_power_test/output_power_test.py +0 -0
  150. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/energy2400/pattern_test/pattern_test.py +0 -0
  151. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/energy2400/signal_indicator_sub1g_2_4_test/signal_indicator_sub1g_2_4_test.py +0 -0
  152. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/energy_sub1g/duty_cycle_test/duty_cycle_test.py +0 -0
  153. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/energy_sub1g/pattern_test/pattern_test.py +0 -0
  154. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/energy_sub1g/signal_indicator_functionality_test/signal_indicator_functionality_test.py +0 -0
  155. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/energy_sub1g/signal_indicator_test/signal_indicator_test.py +0 -0
  156. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/brg_certificate/wlt_types.py +0 -0
  157. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/common/wlt_logo.png +0 -0
  158. {wiliot_certificate-1.5.0a1/src/gw_certificate/api_if → wiliot_certificate-1.5.1a1/src/gw_certificate}/__init__.py +0 -0
  159. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/gw_certificate/ag/ut_defines.py +0 -0
  160. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/gw_certificate/ag/wlt_types.py +0 -0
  161. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/gw_certificate/ag/wlt_types_ag.py +0 -0
  162. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/gw_certificate/ag/wlt_types_data.py +0 -0
  163. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/gw_certificate/api/extended_api.py +0 -0
  164. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/gw_certificate/api_if/200/data.json +0 -0
  165. {wiliot_certificate-1.5.0a1/src/gw_certificate/api_if/205 → wiliot_certificate-1.5.1a1/src/gw_certificate/api_if/200}/logs.json +0 -0
  166. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/gw_certificate/api_if/200/status.json +0 -0
  167. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/gw_certificate/api_if/201/data.json +0 -0
  168. {wiliot_certificate-1.5.0a1/src/gw_certificate/api_if/204 → wiliot_certificate-1.5.1a1/src/gw_certificate/api_if/201}/logs.json +0 -0
  169. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/gw_certificate/api_if/201/status.json +0 -0
  170. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/gw_certificate/api_if/202/data.json +0 -0
  171. {wiliot_certificate-1.5.0a1/src/gw_certificate/api_if/203 → wiliot_certificate-1.5.1a1/src/gw_certificate/api_if/202}/logs.json +0 -0
  172. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/gw_certificate/api_if/202/status.json +0 -0
  173. {wiliot_certificate-1.5.0a1/src/gw_certificate/api_if/204 → wiliot_certificate-1.5.1a1/src/gw_certificate/api_if/203}/data.json +0 -0
  174. {wiliot_certificate-1.5.0a1/src/gw_certificate/api_if/202 → wiliot_certificate-1.5.1a1/src/gw_certificate/api_if/203}/logs.json +0 -0
  175. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/gw_certificate/api_if/203/status.json +0 -0
  176. {wiliot_certificate-1.5.0a1/src/gw_certificate/api_if/203 → wiliot_certificate-1.5.1a1/src/gw_certificate/api_if/204}/data.json +0 -0
  177. {wiliot_certificate-1.5.0a1/src/gw_certificate/api_if/201 → wiliot_certificate-1.5.1a1/src/gw_certificate/api_if/204}/logs.json +0 -0
  178. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/gw_certificate/api_if/204/status.json +0 -0
  179. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/gw_certificate/api_if/205/data.json +0 -0
  180. {wiliot_certificate-1.5.0a1/src/gw_certificate/api_if/200 → wiliot_certificate-1.5.1a1/src/gw_certificate/api_if/205}/logs.json +0 -0
  181. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/gw_certificate/api_if/205/status.json +0 -0
  182. {wiliot_certificate-1.5.0a1/src/gw_certificate → wiliot_certificate-1.5.1a1/src/gw_certificate/api_if}/__init__.py +0 -0
  183. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/gw_certificate/api_if/api_validation.py +0 -0
  184. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/gw_certificate/api_if/gw_capabilities.py +0 -0
  185. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/gw_certificate/common/analysis_data_bricks.py +0 -0
  186. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/gw_certificate/common/debug.py +0 -0
  187. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/gw_certificate/common/utils.py +0 -0
  188. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/gw_certificate/common/utils_defines.py +0 -0
  189. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/gw_certificate/common/wltPb_pb2.py +0 -0
  190. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/gw_certificate/common/wltPb_pb2.pyi +0 -0
  191. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/gw_certificate/interface/4.4.52_app.zip +0 -0
  192. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/gw_certificate/interface/4.4.52_sd_bl_app.zip +0 -0
  193. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/gw_certificate/interface/ble_simulator.py +0 -0
  194. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/gw_certificate/interface/ble_sniffer.py +0 -0
  195. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/gw_certificate/interface/if_defines.py +0 -0
  196. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/gw_certificate/interface/mqtt.py +0 -0
  197. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/gw_certificate/interface/nrfutil-linux +0 -0
  198. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/gw_certificate/interface/nrfutil-mac +0 -0
  199. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/gw_certificate/interface/nrfutil.exe +0 -0
  200. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/gw_certificate/interface/pkt_generator.py +0 -0
  201. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/gw_certificate/interface/uart_ports.py +0 -0
  202. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/gw_certificate/templates/results.html +0 -0
  203. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/gw_certificate/templates/stage.html +0 -0
  204. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/gw_certificate/templates/table.html +0 -0
  205. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/gw_certificate/templates/test.html +0 -0
  206. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/gw_certificate/tests/__init__.py +0 -0
  207. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/gw_certificate/tests/bad_crc_to_PER_quantization.csv +0 -0
  208. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/gw_certificate/tests/connection.py +0 -0
  209. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/gw_certificate/tests/downlink.py +0 -0
  210. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/gw_certificate/tests/generic.py +0 -0
  211. {wiliot_certificate-1.5.0a1/src/brg_certificate → wiliot_certificate-1.5.1a1/src/gw_certificate/tests/static}/__init__.py +0 -0
  212. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/gw_certificate/tests/static/connection_defines.py +0 -0
  213. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/gw_certificate/tests/static/downlink_defines.py +0 -0
  214. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/gw_certificate/tests/static/generated_packet_table.py +0 -0
  215. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/gw_certificate/tests/static/packet_table.csv +0 -0
  216. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/gw_certificate/tests/static/references.py +0 -0
  217. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/gw_certificate/tests/static/uplink_defines.py +0 -0
  218. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/gw_certificate/tests/throughput.py +0 -0
  219. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/wiliot_certificate.egg-info/dependency_links.txt +0 -0
  220. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/wiliot_certificate.egg-info/entry_points.txt +0 -0
  221. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/wiliot_certificate.egg-info/requires.txt +0 -0
  222. {wiliot_certificate-1.5.0a1 → wiliot_certificate-1.5.1a1}/src/wiliot_certificate.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.2
1
+ Metadata-Version: 2.4
2
2
  Name: wiliot_certificate
3
- Version: 1.5.0a1
3
+ Version: 1.5.1a1
4
4
  Summary: A library for certifying Wiliot-compliant boards
5
5
  Author-email: Wiliot <support@wiliot.com>
6
6
  License: MIT License
@@ -50,13 +50,14 @@ Requires-Dist: statsmodels>=0.14.4
50
50
  Requires-Dist: pyserial>=3.5
51
51
  Requires-Dist: reportlab>=4.3.1
52
52
  Requires-Dist: google-api-python-client>=2.162.0
53
+ Dynamic: license-file
53
54
 
54
55
  # wiliot-certificate
55
56
 
56
57
  <!-- Description -->
57
58
  wiliot-certificate is a python library with tools used to test & certify boards and their compatibility with Wiliot's echosystem.
58
59
  This python package includes the following CLI utilities:
59
- - Gateway Certificate (`wlt-gw-certificate`)
60
+ - Gateway Certificate (`wlt-cert-gw`)
60
61
  - Bridge Certificate (`wlt-cert-brg`)
61
62
 
62
63
  ## Installing wiliot-certificate
@@ -85,20 +86,23 @@ Processes status packet sent by the GW to the MQTT Broker and validates it accor
85
86
  Simulates Wiliot MEL and validates that data is uploaded correctly to the cloud.
86
87
 
87
88
  #### Downlink Test
88
- Sends advertising actions (txPacket) via MQTT to the GW and validates their advertisements.
89
+ Publishes advertising actions (txPacket) via MQTT to the GW and validates their advertisements.
90
+
91
+ #### Actions Test
92
+ Publishes different actions via MQTT to the GW and validates the outcome.
89
93
 
90
94
  #### Stress Test
91
- Increments time delays between packets to evaluate GW's capability in handling increasing packets per second rates.
95
+ Advertise Wiliot packets with incrementing delays to evaluate GW's capability in handling different packets-per-second rates.
92
96
 
93
97
  #### GW Certificate Release Notes:
94
- 1.4.0:
95
- - Released in a standalone wiliot-certificate package
98
+ Release:
99
+ - Standalone wiliot-certificate package
96
100
  - Python 3.13 support
97
101
  - Gw API version 205 support
98
102
  - Registration test added
99
103
  - Bridge OTA stage added under actions
100
104
  - Aggregation flag supported by StressTest
101
- - -update flag compatibility fix. Upgrades bootloader as well
105
+ - -update flag compatibility fix. Upgrades bootloader if needed
102
106
  - -actions flag to select specific actions to test
103
107
 
104
108
  ```
@@ -3,7 +3,7 @@
3
3
  <!-- Description -->
4
4
  wiliot-certificate is a python library with tools used to test & certify boards and their compatibility with Wiliot's echosystem.
5
5
  This python package includes the following CLI utilities:
6
- - Gateway Certificate (`wlt-gw-certificate`)
6
+ - Gateway Certificate (`wlt-cert-gw`)
7
7
  - Bridge Certificate (`wlt-cert-brg`)
8
8
 
9
9
  ## Installing wiliot-certificate
@@ -32,20 +32,23 @@ Processes status packet sent by the GW to the MQTT Broker and validates it accor
32
32
  Simulates Wiliot MEL and validates that data is uploaded correctly to the cloud.
33
33
 
34
34
  #### Downlink Test
35
- Sends advertising actions (txPacket) via MQTT to the GW and validates their advertisements.
35
+ Publishes advertising actions (txPacket) via MQTT to the GW and validates their advertisements.
36
+
37
+ #### Actions Test
38
+ Publishes different actions via MQTT to the GW and validates the outcome.
36
39
 
37
40
  #### Stress Test
38
- Increments time delays between packets to evaluate GW's capability in handling increasing packets per second rates.
41
+ Advertise Wiliot packets with incrementing delays to evaluate GW's capability in handling different packets-per-second rates.
39
42
 
40
43
  #### GW Certificate Release Notes:
41
- 1.4.0:
42
- - Released in a standalone wiliot-certificate package
44
+ Release:
45
+ - Standalone wiliot-certificate package
43
46
  - Python 3.13 support
44
47
  - Gw API version 205 support
45
48
  - Registration test added
46
49
  - Bridge OTA stage added under actions
47
50
  - Aggregation flag supported by StressTest
48
- - -update flag compatibility fix. Upgrades bootloader as well
51
+ - -update flag compatibility fix. Upgrades bootloader if needed
49
52
  - -actions flag to select specific actions to test
50
53
 
51
54
  ```
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "wiliot_certificate"
7
- version = "1.5.0a1"
7
+ version = "1.5.1a1"
8
8
  authors = [
9
9
  { name="Wiliot", email="support@wiliot.com" }
10
10
  ]
@@ -3,7 +3,7 @@
3
3
  import bitstruct
4
4
  import binascii
5
5
  import tabulate
6
- from brg_certificate.ag.wlt_types_ag import API_VERSION_V0, API_VERSION_V1, API_VERSION_V2, API_VERSION_V5, API_VERSION_V6, API_VERSION_V7, API_VERSION_V8, API_VERSION_V9, API_VERSION_V10, API_VERSION_V11, API_VERSION_V12, API_VERSION_LATEST, MODULE_EMPTY, MODULE_GLOBAL, MODULE_IF, MODULE_DATAPATH, MODULE_ENERGY_2400, MODULE_ENERGY_SUB1G, MODULE_CALIBRATION, MODULE_PWR_MGMT, MODULE_EXT_SENSORS, MODULE_CUSTOM, SUB1G_ENERGY_PATTERN_NO_ENERGIZING, SUB1G_ENERGY_PATTERN_SINGLE_TONE_915000, SUB1G_ENERGY_PATTERN_FCC_HOPPING, SUB1G_ENERGY_PATTERN_JAPAN_1W, SUB1G_ENERGY_PATTERN_JAPAN_350MW, SUB1G_ENERGY_PATTERN_KOREA, SUB1G_ENERGY_PATTERN_SINGLE_TONE_916300, SUB1G_ENERGY_PATTERN_SINGLE_TONE_917500, SUB1G_ENERGY_PATTERN_AUSTRALIA, SUB1G_ENERGY_PATTERN_ISRAEL, SUB1G_ENERGY_PATTERN_NZ_HOPPING, SUB1G_ENERGY_PATTERN_LAST, CHANNEL_FREQ_37, CHANNEL_FREQ_38, CHANNEL_FREQ_39, CHANNEL_37, CHANNEL_38, CHANNEL_39, OUTPUT_POWER_2_4_NEG_12, OUTPUT_POWER_2_4_NEG_8, OUTPUT_POWER_2_4_NEG_4, OUTPUT_POWER_2_4_POS_0, OUTPUT_POWER_2_4_POS_2, OUTPUT_POWER_2_4_POS_3, OUTPUT_POWER_2_4_POS_4, OUTPUT_POWER_2_4_POS_5, OUTPUT_POWER_2_4_POS_6, OUTPUT_POWER_2_4_POS_7, OUTPUT_POWER_2_4_POS_8, RX_CHANNEL_37, RX_CHANNEL_38, RX_CHANNEL_39, RX_CHANNEL_10_250K, RX_CHANNEL_10_500K, RX_CHANNEL_V11_37, RX_CHANNEL_V11_38, RX_CHANNEL_V11_39, RX_CHANNEL_V11_4_1MBPS, RX_CHANNEL_V11_10_1MBPS, RX_CHANNEL_V11_4_2MBPS, RX_CHANNEL_V11_10_2MBPS, SECONDARY_RX_CHANNEL_10, SUB1G_OUTPUT_POWER_11, SUB1G_OUTPUT_POWER_14, SUB1G_OUTPUT_POWER_17, SUB1G_OUTPUT_POWER_19, SUB1G_OUTPUT_POWER_20, SUB1G_OUTPUT_POWER_23, SUB1G_OUTPUT_POWER_25, SUB1G_OUTPUT_POWER_26, SUB1G_OUTPUT_POWER_27, SUB1G_OUTPUT_POWER_29, SUB1G_OUTPUT_POWER_32, SUB1G_OUTPUT_POWER_PROFILE_14, SUB1G_OUTPUT_POWER_PROFILE_17, SUB1G_OUTPUT_POWER_PROFILE_20, SUB1G_OUTPUT_POWER_PROFILE_23, SUB1G_OUTPUT_POWER_PROFILE_26, SUB1G_OUTPUT_POWER_PROFILE_29, SUB1G_OUTPUT_POWER_PROFILE_32, SIGNAL_INDICATOR_REP_1, SIGNAL_INDICATOR_REP_2, SIGNAL_INDICATOR_REP_3, SIGNAL_INDICATOR_REP_4, SIGNAL_INDICATOR_SUB1G_REP_1, SIGNAL_INDICATOR_SUB1G_REP_2, SIGNAL_INDICATOR_SUB1G_REP_3, SIGNAL_INDICATOR_SUB1G_REP_4, SIGNAL_INDICATOR_REP_PROFILE_1, SIGNAL_INDICATOR_REP_PROFILE_2, SIGNAL_INDICATOR_REP_PROFILE_3, SIGNAL_INDICATOR_REP_PROFILE_4, SIGNAL_INDICATOR_SUB1G_REP_PROFILE_1, SIGNAL_INDICATOR_SUB1G_REP_PROFILE_2, SIGNAL_INDICATOR_SUB1G_REP_PROFILE_3, SIGNAL_INDICATOR_SUB1G_REP_PROFILE_4, BRG_DEFAULT_CALIBRATION_INTERVAL, BRG_DEFAULT_CALIBRATION_OUTPUT_POWER, BRG_DEFAULT_CALIBRATION_PATTERN, BRG_DEFAULT_DATAPATH_PATTERN, BRG_DEFAULT_PKT_FILTER, BRG_DEFAULT_RX_CHANNEL_OR_FREQ, BRG_DEFAULT_DATAPATH_OUTPUT_POWER, BRG_DEFAULT_TX_REPETITION, BRG_DEFAULT_PACER_INTERVAL, BRG_DEFAULT_RSSI_THRESHOLD, BRG_DEFAULT_RX_CHANNEL, BRG_DEFAULT_ENERGY_PATTERN_2_4, BRG_DEFAULT_ENERGY_DUTY_CYCLE_2_4, BRG_DEFAULT_OUTPUT_POWER_2_4, BRG_DEFAULT_SIGNAL_INDICATOR_REP, BRG_DEFAULT_SIGNAL_INDICATOR_REP_PROFILE, BRG_DEFAULT_SIGNAL_INDICATOR_CYCLE, BRG_DEFAULT_SUB1G_DUTY_CYCLE, BRG_DEFAULT_OUTPUT_POWER_SUB1G, BRG_DEFAULT_OUTPUT_POWER_SUB1G_PROFILE, BRG_DEFAULT_SUB1G_ENERGY_PATTERN, BRG_DEFAULT_SIGNAL_INDICATOR_SUB1G_REP, BRG_DEFAULT_SIGNAL_INDICATOR_SUB1G_REP_PROFILE, BRG_DEFAULT_SIGNAL_INDICATOR_SUB1G_CYCLE, BRG_DEFAULT_EXTERNAL_SENSOR_CFG, BRG_DEFAULT_TX_PERIOD, BRG_DEFAULT_TRANSMIT_TIME_SUB1G, BRG_DEFAULT_SUB1G_FREQ, BRG_DEFAULT_SUB1G_FREQ_PROFILE, BRG_DEFAULT_ENERGY_PATTERN_IDX_OLD, BRG_DEFAULT_RXTX_PERIOD, BRG_DEFAULT_PKT_TYPES_MASK, BRG_MGMT_MSG_TYPE_CFG_INFO, BRG_MGMT_MSG_TYPE_OTA_UPDATE, BRG_MGMT_MSG_TYPE_HB, BRG_MGMT_MSG_TYPE_REBOOT, BRG_MGMT_MSG_TYPE_LED_BLINK, BRG_MGMT_MSG_TYPE_CFG_SET, BRG_MGMT_MSG_TYPE_ACTION, BRG_MGMT_MSG_TYPE_BRG2BRG, BRG_MGMT_MSG_TYPE_HB_SLEEP, PWR_MGMT_DEFAULTS_LEDS_ON, PWR_MGMT_DEFAULTS_KEEP_ALIVE_PERIOD, PWR_MGMT_DEFAULTS_KEEP_ALIVE_SCAN, PWR_MGMT_DEFAULTS_ON_DURATION, PWR_MGMT_DEFAULTS_SLEEP_DURATION, LIS2DW12_DEFAULTS_PACKET_VERSION, LIS2DW12_DEFAULTS_STATE_THRESHOLD, LIS2DW12_DEFAULTS_WAKE_UP_DURATION, LIS2DW12_DEFAULTS_SLEEP_DURATION
6
+ from brg_certificate.ag.wlt_types_ag import API_VERSION_V0, API_VERSION_V1, API_VERSION_V2, API_VERSION_V5, API_VERSION_V6, API_VERSION_V7, API_VERSION_V8, API_VERSION_V9, API_VERSION_V10, API_VERSION_V11, API_VERSION_V12, API_VERSION_LATEST, MODULE_EMPTY, MODULE_GLOBAL, MODULE_IF, MODULE_DATAPATH, MODULE_ENERGY_2400, MODULE_ENERGY_SUB1G, MODULE_CALIBRATION, MODULE_PWR_MGMT, MODULE_EXT_SENSORS, MODULE_CUSTOM, SUB1G_ENERGY_PATTERN_NO_ENERGIZING, SUB1G_ENERGY_PATTERN_SINGLE_TONE_915000, SUB1G_ENERGY_PATTERN_FCC_HOPPING, SUB1G_ENERGY_PATTERN_JAPAN_1W, SUB1G_ENERGY_PATTERN_JAPAN_350MW, SUB1G_ENERGY_PATTERN_KOREA, SUB1G_ENERGY_PATTERN_SINGLE_TONE_916300, SUB1G_ENERGY_PATTERN_SINGLE_TONE_917500, SUB1G_ENERGY_PATTERN_AUSTRALIA, SUB1G_ENERGY_PATTERN_ISRAEL, SUB1G_ENERGY_PATTERN_NZ_HOPPING, SUB1G_ENERGY_PATTERN_LAST, CHANNEL_FREQ_37, CHANNEL_FREQ_38, CHANNEL_FREQ_39, CHANNEL_37, CHANNEL_38, CHANNEL_39, OUTPUT_POWER_2_4_NEG_12, OUTPUT_POWER_2_4_NEG_8, OUTPUT_POWER_2_4_NEG_4, OUTPUT_POWER_2_4_POS_0, OUTPUT_POWER_2_4_POS_2, OUTPUT_POWER_2_4_POS_3, OUTPUT_POWER_2_4_POS_4, OUTPUT_POWER_2_4_POS_5, OUTPUT_POWER_2_4_POS_6, OUTPUT_POWER_2_4_POS_7, OUTPUT_POWER_2_4_POS_8, RX_CHANNEL_37, RX_CHANNEL_38, RX_CHANNEL_39, RX_CHANNEL_10_250K, RX_CHANNEL_10_500K, RX_CHANNEL_V11_37, RX_CHANNEL_V11_38, RX_CHANNEL_V11_39, RX_CHANNEL_V11_4_1MBPS, RX_CHANNEL_V11_10_1MBPS, RX_CHANNEL_V11_4_2MBPS, RX_CHANNEL_V11_10_2MBPS, SECONDARY_RX_CHANNEL_10, SUB1G_OUTPUT_POWER_11, SUB1G_OUTPUT_POWER_14, SUB1G_OUTPUT_POWER_17, SUB1G_OUTPUT_POWER_19, SUB1G_OUTPUT_POWER_20, SUB1G_OUTPUT_POWER_23, SUB1G_OUTPUT_POWER_25, SUB1G_OUTPUT_POWER_26, SUB1G_OUTPUT_POWER_27, SUB1G_OUTPUT_POWER_29, SUB1G_OUTPUT_POWER_32, SUB1G_OUTPUT_POWER_PROFILE_14, SUB1G_OUTPUT_POWER_PROFILE_17, SUB1G_OUTPUT_POWER_PROFILE_20, SUB1G_OUTPUT_POWER_PROFILE_23, SUB1G_OUTPUT_POWER_PROFILE_26, SUB1G_OUTPUT_POWER_PROFILE_29, SUB1G_OUTPUT_POWER_PROFILE_32, SIGNAL_INDICATOR_REP_1, SIGNAL_INDICATOR_REP_2, SIGNAL_INDICATOR_REP_3, SIGNAL_INDICATOR_REP_4, SIGNAL_INDICATOR_SUB1G_REP_1, SIGNAL_INDICATOR_SUB1G_REP_2, SIGNAL_INDICATOR_SUB1G_REP_3, SIGNAL_INDICATOR_SUB1G_REP_4, SIGNAL_INDICATOR_REP_PROFILE_1, SIGNAL_INDICATOR_REP_PROFILE_2, SIGNAL_INDICATOR_REP_PROFILE_3, SIGNAL_INDICATOR_REP_PROFILE_4, SIGNAL_INDICATOR_SUB1G_REP_PROFILE_1, SIGNAL_INDICATOR_SUB1G_REP_PROFILE_2, SIGNAL_INDICATOR_SUB1G_REP_PROFILE_3, SIGNAL_INDICATOR_SUB1G_REP_PROFILE_4, BRG_DEFAULT_CALIBRATION_INTERVAL, BRG_DEFAULT_CALIBRATION_OUTPUT_POWER, BRG_DEFAULT_CALIBRATION_PATTERN, BRG_DEFAULT_DATAPATH_PATTERN, BRG_DEFAULT_PKT_FILTER, BRG_DEFAULT_RX_CHANNEL_OR_FREQ, BRG_DEFAULT_DATAPATH_OUTPUT_POWER, BRG_DEFAULT_TX_REPETITION, BRG_DEFAULT_PACER_INTERVAL, BRG_DEFAULT_RSSI_THRESHOLD, BRG_DEFAULT_RX_CHANNEL, BRG_DEFAULT_ENERGY_PATTERN_2_4, BRG_DEFAULT_ENERGY_DUTY_CYCLE_2_4, BRG_DEFAULT_OUTPUT_POWER_2_4, BRG_DEFAULT_SIGNAL_INDICATOR_REP, BRG_DEFAULT_SIGNAL_INDICATOR_REP_PROFILE, BRG_DEFAULT_SIGNAL_INDICATOR_CYCLE, BRG_DEFAULT_SUB1G_DUTY_CYCLE, BRG_DEFAULT_OUTPUT_POWER_SUB1G, BRG_DEFAULT_OUTPUT_POWER_SUB1G_PROFILE, BRG_DEFAULT_SUB1G_ENERGY_PATTERN, BRG_DEFAULT_SIGNAL_INDICATOR_SUB1G_REP, BRG_DEFAULT_SIGNAL_INDICATOR_SUB1G_REP_PROFILE, BRG_DEFAULT_SIGNAL_INDICATOR_SUB1G_CYCLE, BRG_DEFAULT_EXTERNAL_SENSOR_CFG, BRG_DEFAULT_TX_PERIOD, BRG_DEFAULT_TRANSMIT_TIME_SUB1G, BRG_DEFAULT_SUB1G_FREQ, BRG_DEFAULT_SUB1G_FREQ_PROFILE, BRG_DEFAULT_ENERGY_PATTERN_IDX_OLD, BRG_DEFAULT_RXTX_PERIOD, BRG_DEFAULT_PKT_TYPES_MASK, BRG_MGMT_MSG_TYPE_CFG_INFO, BRG_MGMT_MSG_TYPE_OTA_UPDATE, BRG_MGMT_MSG_TYPE_HB, BRG_MGMT_MSG_TYPE_REBOOT, BRG_MGMT_MSG_TYPE_CFG_SET, BRG_MGMT_MSG_TYPE_ACTION, BRG_MGMT_MSG_TYPE_BRG2BRG, BRG_MGMT_MSG_TYPE_HB_SLEEP, PWR_MGMT_DEFAULTS_LEDS_ON, PWR_MGMT_DEFAULTS_KEEP_ALIVE_PERIOD, PWR_MGMT_DEFAULTS_KEEP_ALIVE_SCAN, PWR_MGMT_DEFAULTS_ON_DURATION, PWR_MGMT_DEFAULTS_SLEEP_DURATION, LIS2DW12_DEFAULTS_PACKET_VERSION, LIS2DW12_DEFAULTS_STATE_THRESHOLD, LIS2DW12_DEFAULTS_WAKE_UP_DURATION, LIS2DW12_DEFAULTS_SLEEP_DURATION
7
7
 
8
8
  # Board Overwritten defines
9
9
  BRG_DEFAULT_CALIBRATION_OUTPUT_POWER = OUTPUT_POWER_2_4_POS_3
@@ -36,7 +36,7 @@ class ModuleIfV12():
36
36
  self.set(raw)
37
37
 
38
38
  def __repr__(self) -> str:
39
- return "\n==> Packet module_if_v12 <==\n" + tabulate.tabulate([['module_type', f"0x{self.module_type:X} ({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")
39
+ return "\n==> Packet module_if_v12 <==\n" + tabulate.tabulate([['module_type', f"0x{self.module_type:X}", self.module_type],['msg_type', f"0x{self.msg_type:X}", self.msg_type],['api_version', f"0x{self.api_version:X}", self.api_version],['seq_id', f"0x{self.seq_id:X}", self.seq_id],['brg_mac', f"0x{self.brg_mac:X}", self.brg_mac],['board_type', f"0x{self.board_type:X}", self.board_type],['bl_version', f"0x{self.bl_version:X}", self.bl_version],['major_ver', f"0x{self.major_ver:X}", self.major_ver],['minor_ver', f"0x{self.minor_ver:X}", self.minor_ver],['patch_ver', f"0x{self.patch_ver:X}", self.patch_ver],['sup_cap_glob', f"0x{self.sup_cap_glob:X}", self.sup_cap_glob],['sup_cap_datapath', f"0x{self.sup_cap_datapath:X}", self.sup_cap_datapath],['sup_cap_energy2400', f"0x{self.sup_cap_energy2400:X}", self.sup_cap_energy2400],['sup_cap_energy_sub1g', f"0x{self.sup_cap_energy_sub1g:X}", self.sup_cap_energy_sub1g],['sup_cap_calibration', f"0x{self.sup_cap_calibration:X}", self.sup_cap_calibration],['sup_cap_pwr_mgmt', f"0x{self.sup_cap_pwr_mgmt:X}", self.sup_cap_pwr_mgmt],['sup_cap_sensors', f"0x{self.sup_cap_sensors:X}", self.sup_cap_sensors],['sup_cap_custom', f"0x{self.sup_cap_custom:X}", self.sup_cap_custom],['cfg_hash', f"0x{self.cfg_hash:X}", self.cfg_hash]], tablefmt="texttable")
40
40
 
41
41
  def __eq__(self, other):
42
42
  if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
@@ -115,7 +115,7 @@ class ModuleIfV11():
115
115
  self.set(raw)
116
116
 
117
117
  def __repr__(self) -> str:
118
- return "\n==> Packet module_if_v11 <==\n" + tabulate.tabulate([['module_type', f"0x{self.module_type:X} ({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")
118
+ return "\n==> Packet module_if_v11 <==\n" + tabulate.tabulate([['module_type', f"0x{self.module_type:X}", self.module_type],['msg_type', f"0x{self.msg_type:X}", self.msg_type],['api_version', f"0x{self.api_version:X}", self.api_version],['seq_id', f"0x{self.seq_id:X}", self.seq_id],['brg_mac', f"0x{self.brg_mac:X}", self.brg_mac],['board_type', f"0x{self.board_type:X}", self.board_type],['bl_version', f"0x{self.bl_version:X}", self.bl_version],['major_ver', f"0x{self.major_ver:X}", self.major_ver],['minor_ver', f"0x{self.minor_ver:X}", self.minor_ver],['patch_ver', f"0x{self.patch_ver:X}", self.patch_ver],['sup_cap_glob', f"0x{self.sup_cap_glob:X}", self.sup_cap_glob],['sup_cap_datapath', f"0x{self.sup_cap_datapath:X}", self.sup_cap_datapath],['sup_cap_energy2400', f"0x{self.sup_cap_energy2400:X}", self.sup_cap_energy2400],['sup_cap_energy_sub1g', f"0x{self.sup_cap_energy_sub1g:X}", self.sup_cap_energy_sub1g],['sup_cap_calibration', f"0x{self.sup_cap_calibration:X}", self.sup_cap_calibration],['sup_cap_pwr_mgmt', f"0x{self.sup_cap_pwr_mgmt:X}", self.sup_cap_pwr_mgmt],['sup_cap_sensors', f"0x{self.sup_cap_sensors:X}", self.sup_cap_sensors],['sup_cap_custom', f"0x{self.sup_cap_custom:X}", self.sup_cap_custom],['cfg_hash', f"0x{self.cfg_hash:X}", self.cfg_hash]], tablefmt="texttable")
119
119
 
120
120
  def __eq__(self, other):
121
121
  if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
@@ -184,7 +184,7 @@ class ModuleCalibrationV12():
184
184
  self.set(raw)
185
185
 
186
186
  def __repr__(self) -> str:
187
- return "\n==> Packet module_calibration_v12 <==\n" + tabulate.tabulate([['module_type', f"0x{self.module_type:X} ({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")
187
+ return "\n==> Packet module_calibration_v12 <==\n" + tabulate.tabulate([['module_type', f"0x{self.module_type:X}", self.module_type],['msg_type', f"0x{self.msg_type:X}", self.msg_type],['api_version', f"0x{self.api_version:X}", self.api_version],['seq_id', f"0x{self.seq_id:X}", self.seq_id],['brg_mac', f"0x{self.brg_mac:X}", self.brg_mac],['interval', f"0x{self.interval:X}", self.interval],['output_power', f"0x{self.output_power:X}", self.output_power],['pattern', f"0x{self.pattern:X}", self.pattern]], tablefmt="texttable")
188
188
 
189
189
  def __eq__(self, other):
190
190
  if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
@@ -232,7 +232,7 @@ class ModuleCalibrationV11():
232
232
  self.set(raw)
233
233
 
234
234
  def __repr__(self) -> str:
235
- return "\n==> Packet module_calibration_v11 <==\n" + tabulate.tabulate([['module_type', f"0x{self.module_type:X} ({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")
235
+ return "\n==> Packet module_calibration_v11 <==\n" + tabulate.tabulate([['module_type', f"0x{self.module_type:X}", self.module_type],['msg_type', f"0x{self.msg_type:X}", self.msg_type],['api_version', f"0x{self.api_version:X}", self.api_version],['seq_id', f"0x{self.seq_id:X}", self.seq_id],['brg_mac', f"0x{self.brg_mac:X}", self.brg_mac],['interval', f"0x{self.interval:X}", self.interval],['output_power', f"0x{self.output_power:X}", self.output_power],['pattern', f"0x{self.pattern:X}", self.pattern]], tablefmt="texttable")
236
236
 
237
237
  def __eq__(self, other):
238
238
  if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
@@ -283,7 +283,7 @@ class ModuleDatapathV12():
283
283
  self.set(raw)
284
284
 
285
285
  def __repr__(self) -> str:
286
- return "\n==> Packet module_datapath_v12 <==\n" + tabulate.tabulate([['module_type', f"0x{self.module_type:X} ({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")
286
+ return "\n==> Packet module_datapath_v12 <==\n" + tabulate.tabulate([['module_type', f"0x{self.module_type:X}", self.module_type],['msg_type', f"0x{self.msg_type:X}", self.msg_type],['api_version', f"0x{self.api_version:X}", self.api_version],['seq_id', f"0x{self.seq_id:X}", self.seq_id],['brg_mac', f"0x{self.brg_mac:X}", self.brg_mac],['rssi_threshold', f"0x{self.rssi_threshold:X}", self.rssi_threshold],['pacer_interval', f"0x{self.pacer_interval:X}", self.pacer_interval],['pkt_filter', f"0x{self.pkt_filter:X}", self.pkt_filter],['tx_repetition', f"0x{self.tx_repetition:X}", self.tx_repetition],['output_power', f"0x{self.output_power:X}", self.output_power],['pattern', f"0x{self.pattern:X}", self.pattern],['rx_channel', f"0x{self.rx_channel:X}", self.rx_channel]], tablefmt="texttable")
287
287
 
288
288
  def __eq__(self, other):
289
289
  if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
@@ -344,7 +344,7 @@ class ModuleDatapathV11():
344
344
  self.set(raw)
345
345
 
346
346
  def __repr__(self) -> str:
347
- return "\n==> Packet module_datapath_v11 <==\n" + tabulate.tabulate([['module_type', f"0x{self.module_type:X} ({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")
347
+ return "\n==> Packet module_datapath_v11 <==\n" + tabulate.tabulate([['module_type', f"0x{self.module_type:X}", self.module_type],['msg_type', f"0x{self.msg_type:X}", self.msg_type],['api_version', f"0x{self.api_version:X}", self.api_version],['seq_id', f"0x{self.seq_id:X}", self.seq_id],['brg_mac', f"0x{self.brg_mac:X}", self.brg_mac],['adaptive_pacer', f"0x{self.adaptive_pacer:X}", self.adaptive_pacer],['unified_echo_pkt', f"0x{self.unified_echo_pkt:X}", self.unified_echo_pkt],['pacer_interval', f"0x{self.pacer_interval:X}", self.pacer_interval],['pkt_filter', f"0x{self.pkt_filter:X}", self.pkt_filter],['tx_repetition', f"0x{self.tx_repetition:X}", self.tx_repetition],['output_power', f"0x{self.output_power:X}", self.output_power],['pattern', f"0x{self.pattern:X}", self.pattern],['rx_channel', f"0x{self.rx_channel:X}", self.rx_channel]], tablefmt="texttable")
348
348
 
349
349
  def __eq__(self, other):
350
350
  if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
@@ -406,7 +406,7 @@ class ModuleEnergy2400V12():
406
406
  self.set(raw)
407
407
 
408
408
  def __repr__(self) -> str:
409
- return "\n==> Packet module_energy_2400_v12 <==\n" + tabulate.tabulate([['module_type', f"0x{self.module_type:X} ({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")
409
+ return "\n==> Packet module_energy_2400_v12 <==\n" + tabulate.tabulate([['module_type', f"0x{self.module_type:X}", self.module_type],['msg_type', f"0x{self.msg_type:X}", self.msg_type],['api_version', f"0x{self.api_version:X}", self.api_version],['seq_id', f"0x{self.seq_id:X}", self.seq_id],['brg_mac', f"0x{self.brg_mac:X}", self.brg_mac],['duty_cycle', f"0x{self.duty_cycle:X}", self.duty_cycle],['pattern', f"0x{self.pattern:X}", self.pattern],['output_power', f"0x{self.output_power:X}", self.output_power],['signal_indicator_cycle', f"0x{self.signal_indicator_cycle:X}", self.signal_indicator_cycle],['signal_indicator_rep', f"0x{self.signal_indicator_rep:X}", self.signal_indicator_rep]], tablefmt="texttable")
410
410
 
411
411
  def __eq__(self, other):
412
412
  if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
@@ -460,7 +460,7 @@ class ModuleEnergy2400V11():
460
460
  self.set(raw)
461
461
 
462
462
  def __repr__(self) -> str:
463
- return "\n==> Packet module_energy_2400_v11 <==\n" + tabulate.tabulate([['module_type', f"0x{self.module_type:X} ({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")
463
+ return "\n==> Packet module_energy_2400_v11 <==\n" + tabulate.tabulate([['module_type', f"0x{self.module_type:X}", self.module_type],['msg_type', f"0x{self.msg_type:X}", self.msg_type],['api_version', f"0x{self.api_version:X}", self.api_version],['seq_id', f"0x{self.seq_id:X}", self.seq_id],['brg_mac', f"0x{self.brg_mac:X}", self.brg_mac],['duty_cycle', f"0x{self.duty_cycle:X}", self.duty_cycle],['pattern', f"0x{self.pattern:X}", self.pattern],['output_power', f"0x{self.output_power:X}", self.output_power],['signal_indicator_cycle', f"0x{self.signal_indicator_cycle:X}", self.signal_indicator_cycle],['signal_indicator_rep', f"0x{self.signal_indicator_rep:X}", self.signal_indicator_rep]], tablefmt="texttable")
464
464
 
465
465
  def __eq__(self, other):
466
466
  if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
@@ -513,7 +513,7 @@ class ModuleEnergySub1GV12():
513
513
  self.set(raw)
514
514
 
515
515
  def __repr__(self) -> str:
516
- return "\n==> Packet module_energy_sub1g_v12 <==\n" + tabulate.tabulate([['module_type', f"0x{self.module_type:X} ({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")
516
+ return "\n==> Packet module_energy_sub1g_v12 <==\n" + tabulate.tabulate([['module_type', f"0x{self.module_type:X}", self.module_type],['msg_type', f"0x{self.msg_type:X}", self.msg_type],['api_version', f"0x{self.api_version:X}", self.api_version],['seq_id', f"0x{self.seq_id:X}", self.seq_id],['brg_mac', f"0x{self.brg_mac:X}", self.brg_mac],['pattern', f"0x{self.pattern:X}", self.pattern],['duty_cycle', f"0x{self.duty_cycle:X}", self.duty_cycle],['signal_indicator_cycle', f"0x{self.signal_indicator_cycle:X}", self.signal_indicator_cycle],['signal_indicator_rep', f"0x{self.signal_indicator_rep:X}", self.signal_indicator_rep]], tablefmt="texttable")
517
517
 
518
518
  def __eq__(self, other):
519
519
  if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
@@ -568,7 +568,7 @@ class ModuleEnergySub1GV11():
568
568
  self.set(raw)
569
569
 
570
570
  def __repr__(self) -> str:
571
- return "\n==> Packet module_energy_sub1g_v11 <==\n" + tabulate.tabulate([['module_type', f"0x{self.module_type:X} ({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")
571
+ return "\n==> Packet module_energy_sub1g_v11 <==\n" + tabulate.tabulate([['module_type', f"0x{self.module_type:X}", self.module_type],['msg_type', f"0x{self.msg_type:X}", self.msg_type],['api_version', f"0x{self.api_version:X}", self.api_version],['seq_id', f"0x{self.seq_id:X}", self.seq_id],['brg_mac', f"0x{self.brg_mac:X}", self.brg_mac],['output_power', f"0x{self.output_power:X}", self.output_power],['sub1g_energy_pattern', f"0x{self.sub1g_energy_pattern:X}", self.sub1g_energy_pattern],['cycle', f"0x{self.cycle:X}", self.cycle],['duty_cycle', f"0x{self.duty_cycle:X}", self.duty_cycle],['signal_indicator_cycle', f"0x{self.signal_indicator_cycle:X}", self.signal_indicator_cycle],['signal_indicator_rep', f"0x{self.signal_indicator_rep:X}", self.signal_indicator_rep]], tablefmt="texttable")
572
572
 
573
573
  def __eq__(self, other):
574
574
  if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
@@ -627,7 +627,7 @@ class ModulePwrMgmtV12():
627
627
  self.set(raw)
628
628
 
629
629
  def __repr__(self) -> str:
630
- return "\n==> Packet module_pwr_mgmt_v12 <==\n" + tabulate.tabulate([['module_type', f"0x{self.module_type:X} ({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")
630
+ return "\n==> Packet module_pwr_mgmt_v12 <==\n" + tabulate.tabulate([['module_type', f"0x{self.module_type:X}", self.module_type],['msg_type', f"0x{self.msg_type:X}", self.msg_type],['api_version', f"0x{self.api_version:X}", self.api_version],['seq_id', f"0x{self.seq_id:X}", self.seq_id],['brg_mac', f"0x{self.brg_mac:X}", self.brg_mac],['static_leds_on', f"0x{self.static_leds_on:X}", self.static_leds_on],['static_keep_alive_period', f"0x{self.static_keep_alive_period:X}", self.static_keep_alive_period],['static_keep_alive_scan', f"0x{self.static_keep_alive_scan:X}", self.static_keep_alive_scan],['static_on_duration', f"0x{self.static_on_duration:X}", self.static_on_duration],['static_sleep_duration', f"0x{self.static_sleep_duration:X}", self.static_sleep_duration],['dynamic_leds_on', f"0x{self.dynamic_leds_on:X}", self.dynamic_leds_on],['dynamic_keep_alive_period', f"0x{self.dynamic_keep_alive_period:X}", self.dynamic_keep_alive_period],['dynamic_keep_alive_scan', f"0x{self.dynamic_keep_alive_scan:X}", self.dynamic_keep_alive_scan],['dynamic_on_duration', f"0x{self.dynamic_on_duration:X}", self.dynamic_on_duration],['dynamic_sleep_duration', f"0x{self.dynamic_sleep_duration:X}", self.dynamic_sleep_duration]], tablefmt="texttable")
631
631
 
632
632
  def __eq__(self, other):
633
633
  if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
@@ -694,7 +694,7 @@ class ModulePwrMgmtV11():
694
694
  self.set(raw)
695
695
 
696
696
  def __repr__(self) -> str:
697
- return "\n==> Packet module_pwr_mgmt_v11 <==\n" + tabulate.tabulate([['module_type', f"0x{self.module_type:X} ({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")
697
+ return "\n==> Packet module_pwr_mgmt_v11 <==\n" + tabulate.tabulate([['module_type', f"0x{self.module_type:X}", self.module_type],['msg_type', f"0x{self.msg_type:X}", self.msg_type],['api_version', f"0x{self.api_version:X}", self.api_version],['seq_id', f"0x{self.seq_id:X}", self.seq_id],['brg_mac', f"0x{self.brg_mac:X}", self.brg_mac],['static_leds_on', f"0x{self.static_leds_on:X}", self.static_leds_on],['static_keep_alive_period', f"0x{self.static_keep_alive_period:X}", self.static_keep_alive_period],['static_keep_alive_scan', f"0x{self.static_keep_alive_scan:X}", self.static_keep_alive_scan],['static_on_duration', f"0x{self.static_on_duration:X}", self.static_on_duration],['static_sleep_duration', f"0x{self.static_sleep_duration:X}", self.static_sleep_duration],['dynamic_leds_on', f"0x{self.dynamic_leds_on:X}", self.dynamic_leds_on],['dynamic_keep_alive_period', f"0x{self.dynamic_keep_alive_period:X}", self.dynamic_keep_alive_period],['dynamic_keep_alive_scan', f"0x{self.dynamic_keep_alive_scan:X}", self.dynamic_keep_alive_scan],['dynamic_on_duration', f"0x{self.dynamic_on_duration:X}", self.dynamic_on_duration],['dynamic_sleep_duration', f"0x{self.dynamic_sleep_duration:X}", self.dynamic_sleep_duration]], tablefmt="texttable")
698
698
 
699
699
  def __eq__(self, other):
700
700
  if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
@@ -755,7 +755,7 @@ class ModuleExtSensorsV12():
755
755
  self.set(raw)
756
756
 
757
757
  def __repr__(self) -> str:
758
- return "\n==> Packet module_ext_sensors_v12 <==\n" + tabulate.tabulate([['module_type', f"0x{self.module_type:X} ({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")
758
+ return "\n==> Packet module_ext_sensors_v12 <==\n" + tabulate.tabulate([['module_type', f"0x{self.module_type:X}", self.module_type],['msg_type', f"0x{self.msg_type:X}", self.msg_type],['api_version', f"0x{self.api_version:X}", self.api_version],['seq_id', f"0x{self.seq_id:X}", self.seq_id],['brg_mac', f"0x{self.brg_mac:X}", self.brg_mac],['sensor0', f"0x{self.sensor0:X}", self.sensor0],['sensor1', f"0x{self.sensor1:X}", self.sensor1],['rssi_threshold', f"0x{self.rssi_threshold:X}", self.rssi_threshold],['sub1g_rssi_threshold', f"0x{self.sub1g_rssi_threshold:X}", self.sub1g_rssi_threshold]], tablefmt="texttable")
759
759
 
760
760
  def __eq__(self, other):
761
761
  if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
@@ -802,7 +802,7 @@ class ModuleExtSensorsV11():
802
802
  self.set(raw)
803
803
 
804
804
  def __repr__(self) -> str:
805
- return "\n==> Packet module_ext_sensors_v11 <==\n" + tabulate.tabulate([['module_type', f"0x{self.module_type:X} ({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")
805
+ return "\n==> Packet module_ext_sensors_v11 <==\n" + tabulate.tabulate([['module_type', f"0x{self.module_type:X}", self.module_type],['msg_type', f"0x{self.msg_type:X}", self.msg_type],['api_version', f"0x{self.api_version:X}", self.api_version],['seq_id', f"0x{self.seq_id:X}", self.seq_id],['brg_mac', f"0x{self.brg_mac:X}", self.brg_mac],['sensor0', f"0x{self.sensor0:X}", self.sensor0],['sensor1', f"0x{self.sensor1:X}", self.sensor1]], tablefmt="texttable")
806
806
 
807
807
  def __eq__(self, other):
808
808
  if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
@@ -846,7 +846,7 @@ class ModuleCustomV12():
846
846
  self.set(raw)
847
847
 
848
848
  def __repr__(self) -> str:
849
- return "\n==> Packet module_custom_v12 <==\n" + tabulate.tabulate([['module_type', f"0x{self.module_type:X} ({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")
849
+ return "\n==> Packet module_custom_v12 <==\n" + tabulate.tabulate([['module_type', f"0x{self.module_type:X}", self.module_type],['msg_type', f"0x{self.msg_type:X}", self.msg_type],['api_version', f"0x{self.api_version:X}", self.api_version],['seq_id', f"0x{self.seq_id:X}", self.seq_id],['brg_mac', f"0x{self.brg_mac:X}", self.brg_mac],['motion_sensitivity_threshold', f"0x{self.motion_sensitivity_threshold:X}", self.motion_sensitivity_threshold],['s2d_transition_time', f"0x{self.s2d_transition_time:X}", self.s2d_transition_time],['d2s_transition_time', f"0x{self.d2s_transition_time:X}", self.d2s_transition_time]], tablefmt="texttable")
850
850
 
851
851
  def __eq__(self, other):
852
852
  if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
@@ -892,7 +892,7 @@ class ModuleCustomV11():
892
892
  self.set(raw)
893
893
 
894
894
  def __repr__(self) -> str:
895
- return "\n==> Packet module_custom_v11 <==\n" + tabulate.tabulate([['module_type', f"0x{self.module_type:X} ({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")
895
+ return "\n==> Packet module_custom_v11 <==\n" + tabulate.tabulate([['module_type', f"0x{self.module_type:X}", self.module_type],['msg_type', f"0x{self.msg_type:X}", self.msg_type],['api_version', f"0x{self.api_version:X}", self.api_version],['seq_id', f"0x{self.seq_id:X}", self.seq_id],['brg_mac', f"0x{self.brg_mac:X}", self.brg_mac],['state_threshold', f"0x{self.state_threshold:X}", self.state_threshold],['wake_up_duration', f"0x{self.wake_up_duration:X}", self.wake_up_duration],['sleep_duration', f"0x{self.sleep_duration:X}", self.sleep_duration]], tablefmt="texttable")
896
896
 
897
897
  def __eq__(self, other):
898
898
  if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
@@ -3,7 +3,7 @@
3
3
  import bitstruct
4
4
  import binascii
5
5
  import tabulate
6
- from brg_certificate.ag.wlt_types_ag import API_VERSION_V0, API_VERSION_V1, API_VERSION_V2, API_VERSION_V5, API_VERSION_V6, API_VERSION_V7, API_VERSION_V8, API_VERSION_V9, API_VERSION_V10, API_VERSION_V11, API_VERSION_V12, API_VERSION_LATEST, MODULE_EMPTY, MODULE_GLOBAL, MODULE_IF, MODULE_DATAPATH, MODULE_ENERGY_2400, MODULE_ENERGY_SUB1G, MODULE_CALIBRATION, MODULE_PWR_MGMT, MODULE_EXT_SENSORS, MODULE_CUSTOM, SUB1G_ENERGY_PATTERN_NO_ENERGIZING, SUB1G_ENERGY_PATTERN_SINGLE_TONE_915000, SUB1G_ENERGY_PATTERN_FCC_HOPPING, SUB1G_ENERGY_PATTERN_JAPAN_1W, SUB1G_ENERGY_PATTERN_JAPAN_350MW, SUB1G_ENERGY_PATTERN_KOREA, SUB1G_ENERGY_PATTERN_SINGLE_TONE_916300, SUB1G_ENERGY_PATTERN_SINGLE_TONE_917500, SUB1G_ENERGY_PATTERN_AUSTRALIA, SUB1G_ENERGY_PATTERN_ISRAEL, SUB1G_ENERGY_PATTERN_NZ_HOPPING, SUB1G_ENERGY_PATTERN_LAST, CHANNEL_FREQ_37, CHANNEL_FREQ_38, CHANNEL_FREQ_39, CHANNEL_37, CHANNEL_38, CHANNEL_39, OUTPUT_POWER_2_4_NEG_12, OUTPUT_POWER_2_4_NEG_8, OUTPUT_POWER_2_4_NEG_4, OUTPUT_POWER_2_4_POS_0, OUTPUT_POWER_2_4_POS_2, OUTPUT_POWER_2_4_POS_3, OUTPUT_POWER_2_4_POS_4, OUTPUT_POWER_2_4_POS_5, OUTPUT_POWER_2_4_POS_6, OUTPUT_POWER_2_4_POS_7, OUTPUT_POWER_2_4_POS_8, RX_CHANNEL_37, RX_CHANNEL_38, RX_CHANNEL_39, RX_CHANNEL_10_250K, RX_CHANNEL_10_500K, RX_CHANNEL_V11_37, RX_CHANNEL_V11_38, RX_CHANNEL_V11_39, RX_CHANNEL_V11_4_1MBPS, RX_CHANNEL_V11_10_1MBPS, RX_CHANNEL_V11_4_2MBPS, RX_CHANNEL_V11_10_2MBPS, SECONDARY_RX_CHANNEL_10, SUB1G_OUTPUT_POWER_11, SUB1G_OUTPUT_POWER_14, SUB1G_OUTPUT_POWER_17, SUB1G_OUTPUT_POWER_19, SUB1G_OUTPUT_POWER_20, SUB1G_OUTPUT_POWER_23, SUB1G_OUTPUT_POWER_25, SUB1G_OUTPUT_POWER_26, SUB1G_OUTPUT_POWER_27, SUB1G_OUTPUT_POWER_29, SUB1G_OUTPUT_POWER_32, SUB1G_OUTPUT_POWER_PROFILE_14, SUB1G_OUTPUT_POWER_PROFILE_17, SUB1G_OUTPUT_POWER_PROFILE_20, SUB1G_OUTPUT_POWER_PROFILE_23, SUB1G_OUTPUT_POWER_PROFILE_26, SUB1G_OUTPUT_POWER_PROFILE_29, SUB1G_OUTPUT_POWER_PROFILE_32, SIGNAL_INDICATOR_REP_1, SIGNAL_INDICATOR_REP_2, SIGNAL_INDICATOR_REP_3, SIGNAL_INDICATOR_REP_4, SIGNAL_INDICATOR_SUB1G_REP_1, SIGNAL_INDICATOR_SUB1G_REP_2, SIGNAL_INDICATOR_SUB1G_REP_3, SIGNAL_INDICATOR_SUB1G_REP_4, SIGNAL_INDICATOR_REP_PROFILE_1, SIGNAL_INDICATOR_REP_PROFILE_2, SIGNAL_INDICATOR_REP_PROFILE_3, SIGNAL_INDICATOR_REP_PROFILE_4, SIGNAL_INDICATOR_SUB1G_REP_PROFILE_1, SIGNAL_INDICATOR_SUB1G_REP_PROFILE_2, SIGNAL_INDICATOR_SUB1G_REP_PROFILE_3, SIGNAL_INDICATOR_SUB1G_REP_PROFILE_4, BRG_DEFAULT_CALIBRATION_INTERVAL, BRG_DEFAULT_CALIBRATION_OUTPUT_POWER, BRG_DEFAULT_CALIBRATION_PATTERN, BRG_DEFAULT_DATAPATH_PATTERN, BRG_DEFAULT_PKT_FILTER, BRG_DEFAULT_RX_CHANNEL_OR_FREQ, BRG_DEFAULT_DATAPATH_OUTPUT_POWER, BRG_DEFAULT_TX_REPETITION, BRG_DEFAULT_PACER_INTERVAL, BRG_DEFAULT_RSSI_THRESHOLD, BRG_DEFAULT_RX_CHANNEL, BRG_DEFAULT_ENERGY_PATTERN_2_4, BRG_DEFAULT_ENERGY_DUTY_CYCLE_2_4, BRG_DEFAULT_OUTPUT_POWER_2_4, BRG_DEFAULT_SIGNAL_INDICATOR_REP, BRG_DEFAULT_SIGNAL_INDICATOR_REP_PROFILE, BRG_DEFAULT_SIGNAL_INDICATOR_CYCLE, BRG_DEFAULT_SUB1G_DUTY_CYCLE, BRG_DEFAULT_OUTPUT_POWER_SUB1G, BRG_DEFAULT_OUTPUT_POWER_SUB1G_PROFILE, BRG_DEFAULT_SUB1G_ENERGY_PATTERN, BRG_DEFAULT_SIGNAL_INDICATOR_SUB1G_REP, BRG_DEFAULT_SIGNAL_INDICATOR_SUB1G_REP_PROFILE, BRG_DEFAULT_SIGNAL_INDICATOR_SUB1G_CYCLE, BRG_DEFAULT_EXTERNAL_SENSOR_CFG, BRG_DEFAULT_TX_PERIOD, BRG_DEFAULT_TRANSMIT_TIME_SUB1G, BRG_DEFAULT_SUB1G_FREQ, BRG_DEFAULT_SUB1G_FREQ_PROFILE, BRG_DEFAULT_ENERGY_PATTERN_IDX_OLD, BRG_DEFAULT_RXTX_PERIOD, BRG_DEFAULT_PKT_TYPES_MASK, BRG_MGMT_MSG_TYPE_CFG_INFO, BRG_MGMT_MSG_TYPE_OTA_UPDATE, BRG_MGMT_MSG_TYPE_HB, BRG_MGMT_MSG_TYPE_REBOOT, BRG_MGMT_MSG_TYPE_LED_BLINK, BRG_MGMT_MSG_TYPE_CFG_SET, BRG_MGMT_MSG_TYPE_ACTION, BRG_MGMT_MSG_TYPE_BRG2BRG, BRG_MGMT_MSG_TYPE_HB_SLEEP, PWR_MGMT_DEFAULTS_LEDS_ON, PWR_MGMT_DEFAULTS_KEEP_ALIVE_PERIOD, PWR_MGMT_DEFAULTS_KEEP_ALIVE_SCAN, PWR_MGMT_DEFAULTS_ON_DURATION, PWR_MGMT_DEFAULTS_SLEEP_DURATION, LIS2DW12_DEFAULTS_PACKET_VERSION, LIS2DW12_DEFAULTS_STATE_THRESHOLD, LIS2DW12_DEFAULTS_WAKE_UP_DURATION, LIS2DW12_DEFAULTS_SLEEP_DURATION
6
+ from brg_certificate.ag.wlt_types_ag import API_VERSION_V0, API_VERSION_V1, API_VERSION_V2, API_VERSION_V5, API_VERSION_V6, API_VERSION_V7, API_VERSION_V8, API_VERSION_V9, API_VERSION_V10, API_VERSION_V11, API_VERSION_V12, API_VERSION_LATEST, MODULE_EMPTY, MODULE_GLOBAL, MODULE_IF, MODULE_DATAPATH, MODULE_ENERGY_2400, MODULE_ENERGY_SUB1G, MODULE_CALIBRATION, MODULE_PWR_MGMT, MODULE_EXT_SENSORS, MODULE_CUSTOM, SUB1G_ENERGY_PATTERN_NO_ENERGIZING, SUB1G_ENERGY_PATTERN_SINGLE_TONE_915000, SUB1G_ENERGY_PATTERN_FCC_HOPPING, SUB1G_ENERGY_PATTERN_JAPAN_1W, SUB1G_ENERGY_PATTERN_JAPAN_350MW, SUB1G_ENERGY_PATTERN_KOREA, SUB1G_ENERGY_PATTERN_SINGLE_TONE_916300, SUB1G_ENERGY_PATTERN_SINGLE_TONE_917500, SUB1G_ENERGY_PATTERN_AUSTRALIA, SUB1G_ENERGY_PATTERN_ISRAEL, SUB1G_ENERGY_PATTERN_NZ_HOPPING, SUB1G_ENERGY_PATTERN_LAST, CHANNEL_FREQ_37, CHANNEL_FREQ_38, CHANNEL_FREQ_39, CHANNEL_37, CHANNEL_38, CHANNEL_39, OUTPUT_POWER_2_4_NEG_12, OUTPUT_POWER_2_4_NEG_8, OUTPUT_POWER_2_4_NEG_4, OUTPUT_POWER_2_4_POS_0, OUTPUT_POWER_2_4_POS_2, OUTPUT_POWER_2_4_POS_3, OUTPUT_POWER_2_4_POS_4, OUTPUT_POWER_2_4_POS_5, OUTPUT_POWER_2_4_POS_6, OUTPUT_POWER_2_4_POS_7, OUTPUT_POWER_2_4_POS_8, RX_CHANNEL_37, RX_CHANNEL_38, RX_CHANNEL_39, RX_CHANNEL_10_250K, RX_CHANNEL_10_500K, RX_CHANNEL_V11_37, RX_CHANNEL_V11_38, RX_CHANNEL_V11_39, RX_CHANNEL_V11_4_1MBPS, RX_CHANNEL_V11_10_1MBPS, RX_CHANNEL_V11_4_2MBPS, RX_CHANNEL_V11_10_2MBPS, SECONDARY_RX_CHANNEL_10, SUB1G_OUTPUT_POWER_11, SUB1G_OUTPUT_POWER_14, SUB1G_OUTPUT_POWER_17, SUB1G_OUTPUT_POWER_19, SUB1G_OUTPUT_POWER_20, SUB1G_OUTPUT_POWER_23, SUB1G_OUTPUT_POWER_25, SUB1G_OUTPUT_POWER_26, SUB1G_OUTPUT_POWER_27, SUB1G_OUTPUT_POWER_29, SUB1G_OUTPUT_POWER_32, SUB1G_OUTPUT_POWER_PROFILE_14, SUB1G_OUTPUT_POWER_PROFILE_17, SUB1G_OUTPUT_POWER_PROFILE_20, SUB1G_OUTPUT_POWER_PROFILE_23, SUB1G_OUTPUT_POWER_PROFILE_26, SUB1G_OUTPUT_POWER_PROFILE_29, SUB1G_OUTPUT_POWER_PROFILE_32, SIGNAL_INDICATOR_REP_1, SIGNAL_INDICATOR_REP_2, SIGNAL_INDICATOR_REP_3, SIGNAL_INDICATOR_REP_4, SIGNAL_INDICATOR_SUB1G_REP_1, SIGNAL_INDICATOR_SUB1G_REP_2, SIGNAL_INDICATOR_SUB1G_REP_3, SIGNAL_INDICATOR_SUB1G_REP_4, SIGNAL_INDICATOR_REP_PROFILE_1, SIGNAL_INDICATOR_REP_PROFILE_2, SIGNAL_INDICATOR_REP_PROFILE_3, SIGNAL_INDICATOR_REP_PROFILE_4, SIGNAL_INDICATOR_SUB1G_REP_PROFILE_1, SIGNAL_INDICATOR_SUB1G_REP_PROFILE_2, SIGNAL_INDICATOR_SUB1G_REP_PROFILE_3, SIGNAL_INDICATOR_SUB1G_REP_PROFILE_4, BRG_DEFAULT_CALIBRATION_INTERVAL, BRG_DEFAULT_CALIBRATION_OUTPUT_POWER, BRG_DEFAULT_CALIBRATION_PATTERN, BRG_DEFAULT_DATAPATH_PATTERN, BRG_DEFAULT_PKT_FILTER, BRG_DEFAULT_RX_CHANNEL_OR_FREQ, BRG_DEFAULT_DATAPATH_OUTPUT_POWER, BRG_DEFAULT_TX_REPETITION, BRG_DEFAULT_PACER_INTERVAL, BRG_DEFAULT_RSSI_THRESHOLD, BRG_DEFAULT_RX_CHANNEL, BRG_DEFAULT_ENERGY_PATTERN_2_4, BRG_DEFAULT_ENERGY_DUTY_CYCLE_2_4, BRG_DEFAULT_OUTPUT_POWER_2_4, BRG_DEFAULT_SIGNAL_INDICATOR_REP, BRG_DEFAULT_SIGNAL_INDICATOR_REP_PROFILE, BRG_DEFAULT_SIGNAL_INDICATOR_CYCLE, BRG_DEFAULT_SUB1G_DUTY_CYCLE, BRG_DEFAULT_OUTPUT_POWER_SUB1G, BRG_DEFAULT_OUTPUT_POWER_SUB1G_PROFILE, BRG_DEFAULT_SUB1G_ENERGY_PATTERN, BRG_DEFAULT_SIGNAL_INDICATOR_SUB1G_REP, BRG_DEFAULT_SIGNAL_INDICATOR_SUB1G_REP_PROFILE, BRG_DEFAULT_SIGNAL_INDICATOR_SUB1G_CYCLE, BRG_DEFAULT_EXTERNAL_SENSOR_CFG, BRG_DEFAULT_TX_PERIOD, BRG_DEFAULT_TRANSMIT_TIME_SUB1G, BRG_DEFAULT_SUB1G_FREQ, BRG_DEFAULT_SUB1G_FREQ_PROFILE, BRG_DEFAULT_ENERGY_PATTERN_IDX_OLD, BRG_DEFAULT_RXTX_PERIOD, BRG_DEFAULT_PKT_TYPES_MASK, BRG_MGMT_MSG_TYPE_CFG_INFO, BRG_MGMT_MSG_TYPE_OTA_UPDATE, BRG_MGMT_MSG_TYPE_HB, BRG_MGMT_MSG_TYPE_REBOOT, BRG_MGMT_MSG_TYPE_CFG_SET, BRG_MGMT_MSG_TYPE_ACTION, BRG_MGMT_MSG_TYPE_BRG2BRG, BRG_MGMT_MSG_TYPE_HB_SLEEP, PWR_MGMT_DEFAULTS_LEDS_ON, PWR_MGMT_DEFAULTS_KEEP_ALIVE_PERIOD, PWR_MGMT_DEFAULTS_KEEP_ALIVE_SCAN, PWR_MGMT_DEFAULTS_ON_DURATION, PWR_MGMT_DEFAULTS_SLEEP_DURATION, LIS2DW12_DEFAULTS_PACKET_VERSION, LIS2DW12_DEFAULTS_STATE_THRESHOLD, LIS2DW12_DEFAULTS_WAKE_UP_DURATION, LIS2DW12_DEFAULTS_SLEEP_DURATION
7
7
 
8
8
  # Board Overwritten defines
9
9
  BRG_DEFAULT_CALIBRATION_OUTPUT_POWER = OUTPUT_POWER_2_4_POS_3
@@ -42,7 +42,7 @@ class ModuleIfV12():
42
42
  self.set(raw)
43
43
 
44
44
  def __repr__(self) -> str:
45
- 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")
45
+ 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")
46
46
 
47
47
  def __eq__(self, other):
48
48
  if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
@@ -121,7 +121,7 @@ class ModuleIfV11():
121
121
  self.set(raw)
122
122
 
123
123
  def __repr__(self) -> str:
124
- 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")
124
+ 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")
125
125
 
126
126
  def __eq__(self, other):
127
127
  if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
@@ -190,7 +190,7 @@ class ModuleCalibrationV12():
190
190
  self.set(raw)
191
191
 
192
192
  def __repr__(self) -> str:
193
- 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")
193
+ 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")
194
194
 
195
195
  def __eq__(self, other):
196
196
  if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
@@ -238,7 +238,7 @@ class ModuleCalibrationV11():
238
238
  self.set(raw)
239
239
 
240
240
  def __repr__(self) -> str:
241
- 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")
241
+ 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")
242
242
 
243
243
  def __eq__(self, other):
244
244
  if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
@@ -289,7 +289,7 @@ class ModuleDatapathV12():
289
289
  self.set(raw)
290
290
 
291
291
  def __repr__(self) -> str:
292
- 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")
292
+ 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")
293
293
 
294
294
  def __eq__(self, other):
295
295
  if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
@@ -350,7 +350,7 @@ class ModuleDatapathV11():
350
350
  self.set(raw)
351
351
 
352
352
  def __repr__(self) -> str:
353
- 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")
353
+ 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")
354
354
 
355
355
  def __eq__(self, other):
356
356
  if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
@@ -412,7 +412,7 @@ class ModuleEnergy2400V12():
412
412
  self.set(raw)
413
413
 
414
414
  def __repr__(self) -> str:
415
- 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")
415
+ 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")
416
416
 
417
417
  def __eq__(self, other):
418
418
  if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
@@ -466,7 +466,7 @@ class ModuleEnergy2400V11():
466
466
  self.set(raw)
467
467
 
468
468
  def __repr__(self) -> str:
469
- 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")
469
+ 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")
470
470
 
471
471
  def __eq__(self, other):
472
472
  if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
@@ -519,7 +519,7 @@ class ModuleEnergySub1GV12():
519
519
  self.set(raw)
520
520
 
521
521
  def __repr__(self) -> str:
522
- 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")
522
+ 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")
523
523
 
524
524
  def __eq__(self, other):
525
525
  if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
@@ -574,7 +574,7 @@ class ModuleEnergySub1GV11():
574
574
  self.set(raw)
575
575
 
576
576
  def __repr__(self) -> str:
577
- 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")
577
+ 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")
578
578
 
579
579
  def __eq__(self, other):
580
580
  if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
@@ -633,7 +633,7 @@ class ModulePwrMgmtV12():
633
633
  self.set(raw)
634
634
 
635
635
  def __repr__(self) -> str:
636
- 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")
636
+ 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")
637
637
 
638
638
  def __eq__(self, other):
639
639
  if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
@@ -700,7 +700,7 @@ class ModulePwrMgmtV11():
700
700
  self.set(raw)
701
701
 
702
702
  def __repr__(self) -> str:
703
- 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")
703
+ 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")
704
704
 
705
705
  def __eq__(self, other):
706
706
  if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
@@ -761,7 +761,7 @@ class ModuleExtSensorsV12():
761
761
  self.set(raw)
762
762
 
763
763
  def __repr__(self) -> str:
764
- 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")
764
+ 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")
765
765
 
766
766
  def __eq__(self, other):
767
767
  if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
@@ -808,7 +808,7 @@ class ModuleExtSensorsV11():
808
808
  self.set(raw)
809
809
 
810
810
  def __repr__(self) -> str:
811
- 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")
811
+ 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")
812
812
 
813
813
  def __eq__(self, other):
814
814
  if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
@@ -852,7 +852,7 @@ class ModuleCustomV12():
852
852
  self.set(raw)
853
853
 
854
854
  def __repr__(self) -> str:
855
- 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")
855
+ 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")
856
856
 
857
857
  def __eq__(self, other):
858
858
  if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):
@@ -898,7 +898,7 @@ class ModuleCustomV11():
898
898
  self.set(raw)
899
899
 
900
900
  def __repr__(self) -> str:
901
- 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")
901
+ 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")
902
902
 
903
903
  def __eq__(self, other):
904
904
  if other and set(other.__dict__.keys()) == set(self.__dict__.keys()):