wiliot-certificate 4.5.0a2__py3-none-any.whl → 4.5.0a3__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 (26) hide show
  1. certificate/cert_common.py +2 -2
  2. certificate/cert_config.py +3 -3
  3. certificate/certificate_eth_test_list.txt +3 -2
  4. certificate/certificate_sanity_test_list.txt +3 -2
  5. certificate/certificate_test_list.txt +3 -3
  6. certificate/tests/cloud_connectivity/downlink_test/downlink_test.py +1 -4
  7. certificate/tests/datapath/event_ble5_test/event_ble5_test.py +6 -4
  8. certificate/tests/datapath/event_test/event_test.py +4 -3
  9. certificate/tests/datapath/pacer_interval_ble5_test/pacer_interval_ble5_test.py +4 -4
  10. certificate/tests/datapath/pkt_filter_ble5_chl21_test/pkt_filter_ble5_chl21_test.py +5 -5
  11. certificate/tests/datapath/pkt_filter_ble5_test/pkt_filter_ble5_test.py +5 -5
  12. certificate/tests/datapath/pkt_filter_brg2gw_ext_adv_test/pkt_filter_brg2gw_ext_adv_test.py +10 -8
  13. certificate/tests/energy2400/signal_indicator_ble5_test/signal_indicator_ble5_test.py +1 -2
  14. certificate/tests/energy2400/signal_indicator_ext_adv_test/signal_indicator_ext_adv_test.json +8 -9
  15. certificate/tests/energy2400/signal_indicator_ext_adv_test/signal_indicator_ext_adv_test.py +110 -270
  16. certificate/tests/sensors/ext_sensor_test/ext_sensor_test.py +4 -9
  17. common/web/templates/generator.html +141 -79
  18. common/web/web_utils.py +78 -56
  19. gui_certificate/server.py +111 -19
  20. gui_certificate/templates/cert_run.html +43 -6
  21. {wiliot_certificate-4.5.0a2.dist-info → wiliot_certificate-4.5.0a3.dist-info}/METADATA +4 -9
  22. {wiliot_certificate-4.5.0a2.dist-info → wiliot_certificate-4.5.0a3.dist-info}/RECORD +26 -26
  23. {wiliot_certificate-4.5.0a2.dist-info → wiliot_certificate-4.5.0a3.dist-info}/WHEEL +0 -0
  24. {wiliot_certificate-4.5.0a2.dist-info → wiliot_certificate-4.5.0a3.dist-info}/entry_points.txt +0 -0
  25. {wiliot_certificate-4.5.0a2.dist-info → wiliot_certificate-4.5.0a3.dist-info}/licenses/LICENSE +0 -0
  26. {wiliot_certificate-4.5.0a2.dist-info → wiliot_certificate-4.5.0a3.dist-info}/top_level.txt +0 -0
@@ -606,8 +606,8 @@ def run_event_test_phase(test, phase, datapath_module, values, scan_time, event_
606
606
  scan_time_multiplier = (1 / 3)
607
607
  fields += [BRG_RSSI_MOVEMENT_THRESHOLD]
608
608
 
609
- test = (cert_config.brg_configure_ble5(test, fields=fields, values=values, module=datapath_module)[0] if ble5_test
610
- else cert_config.brg_configure(test, fields=fields, values=values, module=datapath_module)[0])
609
+ ble5 = ble5_test and test.dut_is_bridge() # ble5 only for bridge dut (with combo we don't need to wait)
610
+ test = cert_config.brg_configure(test, fields=fields, values=values, module=datapath_module, ble5=ble5)[0]
611
611
  test.set_phase_rc(phase, test.rc)
612
612
  test.add_phase_reason(phase, test.reason)
613
613
  if test.rc == TEST_FAILED and test.exit_on_param_failure:
@@ -313,14 +313,14 @@ def brg_configure_ble5(test, cfg_pkt=None, module=None, fields=None, values=None
313
313
  if wait is False:
314
314
  return test, DONE
315
315
  while not pkts_found:
316
- if ((datetime.datetime.now() - start_time).seconds > ((ag.BLE5_PARAM_PRIMARY_CHANNEL_SCAN_CYCLE/1000)+1)):
316
+ if ((datetime.datetime.now() - start_time).seconds > BLE5_MAX_DURATION_SEC):
317
317
  if num_of_tries < 3:
318
318
  num_of_tries += 1
319
319
  start_time = datetime.datetime.now()
320
320
  gw_downlink(test=test, raw_tx_data=cfg_pkt.dump(), max_duration=BLE5_MAX_DURATION_MS, max_retries=BLE5_MAX_RETRIES, target=target)
321
- print(f"Brg configure - BLE5 mode : No pkts found after {(ag.BLE5_PARAM_PRIMARY_CHANNEL_SCAN_CYCLE/1000)+1} seconds, in try number {num_of_tries}")
321
+ print(f"Brg configure - BLE5 mode : No pkts found after {BLE5_MAX_DURATION_SEC} seconds, in try number {num_of_tries}")
322
322
  else:
323
- test.add_reason(f"Brg configure - BLE5 mode : No pkts found after {BLE5_MAX_DURATION_MS} seconds, in 3 tries")
323
+ test.add_reason(f"Brg configure - BLE5 mode : No pkts found after {BLE5_MAX_DURATION_SEC} seconds, in 3 tries")
324
324
  test.rc = TEST_FAILED
325
325
  time.sleep(1)
326
326
  mqttc.flush_pkts()
@@ -22,6 +22,7 @@ energy2400/output_power_test OUTPUT_POWER_2_4_MAX_MINUS_26 OUTPUT_POWER_2_4_MAX_
22
22
  energy2400/duty_cycle_test 1 25 50 75
23
23
  energy2400/signal_indicator_test rssi_threshold rx tx_eu_pattern disable_rx disable_tx rx_tx
24
24
  energy2400/signal_indicator_ble5_test rssi_threshold rx tx disable_rx disable_tx rx_tx
25
+ energy2400/signal_indicator_ext_adv_test ext_adv_rx37 ext_adv_rx10
25
26
 
26
27
  # ------------- energy_sub1g -------------
27
28
  energy_sub1g/pattern_test SUB1G_ENERGY_PATTERN_NO_ENERGIZING SUB1G_ENERGY_PATTERN_SINGLE_TONE_915000 SUB1G_ENERGY_PATTERN_FCC_HOPPING SUB1G_ENERGY_PATTERN_SINGLE_TONE_917500 SUB1G_ENERGY_PATTERN_NZ_HOPPING
@@ -67,8 +68,8 @@ cloud_connectivity/uplink_test mgmt_pkt pixels_pkt sensor_pkt
67
68
  cloud_connectivity/downlink_test
68
69
  cloud_connectivity/uplink_ext_adv_test
69
70
  cloud_connectivity/reboot_test
70
- cloud_connectivity/stress_test 20 40 60 80 100 120 140 160 180 200 222 250 285 333
71
- cloud_connectivity/ext_adv_stress_test 20 40 60 80 100 120 140 160 180 200
71
+ cloud_connectivity/stress_test
72
+ cloud_connectivity/ext_adv_stress_test
72
73
  cloud_connectivity/channel_scan_behaviour_test
73
74
  cloud_connectivity/acl_test deny allow
74
75
  cloud_connectivity/acl_ext_adv_test deny allow
@@ -22,6 +22,7 @@ energy2400/output_power_test OUTPUT_POWER_2_4_MAX_MINUS_14 OUTPUT_POWER_2_4_MAX_
22
22
  energy2400/duty_cycle_test 1 50 75
23
23
  energy2400/signal_indicator_test rx_tx
24
24
  energy2400/signal_indicator_ble5_test rx_tx
25
+ energy2400/signal_indicator_ext_adv_test ext_adv_rx37
25
26
 
26
27
  # ------------- energy_sub1g -------------
27
28
  energy_sub1g/pattern_test SUB1G_ENERGY_PATTERN_NO_ENERGIZING SUB1G_ENERGY_PATTERN_FCC_HOPPING SUB1G_ENERGY_PATTERN_SINGLE_TONE_917500 SUB1G_ENERGY_PATTERN_NZ_HOPPING
@@ -59,7 +60,7 @@ cloud_connectivity/uplink_test mgmt_pkt pixels_pkt
59
60
  cloud_connectivity/downlink_test
60
61
  cloud_connectivity/uplink_ext_adv_test
61
62
  cloud_connectivity/reboot_test
62
- cloud_connectivity/stress_test 100 222
63
- cloud_connectivity/ext_adv_stress_test 20 100
63
+ cloud_connectivity/stress_test
64
+ cloud_connectivity/ext_adv_stress_test
64
65
  cloud_connectivity/acl_test deny
65
66
  cloud_connectivity/acl_ext_adv_test allow
@@ -22,7 +22,7 @@ energy2400/output_power_test OUTPUT_POWER_2_4_MAX_MINUS_26 OUTPUT_POWER_2_4_MAX_
22
22
  energy2400/duty_cycle_test 1 25 50 75
23
23
  energy2400/signal_indicator_test rssi_threshold rx tx_eu_pattern disable_rx disable_tx rx_tx
24
24
  energy2400/signal_indicator_ble5_test rssi_threshold rx tx disable_rx disable_tx rx_tx
25
- #energy2400/signal_indicator_ext_adv_test rssi_threshold brg0_tx_brg1_rx brg0_rxtx_brg1_rxtx
25
+ energy2400/signal_indicator_ext_adv_test ext_adv_rx37 ext_adv_rx10
26
26
 
27
27
  # ------------- energy_sub1g -------------
28
28
  energy_sub1g/pattern_test SUB1G_ENERGY_PATTERN_NO_ENERGIZING SUB1G_ENERGY_PATTERN_SINGLE_TONE_915000 SUB1G_ENERGY_PATTERN_FCC_HOPPING SUB1G_ENERGY_PATTERN_SINGLE_TONE_917500 SUB1G_ENERGY_PATTERN_NZ_HOPPING
@@ -67,8 +67,8 @@ cloud_connectivity/uplink_test mgmt_pkt pixels_pkt sensor_pkt geolocation
67
67
  cloud_connectivity/downlink_test
68
68
  cloud_connectivity/uplink_ext_adv_test
69
69
  cloud_connectivity/reboot_test
70
- cloud_connectivity/stress_test 20 40 60 80 100 120 140 160 180 200 222 250 285 333
71
- cloud_connectivity/ext_adv_stress_test 20 40 60 80 100 120 140 160 180 200
70
+ cloud_connectivity/stress_test
71
+ cloud_connectivity/ext_adv_stress_test
72
72
  cloud_connectivity/channel_scan_behaviour_test
73
73
  cloud_connectivity/acl_test deny allow
74
74
  cloud_connectivity/acl_ext_adv_test deny allow
@@ -121,10 +121,7 @@ def report_and_results(test, sniffed_pkts):
121
121
  test.reason = 'No packets collected.'
122
122
  return
123
123
 
124
- if test.active_brg.board_type == ag.BOARD_TYPE_FANSTEL_WIFI_V0:
125
- x_value = ('tx_max_retries', 'TX Max Retries')
126
- else:
127
- x_value = ('tx_max_duration', 'TX Max Duration')
124
+ x_value = ('tx_max_duration', 'TX Max Duration')
128
125
 
129
126
  # Create scatter with OLS trendline per channel
130
127
  fig = px.scatter(
@@ -63,10 +63,11 @@ def run(test):
63
63
  test = cert_common.test_prolog(test)
64
64
  if test.rc == TEST_FAILED:
65
65
  return cert_common.test_epilog(test)
66
+ dut = cert_config.get_brg_by_target(test, DUT)
66
67
 
67
68
  for param in test.params:
68
69
  phase_run_print(param.name)
69
- test = EVENT_TEST_MAP[param.value](test, param.name, test.active_brg.datapath)
70
+ test = EVENT_TEST_MAP[param.value](test, param.name, dut.datapath)
70
71
  cert_mqtt.generate_log_file(test, param.name)
71
72
  field_functionality_pass_fail_print(test, param.name)
72
73
  test.set_phase_rc(param.name, test.rc)
@@ -79,10 +80,11 @@ def run(test):
79
80
  continue
80
81
 
81
82
  # Reset to defaults after every phase (don't fail the phase on that)
82
- test = cert_config.config_brg_defaults(test, modules=[test.active_brg.datapath], ble5=True)[0]
83
- print_update_wait(2 * BLE5_MAX_DURATION_SEC)
83
+ test = cert_config.config_brg_defaults(test, modules=[dut.datapath], ble5=test.dut_is_bridge())[0]
84
84
  if test.rc == TEST_FAILED:
85
85
  test.add_reason("Failed to restore brg to defaults")
86
+ if test.dut_is_bridge():
87
+ wait_time_n_print(BLE5_MAX_DURATION_SEC)
86
88
 
87
89
  if test.rc == TEST_FAILED:
88
90
  test.set_phase_rc(param.name, test.rc)
@@ -92,4 +94,4 @@ def run(test):
92
94
  else:
93
95
  test.reset_result()
94
96
 
95
- return cert_common.test_epilog(test, revert_brgs=True, modules=[test.active_brg.datapath], ble5=True)
97
+ return cert_common.test_epilog(test, revert_brgs=True, modules=[dut.datapath], ble5=test.dut_is_bridge())
@@ -54,10 +54,11 @@ def run(test):
54
54
  test = cert_common.test_prolog(test)
55
55
  if test.rc == TEST_FAILED:
56
56
  return cert_common.test_epilog(test)
57
+ dut = cert_config.get_brg_by_target(test, DUT)
57
58
 
58
59
  for param in test.params:
59
60
  phase_run_print(param.name)
60
- test = EVENT_TEST_MAP[param.value](test, param.name, test.active_brg.datapath)
61
+ test = EVENT_TEST_MAP[param.value](test, param.name, dut.datapath)
61
62
  cert_mqtt.generate_log_file(test, param.name)
62
63
  field_functionality_pass_fail_print(test, param.name)
63
64
  test.set_phase_rc(param.name, test.rc)
@@ -70,7 +71,7 @@ def run(test):
70
71
  continue
71
72
 
72
73
  # Reset to defaults after every phase (don't fail the phase on that)
73
- test = cert_config.config_brg_defaults(test, modules=[test.active_brg.datapath])[0]
74
+ test = cert_config.config_brg_defaults(test, modules=[dut.datapath])[0]
74
75
  if test.rc == TEST_FAILED:
75
76
  test.add_reason("Failed to restore brg to defaults")
76
77
 
@@ -82,4 +83,4 @@ def run(test):
82
83
  else:
83
84
  test.reset_result()
84
85
 
85
- return cert_common.test_epilog(test, revert_brgs=True, modules=[test.active_brg.datapath])
86
+ return cert_common.test_epilog(test, revert_brgs=True, modules=[dut.datapath])
@@ -10,15 +10,15 @@ import certificate.cert_data_sim as cert_data_sim
10
10
  def run(test):
11
11
 
12
12
  fields = [BRG_PACER_INTERVAL, BRG_RX_CHANNEL, BRG_PKT_FILTER]
13
- datapath_module = test.active_brg.datapath
13
+ dut = cert_config.get_brg_by_target(test, DUT)
14
14
 
15
15
  test = cert_common.test_prolog(test)
16
16
  if test.rc == TEST_FAILED:
17
17
  return cert_common.test_epilog(test)
18
18
 
19
19
  for param in test.params:
20
- test = cert_config.brg_configure_ble5(test, fields=fields, values=[param.value, ag.RX_CHANNEL_10_500K, ag.PKT_FILTER_TEMP_PKT],
21
- module=datapath_module)[0]
20
+ test = cert_config.brg_configure(test, fields=fields, values=[param.value, ag.RX_CHANNEL_10_500K, ag.PKT_FILTER_TEMP_PKT],
21
+ module=dut.datapath, ble5=test.dut_is_bridge())[0]
22
22
  if test.rc == TEST_FAILED:
23
23
  if test.exit_on_param_failure:
24
24
  break # break the whole for loop and keep the test as failed
@@ -49,4 +49,4 @@ def run(test):
49
49
  break # break the whole for loop and keep the test as failed
50
50
  test.reset_result() # reset result and continue to next param
51
51
 
52
- return cert_common.test_epilog(test, revert_brgs=True, revert_gws=test.internal_brg, modules=[datapath_module], ble5=True)
52
+ return cert_common.test_epilog(test, revert_brgs=True, revert_gws=test.internal_brg, modules=[dut.datapath], ble5=test.dut_is_bridge())
@@ -12,16 +12,16 @@ PKT_FILTER_TEST_PACER_INTERVAL = 10
12
12
  def run(test):
13
13
 
14
14
  fields = [BRG_PKT_FILTER, BRG_RX_CHANNEL, BRG_PACER_INTERVAL]
15
- datapath_module = eval(f'ModuleDatapathV{test.active_brg.api_version}')
15
+ dut = cert_config.get_brg_by_target(test, DUT)
16
16
 
17
17
  test = cert_common.test_prolog(test)
18
18
  if test.rc == TEST_FAILED:
19
19
  return cert_common.test_epilog(test)
20
20
 
21
21
  for param in test.params:
22
- test = cert_config.brg_configure_ble5(test, fields=fields,
23
- values=[param.value, RX_CHANNEL_21, PKT_FILTER_TEST_PACER_INTERVAL],
24
- module=datapath_module)[0]
22
+ test = cert_config.brg_configure(test, fields=fields,
23
+ values=[param.value, RX_CHANNEL_21, PKT_FILTER_TEST_PACER_INTERVAL],
24
+ module=dut.datapath, ble5=test.dut_is_bridge())[0]
25
25
  test.set_phase_rc(param.name, test.rc)
26
26
  test.add_phase_reason(param.name, test.reason)
27
27
  if test.rc == TEST_FAILED:
@@ -58,4 +58,4 @@ def run(test):
58
58
  break # break the whole for loop and keep the test as failed
59
59
  test.reset_result() # reset result and continue to next param
60
60
 
61
- return cert_common.test_epilog(test, revert_brgs=True, revert_gws=test.internal_brg, modules=[datapath_module], ble5=True)
61
+ return cert_common.test_epilog(test, revert_brgs=True, revert_gws=test.internal_brg, modules=[dut.datapath], ble5=test.dut_is_bridge())
@@ -12,16 +12,16 @@ PKT_FILTER_TEST_PACER_INTERVAL = 10
12
12
  def run(test):
13
13
 
14
14
  fields = [BRG_PKT_FILTER, BRG_RX_CHANNEL, BRG_PACER_INTERVAL]
15
- datapath_module = eval(f'ModuleDatapathV{test.active_brg.api_version}')
15
+ dut = cert_config.get_brg_by_target(test, DUT)
16
16
 
17
17
  test = cert_common.test_prolog(test)
18
18
  if test.rc == TEST_FAILED:
19
19
  return cert_common.test_epilog(test)
20
20
 
21
21
  for param in test.params:
22
- test = cert_config.brg_configure_ble5(test, fields=fields,
23
- values=[param.value, RX_CHANNEL_10_500K, PKT_FILTER_TEST_PACER_INTERVAL],
24
- module=datapath_module)[0]
22
+ test = cert_config.brg_configure(test, fields=fields,
23
+ values=[param.value, RX_CHANNEL_10_500K, PKT_FILTER_TEST_PACER_INTERVAL],
24
+ module=dut.datapath, ble5=test.dut_is_bridge())[0]
25
25
  test.set_phase_rc(param.name, test.rc)
26
26
  test.add_phase_reason(param.name, test.reason)
27
27
  if test.rc == TEST_FAILED:
@@ -57,4 +57,4 @@ def run(test):
57
57
  break # break the whole for loop and keep the test as failed
58
58
  test.reset_result() # reset result and continue to next param
59
59
 
60
- return cert_common.test_epilog(test, revert_brgs=True, revert_gws=test.internal_brg, modules=[datapath_module], ble5=True)
60
+ return cert_common.test_epilog(test, revert_brgs=True, revert_gws=test.internal_brg, modules=[dut.datapath], ble5=test.dut_is_bridge())
@@ -12,15 +12,16 @@ PKT_FILTER_TEST_PACER_INTERVAL = 4
12
12
  def run(test):
13
13
 
14
14
  fields = [BRG_PKT_FILTER, BRG_RX_CHANNEL, BRG_PACER_INTERVAL, BRG_PATTERN]
15
- datapath_module = eval(f'ModuleDatapathV{test.active_brg.api_version}')
15
+ dut = cert_config.get_brg_by_target(test, DUT)
16
16
 
17
17
  test = cert_common.test_prolog(test)
18
18
  if test.rc == TEST_FAILED:
19
19
  return cert_common.test_epilog(test)
20
20
 
21
- test = cert_config.brg_configure_ble5(test, fields=fields, values=[PKT_FILTER_TEMP_AND_ADVANCED_PKTS,
22
- RX_CHANNEL_10_500K, PKT_FILTER_TEST_PACER_INTERVAL,
23
- DATAPATH_PATTERN_EXTENDED_ADV], module=datapath_module)[0]
21
+ test = cert_config.brg_configure(test, fields=fields,
22
+ values=[PKT_FILTER_TEMP_AND_ADVANCED_PKTS, RX_CHANNEL_10_500K,
23
+ PKT_FILTER_TEST_PACER_INTERVAL, DATAPATH_PATTERN_EXTENDED_ADV],
24
+ module=dut.datapath, ble5=test.dut_is_bridge())[0]
24
25
  if test.rc == TEST_FAILED:
25
26
  return cert_common.test_epilog(test)
26
27
 
@@ -41,9 +42,10 @@ def run(test):
41
42
 
42
43
  # Configure the BRG to DATAPATH_PATTERN_EXTENDED_ADV_CH_10 if the GW listens to channel 10
43
44
  if param.value == RX_CHANNEL_10_500K:
44
- test = cert_config.brg_configure_ble5(test, fields=fields, values=[PKT_FILTER_TEMP_AND_ADVANCED_PKTS,
45
- RX_CHANNEL_10_500K, PKT_FILTER_TEST_PACER_INTERVAL,
46
- DATAPATH_PATTERN_EXTENDED_ADV_CH_10], module=datapath_module)[0]
45
+ test = cert_config.brg_configure(test, fields=fields,
46
+ values=[PKT_FILTER_TEMP_AND_ADVANCED_PKTS, RX_CHANNEL_10_500K,
47
+ PKT_FILTER_TEST_PACER_INTERVAL, DATAPATH_PATTERN_EXTENDED_ADV_CH_10],
48
+ module=dut.datapath, ble5=test.dut_is_bridge())[0]
47
49
  if test.rc == TEST_FAILED:
48
50
  if test.exit_on_param_failure:
49
51
  break # break the whole for loop and keep the test as failed
@@ -80,4 +82,4 @@ def run(test):
80
82
  # Revert tester's rx channel
81
83
  test = cert_config.brg_configure(test, module=test.tester.internal_brg.datapath, target=TESTER)[0]
82
84
 
83
- return cert_common.test_epilog(test, revert_brgs=True, modules=[datapath_module], ble5=True)
85
+ return cert_common.test_epilog(test, revert_brgs=True, modules=[dut.datapath], ble5=test.dut_is_bridge())
@@ -28,7 +28,6 @@ import certificate.cert_config as cert_config
28
28
  NUM_OF_SCANNING_CYCLE = 5
29
29
  DEFAULT_SCAN_TIME = 30
30
30
  SCAN_DELAY_TIME = 3
31
- BLE5_MAX_DURATION_SEC = ag.BLE5_PARAM_PRIMARY_CHANNEL_SCAN_CYCLE // 1000 + 1
32
31
 
33
32
 
34
33
  def test_rssi_threshold(test):
@@ -366,7 +365,7 @@ def run(test):
366
365
  else:
367
366
  test.reset_result()
368
367
 
369
- # Revert DUT to defaults here and not in epilog
368
+ # Revert DUT and TESTER to defaults here and not in epilog
370
369
  test = cert_config.config_brg_defaults(test, modules=[dut.datapath], ble5=test.dut_is_bridge(), wait=test.dut_is_combo())[0]
371
370
  if test.rc == TEST_FAILED:
372
371
  test.add_reason("Failed to revert brg0 datapath to defaults")
@@ -1,20 +1,19 @@
1
1
  {
2
2
  "name": "Signal Indicator Extended Advertising",
3
3
  "module": "Energizer 2.4GHz",
4
- "purpose": "verify Signal Indicator functionality when using bridge with extended advertising pattern",
4
+ "purpose": "Verify Signal Indicator functionality when using bridge with extended advertising pattern",
5
5
  "documentation": "https://community.wiliot.com/customers/s/article/Bridge-to-Bridge-Signal-Indicator",
6
6
  "initialCondition": "Bridge configured to defaults",
7
- "procedure": ["Test prolog",
8
- "rssi_threshold - check the if rssi value is between 0 to -25.",
9
- "brg0_tx_brg1_rx - one brg is transmitter and the second is receiver, we expect to get the same values from the receiver, according to the tx params",
10
- "brg0_none_brg1_rx - One rx BRG without any tx BRG. We don't expect to see any signal indicator packets.",
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
- "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
- "Test epilog"],
7
+ "procedure": [
8
+ "Test prolog - Initialize test environment and configure bridges to defaults",
9
+ "ext_adv_rx37 - Configure DUT as Transmitter with extended advertising pattern and RX channel 37, and TESTER as Receiver and Analyze received signal indicator packets count, RX/TX antenna, output power, and RSSI values",
10
+ "ext_adv_rx10 - Configure DUT as Transmitter with extended advertising pattern and RX channel 10, and TESTER as Receiver and Analyze received signal indicator packets count, RX/TX antenna, output power, and RSSI values",
11
+ "Test epilog - Finalize test results and log outcomes"
12
+ ],
14
13
  "expectedOutcome": "All phases passed successfully!",
15
14
  "mandatory": 0,
16
15
  "multiBridgeTest": 1,
17
16
  "gwOnlyTest": 0,
18
17
  "dataSimOnlyTest": 0,
19
- "allSupportedValues": ["rssi_threshold", "brg0_tx_brg1_rx", "brg0_none_brg1_rx", "brg0_rxtx_brg1_rxtx", "brg0_tx_brg1_none"]
18
+ "allSupportedValues": ["ext_adv_rx37", "ext_adv_rx10"]
20
19
  }