wiliot-certificate 1.4.0a2__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 (223) hide show
  1. {wiliot_certificate-1.4.0a2/src/wiliot_certificate.egg-info → wiliot_certificate-1.5.1a1}/PKG-INFO +16 -10
  2. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/README.md +13 -8
  3. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/pyproject.toml +2 -1
  4. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/ag/energous_v0_defines.py +28 -28
  5. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/ag/energous_v1_defines.py +28 -28
  6. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/ag/energous_v2_defines.py +28 -28
  7. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/ag/energous_v3_defines.py +28 -28
  8. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/ag/energous_v4_defines.py +28 -28
  9. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/ag/fanstel_lan_v0_defines.py +28 -28
  10. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/ag/fanstel_lte_v0_defines.py +28 -28
  11. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/ag/fanstel_wifi_v0_defines.py +28 -28
  12. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/ag/minew_lte_v0_defines.py +28 -28
  13. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/ag/wlt_cmd_if.html +1 -1
  14. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/ag/wlt_types.html +3 -4
  15. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/ag/wlt_types_ag.py +162 -163
  16. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/brg_certificate.py +46 -12
  17. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/brg_certificate_cli.py +1 -0
  18. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/cert_common.py +31 -42
  19. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/cert_config.py +7 -5
  20. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/cert_data_sim.py +26 -4
  21. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/cert_defines.py +30 -3
  22. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/cert_gw_sim.py +12 -8
  23. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/cert_mqtt.py +10 -2
  24. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/cert_prints.py +7 -5
  25. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/cert_protobuf.py +5 -1
  26. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/cert_results.py +134 -84
  27. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/cert_utils.py +14 -17
  28. wiliot_certificate-1.5.1a1/src/brg_certificate/certificate_bcc_sanity_test_list.txt +35 -0
  29. wiliot_certificate-1.4.0a2/src/brg_certificate/certificate_test_list.txt → wiliot_certificate-1.5.1a1/src/brg_certificate/certificate_bcc_test_list.txt +8 -6
  30. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/certificate_sanity_test_list.txt +2 -1
  31. wiliot_certificate-1.5.1a1/src/brg_certificate/certificate_test_list.txt +49 -0
  32. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/restore_brg.py +2 -0
  33. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/calibration/interval_test/interval_test.json +2 -1
  34. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/calibration/interval_test/interval_test.py +1 -1
  35. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/calibration/output_power_test/output_power_test.json +5 -3
  36. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/calibration/output_power_test/output_power_test.py +1 -1
  37. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/calibration/pattern_test/pattern_test.json +5 -2
  38. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/calibration/pattern_test/pattern_test.py +1 -1
  39. wiliot_certificate-1.5.1a1/src/brg_certificate/tests/datapath/aging_test/aging_test.json +20 -0
  40. wiliot_certificate-1.5.1a1/src/brg_certificate/tests/datapath/aging_test/aging_test.py +135 -0
  41. wiliot_certificate-1.5.1a1/src/brg_certificate/tests/datapath/num_of_tags_test/num_of_tags_test.json +18 -0
  42. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/datapath/num_of_tags_test/num_of_tags_test.py +2 -2
  43. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/datapath/output_power_test/output_power_test.json +5 -2
  44. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/datapath/output_power_test/output_power_test.py +1 -1
  45. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/datapath/pacer_interval_ble5_test/pacer_interval_ble5_test.json +5 -2
  46. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/datapath/pacer_interval_ble5_test/pacer_interval_ble5_test.py +1 -1
  47. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/datapath/pacer_interval_tags_count_test/pacer_interval_tags_count_test.json +5 -2
  48. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/datapath/pacer_interval_tags_count_test/pacer_interval_tags_count_test.py +2 -2
  49. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/datapath/pacer_interval_test/pacer_interval_test.json +5 -2
  50. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/datapath/pacer_interval_test/pacer_interval_test.py +1 -1
  51. wiliot_certificate-1.5.1a1/src/brg_certificate/tests/datapath/pattern_test/pattern_test.json +16 -0
  52. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/datapath/pattern_test/pattern_test.py +1 -1
  53. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/datapath/pkt_filter_ble5_test/pkt_filter_ble5_test.json +8 -2
  54. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/datapath/pkt_filter_ble5_test/pkt_filter_ble5_test.py +1 -1
  55. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/datapath/pkt_filter_gen3_test/pkt_filter_gen3_test.json +8 -2
  56. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/datapath/pkt_filter_gen3_test/pkt_filter_gen3_test.py +1 -1
  57. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/datapath/pkt_filter_test/pkt_filter_test.json +8 -2
  58. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/datapath/pkt_filter_test/pkt_filter_test.py +1 -1
  59. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/datapath/rssi_threshold_test/rssi_threshold_test.json +6 -2
  60. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/datapath/rssi_threshold_test/rssi_threshold_test.py +1 -1
  61. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/datapath/rx_channel_test/rx_channel_test.json +5 -2
  62. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/datapath/rx_channel_test/rx_channel_test.py +1 -1
  63. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/datapath/rx_rate_gen2_test/rx_rate_gen2_test.json +3 -4
  64. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/datapath/rx_rate_gen2_test/rx_rate_gen2_test.py +1 -1
  65. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/datapath/rx_rate_gen3_test/rx_rate_gen3_test.json +3 -4
  66. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/datapath/rx_rate_gen3_test/rx_rate_gen3_test.py +1 -1
  67. wiliot_certificate-1.5.1a1/src/brg_certificate/tests/datapath/stress_gen3_test/stress_gen3_test.json +22 -0
  68. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/datapath/stress_gen3_test/stress_gen3_test.py +24 -24
  69. wiliot_certificate-1.5.1a1/src/brg_certificate/tests/datapath/stress_test/stress_test.json +23 -0
  70. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/datapath/stress_test/stress_test.py +20 -27
  71. wiliot_certificate-1.5.1a1/src/brg_certificate/tests/datapath/tx_repetition_algo_test/tx_repetition_algo_test.json +17 -0
  72. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/datapath/tx_repetition_algo_test/tx_repetition_algo_test.py +1 -1
  73. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/datapath/tx_repetition_test/tx_repetition_test.json +6 -2
  74. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/datapath/tx_repetition_test/tx_repetition_test.py +1 -1
  75. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/edge_mgmt/actions_test/actions_test.json +2 -1
  76. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/edge_mgmt/actions_test/actions_test.py +4 -24
  77. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/edge_mgmt/brg2brg_ota_ble5_test/brg2brg_ota_ble5_test.json +2 -1
  78. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/edge_mgmt/brg2brg_ota_ble5_test/brg2brg_ota_ble5_test.py +1 -1
  79. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/edge_mgmt/brg2brg_ota_test/brg2brg_ota_test.json +2 -1
  80. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/edge_mgmt/brg2brg_ota_test/brg2brg_ota_test.py +1 -1
  81. wiliot_certificate-1.5.1a1/src/brg_certificate/tests/edge_mgmt/leds_test/leds_test.json +17 -0
  82. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/edge_mgmt/leds_test/leds_test.py +4 -4
  83. wiliot_certificate-1.5.1a1/src/brg_certificate/tests/edge_mgmt/ota_test/ota_test.json +17 -0
  84. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/edge_mgmt/ota_test/ota_test.py +45 -1
  85. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/edge_mgmt/stat_test/stat_test.json +2 -1
  86. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/edge_mgmt/stat_test/stat_test.py +1 -1
  87. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/energy2400/duty_cycle_test/duty_cycle_test.json +5 -2
  88. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/energy2400/duty_cycle_test/duty_cycle_test.py +1 -1
  89. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/energy2400/output_power_test/output_power_test.json +5 -3
  90. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/energy2400/output_power_test/output_power_test.py +1 -1
  91. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/energy2400/pattern_test/pattern_test.json +5 -2
  92. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/energy2400/pattern_test/pattern_test.py +1 -1
  93. 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
  94. 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
  95. 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
  96. 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
  97. {wiliot_certificate-1.4.0a2 → 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
  98. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/energy2400/signal_indicator_sub1g_2_4_test/signal_indicator_sub1g_2_4_test.py +1 -1
  99. wiliot_certificate-1.5.1a1/src/brg_certificate/tests/energy2400/signal_indicator_test/signal_indicator_test.json +20 -0
  100. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/energy2400/signal_indicator_test/signal_indicator_test.py +130 -43
  101. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/energy_sub1g/duty_cycle_test/duty_cycle_test.json +5 -2
  102. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/energy_sub1g/duty_cycle_test/duty_cycle_test.py +1 -1
  103. wiliot_certificate-1.5.1a1/src/brg_certificate/tests/energy_sub1g/pattern_test/pattern_test.json +19 -0
  104. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/energy_sub1g/pattern_test/pattern_test.py +1 -1
  105. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/energy_sub1g/signal_indicator_functionality_test/signal_indicator_functionality_test.json +2 -1
  106. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/energy_sub1g/signal_indicator_functionality_test/signal_indicator_functionality_test.py +1 -1
  107. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/energy_sub1g/signal_indicator_test/signal_indicator_test.json +5 -2
  108. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/tests/energy_sub1g/signal_indicator_test/signal_indicator_test.py +1 -1
  109. wiliot_certificate-1.5.1a1/src/brg_certificate/wltPb_pb2.py +84 -0
  110. {wiliot_certificate-1.4.0a2/src/gw_certificate/common → wiliot_certificate-1.5.1a1/src/brg_certificate}/wltPb_pb2.pyi +40 -34
  111. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/wlt_types.py +4 -6
  112. wiliot_certificate-1.5.1a1/src/common/wlt_logo.png +0 -0
  113. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/gw_certificate/ag/ut_defines.py +4 -1
  114. wiliot_certificate-1.5.1a1/src/gw_certificate/cert_results.py +145 -0
  115. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/gw_certificate/gw_certificate.py +18 -6
  116. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/gw_certificate/gw_certificate_cli.py +3 -3
  117. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/gw_certificate/interface/mqtt.py +1 -0
  118. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/gw_certificate/interface/uart_if.py +1 -1
  119. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/gw_certificate/tests/actions.py +7 -2
  120. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/gw_certificate/tests/generic.py +43 -17
  121. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/gw_certificate/tests/registration.py +2 -1
  122. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/gw_certificate/tests/uplink.py +26 -35
  123. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1/src/wiliot_certificate.egg-info}/PKG-INFO +16 -10
  124. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/wiliot_certificate.egg-info/SOURCES.txt +10 -4
  125. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/wiliot_certificate.egg-info/top_level.txt +1 -0
  126. wiliot_certificate-1.4.0a2/src/brg_certificate/tests/datapath/adaptive_pacer_algo_test/adaptive_pacer_algo_test.json +0 -13
  127. wiliot_certificate-1.4.0a2/src/brg_certificate/tests/datapath/adaptive_pacer_algo_test/adaptive_pacer_algo_test.py +0 -76
  128. wiliot_certificate-1.4.0a2/src/brg_certificate/tests/datapath/num_of_tags_test/num_of_tags_test.json +0 -13
  129. wiliot_certificate-1.4.0a2/src/brg_certificate/tests/datapath/pattern_test/pattern_test.json +0 -13
  130. wiliot_certificate-1.4.0a2/src/brg_certificate/tests/datapath/stress_gen3_test/stress_gen3_test.json +0 -30
  131. wiliot_certificate-1.4.0a2/src/brg_certificate/tests/datapath/stress_test/stress_test.json +0 -30
  132. wiliot_certificate-1.4.0a2/src/brg_certificate/tests/datapath/tx_repetition_algo_test/tx_repetition_algo_test.json +0 -13
  133. wiliot_certificate-1.4.0a2/src/brg_certificate/tests/edge_mgmt/leds_test/leds_test.json +0 -13
  134. wiliot_certificate-1.4.0a2/src/brg_certificate/tests/edge_mgmt/ota_test/ota_test.json +0 -13
  135. wiliot_certificate-1.4.0a2/src/brg_certificate/tests/energy2400/signal_indicator_ble5_test/signal_indicator_ble5_test.json +0 -13
  136. wiliot_certificate-1.4.0a2/src/brg_certificate/tests/energy2400/signal_indicator_ble5_test/signal_indicator_ble5_test.py +0 -398
  137. wiliot_certificate-1.4.0a2/src/brg_certificate/tests/energy2400/signal_indicator_test/signal_indicator_test.json +0 -13
  138. wiliot_certificate-1.4.0a2/src/brg_certificate/tests/energy_sub1g/pattern_test/pattern_test.json +0 -13
  139. wiliot_certificate-1.4.0a2/src/gw_certificate/common/wltPb_pb2.py +0 -72
  140. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/LICENSE +0 -0
  141. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/setup.cfg +0 -0
  142. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/__init__.py +0 -0
  143. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/ag/wlt_types_ag_jsons/brg2brg_ota.json +0 -0
  144. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/ag/wlt_types_ag_jsons/brg2gw_hb.json +0 -0
  145. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/ag/wlt_types_ag_jsons/brg2gw_hb_sleep.json +0 -0
  146. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/ag/wlt_types_ag_jsons/calibration.json +0 -0
  147. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/ag/wlt_types_ag_jsons/custom.json +0 -0
  148. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/ag/wlt_types_ag_jsons/datapath.json +0 -0
  149. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/ag/wlt_types_ag_jsons/energy2400.json +0 -0
  150. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/ag/wlt_types_ag_jsons/energySub1g.json +0 -0
  151. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/ag/wlt_types_ag_jsons/externalSensor.json +0 -0
  152. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/ag/wlt_types_ag_jsons/interface.json +0 -0
  153. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/ag/wlt_types_ag_jsons/powerManagement.json +0 -0
  154. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/ag/wlt_types_ag_jsons/side_info_sensor.json +0 -0
  155. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/ag/wlt_types_ag_jsons/signal_indicator_data.json +0 -0
  156. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/ag/wlt_types_ag_jsons/unified_echo_ext_pkt.json +0 -0
  157. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/ag/wlt_types_ag_jsons/unified_echo_pkt.json +0 -0
  158. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/config/eclipse.json +0 -0
  159. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/config/hivemq.json +0 -0
  160. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/config/mosquitto.json +0 -0
  161. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/config/mosquitto.md +0 -0
  162. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/brg_certificate/config/wiliot-dev.json +0 -0
  163. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/gw_certificate/__init__.py +0 -0
  164. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/gw_certificate/ag/wlt_types.py +0 -0
  165. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/gw_certificate/ag/wlt_types_ag.py +0 -0
  166. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/gw_certificate/ag/wlt_types_data.py +0 -0
  167. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/gw_certificate/api/extended_api.py +0 -0
  168. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/gw_certificate/api_if/200/data.json +0 -0
  169. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/gw_certificate/api_if/200/logs.json +0 -0
  170. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/gw_certificate/api_if/200/status.json +0 -0
  171. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/gw_certificate/api_if/201/data.json +0 -0
  172. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/gw_certificate/api_if/201/logs.json +0 -0
  173. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/gw_certificate/api_if/201/status.json +0 -0
  174. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/gw_certificate/api_if/202/data.json +0 -0
  175. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/gw_certificate/api_if/202/logs.json +0 -0
  176. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/gw_certificate/api_if/202/status.json +0 -0
  177. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/gw_certificate/api_if/203/data.json +0 -0
  178. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/gw_certificate/api_if/203/logs.json +0 -0
  179. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/gw_certificate/api_if/203/status.json +0 -0
  180. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/gw_certificate/api_if/204/data.json +0 -0
  181. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/gw_certificate/api_if/204/logs.json +0 -0
  182. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/gw_certificate/api_if/204/status.json +0 -0
  183. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/gw_certificate/api_if/205/data.json +0 -0
  184. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/gw_certificate/api_if/205/logs.json +0 -0
  185. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/gw_certificate/api_if/205/status.json +0 -0
  186. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/gw_certificate/api_if/__init__.py +0 -0
  187. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/gw_certificate/api_if/api_validation.py +0 -0
  188. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/gw_certificate/api_if/gw_capabilities.py +0 -0
  189. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/gw_certificate/common/analysis_data_bricks.py +0 -0
  190. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/gw_certificate/common/debug.py +0 -0
  191. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/gw_certificate/common/utils.py +0 -0
  192. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/gw_certificate/common/utils_defines.py +0 -0
  193. {wiliot_certificate-1.4.0a2/src/brg_certificate → wiliot_certificate-1.5.1a1/src/gw_certificate/common}/wltPb_pb2.py +0 -0
  194. {wiliot_certificate-1.4.0a2/src/brg_certificate → wiliot_certificate-1.5.1a1/src/gw_certificate/common}/wltPb_pb2.pyi +0 -0
  195. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/gw_certificate/interface/4.4.52_app.zip +0 -0
  196. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/gw_certificate/interface/4.4.52_sd_bl_app.zip +0 -0
  197. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/gw_certificate/interface/ble_simulator.py +0 -0
  198. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/gw_certificate/interface/ble_sniffer.py +0 -0
  199. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/gw_certificate/interface/if_defines.py +0 -0
  200. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/gw_certificate/interface/nrfutil-linux +0 -0
  201. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/gw_certificate/interface/nrfutil-mac +0 -0
  202. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/gw_certificate/interface/nrfutil.exe +0 -0
  203. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/gw_certificate/interface/pkt_generator.py +0 -0
  204. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/gw_certificate/interface/uart_ports.py +0 -0
  205. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/gw_certificate/templates/results.html +0 -0
  206. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/gw_certificate/templates/stage.html +0 -0
  207. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/gw_certificate/templates/table.html +0 -0
  208. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/gw_certificate/templates/test.html +0 -0
  209. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/gw_certificate/tests/__init__.py +0 -0
  210. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/gw_certificate/tests/bad_crc_to_PER_quantization.csv +0 -0
  211. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/gw_certificate/tests/connection.py +1 -1
  212. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/gw_certificate/tests/downlink.py +0 -0
  213. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/gw_certificate/tests/static/__init__.py +0 -0
  214. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/gw_certificate/tests/static/connection_defines.py +0 -0
  215. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/gw_certificate/tests/static/downlink_defines.py +0 -0
  216. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/gw_certificate/tests/static/generated_packet_table.py +0 -0
  217. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/gw_certificate/tests/static/packet_table.csv +0 -0
  218. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/gw_certificate/tests/static/references.py +0 -0
  219. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/gw_certificate/tests/static/uplink_defines.py +0 -0
  220. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/gw_certificate/tests/throughput.py +0 -0
  221. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/wiliot_certificate.egg-info/dependency_links.txt +0 -0
  222. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/wiliot_certificate.egg-info/entry_points.txt +0 -0
  223. {wiliot_certificate-1.4.0a2 → wiliot_certificate-1.5.1a1}/src/wiliot_certificate.egg-info/requires.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.4.0a2
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,19 +86,24 @@ 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
96
- - Python 3.12 support
98
+ Release:
99
+ - Standalone wiliot-certificate package
100
+ - Python 3.13 support
97
101
  - Gw API version 205 support
98
- - Registration Test
102
+ - Registration test added
103
+ - Bridge OTA stage added under actions
99
104
  - Aggregation flag supported by StressTest
100
-
105
+ - -update flag compatibility fix. Upgrades bootloader if needed
106
+ - -actions flag to select specific actions to test
101
107
 
102
108
  ```
103
109
  usage: wlt-gw-certificate [-h] -owner OWNER -gw GW [-suffix SUFFIX] [-tests {connection,uplink,downlink,stress}]
@@ -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,19 +32,24 @@ 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
43
- - Python 3.12 support
44
+ Release:
45
+ - Standalone wiliot-certificate package
46
+ - Python 3.13 support
44
47
  - Gw API version 205 support
45
- - Registration Test
48
+ - Registration test added
49
+ - Bridge OTA stage added under actions
46
50
  - Aggregation flag supported by StressTest
47
-
51
+ - -update flag compatibility fix. Upgrades bootloader if needed
52
+ - -actions flag to select specific actions to test
48
53
 
49
54
  ```
50
55
  usage: wlt-gw-certificate [-h] -owner OWNER -gw GW [-suffix SUFFIX] [-tests {connection,uplink,downlink,stress}]
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "wiliot_certificate"
7
- version = "1.4.0a2"
7
+ version = "1.5.1a1"
8
8
  authors = [
9
9
  { name="Wiliot", email="support@wiliot.com" }
10
10
  ]
@@ -51,6 +51,7 @@ where = ["src"]
51
51
  exclude = ["*.ut*"]
52
52
 
53
53
  [tool.setuptools.package-data]
54
+ common = ["wlt_logo.png"]
54
55
  gw_certificate = ["**/*.csv", "**/*.html", "**/*.json", "**/*.zip", "interface/nrfutil*"]
55
56
  brg_certificate = ["**/*.json", "**/*.md", "*_list.txt", "**/wlt_cmd_if.html", "**/wlt_types.html"]
56
57
 
@@ -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()):
@@ -832,21 +832,21 @@ class ModuleExtSensorsV11():
832
832
  self.unused = d[7]
833
833
 
834
834
  class ModuleCustomV12():
835
- def __init__(self, raw='', module_type=MODULE_CUSTOM, msg_type=BRG_MGMT_MSG_TYPE_CFG_SET, api_version=API_VERSION_V12, seq_id=0, brg_mac=0, state_threshold=LIS2DW12_DEFAULTS_STATE_THRESHOLD, wake_up_duration=LIS2DW12_DEFAULTS_WAKE_UP_DURATION, sleep_duration=LIS2DW12_DEFAULTS_SLEEP_DURATION, unused1=0):
835
+ def __init__(self, raw='', module_type=MODULE_CUSTOM, msg_type=BRG_MGMT_MSG_TYPE_CFG_SET, api_version=API_VERSION_V12, seq_id=0, brg_mac=0, motion_sensitivity_threshold=LIS2DW12_DEFAULTS_STATE_THRESHOLD, s2d_transition_time=LIS2DW12_DEFAULTS_WAKE_UP_DURATION, d2s_transition_time=LIS2DW12_DEFAULTS_SLEEP_DURATION, unused1=0):
836
836
  self.module_type = module_type
837
837
  self.msg_type = msg_type
838
838
  self.api_version = api_version
839
839
  self.seq_id = seq_id
840
840
  self.brg_mac = brg_mac
841
- self.state_threshold = state_threshold # 31 [mg] resolution
842
- self.wake_up_duration = wake_up_duration # 3 [sec] resolution
843
- self.sleep_duration = sleep_duration # 5 [sec] resolution
841
+ self.motion_sensitivity_threshold = motion_sensitivity_threshold # 31 [mg] resolution
842
+ self.s2d_transition_time = s2d_transition_time # 3 [sec] resolution
843
+ self.d2s_transition_time = d2s_transition_time # 5 [sec] resolution
844
844
  self.unused1 = unused1
845
845
  if raw:
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})"],['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")
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()):
@@ -855,14 +855,14 @@ class ModuleCustomV12():
855
855
  self.msg_type == other.msg_type and
856
856
  self.api_version == other.api_version and
857
857
  self.brg_mac == other.brg_mac and
858
- self.state_threshold == other.state_threshold and
859
- self.wake_up_duration == other.wake_up_duration and
860
- self.sleep_duration == other.sleep_duration
858
+ self.motion_sensitivity_threshold == other.motion_sensitivity_threshold and
859
+ self.s2d_transition_time == other.s2d_transition_time and
860
+ self.d2s_transition_time == other.d2s_transition_time
861
861
  )
862
862
  return False
863
863
 
864
864
  def dump(self):
865
- string = bitstruct.pack("u4u4u8u8u48u8u8u8u96", self.module_type, self.msg_type, self.api_version, self.seq_id, self.brg_mac, ((self.state_threshold-0)//31), ((self.wake_up_duration-0)//3), ((self.sleep_duration-0)//5), self.unused1)
865
+ string = bitstruct.pack("u4u4u8u8u48u8u8u8u96", self.module_type, self.msg_type, self.api_version, self.seq_id, self.brg_mac, ((self.motion_sensitivity_threshold-0)//31), ((self.s2d_transition_time-0)//3), ((self.d2s_transition_time-0)//5), self.unused1)
866
866
  return string.hex().upper()
867
867
 
868
868
  def set(self, string):
@@ -872,9 +872,9 @@ class ModuleCustomV12():
872
872
  self.api_version = d[2]
873
873
  self.seq_id = d[3]
874
874
  self.brg_mac = d[4]
875
- self.state_threshold = ((d[5]*31)+0)
876
- self.wake_up_duration = ((d[6]*3)+0)
877
- self.sleep_duration = ((d[7]*5)+0)
875
+ self.motion_sensitivity_threshold = ((d[5]*31)+0)
876
+ self.s2d_transition_time = ((d[6]*3)+0)
877
+ self.d2s_transition_time = ((d[7]*5)+0)
878
878
  self.unused1 = d[8]
879
879
 
880
880
  class ModuleCustomV11():
@@ -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()):