wiliot-certificate 1.5.1a1__py3-none-any.whl → 1.5.2a1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (98) hide show
  1. brg_certificate/ag/wlt_cmd_if.html +3 -2
  2. brg_certificate/brg_certificate_cli.py +18 -3
  3. brg_certificate/cert_common.py +82 -26
  4. brg_certificate/cert_data_sim.py +22 -4
  5. brg_certificate/cert_defines.py +10 -5
  6. brg_certificate/cert_gw_sim.py +4 -2
  7. brg_certificate/cert_mqtt.py +7 -6
  8. brg_certificate/cert_prints.py +14 -1
  9. brg_certificate/cert_protobuf.py +7 -7
  10. brg_certificate/cert_results.py +91 -64
  11. brg_certificate/cert_utils.py +9 -4
  12. brg_certificate/certificate_bcc_sanity_test_list.txt +10 -5
  13. brg_certificate/certificate_bcc_test_list.txt +14 -9
  14. brg_certificate/certificate_sanity_test_list.txt +10 -4
  15. brg_certificate/certificate_test_list.txt +13 -9
  16. brg_certificate/tests/calibration/interval_test/interval_test.json +2 -2
  17. brg_certificate/tests/calibration/output_power_test/output_power_test.json +3 -2
  18. brg_certificate/tests/calibration/pattern_test/pattern_test.json +2 -2
  19. brg_certificate/tests/calibration/pattern_test/pattern_test.py +25 -26
  20. brg_certificate/tests/datapath/aging_test/aging_test.json +4 -5
  21. brg_certificate/tests/datapath/aging_test/aging_test.py +39 -32
  22. brg_certificate/tests/datapath/num_of_tags_test/num_of_tags_test.json +2 -2
  23. brg_certificate/tests/datapath/num_of_tags_test/num_of_tags_test.py +12 -11
  24. brg_certificate/tests/datapath/output_power_test/output_power_test.json +2 -2
  25. brg_certificate/tests/datapath/output_power_test/output_power_test.py +2 -1
  26. brg_certificate/tests/datapath/pacer_interval_ble5_test/pacer_interval_ble5_test.json +3 -3
  27. brg_certificate/tests/datapath/pacer_interval_ble5_test/pacer_interval_ble5_test.py +6 -3
  28. brg_certificate/tests/datapath/pacer_interval_tags_count_test/pacer_interval_tags_count_test.json +2 -2
  29. brg_certificate/tests/datapath/pacer_interval_tags_count_test/pacer_interval_tags_count_test.py +6 -3
  30. brg_certificate/tests/datapath/pacer_interval_test/pacer_interval_test.json +2 -2
  31. brg_certificate/tests/datapath/pacer_interval_test/pacer_interval_test.py +4 -2
  32. brg_certificate/tests/datapath/pattern_test/pattern_test.json +2 -2
  33. brg_certificate/tests/datapath/pattern_test/pattern_test.py +2 -1
  34. brg_certificate/tests/datapath/pkt_filter_ble5_test/pkt_filter_ble5_test.json +3 -3
  35. brg_certificate/tests/datapath/pkt_filter_ble5_test/pkt_filter_ble5_test.py +12 -5
  36. brg_certificate/tests/datapath/pkt_filter_gen3_test/pkt_filter_gen3_test.json +2 -2
  37. brg_certificate/tests/datapath/pkt_filter_gen3_test/pkt_filter_gen3_test.py +11 -6
  38. brg_certificate/tests/datapath/pkt_filter_test/pkt_filter_test.json +2 -2
  39. brg_certificate/tests/datapath/pkt_filter_test/pkt_filter_test.py +11 -7
  40. brg_certificate/tests/datapath/rssi_threshold_test/rssi_threshold_test.json +3 -3
  41. brg_certificate/tests/datapath/rssi_threshold_test/rssi_threshold_test.py +7 -5
  42. brg_certificate/tests/datapath/rx_channel_test/rx_channel_test.json +2 -2
  43. brg_certificate/tests/datapath/rx_channel_test/rx_channel_test.py +7 -3
  44. brg_certificate/tests/datapath/rx_rate_gen2_test/rx_rate_gen2_test.json +3 -3
  45. brg_certificate/tests/datapath/rx_rate_gen2_test/rx_rate_gen2_test.py +107 -73
  46. brg_certificate/tests/datapath/rx_rate_gen3_test/rx_rate_gen3_test.json +3 -3
  47. brg_certificate/tests/datapath/rx_rate_gen3_test/rx_rate_gen3_test.py +128 -118
  48. brg_certificate/tests/datapath/stress_gen3_test/stress_gen3_test.json +8 -8
  49. brg_certificate/tests/datapath/stress_gen3_test/stress_gen3_test.py +102 -101
  50. brg_certificate/tests/datapath/stress_test/stress_test.json +14 -15
  51. brg_certificate/tests/datapath/stress_test/stress_test.py +102 -101
  52. brg_certificate/tests/datapath/tx_repetition_algo_test/tx_repetition_algo_test.json +2 -2
  53. brg_certificate/tests/datapath/tx_repetition_algo_test/tx_repetition_algo_test.py +7 -2
  54. brg_certificate/tests/datapath/tx_repetition_test/tx_repetition_test.json +2 -2
  55. brg_certificate/tests/datapath/tx_repetition_test/tx_repetition_test.py +8 -6
  56. brg_certificate/tests/edge_mgmt/actions_test/actions_test.json +2 -2
  57. brg_certificate/tests/edge_mgmt/actions_test/actions_test.py +2 -18
  58. brg_certificate/tests/edge_mgmt/brg2brg_ota_ble5_test/brg2brg_ota_ble5_test.json +14 -8
  59. brg_certificate/tests/edge_mgmt/brg2brg_ota_test/brg2brg_ota_test.json +13 -8
  60. brg_certificate/tests/edge_mgmt/leds_test/leds_test.json +2 -2
  61. brg_certificate/tests/edge_mgmt/leds_test/leds_test.py +22 -9
  62. brg_certificate/tests/edge_mgmt/ota_test/ota_test.json +2 -2
  63. brg_certificate/tests/edge_mgmt/ota_test/ota_test.py +6 -5
  64. brg_certificate/tests/edge_mgmt/{stat_test/stat_test.json → periodic_msgs_test/periodic_msgs_test.json} +3 -3
  65. brg_certificate/tests/edge_mgmt/{stat_test/stat_test.py → periodic_msgs_test/periodic_msgs_test.py} +4 -4
  66. brg_certificate/tests/energy2400/duty_cycle_test/duty_cycle_test.json +3 -3
  67. brg_certificate/tests/energy2400/duty_cycle_test/duty_cycle_test.py +2 -1
  68. brg_certificate/tests/energy2400/output_power_test/output_power_test.json +4 -3
  69. brg_certificate/tests/energy2400/output_power_test/output_power_test.py +2 -1
  70. brg_certificate/tests/energy2400/pattern_test/pattern_test.json +3 -3
  71. brg_certificate/tests/energy2400/pattern_test/pattern_test.py +2 -1
  72. brg_certificate/tests/energy2400/signal_indicator_ble5_10_250k_test/signal_indicator_ble5_10_250k_test.json +5 -5
  73. brg_certificate/tests/energy2400/signal_indicator_ble5_10_250k_test/signal_indicator_ble5_10_250k_test.py +109 -112
  74. brg_certificate/tests/energy2400/signal_indicator_ble5_10_500k_test/signal_indicator_ble5_10_500k_test.json +5 -5
  75. brg_certificate/tests/energy2400/signal_indicator_ble5_10_500k_test/signal_indicator_ble5_10_500k_test.py +111 -114
  76. brg_certificate/tests/energy2400/signal_indicator_sub1g_2_4_test/signal_indicator_sub1g_2_4_test.json +12 -6
  77. brg_certificate/tests/energy2400/signal_indicator_sub1g_2_4_test/signal_indicator_sub1g_2_4_test.py +45 -57
  78. brg_certificate/tests/energy2400/signal_indicator_test/signal_indicator_test.json +4 -4
  79. brg_certificate/tests/energy2400/signal_indicator_test/signal_indicator_test.py +158 -172
  80. brg_certificate/tests/energy_sub1g/duty_cycle_test/duty_cycle_test.json +2 -2
  81. brg_certificate/tests/energy_sub1g/duty_cycle_test/duty_cycle_test.py +2 -1
  82. brg_certificate/tests/energy_sub1g/pattern_test/pattern_test.json +4 -3
  83. brg_certificate/tests/energy_sub1g/pattern_test/pattern_test.py +2 -1
  84. brg_certificate/tests/energy_sub1g/signal_indicator_functionality_test/signal_indicator_functionality_test.json +13 -7
  85. brg_certificate/tests/energy_sub1g/signal_indicator_functionality_test/signal_indicator_functionality_test.py +117 -124
  86. brg_certificate/tests/energy_sub1g/signal_indicator_test/signal_indicator_test.json +2 -2
  87. brg_certificate/tests/energy_sub1g/signal_indicator_test/signal_indicator_test.py +2 -1
  88. brg_certificate/tests/pwr_mgmt/pwr_mgmt_test/pwr_mgmt_test.json +18 -0
  89. brg_certificate/tests/pwr_mgmt/pwr_mgmt_test/pwr_mgmt_test.py +84 -0
  90. brg_certificate/tests/sensors/ext_sensor_test/ext_sensor_test.json +21 -0
  91. brg_certificate/tests/sensors/ext_sensor_test/ext_sensor_test.py +306 -0
  92. brg_certificate/wlt_types.py +2 -1
  93. {wiliot_certificate-1.5.1a1.dist-info → wiliot_certificate-1.5.2a1.dist-info}/METADATA +40 -40
  94. {wiliot_certificate-1.5.1a1.dist-info → wiliot_certificate-1.5.2a1.dist-info}/RECORD +98 -94
  95. {wiliot_certificate-1.5.1a1.dist-info → wiliot_certificate-1.5.2a1.dist-info}/WHEEL +1 -1
  96. {wiliot_certificate-1.5.1a1.dist-info → wiliot_certificate-1.5.2a1.dist-info}/entry_points.txt +0 -0
  97. {wiliot_certificate-1.5.1a1.dist-info → wiliot_certificate-1.5.2a1.dist-info}/licenses/LICENSE +0 -0
  98. {wiliot_certificate-1.5.1a1.dist-info → wiliot_certificate-1.5.2a1.dist-info}/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  {
2
- "name": "tx_repetition_algo_test",
3
- "module": "datapath",
2
+ "name": "Tx Repetition Algorithm",
3
+ "module": "Datapath",
4
4
  "purpose": "Test the tx repetition adjustment algorithm",
5
5
  "documentation": "<TEST_DOCUMENTATION_LINK>",
6
6
  "initialCondition": "Bridge configured to defaults",
@@ -6,13 +6,16 @@ from brg_certificate.cert_defines import *
6
6
  from brg_certificate.wlt_types import *
7
7
  import brg_certificate.cert_common as cert_common
8
8
  import brg_certificate.cert_config as cert_config
9
- import os, statistics, math
9
+ import os
10
+ import statistics
11
+ import math
10
12
  import matplotlib.pyplot as plt
11
13
  import plotly.graph_objects as go
12
14
  from brg_certificate.cert_gw_sim import DEDUPLICATION_PKTS
13
15
 
14
16
  SCAN_TIME = 60 * 30
15
17
 
18
+
16
19
  def track_tx_rep(test, sorted_database):
17
20
  tx_reps = []
18
21
  times = []
@@ -49,6 +52,7 @@ def track_tx_rep(test, sorted_database):
49
52
 
50
53
  return test, tx_reps
51
54
 
55
+
52
56
  def tx_rep_analysis(test):
53
57
  # Clear data path
54
58
  cert_common.wait_time_n_print(CLEAR_DATA_PATH_TIMEOUT)
@@ -60,7 +64,7 @@ def tx_rep_analysis(test):
60
64
  print("Found {} unified packets".format(len(pkts)))
61
65
 
62
66
  # Count payloads
63
- pkt_payload_counter = {} # idx 0 - payload, idx 1 - payload ts
67
+ pkt_payload_counter = {} # idx 0 - payload, idx 1 - payload ts
64
68
  for p in pkts:
65
69
  cur_pkt = p[PAYLOAD]
66
70
  if cur_pkt in pkt_payload_counter:
@@ -89,6 +93,7 @@ def tx_rep_analysis(test):
89
93
  print(f"total counted tx_reps[{tx_reps}]")
90
94
  return test
91
95
 
96
+
92
97
  def run(test):
93
98
 
94
99
  test = cert_common.test_prolog(test)
@@ -1,6 +1,6 @@
1
1
  {
2
- "name": "tx_repetition_test",
3
- "module": "datapath",
2
+ "name": "Tx Repetition",
3
+ "module": "Datapath",
4
4
  "purpose": "Test tx repetition feature configuration and functionality in the bridge for different tx repetition values",
5
5
  "documentation": "https://community.wiliot.com/customers/s/article/Wiliot-Network-Data-Path-Module-Configuration",
6
6
  "initialCondition": "Bridge & data simulator configured to defaults",
@@ -10,7 +10,8 @@ import brg_certificate.cert_data_sim as cert_data_sim
10
10
  from brg_certificate.cert_gw_sim import DEDUPLICATION_PKTS
11
11
  import statistics
12
12
 
13
- TX_REPETITION_THRESHOLD = 0.5
13
+ TX_REPETITION_THRESHOLD = 0.5
14
+
14
15
 
15
16
  def tx_repetitions_analysis(test, repetitions):
16
17
  cert_common.wait_time_n_print(CLEAR_DATA_PATH_TIMEOUT)
@@ -20,8 +21,8 @@ def tx_repetitions_analysis(test, repetitions):
20
21
  pixel_sim_thread.start()
21
22
  mqtt_scan_wait(test, 60)
22
23
  if test.data == DATA_SIMULATION:
23
- pixel_sim_thread.stop() # stop generating pkts on data simulator
24
- cert_common.wait_time_n_print(CLEAR_DATA_PATH_TIMEOUT) # Wait for sim queue to free
24
+ pixel_sim_thread.stop() # stop generating pkts on data simulator
25
+ cert_common.wait_time_n_print(CLEAR_DATA_PATH_TIMEOUT) # Wait for sim queue to free
25
26
  pkts = cert_mqtt.get_unified_data_pkts(test)
26
27
  print(f"Found {len(pkts)} packets")
27
28
  if len(pkts) == 0:
@@ -45,10 +46,10 @@ def tx_repetitions_analysis(test, repetitions):
45
46
  test.add_reason(txt)
46
47
  return test
47
48
 
49
+
48
50
  def run(test):
49
51
 
50
52
  fields = [BRG_TX_REPETITION, BRG_PKT_FILTER, BRG_RX_CHANNEL]
51
-
52
53
  datapath_module = eval_pkt(f'ModuleDatapathV{test.active_brg.api_version}')
53
54
 
54
55
  test = cert_common.test_prolog(test)
@@ -61,7 +62,9 @@ def run(test):
61
62
  return cert_common.test_epilog(test, revert_gws=True)
62
63
 
63
64
  for param in test.params:
64
- test = cert_config.brg_configure(test, fields=fields, values=[param.value, ag.PKT_FILTER_RANDOM_FIRST_ARRIVING_PKT, ag.RX_CHANNEL_37], module=datapath_module)[0]
65
+ test = cert_config.brg_configure(test, fields=fields,
66
+ values=[param.value, ag.PKT_FILTER_RANDOM_FIRST_ARRIVING_PKT, ag.RX_CHANNEL_37],
67
+ module=datapath_module)[0]
65
68
  if test.rc == TEST_FAILED and test.exit_on_param_failure:
66
69
  break
67
70
  tx_repetitions_analysis(test, param.name)
@@ -73,7 +76,6 @@ def run(test):
73
76
  else:
74
77
  test.reset_result()
75
78
 
76
-
77
79
  # Re-enable unified packets deduplication
78
80
  cert_config.gw_action(test, f"{DEDUPLICATION_PKTS} 1")
79
81
  return cert_common.test_epilog(test, revert_brgs=True, revert_gws=True, modules=[datapath_module])
@@ -1,6 +1,6 @@
1
1
  {
2
- "name": "actions_test",
3
- "module": "edge_mgmt",
2
+ "name": "Bridge Actions",
3
+ "module": "Edge Management",
4
4
  "purpose": "Test bridge actions functionality",
5
5
  "documentation": "<TEST_DOCUMENTATION_LINK>",
6
6
  "initialCondition": "Bridge configured to defaults",
@@ -5,8 +5,6 @@ import brg_certificate.cert_common as cert_common
5
5
  import brg_certificate.cert_config as cert_config
6
6
  import random
7
7
 
8
- WATERMARK = "watermark"
9
- PACER_INC = "pacer_inc"
10
8
  BATTERY_SENSOR_SUPPORTING_BOARD_TYPES = [ag.BOARD_TYPE_MINEW_DUAL_BAND_V0, ag.BOARD_TYPE_ERM_V0,
11
9
  ag.BOARD_TYPE_ERM_V1, ag.BOARD_TYPE_KOAMTAC_V0]
12
10
  POF_NOT_SUPPORTING_BOARD_TYPES = [ag.BOARD_TYPE_FANSTEL_WIFI_V0, ag.BOARD_TYPE_FANSTEL_LAN_V0]
@@ -165,17 +163,7 @@ def test_action_blink(test):
165
163
 
166
164
 
167
165
  def test_action_send_hb(test):
168
- datapath_module = eval_pkt(f'ModuleDatapathV{test.active_brg.api_version}')
169
- # config brg to get a non zero value in the tx_queue_watermark parameter
170
- test = cert_config.brg_configure(test, fields=[BRG_PACER_INTERVAL, BRG_TX_REPETITION], values=[1, 6], module=datapath_module)[0]
171
- if test.rc == TEST_FAILED:
172
- return cert_config.config_brg_defaults(test=test, modules=[datapath_module])[0]
173
166
 
174
- if not test.internal_brg:
175
- # sleep to let some pkts wait in queue
176
- wait = 10
177
- print(f"waiting for {wait} secs to fill up the brg queue")
178
- cert_common.wait_time_n_print(wait)
179
167
  # send action
180
168
  cert_config.send_brg_action(test, ag.ACTION_SEND_HB)
181
169
  # analysis
@@ -183,10 +171,6 @@ def test_action_send_hb(test):
183
171
  if not mgmt_pkts:
184
172
  test.add_reason("Didn't find ACTION HB pkt")
185
173
  test.rc = TEST_FAILED
186
- test = cert_config.config_brg_defaults(test=test, modules=[datapath_module])[0]
187
- # queue can be full so need to wait a few seconds
188
- if not test.internal_brg:
189
- cert_common.wait_time_n_print(5)
190
174
  return test
191
175
 
192
176
 
@@ -208,7 +192,7 @@ def test_action_get_battery_sensor(test):
208
192
  scan_time = ACTION_SI_PKT_TIMEOUT
209
193
  found_packet = False
210
194
  while ((datetime.datetime.now() - start_time).seconds <= scan_time):
211
- custom_pkts = cert_mqtt.get_all_custom_pkts(test.mqttc, test)
195
+ custom_pkts = cert_mqtt.get_all_custom_pkts(test)
212
196
  for p in custom_pkts:
213
197
  if p[SENSOR_UUID] == f"{ag.SENSOR_SERVICE_ID_BATTERY_SENSOR:06X}":
214
198
  print_pkt(p)
@@ -239,7 +223,7 @@ def test_action_get_pof_data(test):
239
223
  scan_time = ACTION_SI_PKT_TIMEOUT
240
224
  found_packet = False
241
225
  while ((datetime.datetime.now() - start_time).seconds <= scan_time):
242
- custom_pkts = cert_mqtt.get_all_custom_pkts(test.mqttc, test)
226
+ custom_pkts = cert_mqtt.get_all_custom_pkts(test)
243
227
  for p in custom_pkts:
244
228
  if p[SENSOR_UUID] == f"{ag.SENSOR_SERVICE_ID_POF_DATA:06X}":
245
229
  print_pkt(p)
@@ -1,14 +1,20 @@
1
1
  {
2
- "name": "brg2brg_ota_test",
3
- "module": "edge_mgmt",
4
- "purpose": "TODO",
2
+ "name": "Bridge to Bridge OTA BLE5",
3
+ "module": "Edge Management",
4
+ "purpose": "Verify BRG2BRG OTA firmware/bootloader version upgrade functionality using BLE_5.0.",
5
5
  "documentation": "<TEST_DOCUMENTATION_LINK>",
6
- "initialCondition": "TODO",
7
- "procedure": ["Test prolog", "TODO", "Test epilog"],
8
- "expectedOutcome": "TODO",
6
+ "initialCondition": "1 GW and 2 BRG's (source, destination) from the same type connected to the GW - the source BRG posses the newer firmware/bootloader version, and the destination BRG posses older firmware/bootloader version.",
7
+ "procedure": ["Test prolog",
8
+ "Verify initial conditions - same board type, different firmware/bootloader versions",
9
+ "Determine the source & destination BRG according to version",
10
+ "Configure destination BRG rx channel to BLE_5.0 channel (channel 10)",
11
+ "Send brg2brg ota message to the source BRG - initiate brg2brg ota",
12
+ "Verify destination BRG firmware/bootloader version upgrade through module IF packet",
13
+ "Test epilog"],
14
+ "expectedOutcome": "Destination BRG firmware/bootloader version is upgraded to the source BRG firmware/bootloader version.",
9
15
  "mandatory": 0,
10
- "multiBridgeTest": 0,
16
+ "multiBridgeTest": 1,
11
17
  "gwOnlyTest": 0,
12
- "internalBridge": 1,
18
+ "internalBridge": 0,
13
19
  "allSupportedValues": ["BOOTLOADER", "APP"]
14
20
  }
@@ -1,14 +1,19 @@
1
1
  {
2
- "name": "brg2brg_ota_test",
3
- "module": "edge_mgmt",
4
- "purpose": "TODO",
2
+ "name": "Bridge to Bridge OTA",
3
+ "module": "Edge Management",
4
+ "purpose": "Verify BRG2BRG OTA firmware/bootloader version upgrade functionality",
5
5
  "documentation": "<TEST_DOCUMENTATION_LINK>",
6
- "initialCondition": "TODO",
7
- "procedure": ["Test prolog", "TODO", "Test epilog"],
8
- "expectedOutcome": "TODO",
6
+ "initialCondition": "1 GW and 2 BRG's (source, destination) from the same type connected to the GW - the source BRG posses the newer firmware/bootloader version, and the destination BRG posses older firmware/bootloader version.",
7
+ "procedure": ["Test prolog",
8
+ "Verify initial conditions - same board type, different firmware/bootloader versions",
9
+ "Determine the source & destination BRG according to version",
10
+ "Send brg2brg ota message to the source BRG - initiate brg2brg ota",
11
+ "Verify destination BRG firmware/bootloader version upgrade through module IF packet",
12
+ "Test epilog"],
13
+ "expectedOutcome": "Destination BRG firmware/bootloader version is upgraded to the source BRG firmware/bootloader version.",
9
14
  "mandatory": 0,
10
- "multiBridgeTest": 0,
15
+ "multiBridgeTest": 1,
11
16
  "gwOnlyTest": 0,
12
- "internalBridge": 1,
17
+ "internalBridge": 0,
13
18
  "allSupportedValues": ["BOOTLOADER", "APP"]
14
19
  }
@@ -1,6 +1,6 @@
1
1
  {
2
- "name": "leds_test",
3
- "module": "edge_mgmt",
2
+ "name": "LEDs Behaviour",
3
+ "module": "Edge Management",
4
4
  "purpose": "Test the behavior and indications of LEDs during different operational states.",
5
5
  "documentation": "<TEST_DOCUMENTATION_LINK>",
6
6
  "initialCondition": "Bridge configured to defaults",
@@ -160,15 +160,28 @@ def run(test):
160
160
  utPrint("Succesfully Reverted the BRG to default configuration!\n", "GREEN")
161
161
 
162
162
  # ----------------------- Blink check ----------------------- #
163
- utPrint("Blink action check - pay attention to the LED's", "HEADER")
164
- cert_config.send_brg_action(test, ag.ACTION_BLINK)
165
- if board_type == ag.BOARD_TYPE_MINEW_POE_V0:
166
- utPrint(f"wait a few seconds for the action to apply - "
167
- f"Did you see all 4 LED's blink {NUM_OF_LED_BLINKS_ACTION} times? (Y/N)", "BLUE")
168
- else:
169
- utPrint(f"wait a few seconds for the action to apply - "
170
- f"Did you see both LED's blink {NUM_OF_LED_BLINKS_ACTION} times? (Y/N)", "BLUE")
171
- value = cert_common.check_input_n_try_again(input())
163
+ value = 'n'
164
+ while True:
165
+ utPrint("Blink action check - pay attention to the LED's", "HEADER")
166
+ cert_config.send_brg_action(test, ag.ACTION_BLINK)
167
+ if board_type == ag.BOARD_TYPE_MINEW_POE_V0:
168
+ utPrint(f"wait a few seconds for the action to apply - "
169
+ f"Did you see all 4 LED's blink {NUM_OF_LED_BLINKS_ACTION} times? (Y/N)", "BLUE")
170
+ else:
171
+ utPrint(f"wait a few seconds for the action to apply - "
172
+ f"Did you see both LED's blink {NUM_OF_LED_BLINKS_ACTION} times? (Y/N)", "BLUE")
173
+ repeat = False
174
+ value = cert_common.check_input_n_try_again(input())
175
+ if value.lower() == 'n':
176
+ utPrint("Want to send the Blink action again?", "BLUE")
177
+ value = cert_common.check_input_n_try_again(input())
178
+ if value.lower() == 'y':
179
+ utPrint("Sending the Blink action again!", "WARNING")
180
+ repeat = True
181
+ elif value.lower() == 'n':
182
+ utPrint("No need to repeat - Let's proceed!", "GREEN")
183
+ if repeat is False:
184
+ break
172
185
  test = cert_common.value_check_if_y(test, value, "Blink check")
173
186
  if test.rc == TEST_FAILED and test.exit_on_param_failure:
174
187
  return cert_common.test_epilog(test)
@@ -1,6 +1,6 @@
1
1
  {
2
- "name": "ota_test",
3
- "module": "edge_mgmt",
2
+ "name": "Bridge OTA",
3
+ "module": "Edge Management",
4
4
  "purpose": "Test Over-the-air (OTA) firmware update functionality",
5
5
  "documentation": "<TEST_DOCUMENTATION_LINK>",
6
6
  "initialCondition": "Bridge configured to defaults and connected to a GW",
@@ -58,8 +58,8 @@ def get_report_status(test):
58
58
  print_update_wait()
59
59
 
60
60
  test.rc = TEST_FAILED
61
- print("Not all reports on OTA where received")
62
- test.add_reason("Not all reports on OTA where received")
61
+ print("Not all reports on OTA were received")
62
+ test.add_reason("Not all reports on OTA were received")
63
63
  return test
64
64
 
65
65
 
@@ -101,11 +101,12 @@ def run(test):
101
101
  if test.rc == TEST_FAILED:
102
102
  return cert_common.test_epilog(test, revert_brgs=True)
103
103
 
104
- versions_mgmt = cert_utils.load_module('versions_mgmt.py', f'{UTILS_BASE_REL_PATH}/versions_mgmt.py')
104
+ versions_mgmt2 = cert_utils.load_module('versions_mgmt2.py', f'{UTILS_BASE_REL_PATH}/versions_mgmt2.py')
105
+ reg_id = versions_mgmt2.get_board_type(env=AWS, server=TEST, board_name="wifi")[versions_mgmt2.BOARD_REG_ID]
105
106
  if test.latest:
106
- _, version = versions_mgmt.get_versions(env='aws', server='test', ci=True)
107
+ _, version = versions_mgmt2.get_versions(env=AWS, server=TEST, board_type_reg_id=reg_id, ci=True)
107
108
  elif test.release_candidate:
108
- _, version = versions_mgmt.get_versions(env='aws', server='test', rc=True)
109
+ _, version = versions_mgmt2.get_versions(env=AWS, server=TEST, board_type_reg_id=reg_id, rc=True)
109
110
  else:
110
111
  test.rc = TEST_FAILED
111
112
  test.reason = NO_PARAMS_GIVEN
@@ -1,7 +1,7 @@
1
1
  {
2
- "name": "stat_test",
3
- "module": "edge_mgmt",
4
- "purpose": "Test static packets (heartbeat and interface) sent from the bridge",
2
+ "name": "Periodic Messages",
3
+ "module": "Edge Management",
4
+ "purpose": "Test periodic messages (heartbeat and interface) sent from the bridge",
5
5
  "documentation": "<TEST_DOCUMENTATION_LINK>",
6
6
  "initialCondition": "Bridge configured to defaults",
7
7
  "procedure": ["Test prolog", "Scan for heartbeat and interface packets", "Test epilog"],
@@ -3,10 +3,10 @@ from brg_certificate.cert_defines import *
3
3
  from brg_certificate.wlt_types import *
4
4
  import brg_certificate.cert_common as cert_common
5
5
 
6
- BRG_STAT_SCAN_TIMEOUT = 65
6
+ BRG_PER_MSGS_SCAN_TIMEOUT = 65
7
7
 
8
8
 
9
- def scan_for_brg_stat(test, timeout=BRG_STAT_SCAN_TIMEOUT, only_hb=False):
9
+ def scan_for_brg_periodic_msgs(test, timeout=BRG_PER_MSGS_SCAN_TIMEOUT, only_hb=False):
10
10
  # In case we want to look for HB pkts only - set all modules to be True --> as if there are alredy found
11
11
  found = {HB: False, MODULE_IF: False}
12
12
  if only_hb is True:
@@ -42,7 +42,7 @@ def run(test):
42
42
  if test.rc == TEST_FAILED:
43
43
  return cert_common.test_epilog(test)
44
44
 
45
- test = scan_for_brg_stat(test)
46
- generate_log_file(test, "stat")
45
+ test = scan_for_brg_periodic_msgs(test)
46
+ generate_log_file(test, "periodic_msgs")
47
47
 
48
48
  return cert_common.test_epilog(test)
@@ -1,7 +1,7 @@
1
1
  {
2
- "name": "duty_cycle_test",
3
- "module": "energy2400",
4
- "purpose": "Test configuration for supported energy2400 duty cycle values",
2
+ "name": "Duty Cycle",
3
+ "module": "Energizer 2.4GHz",
4
+ "purpose": "Test configuration for supported Energizer 2.4GHz duty cycle values",
5
5
  "documentation": "https://community.wiliot.com/customers/s/article/Wiliot-Network-Energizing-2-4Ghz",
6
6
  "initialCondition": "Bridge configured to defaults",
7
7
  "procedure": ["Test prolog",
@@ -4,6 +4,7 @@ from brg_certificate.wlt_types import *
4
4
  import brg_certificate.cert_common as cert_common
5
5
  import brg_certificate.cert_config as cert_config
6
6
 
7
+
7
8
  def run(test):
8
9
 
9
10
  fields = [BRG_DUTY_CYCLE]
@@ -23,4 +24,4 @@ def run(test):
23
24
  else:
24
25
  test.reset_result()
25
26
 
26
- return cert_common.test_epilog(test, revert_brgs=True, modules=[energy2400_module])
27
+ return cert_common.test_epilog(test, revert_brgs=True, modules=[energy2400_module])
@@ -1,7 +1,7 @@
1
1
  {
2
- "name": "output_power_test",
3
- "module": "energy2400",
4
- "purpose": "Test configuration for all supported energy2400 output power values",
2
+ "name": "Output Power",
3
+ "module": "Energizer 2.4GHz",
4
+ "purpose": "Test configuration for all supported Energizer 2.4GHz output power values",
5
5
  "documentation": "https://community.wiliot.com/customers/s/article/Wiliot-Network-Energizing-2-4Ghz",
6
6
  "initialCondition": "Bridge configured to defaults",
7
7
  "procedure": ["Test prolog",
@@ -11,5 +11,6 @@
11
11
  "mandatory": 1,
12
12
  "multiBridgeTest": 0,
13
13
  "gwOnlyTest": 0,
14
+ "internalBridge": 1,
14
15
  "allSupportedValues": [-12, -8, -4, 0, 2, 3]
15
16
  }
@@ -4,6 +4,7 @@ from brg_certificate.wlt_types import *
4
4
  import brg_certificate.cert_common as cert_common
5
5
  import brg_certificate.cert_config as cert_config
6
6
 
7
+
7
8
  def run(test):
8
9
 
9
10
  fields = [BRG_OUTPUT_POWER]
@@ -24,4 +25,4 @@ def run(test):
24
25
  else:
25
26
  test.reset_result()
26
27
 
27
- return cert_common.test_epilog(test, revert_brgs=True, modules=[energy2400_module])
28
+ return cert_common.test_epilog(test, revert_brgs=True, modules=[energy2400_module])
@@ -1,7 +1,7 @@
1
1
  {
2
- "name": "pattern_test",
3
- "module": "energy2400",
4
- "purpose": "Test configuration for all supported Energy 2400MHz pattern values",
2
+ "name": "Pattern",
3
+ "module": "Energizer 2.4GHz",
4
+ "purpose": "Test configuration for all supported Energizer 2.4GHz pattern values",
5
5
  "documentation": "https://community.wiliot.com/customers/s/article/Wiliot-Network-Energizing-2-4Ghz",
6
6
  "initialCondition": "Bridge configured to defaults",
7
7
  "procedure": ["Test prolog",
@@ -4,6 +4,7 @@ from brg_certificate.wlt_types import *
4
4
  import brg_certificate.cert_common as cert_common
5
5
  import brg_certificate.cert_config as cert_config
6
6
 
7
+
7
8
  def run(test):
8
9
 
9
10
  fields = [BRG_PATTERN]
@@ -25,4 +26,4 @@ def run(test):
25
26
  else:
26
27
  test.reset_result()
27
28
 
28
- return cert_common.test_epilog(test, revert_brgs=True, modules=[energy2400_module])
29
+ return cert_common.test_epilog(test, revert_brgs=True, modules=[energy2400_module])
@@ -1,9 +1,9 @@
1
1
  {
2
- "name": "signal_indicator_functionality_ble5_10_250k_test",
3
- "module": "energy2400",
4
- "purpose": "TODO",
2
+ "name": "Signal Indicator BLE5 E2/E3 Pixels",
3
+ "module": "Energizer 2.4GHz",
4
+ "purpose": "verify Energizer 2.4GHz signal indicator functionality for BLE_5.0 in CHANNEL_10 for E2/E3 pixels modulation",
5
5
  "documentation": "https://community.wiliot.com/customers/s/article/Bridge-to-Bridge-Signal-Indicator",
6
- "initialCondition": "",
6
+ "initialCondition": "Bridge configured to defaults",
7
7
  "procedure": ["Test prolog",
8
8
  "rssi_threshold - check the if rssi value is between 0 to -25.",
9
9
  "brg0_rx_brg1_tx - one brg is transmitter and the second is receiver, we expect to get the same values from the receiver, according to the tx params",
@@ -11,7 +11,7 @@
11
11
  "brg0_rxtx_brg1_rxtx - Both BRG's will be configured to be transmitters and receivers, with different tx params for each one. we expect to see signal indicator packets from both BRG's, according to the tx params.",
12
12
  "brg0_tx_brg1_none - One BRG will be configured as signal indicator tx, but no rx, so we don't expect to receive signal indicator packets.",
13
13
  "Test epilog"],
14
- "expectedOutcome": "",
14
+ "expectedOutcome": "All phases passed successfully!",
15
15
  "mandatory": 0,
16
16
  "multiBridgeTest": 1,
17
17
  "gwOnlyTest": 0,