wiliot-certificate 1.5.2a1__py3-none-any.whl → 4.4.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- brg_certificate/ag/energous_v0_defines.py +105 -114
- brg_certificate/ag/energous_v1_defines.py +105 -114
- brg_certificate/ag/energous_v2_defines.py +105 -114
- brg_certificate/ag/energous_v3_defines.py +105 -114
- brg_certificate/ag/energous_v4_defines.py +105 -114
- brg_certificate/ag/fanstel_lan_v0_defines.py +105 -114
- brg_certificate/ag/fanstel_lte_v0_defines.py +105 -114
- brg_certificate/ag/fanstel_wifi_v0_defines.py +105 -114
- brg_certificate/ag/minew_lte_v0_defines.py +105 -114
- brg_certificate/ag/wlt_types.html +983 -150
- brg_certificate/ag/wlt_types_ag.py +1326 -248
- brg_certificate/ag/wlt_types_ag_jsons/brg2brg_ota.json +69 -0
- brg_certificate/ag/wlt_types_ag_jsons/brg2gw_hb.json +101 -0
- brg_certificate/ag/wlt_types_ag_jsons/brg2gw_hb_sleep.json +45 -0
- brg_certificate/ag/wlt_types_ag_jsons/calibration.json +75 -0
- brg_certificate/ag/wlt_types_ag_jsons/custom.json +99 -0
- brg_certificate/ag/wlt_types_ag_jsons/datapath.json +133 -8
- brg_certificate/ag/wlt_types_ag_jsons/energy2400.json +99 -0
- brg_certificate/ag/wlt_types_ag_jsons/energySub1g.json +96 -0
- brg_certificate/ag/wlt_types_ag_jsons/externalSensor.json +113 -0
- brg_certificate/ag/wlt_types_ag_jsons/interface.json +157 -0
- brg_certificate/ag/wlt_types_ag_jsons/powerManagement.json +205 -0
- brg_certificate/cert_common.py +61 -11
- brg_certificate/cert_config.py +12 -7
- brg_certificate/cert_utils.py +3 -1
- brg_certificate/certificate_bcc_test_list.txt +0 -2
- brg_certificate/certificate_test_list.txt +4 -4
- brg_certificate/tests/calibration/interval_test/interval_test.json +1 -1
- brg_certificate/tests/calibration/interval_test/interval_test.py +5 -5
- brg_certificate/tests/calibration/output_power_test/output_power_test.json +1 -1
- brg_certificate/tests/calibration/output_power_test/output_power_test.py +5 -5
- brg_certificate/tests/calibration/pattern_test/pattern_test.json +1 -1
- brg_certificate/tests/calibration/pattern_test/pattern_test.py +16 -10
- brg_certificate/tests/datapath/aging_test/aging_test.py +10 -9
- brg_certificate/tests/datapath/num_of_tags_test/num_of_tags_test.py +8 -13
- brg_certificate/tests/datapath/output_power_test/output_power_test.json +1 -1
- brg_certificate/tests/datapath/output_power_test/output_power_test.py +5 -5
- brg_certificate/tests/datapath/pacer_interval_ble5_test/pacer_interval_ble5_test.json +1 -1
- brg_certificate/tests/datapath/pacer_interval_ble5_test/pacer_interval_ble5_test.py +11 -7
- brg_certificate/tests/datapath/pacer_interval_tags_count_test/pacer_interval_tags_count_test.py +11 -4
- brg_certificate/tests/datapath/pacer_interval_test/pacer_interval_test.py +10 -10
- brg_certificate/tests/datapath/pattern_test/pattern_test.json +1 -1
- brg_certificate/tests/datapath/pattern_test/pattern_test.py +5 -6
- brg_certificate/tests/datapath/pkt_filter_ble5_test/pkt_filter_ble5_test.json +1 -1
- brg_certificate/tests/datapath/pkt_filter_ble5_test/pkt_filter_ble5_test.py +10 -9
- brg_certificate/tests/datapath/pkt_filter_gen3_test/pkt_filter_gen3_test.json +1 -1
- brg_certificate/tests/datapath/pkt_filter_gen3_test/pkt_filter_gen3_test.py +11 -10
- brg_certificate/tests/datapath/pkt_filter_test/pkt_filter_test.json +1 -1
- brg_certificate/tests/datapath/pkt_filter_test/pkt_filter_test.py +11 -10
- brg_certificate/tests/datapath/rssi_threshold_test/rssi_threshold_test.json +1 -1
- brg_certificate/tests/datapath/rssi_threshold_test/rssi_threshold_test.py +11 -10
- brg_certificate/tests/datapath/rx_channel_test/rx_channel_test.json +1 -1
- brg_certificate/tests/datapath/rx_channel_test/rx_channel_test.py +5 -6
- brg_certificate/tests/datapath/rx_rate_gen2_test/rx_rate_gen2_test.py +39 -37
- brg_certificate/tests/datapath/rx_rate_gen3_test/rx_rate_gen3_test.py +46 -46
- brg_certificate/tests/datapath/stress_gen3_test/stress_gen3_test.json +2 -3
- brg_certificate/tests/datapath/stress_gen3_test/stress_gen3_test.py +21 -17
- brg_certificate/tests/datapath/stress_test/stress_test.json +2 -3
- brg_certificate/tests/datapath/stress_test/stress_test.py +20 -17
- brg_certificate/tests/datapath/tx_repetition_algo_test/tx_repetition_algo_test.py +1 -1
- brg_certificate/tests/datapath/tx_repetition_test/tx_repetition_test.json +1 -1
- brg_certificate/tests/datapath/tx_repetition_test/tx_repetition_test.py +12 -10
- brg_certificate/tests/edge_mgmt/actions_test/actions_test.json +1 -1
- brg_certificate/tests/edge_mgmt/actions_test/actions_test.py +13 -13
- brg_certificate/tests/edge_mgmt/brg2brg_ota_ble5_test/brg2brg_ota_ble5_test.py +1 -1
- brg_certificate/tests/edge_mgmt/leds_test/leds_test.py +2 -2
- brg_certificate/tests/energy2400/duty_cycle_test/duty_cycle_test.json +1 -1
- brg_certificate/tests/energy2400/duty_cycle_test/duty_cycle_test.py +5 -5
- brg_certificate/tests/energy2400/output_power_test/output_power_test.json +1 -1
- brg_certificate/tests/energy2400/output_power_test/output_power_test.py +5 -5
- brg_certificate/tests/energy2400/pattern_test/pattern_test.json +1 -1
- brg_certificate/tests/energy2400/pattern_test/pattern_test.py +5 -5
- brg_certificate/tests/energy2400/signal_indicator_ble5_10_250k_test/signal_indicator_ble5_10_250k_test.json +2 -2
- brg_certificate/tests/energy2400/signal_indicator_ble5_10_250k_test/signal_indicator_ble5_10_250k_test.py +256 -278
- brg_certificate/tests/energy2400/signal_indicator_ble5_10_500k_test/signal_indicator_ble5_10_500k_test.json +2 -2
- brg_certificate/tests/energy2400/signal_indicator_ble5_10_500k_test/signal_indicator_ble5_10_500k_test.py +256 -278
- brg_certificate/tests/energy2400/signal_indicator_sub1g_2_4_test/signal_indicator_sub1g_2_4_test.py +3 -3
- brg_certificate/tests/energy2400/signal_indicator_test/signal_indicator_test.py +30 -91
- brg_certificate/tests/energy_sub1g/duty_cycle_test/duty_cycle_test.json +1 -1
- brg_certificate/tests/energy_sub1g/duty_cycle_test/duty_cycle_test.py +5 -5
- brg_certificate/tests/energy_sub1g/pattern_test/pattern_test.json +1 -1
- brg_certificate/tests/energy_sub1g/pattern_test/pattern_test.py +5 -5
- brg_certificate/tests/energy_sub1g/signal_indicator_functionality_test/signal_indicator_functionality_test.py +2 -2
- brg_certificate/tests/energy_sub1g/signal_indicator_test/signal_indicator_test.json +1 -1
- brg_certificate/tests/energy_sub1g/signal_indicator_test/signal_indicator_test.py +5 -5
- brg_certificate/tests/pwr_mgmt/pwr_mgmt_test/pwr_mgmt_test.py +2 -2
- brg_certificate/tests/sensors/ext_sensor_test/ext_sensor_test.json +1 -1
- brg_certificate/tests/sensors/ext_sensor_test/ext_sensor_test.py +6 -7
- brg_certificate/wltPb_pb2.py +4 -4
- brg_certificate/wltPb_pb2.pyi +2 -1
- gw_certificate/api_if/gw_capabilities.py +37 -1
- gw_certificate/common/serialization_formatter.py +93 -0
- gw_certificate/common/wltPb_pb2.py +50 -38
- gw_certificate/common/wltPb_pb2.pyi +42 -35
- gw_certificate/gw_certificate.py +4 -2
- gw_certificate/gw_certificate_cli.py +5 -4
- gw_certificate/interface/4.4.91_app.zip +0 -0
- gw_certificate/interface/{4.4.52_sd_bl_app.zip → 4.4.91_sd_bl_app.zip} +0 -0
- gw_certificate/interface/ble_simulator.py +5 -3
- gw_certificate/interface/flash_fw.py +90 -0
- gw_certificate/interface/mqtt.py +39 -23
- gw_certificate/interface/pkt_generator.py +0 -44
- gw_certificate/interface/uart_if.py +25 -12
- gw_certificate/tests/actions.py +33 -5
- gw_certificate/tests/connection.py +3 -1
- gw_certificate/tests/downlink.py +2 -2
- gw_certificate/tests/generic.py +5 -4
- gw_certificate/tests/registration.py +4 -4
- gw_certificate/tests/static/generated_packet_table.py +47 -25
- gw_certificate/tests/static/packet_table.csv +10067 -10051
- gw_certificate/tests/static/uplink_defines.py +2 -1
- gw_certificate/tests/throughput.py +3 -2
- gw_certificate/tests/uplink.py +171 -32
- {wiliot_certificate-1.5.2a1.dist-info → wiliot_certificate-4.4.0.dist-info}/METADATA +71 -30
- {wiliot_certificate-1.5.2a1.dist-info → wiliot_certificate-4.4.0.dist-info}/RECORD +119 -117
- {wiliot_certificate-1.5.2a1.dist-info → wiliot_certificate-4.4.0.dist-info}/WHEEL +1 -1
- gw_certificate/interface/4.4.52_app.zip +0 -0
- {wiliot_certificate-1.5.2a1.dist-info → wiliot_certificate-4.4.0.dist-info}/entry_points.txt +0 -0
- {wiliot_certificate-1.5.2a1.dist-info → wiliot_certificate-4.4.0.dist-info}/licenses/LICENSE +0 -0
- {wiliot_certificate-1.5.2a1.dist-info → wiliot_certificate-4.4.0.dist-info}/top_level.txt +0 -0
|
@@ -11,8 +11,12 @@ import time
|
|
|
11
11
|
|
|
12
12
|
def metric_checking_HB(test, check, mgmt_type_list, tx_queue_expected, pacer_increment_expected):
|
|
13
13
|
if not mgmt_type_list:
|
|
14
|
-
|
|
15
|
-
|
|
14
|
+
if check:
|
|
15
|
+
test.add_reason("\nDidn't find HB pkt, therefore skip all checks\n")
|
|
16
|
+
print("Didn't find HB pkt, therefore will not check tx_queue and pacer increment")
|
|
17
|
+
else:
|
|
18
|
+
test.rc = TEST_PASSED # skip the rc result if we didn't find HB pkt
|
|
19
|
+
print("Didn't find HB pkt, therefore will not check tx_queue and pacer increment")
|
|
16
20
|
else:
|
|
17
21
|
# check tx queue
|
|
18
22
|
watermarks = [pkt.tx_queue_watermark for pkt in mgmt_type_list]
|
|
@@ -30,7 +34,7 @@ def metric_checking_HB(test, check, mgmt_type_list, tx_queue_expected, pacer_inc
|
|
|
30
34
|
print(f"\npacer_increment value is wrong\nexpected: {pacer_increment_expected}\ngot: {average_pacer_increment_HB}")
|
|
31
35
|
if check:
|
|
32
36
|
test.rc = TEST_FAILED
|
|
33
|
-
test.add_reason(f"pacer_increment:{average_pacer_increment_HB}")
|
|
37
|
+
test.add_reason(f"pacer_increment: {average_pacer_increment_HB} expected: {pacer_increment_expected}")
|
|
34
38
|
else:
|
|
35
39
|
print(f"\naverage pacer_increment from HB: {average_pacer_increment_HB}\n")
|
|
36
40
|
if check:
|
|
@@ -96,7 +100,7 @@ def combination_func(test, param, datapath_module, pacer_interval, num_of_sim_ta
|
|
|
96
100
|
test = metric_checking_HB(test, check, hbs, tx_queue_expected, pacer_increment_expected)
|
|
97
101
|
return test
|
|
98
102
|
else:
|
|
99
|
-
# in case it failed because the repetition value.
|
|
103
|
+
# in case it failed because the repetition value. the reason has been added in the metric_checking_df function
|
|
100
104
|
return test
|
|
101
105
|
|
|
102
106
|
time.sleep(30)
|
|
@@ -107,8 +111,8 @@ def combination_func(test, param, datapath_module, pacer_interval, num_of_sim_ta
|
|
|
107
111
|
hbs = [p[MGMT_PKT].pkt for p in hbs]
|
|
108
112
|
print("result of first df\n")
|
|
109
113
|
check = False
|
|
110
|
-
test = metric_checking_HB(test, check, hbs, tx_queue_expected, pacer_increment_expected)
|
|
111
114
|
test = metric_checking_df(test, check, pacer_interval, df, repetition_value_expected, brg_latency_expected, num_of_sim_tags)
|
|
115
|
+
test = metric_checking_HB(test, check, hbs, tx_queue_expected, pacer_increment_expected)
|
|
112
116
|
time.sleep(30)
|
|
113
117
|
# second df
|
|
114
118
|
df = cert_common.data_scan(test, scan_time=60, brg_data=(not test.internal_brg), gw_data=test.internal_brg)
|
|
@@ -117,8 +121,10 @@ def combination_func(test, param, datapath_module, pacer_interval, num_of_sim_ta
|
|
|
117
121
|
hbs = [p[MGMT_PKT].pkt for p in hbs]
|
|
118
122
|
print("result of second df\n")
|
|
119
123
|
check = True
|
|
120
|
-
test = metric_checking_HB(test, check, hbs, tx_queue_expected, pacer_increment_expected)
|
|
121
124
|
test = metric_checking_df(test, check, pacer_interval, df, repetition_value_expected, brg_latency_expected, num_of_sim_tags)
|
|
125
|
+
if param.name != "rep1":
|
|
126
|
+
check = False
|
|
127
|
+
test = metric_checking_HB(test, check, hbs, tx_queue_expected, pacer_increment_expected)
|
|
122
128
|
return test
|
|
123
129
|
|
|
124
130
|
|
|
@@ -147,7 +153,7 @@ def rep1(test, param, datapath_module, num_of_sim_tags):
|
|
|
147
153
|
pacer_interval = 7
|
|
148
154
|
test = combination_func(test, param, datapath_module, pacer_interval=pacer_interval, num_of_sim_tags=num_of_sim_tags,
|
|
149
155
|
repetition_value_expected=[1, 2], tx_queue_expected=[20, 40],
|
|
150
|
-
pacer_increment_expected=[0,
|
|
156
|
+
pacer_increment_expected=[0, 25], brg_latency_expected=[200, 300])
|
|
151
157
|
time.sleep(5)
|
|
152
158
|
return test
|
|
153
159
|
|
|
@@ -165,17 +171,14 @@ def rep1_adaptive_pacer(test, param, datapath_module, num_of_sim_tags):
|
|
|
165
171
|
|
|
166
172
|
def run(test):
|
|
167
173
|
# Test prolog
|
|
168
|
-
datapath_module =
|
|
174
|
+
datapath_module = test.active_brg.datapath
|
|
169
175
|
test = cert_common.test_prolog(test)
|
|
170
176
|
if test.rc == TEST_FAILED:
|
|
171
177
|
return cert_common.test_epilog(test, revert_brgs=True, modules=[datapath_module])
|
|
172
178
|
# config GW deduplication pkts = 0
|
|
173
179
|
print("Configuring GW with !deduplication_pkts 0")
|
|
174
180
|
cert_config.gw_action(test, f"{DEDUPLICATION_PKTS} 0")
|
|
175
|
-
|
|
176
|
-
return cert_common.test_epilog(test, revert_gws=True)
|
|
177
|
-
|
|
178
|
-
STRESS_TEST_MAP = {"rep3": rep3, "rep2": rep2, "rep1": rep1, "rep1_adaptive_pacer": rep1_adaptive_pacer}
|
|
181
|
+
STRESS_TEST_MAP = {"rep3": rep3, "rep2": rep2, "rep1": rep1}
|
|
179
182
|
num_of_pixels = 300
|
|
180
183
|
pixel_sim_thread = cert_data_sim.DataSimThread(test=test,
|
|
181
184
|
num_of_pixels=num_of_pixels,
|
|
@@ -192,11 +195,11 @@ def run(test):
|
|
|
192
195
|
field_functionality_pass_fail_print(test, param.name)
|
|
193
196
|
test.set_phase_rc(param.name, test.rc)
|
|
194
197
|
test.add_phase_reason(param.name, test.reason)
|
|
195
|
-
if test.rc == TEST_FAILED
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
198
|
+
if test.rc == TEST_FAILED:
|
|
199
|
+
if test.exit_on_param_failure:
|
|
200
|
+
break # break the whole for loop and keep the test as failed
|
|
201
|
+
test.reset_result() # reset result and continue to next param
|
|
202
|
+
|
|
200
203
|
pixel_sim_thread.stop()
|
|
201
204
|
# Re-enable unified packets deduplication
|
|
202
205
|
cert_config.gw_action(test, f"{DEDUPLICATION_PKTS} 1")
|
|
@@ -100,7 +100,7 @@ def run(test):
|
|
|
100
100
|
if test.rc == TEST_FAILED:
|
|
101
101
|
return cert_common.test_epilog(test)
|
|
102
102
|
|
|
103
|
-
datapath_module =
|
|
103
|
+
datapath_module = test.active_brg.datapath
|
|
104
104
|
|
|
105
105
|
print("Configuring GW")
|
|
106
106
|
# Set packets deduplication off to count the number of pkts from the BRG
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
"For each supported value - Configure TX repetitions, Generate pixels packets & scan for packets in the bridge, Compare repetitions mean per packet to the configured value",
|
|
10
10
|
"Test epilog and revert to defaults"],
|
|
11
11
|
"expectedOutcome": "All values configured successfully and actual repetitions found matching to the configured values",
|
|
12
|
-
"mandatory":
|
|
12
|
+
"mandatory": 0,
|
|
13
13
|
"multiBridgeTest": 0,
|
|
14
14
|
"gwOnlyTest": 0,
|
|
15
15
|
"internalBridge": 0,
|
|
@@ -50,7 +50,7 @@ def tx_repetitions_analysis(test, repetitions):
|
|
|
50
50
|
def run(test):
|
|
51
51
|
|
|
52
52
|
fields = [BRG_TX_REPETITION, BRG_PKT_FILTER, BRG_RX_CHANNEL]
|
|
53
|
-
datapath_module =
|
|
53
|
+
datapath_module = test.active_brg.datapath
|
|
54
54
|
|
|
55
55
|
test = cert_common.test_prolog(test)
|
|
56
56
|
if test.rc == TEST_FAILED:
|
|
@@ -58,24 +58,26 @@ def run(test):
|
|
|
58
58
|
|
|
59
59
|
print("Configuring GW with !deduplication_pkts 0")
|
|
60
60
|
cert_config.gw_action(test, f"{DEDUPLICATION_PKTS} 0")
|
|
61
|
-
if test.rc == TEST_FAILED and test.exit_on_param_failure:
|
|
62
|
-
return cert_common.test_epilog(test, revert_gws=True)
|
|
63
61
|
|
|
64
62
|
for param in test.params:
|
|
65
63
|
test = cert_config.brg_configure(test, fields=fields,
|
|
66
64
|
values=[param.value, ag.PKT_FILTER_RANDOM_FIRST_ARRIVING_PKT, ag.RX_CHANNEL_37],
|
|
67
65
|
module=datapath_module)[0]
|
|
68
|
-
if test.rc == TEST_FAILED
|
|
69
|
-
|
|
66
|
+
if test.rc == TEST_FAILED:
|
|
67
|
+
if test.exit_on_param_failure:
|
|
68
|
+
break # break the whole for loop and keep the test as failed
|
|
69
|
+
else:
|
|
70
|
+
test.reset_result() # reset result and continue to next param
|
|
71
|
+
continue
|
|
70
72
|
tx_repetitions_analysis(test, param.name)
|
|
71
73
|
field_functionality_pass_fail_print(test, fields[0], value=param.name)
|
|
72
74
|
test.set_phase_rc(param.name, test.rc)
|
|
73
75
|
test.add_phase_reason(param.name, test.reason)
|
|
74
|
-
if test.rc == TEST_FAILED
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
76
|
+
if test.rc == TEST_FAILED:
|
|
77
|
+
if test.exit_on_param_failure:
|
|
78
|
+
break # break the whole for loop and keep the test as failed
|
|
79
|
+
test.reset_result() # reset result and continue to next param
|
|
78
80
|
|
|
79
81
|
# Re-enable unified packets deduplication
|
|
80
82
|
cert_config.gw_action(test, f"{DEDUPLICATION_PKTS} 1")
|
|
81
|
-
return cert_common.test_epilog(test, revert_brgs=True,
|
|
83
|
+
return cert_common.test_epilog(test, revert_brgs=True, modules=[datapath_module])
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
"initialCondition": "Bridge configured to defaults",
|
|
7
7
|
"procedure": ["Test prolog", "Run all actions and test bridge's response accordingly", "Test epilog"],
|
|
8
8
|
"expectedOutcome": "Bridge responded as expected to all sent actions",
|
|
9
|
-
"mandatory":
|
|
9
|
+
"mandatory": 0,
|
|
10
10
|
"multiBridgeTest": 0,
|
|
11
11
|
"gwOnlyTest": 0,
|
|
12
12
|
"internalBridge": 1,
|
|
@@ -34,26 +34,26 @@ LIS2DW12_NON_DEFAULT_SLEEP_DURATION = 35
|
|
|
34
34
|
|
|
35
35
|
def get_brg_non_default_module_pkt(test, module):
|
|
36
36
|
if 'Energy2400' in module.__name__:
|
|
37
|
-
return cert_config.get_default_brg_pkt(test, pkt_type=
|
|
37
|
+
return cert_config.get_default_brg_pkt(test, pkt_type=test.active_brg.energy2400,
|
|
38
38
|
duty_cycle=BRG_NON_DEFAULT_DUTY_CYCLE,
|
|
39
39
|
output_power=BRG_NON_DEFAULT_OP_2_4, pattern=BRG_NON_DEFAULT_EP_2_4,
|
|
40
40
|
signal_indicator_cycle=BRG_NON_DEFAULT_SIGNAL_INDICATOR_CYCLE_2_4,
|
|
41
41
|
signal_indicator_rep=BRG_NON_DEFAULT_SIGNAL_INDICATOR_REP_2_4)
|
|
42
42
|
elif 'EnergySub1G' in module.__name__:
|
|
43
|
-
return cert_config.get_default_brg_pkt(test, pkt_type=
|
|
43
|
+
return cert_config.get_default_brg_pkt(test, pkt_type=test.active_brg.energy_sub1g,
|
|
44
44
|
duty_cycle=BRG_NON_DEFAULT_DUTY_CYCLE,
|
|
45
45
|
signal_indicator_cycle=BRG_NON_DEFAULT_SIGNAL_INDICATOR_CYCLE_SUB1G,
|
|
46
46
|
signal_indicator_rep=BRG_NON_DEFAULT_SIGNAL_INDICATOR_REP_SUB1G)
|
|
47
47
|
elif 'PwrMgmt' in module.__name__:
|
|
48
|
-
return cert_config.get_default_brg_pkt(test, pkt_type=
|
|
48
|
+
return cert_config.get_default_brg_pkt(test, pkt_type=test.active_brg.pwr_mgmt,
|
|
49
49
|
dynamic_keep_alive_scan=BRG_NON_DEFAULT_PWR_MGMT_KEEP_ALIVE_SCAN)
|
|
50
50
|
elif 'Custom' in module.__name__:
|
|
51
|
-
return cert_config.get_default_brg_pkt(test, pkt_type=
|
|
51
|
+
return cert_config.get_default_brg_pkt(test, pkt_type=test.active_brg.custom,
|
|
52
52
|
motion_sensitivity_threshold=LIS2DW12_NON_DEFAULT_STATE_THRESHOLD,
|
|
53
53
|
s2d_transition_time=LIS2DW12_NON_DEFAULT_WAKE_UP_DURATION,
|
|
54
54
|
d2s_transition_time=LIS2DW12_NON_DEFAULT_SLEEP_DURATION)
|
|
55
55
|
elif 'Datapath' in module.__name__:
|
|
56
|
-
return cert_config.get_default_brg_pkt(test, pkt_type=
|
|
56
|
+
return cert_config.get_default_brg_pkt(test, pkt_type=test.active_brg.datapath,
|
|
57
57
|
tx_repetition=BRG_NON_DEFAULT_TX_REPETITION,
|
|
58
58
|
pkt_filter=BRG_NON_DEFAULT_PKT_FILTER,
|
|
59
59
|
output_power=BRG_NON_DEFAULT_OP_2_4,
|
|
@@ -61,12 +61,12 @@ def get_brg_non_default_module_pkt(test, module):
|
|
|
61
61
|
pacer_interval=BRG_NON_DEFAULT_PACER_INTERVAL,
|
|
62
62
|
rssi_threshold=BRG_NON_DEFAULT_RSSI_THRESHOLD)
|
|
63
63
|
elif 'Calibration' in module.__name__:
|
|
64
|
-
return cert_config.get_default_brg_pkt(test, pkt_type=
|
|
64
|
+
return cert_config.get_default_brg_pkt(test, pkt_type=test.active_brg.calibration,
|
|
65
65
|
output_power=BRG_NON_DEFAULT_CALIB_OUTPUT_POWER,
|
|
66
66
|
interval=BRG_NON_DEFAULT_CALIB_INTERVAL,
|
|
67
67
|
pattern=BRG_NON_DEFAULT_CALIB_PATTERN)
|
|
68
68
|
elif 'ExtSensors' in module.__name__:
|
|
69
|
-
return cert_config.get_default_brg_pkt(test, pkt_type=
|
|
69
|
+
return cert_config.get_default_brg_pkt(test, pkt_type=test.active_brg.sensors,
|
|
70
70
|
sensor0=ag.EXTERNAL_SENSORS_MINEWS1,
|
|
71
71
|
sensor1=ag.EXTERNAL_SENSORS_VOLTAIC_BATT_LEVEL_DONGLE,
|
|
72
72
|
rssi_threshold=BRG_NON_DEFAULT_RSSI_THRESHOLD,
|
|
@@ -253,7 +253,7 @@ def test_action_get_module(test):
|
|
|
253
253
|
cert_config.send_brg_action(test, ag.ACTION_GET_MODULE, datapath=1)
|
|
254
254
|
# analysis
|
|
255
255
|
test = search_action_ack(test, ag.ACTION_GET_MODULE, datapath=1)
|
|
256
|
-
test = scan_for_modules(test, [
|
|
256
|
+
test = scan_for_modules(test, [test.active_brg.datapath])
|
|
257
257
|
if test.rc == TEST_FAILED:
|
|
258
258
|
return test
|
|
259
259
|
|
|
@@ -349,7 +349,7 @@ def test_action_restore_defaults(test):
|
|
|
349
349
|
if ag.MODULE_ENERGY_SUB1G in test.active_brg.sup_caps and cfg_once:
|
|
350
350
|
cfg_once = False
|
|
351
351
|
cfg_pkt = cert_config.get_default_brg_pkt(test,
|
|
352
|
-
|
|
352
|
+
test.active_brg.energy_sub1g,
|
|
353
353
|
**{BRG_PATTERN: ag.SUB1G_ENERGY_PATTERN_ISRAEL})
|
|
354
354
|
test = cert_config.brg_configure(test, cfg_pkt=cfg_pkt)[0]
|
|
355
355
|
if test.rc == TEST_FAILED:
|
|
@@ -388,9 +388,9 @@ def run(test):
|
|
|
388
388
|
field_functionality_pass_fail_print(test, param.name)
|
|
389
389
|
test.set_phase_rc(param.name, test.rc)
|
|
390
390
|
test.add_phase_reason(param.name, test.reason)
|
|
391
|
-
if test.rc == TEST_FAILED
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
391
|
+
if test.rc == TEST_FAILED:
|
|
392
|
+
if test.exit_on_param_failure:
|
|
393
|
+
break # break the whole for loop and keep the test as failed
|
|
394
|
+
test.reset_result() # reset result and continue to next param
|
|
395
395
|
|
|
396
396
|
return cert_common.test_epilog(test)
|
|
@@ -65,7 +65,7 @@ def run(test):
|
|
|
65
65
|
utPrint(f"Configuring destination BRG {dest_brg.id_str} to RX Channel 10!")
|
|
66
66
|
test.active_brg = dest_brg
|
|
67
67
|
test = cert_config.brg_configure_ble5(test, fields=[BRG_RX_CHANNEL], values=[ag.RX_CHANNEL_10_250K],
|
|
68
|
-
module=
|
|
68
|
+
module=test.active_brg.datapath)[0]
|
|
69
69
|
test.active_brg = src_brg
|
|
70
70
|
time.sleep(5)
|
|
71
71
|
|
|
@@ -114,7 +114,7 @@ def run(test):
|
|
|
114
114
|
# Energizing is OFF
|
|
115
115
|
# Default cfg for 2400 is 0 == no energizing so we only eliminating sub1g energizing
|
|
116
116
|
utPrint("Configuring the BRG to no energizing in sub1g", "WARNING")
|
|
117
|
-
sub1g_module =
|
|
117
|
+
sub1g_module = test.active_brg.energy_sub1g
|
|
118
118
|
test = cert_config.brg_configure(test, fields=[BRG_PATTERN], values=[ag.SUB1G_ENERGY_PATTERN_NO_ENERGIZING], module=sub1g_module)[0]
|
|
119
119
|
if test.rc == TEST_FAILED and test.exit_on_param_failure:
|
|
120
120
|
return cert_common.test_epilog(test, revert_brgs=True, modules=[sub1g_module])
|
|
@@ -190,7 +190,7 @@ def run(test):
|
|
|
190
190
|
# ------------- Power management sleep & Keep Alive Mode ------------- #
|
|
191
191
|
utPrint("Power management Sleep state & Keep Alive Mode check!", "HEADER")
|
|
192
192
|
utPrint("Sending the BRG power management configuration in order to enter sleep state", "WARNING")
|
|
193
|
-
pwr_mgmt_module =
|
|
193
|
+
pwr_mgmt_module = test.active_brg.pwr_mgmt
|
|
194
194
|
test, wltpkt = cert_common.brg_pwr_mgmt_turn_on(test)
|
|
195
195
|
if test.rc == TEST_FAILED and test.exit_on_param_failure:
|
|
196
196
|
# Preventing leaving brg in pwr mgmt, protection for on that worked yet no ack was received
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"For each supported value - configure the BRG and verify the value",
|
|
9
9
|
"Test epilog and revert to defaults"],
|
|
10
10
|
"expectedOutcome": "All values configured successfully",
|
|
11
|
-
"mandatory":
|
|
11
|
+
"mandatory": 0,
|
|
12
12
|
"multiBridgeTest": 0,
|
|
13
13
|
"gwOnlyTest": 0,
|
|
14
14
|
"internalBridge": 1,
|
|
@@ -8,7 +8,7 @@ import brg_certificate.cert_config as cert_config
|
|
|
8
8
|
def run(test):
|
|
9
9
|
|
|
10
10
|
fields = [BRG_DUTY_CYCLE]
|
|
11
|
-
energy2400_module =
|
|
11
|
+
energy2400_module = test.active_brg.energy2400
|
|
12
12
|
|
|
13
13
|
test = cert_common.test_prolog(test)
|
|
14
14
|
if test.rc == TEST_FAILED:
|
|
@@ -19,9 +19,9 @@ def run(test):
|
|
|
19
19
|
field_functionality_pass_fail_print(test, fields[0], value=param.name)
|
|
20
20
|
test.set_phase_rc(param.name, test.rc)
|
|
21
21
|
test.add_phase_reason(param.name, test.reason)
|
|
22
|
-
if test.rc == TEST_FAILED
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
22
|
+
if test.rc == TEST_FAILED:
|
|
23
|
+
if test.exit_on_param_failure:
|
|
24
|
+
break # break the whole for loop and keep the test as failed
|
|
25
|
+
test.reset_result() # reset result and continue to next param
|
|
26
26
|
|
|
27
27
|
return cert_common.test_epilog(test, revert_brgs=True, modules=[energy2400_module])
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"For each supported value - configure the BRG and verify the value",
|
|
9
9
|
"Test epilog and revert to defaults"],
|
|
10
10
|
"expectedOutcome": "All values configured successfully",
|
|
11
|
-
"mandatory":
|
|
11
|
+
"mandatory": 0,
|
|
12
12
|
"multiBridgeTest": 0,
|
|
13
13
|
"gwOnlyTest": 0,
|
|
14
14
|
"internalBridge": 1,
|
|
@@ -8,7 +8,7 @@ import brg_certificate.cert_config as cert_config
|
|
|
8
8
|
def run(test):
|
|
9
9
|
|
|
10
10
|
fields = [BRG_OUTPUT_POWER]
|
|
11
|
-
energy2400_module =
|
|
11
|
+
energy2400_module = test.active_brg.energy2400
|
|
12
12
|
|
|
13
13
|
test = cert_common.test_prolog(test)
|
|
14
14
|
if test.rc == TEST_FAILED:
|
|
@@ -20,9 +20,9 @@ def run(test):
|
|
|
20
20
|
field_functionality_pass_fail_print(test, fields[0], value=param.name)
|
|
21
21
|
test.set_phase_rc(param.name, test.rc)
|
|
22
22
|
test.add_phase_reason(param.name, test.reason)
|
|
23
|
-
if test.rc == TEST_FAILED
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
23
|
+
if test.rc == TEST_FAILED:
|
|
24
|
+
if test.exit_on_param_failure:
|
|
25
|
+
break # break the whole for loop and keep the test as failed
|
|
26
|
+
test.reset_result() # reset result and continue to next param
|
|
27
27
|
|
|
28
28
|
return cert_common.test_epilog(test, revert_brgs=True, modules=[energy2400_module])
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"For each supported value - configure the BRG and verify the value",
|
|
9
9
|
"Test epilog and revert to defaults"],
|
|
10
10
|
"expectedOutcome": "All values configured successfully",
|
|
11
|
-
"mandatory":
|
|
11
|
+
"mandatory": 0,
|
|
12
12
|
"multiBridgeTest": 0,
|
|
13
13
|
"gwOnlyTest": 0,
|
|
14
14
|
"internalBridge": 1,
|
|
@@ -8,7 +8,7 @@ import brg_certificate.cert_config as cert_config
|
|
|
8
8
|
def run(test):
|
|
9
9
|
|
|
10
10
|
fields = [BRG_PATTERN]
|
|
11
|
-
energy2400_module =
|
|
11
|
+
energy2400_module = test.active_brg.energy2400
|
|
12
12
|
|
|
13
13
|
test = cert_common.test_prolog(test)
|
|
14
14
|
if test.rc == TEST_FAILED:
|
|
@@ -21,9 +21,9 @@ def run(test):
|
|
|
21
21
|
field_functionality_pass_fail_print(test, fields[0], value=param.name)
|
|
22
22
|
test.set_phase_rc(param.name, test.rc)
|
|
23
23
|
test.add_phase_reason(param.name, test.reason)
|
|
24
|
-
if test.rc == TEST_FAILED
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
24
|
+
if test.rc == TEST_FAILED:
|
|
25
|
+
if test.exit_on_param_failure:
|
|
26
|
+
break # break the whole for loop and keep the test as failed
|
|
27
|
+
test.reset_result() # reset result and continue to next param
|
|
28
28
|
|
|
29
29
|
return cert_common.test_epilog(test, revert_brgs=True, modules=[energy2400_module])
|
|
@@ -6,7 +6,7 @@
|
|
|
6
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_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
10
|
"brg0_none_brg1_rx - One rx BRG without any tx BRG. We don't expect to see any signal indicator packets.",
|
|
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.",
|
|
@@ -16,5 +16,5 @@
|
|
|
16
16
|
"multiBridgeTest": 1,
|
|
17
17
|
"gwOnlyTest": 0,
|
|
18
18
|
"internalBridge": 1,
|
|
19
|
-
"allSupportedValues": ["rssi_threshold", "
|
|
19
|
+
"allSupportedValues": ["rssi_threshold", "brg0_tx_brg1_rx", "brg0_none_brg1_rx", "brg0_rxtx_brg1_rxtx", "brg0_tx_brg1_none"]
|
|
20
20
|
}
|