wiliot-certificate 1.4.0a2__py3-none-any.whl → 1.5.1a1__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 +28 -28
- brg_certificate/ag/energous_v1_defines.py +28 -28
- brg_certificate/ag/energous_v2_defines.py +28 -28
- brg_certificate/ag/energous_v3_defines.py +28 -28
- brg_certificate/ag/energous_v4_defines.py +28 -28
- brg_certificate/ag/fanstel_lan_v0_defines.py +28 -28
- brg_certificate/ag/fanstel_lte_v0_defines.py +28 -28
- brg_certificate/ag/fanstel_wifi_v0_defines.py +28 -28
- brg_certificate/ag/minew_lte_v0_defines.py +28 -28
- brg_certificate/ag/wlt_cmd_if.html +1 -1
- brg_certificate/ag/wlt_types.html +3 -4
- brg_certificate/ag/wlt_types_ag.py +162 -163
- brg_certificate/brg_certificate.py +46 -12
- brg_certificate/brg_certificate_cli.py +1 -0
- brg_certificate/cert_common.py +31 -42
- brg_certificate/cert_config.py +7 -5
- brg_certificate/cert_data_sim.py +26 -4
- brg_certificate/cert_defines.py +30 -3
- brg_certificate/cert_gw_sim.py +12 -8
- brg_certificate/cert_mqtt.py +10 -2
- brg_certificate/cert_prints.py +7 -5
- brg_certificate/cert_protobuf.py +5 -1
- brg_certificate/cert_results.py +134 -84
- brg_certificate/cert_utils.py +14 -17
- brg_certificate/certificate_bcc_sanity_test_list.txt +35 -0
- brg_certificate/certificate_bcc_test_list.txt +45 -0
- brg_certificate/certificate_sanity_test_list.txt +2 -1
- brg_certificate/certificate_test_list.txt +10 -4
- brg_certificate/restore_brg.py +2 -0
- brg_certificate/tests/calibration/interval_test/interval_test.json +2 -1
- brg_certificate/tests/calibration/interval_test/interval_test.py +1 -1
- brg_certificate/tests/calibration/output_power_test/output_power_test.json +5 -3
- brg_certificate/tests/calibration/output_power_test/output_power_test.py +1 -1
- brg_certificate/tests/calibration/pattern_test/pattern_test.json +5 -2
- brg_certificate/tests/calibration/pattern_test/pattern_test.py +1 -1
- brg_certificate/tests/datapath/aging_test/aging_test.json +20 -0
- brg_certificate/tests/datapath/aging_test/aging_test.py +135 -0
- brg_certificate/tests/datapath/num_of_tags_test/num_of_tags_test.json +8 -3
- brg_certificate/tests/datapath/num_of_tags_test/num_of_tags_test.py +2 -2
- brg_certificate/tests/datapath/output_power_test/output_power_test.json +5 -2
- brg_certificate/tests/datapath/output_power_test/output_power_test.py +1 -1
- brg_certificate/tests/datapath/pacer_interval_ble5_test/pacer_interval_ble5_test.json +5 -2
- brg_certificate/tests/datapath/pacer_interval_ble5_test/pacer_interval_ble5_test.py +1 -1
- brg_certificate/tests/datapath/pacer_interval_tags_count_test/pacer_interval_tags_count_test.json +5 -2
- brg_certificate/tests/datapath/pacer_interval_tags_count_test/pacer_interval_tags_count_test.py +2 -2
- brg_certificate/tests/datapath/pacer_interval_test/pacer_interval_test.json +5 -2
- brg_certificate/tests/datapath/pacer_interval_test/pacer_interval_test.py +1 -1
- brg_certificate/tests/datapath/pattern_test/pattern_test.json +6 -3
- brg_certificate/tests/datapath/pattern_test/pattern_test.py +1 -1
- brg_certificate/tests/datapath/pkt_filter_ble5_test/pkt_filter_ble5_test.json +8 -2
- brg_certificate/tests/datapath/pkt_filter_ble5_test/pkt_filter_ble5_test.py +1 -1
- brg_certificate/tests/datapath/pkt_filter_gen3_test/pkt_filter_gen3_test.json +8 -2
- brg_certificate/tests/datapath/pkt_filter_gen3_test/pkt_filter_gen3_test.py +1 -1
- brg_certificate/tests/datapath/pkt_filter_test/pkt_filter_test.json +8 -2
- brg_certificate/tests/datapath/pkt_filter_test/pkt_filter_test.py +1 -1
- brg_certificate/tests/datapath/rssi_threshold_test/rssi_threshold_test.json +6 -2
- brg_certificate/tests/datapath/rssi_threshold_test/rssi_threshold_test.py +1 -1
- brg_certificate/tests/datapath/rx_channel_test/rx_channel_test.json +5 -2
- brg_certificate/tests/datapath/rx_channel_test/rx_channel_test.py +1 -1
- brg_certificate/tests/datapath/rx_rate_gen2_test/rx_rate_gen2_test.json +3 -4
- brg_certificate/tests/datapath/rx_rate_gen2_test/rx_rate_gen2_test.py +1 -1
- brg_certificate/tests/datapath/rx_rate_gen3_test/rx_rate_gen3_test.json +3 -4
- brg_certificate/tests/datapath/rx_rate_gen3_test/rx_rate_gen3_test.py +1 -1
- brg_certificate/tests/datapath/stress_gen3_test/stress_gen3_test.json +14 -22
- brg_certificate/tests/datapath/stress_gen3_test/stress_gen3_test.py +24 -24
- brg_certificate/tests/datapath/stress_test/stress_test.json +11 -18
- brg_certificate/tests/datapath/stress_test/stress_test.py +20 -27
- brg_certificate/tests/datapath/tx_repetition_algo_test/tx_repetition_algo_test.json +6 -2
- 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 +6 -2
- brg_certificate/tests/datapath/tx_repetition_test/tx_repetition_test.py +1 -1
- brg_certificate/tests/edge_mgmt/actions_test/actions_test.json +2 -1
- brg_certificate/tests/edge_mgmt/actions_test/actions_test.py +4 -24
- brg_certificate/tests/edge_mgmt/brg2brg_ota_ble5_test/brg2brg_ota_ble5_test.json +2 -1
- brg_certificate/tests/edge_mgmt/brg2brg_ota_ble5_test/brg2brg_ota_ble5_test.py +1 -1
- brg_certificate/tests/edge_mgmt/brg2brg_ota_test/brg2brg_ota_test.json +2 -1
- brg_certificate/tests/edge_mgmt/brg2brg_ota_test/brg2brg_ota_test.py +1 -1
- brg_certificate/tests/edge_mgmt/leds_test/leds_test.json +9 -5
- brg_certificate/tests/edge_mgmt/leds_test/leds_test.py +4 -4
- brg_certificate/tests/edge_mgmt/ota_test/ota_test.json +9 -5
- brg_certificate/tests/edge_mgmt/ota_test/ota_test.py +45 -1
- brg_certificate/tests/edge_mgmt/stat_test/stat_test.json +2 -1
- brg_certificate/tests/edge_mgmt/stat_test/stat_test.py +1 -1
- brg_certificate/tests/energy2400/duty_cycle_test/duty_cycle_test.json +5 -2
- brg_certificate/tests/energy2400/duty_cycle_test/duty_cycle_test.py +1 -1
- brg_certificate/tests/energy2400/output_power_test/output_power_test.json +5 -3
- brg_certificate/tests/energy2400/output_power_test/output_power_test.py +1 -1
- brg_certificate/tests/energy2400/pattern_test/pattern_test.json +5 -2
- brg_certificate/tests/energy2400/pattern_test/pattern_test.py +1 -1
- brg_certificate/tests/energy2400/signal_indicator_ble5_10_250k_test/signal_indicator_ble5_10_250k_test.json +20 -0
- brg_certificate/tests/energy2400/signal_indicator_ble5_10_250k_test/signal_indicator_ble5_10_250k_test.py +346 -0
- brg_certificate/tests/energy2400/signal_indicator_ble5_10_500k_test/signal_indicator_ble5_10_500k_test.json +20 -0
- brg_certificate/tests/energy2400/signal_indicator_ble5_10_500k_test/signal_indicator_ble5_10_500k_test.py +346 -0
- brg_certificate/tests/energy2400/signal_indicator_sub1g_2_4_test/signal_indicator_sub1g_2_4_test.json +2 -1
- brg_certificate/tests/energy2400/signal_indicator_sub1g_2_4_test/signal_indicator_sub1g_2_4_test.py +1 -1
- brg_certificate/tests/energy2400/signal_indicator_test/signal_indicator_test.json +12 -5
- brg_certificate/tests/energy2400/signal_indicator_test/signal_indicator_test.py +130 -43
- brg_certificate/tests/energy_sub1g/duty_cycle_test/duty_cycle_test.json +5 -2
- brg_certificate/tests/energy_sub1g/duty_cycle_test/duty_cycle_test.py +1 -1
- brg_certificate/tests/energy_sub1g/pattern_test/pattern_test.json +9 -3
- brg_certificate/tests/energy_sub1g/pattern_test/pattern_test.py +1 -1
- brg_certificate/tests/energy_sub1g/signal_indicator_functionality_test/signal_indicator_functionality_test.json +2 -1
- brg_certificate/tests/energy_sub1g/signal_indicator_functionality_test/signal_indicator_functionality_test.py +1 -1
- brg_certificate/tests/energy_sub1g/signal_indicator_test/signal_indicator_test.json +5 -2
- brg_certificate/tests/energy_sub1g/signal_indicator_test/signal_indicator_test.py +1 -1
- brg_certificate/wltPb_pb2.py +50 -38
- brg_certificate/wltPb_pb2.pyi +40 -34
- brg_certificate/wlt_types.py +4 -6
- common/wlt_logo.png +0 -0
- gw_certificate/ag/ut_defines.py +4 -1
- gw_certificate/cert_results.py +145 -0
- gw_certificate/gw_certificate.py +18 -6
- gw_certificate/gw_certificate_cli.py +3 -3
- gw_certificate/interface/mqtt.py +1 -0
- gw_certificate/interface/uart_if.py +1 -1
- gw_certificate/tests/actions.py +7 -2
- gw_certificate/tests/connection.py +1 -1
- gw_certificate/tests/generic.py +43 -17
- gw_certificate/tests/registration.py +2 -1
- gw_certificate/tests/uplink.py +26 -35
- {wiliot_certificate-1.4.0a2.dist-info → wiliot_certificate-1.5.1a1.dist-info}/METADATA +16 -10
- {wiliot_certificate-1.4.0a2.dist-info → wiliot_certificate-1.5.1a1.dist-info}/RECORD +126 -120
- {wiliot_certificate-1.4.0a2.dist-info → wiliot_certificate-1.5.1a1.dist-info}/WHEEL +1 -1
- {wiliot_certificate-1.4.0a2.dist-info → wiliot_certificate-1.5.1a1.dist-info}/top_level.txt +1 -0
- brg_certificate/tests/datapath/adaptive_pacer_algo_test/adaptive_pacer_algo_test.json +0 -13
- brg_certificate/tests/datapath/adaptive_pacer_algo_test/adaptive_pacer_algo_test.py +0 -76
- brg_certificate/tests/energy2400/signal_indicator_ble5_test/signal_indicator_ble5_test.json +0 -13
- brg_certificate/tests/energy2400/signal_indicator_ble5_test/signal_indicator_ble5_test.py +0 -398
- {wiliot_certificate-1.4.0a2.dist-info → wiliot_certificate-1.5.1a1.dist-info}/entry_points.txt +0 -0
- {wiliot_certificate-1.4.0a2.dist-info → wiliot_certificate-1.5.1a1.dist-info/licenses}/LICENSE +0 -0
|
@@ -45,6 +45,8 @@ def get_all_signal_ind_pkt(test=None, rx_brg=None, tx_brg=None):
|
|
|
45
45
|
for p in all_sensor_packets:
|
|
46
46
|
if p[SENSOR_UUID] == "{:06X}".format(ag.SENSOR_SERVICE_ID_SIGNAL_INDICATOR) and p[BRIDGE_ID] == rx_brg.id_str and (p[SENSOR_ID] == tx_brg.id_alias):
|
|
47
47
|
signal_ind_pkts.append(p)
|
|
48
|
+
#TODO: logging print
|
|
49
|
+
print(f" Found {len(signal_ind_pkts)} signal indicator pkts \n")
|
|
48
50
|
return signal_ind_pkts
|
|
49
51
|
|
|
50
52
|
def expected_signal_ind_pkts_calc(tx_brg, rx_brg):
|
|
@@ -54,42 +56,83 @@ def expected_signal_ind_pkts_calc(tx_brg, rx_brg):
|
|
|
54
56
|
tx_brg_ant_polarization_num = 1
|
|
55
57
|
if (rx_brg.board_type in BOARD_TYPES_2_POLARIZATION_ANT_LIST):
|
|
56
58
|
rx_brg_ant_polarization_num = 2
|
|
59
|
+
result = [(NUM_OF_SCANNING_CYCLE * tx_brg_ant_polarization_num * rx_brg_ant_polarization_num) - 1,
|
|
60
|
+
NUM_OF_SCANNING_CYCLE * tx_brg_ant_polarization_num * rx_brg_ant_polarization_num]
|
|
57
61
|
else:
|
|
58
62
|
rx_brg_ant_polarization_num = 1
|
|
59
|
-
|
|
63
|
+
result = [NUM_OF_SCANNING_CYCLE * tx_brg_ant_polarization_num * rx_brg_ant_polarization_num]
|
|
64
|
+
return result
|
|
60
65
|
|
|
61
|
-
def
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
# configuring receiver #
|
|
68
|
-
utPrint(f"Configuring BRG {rx_brg_.id_str} as Signal Indicator Receiver", "BOLD")
|
|
69
|
-
test = cert_config.brg1_configure(test=test, module=ext_sensors_module, fields=[BRG_SENSOR0], values=[ag.EXTERNAL_SENSORS_SIGNAL_INDICATOR])[0]
|
|
70
|
-
if test.rc == TEST_FAILED:
|
|
71
|
-
test.add_reason(f"BRG {rx_brg_.id_str}: didn't receive signal indicator receiver configuration!")
|
|
72
|
-
return test
|
|
73
|
-
# configuring transmitter #
|
|
74
|
-
utPrint(f"Configuring BRG {tx_brg_.id_str} as Signal Indicator Transmitter", "BOLD")
|
|
75
|
-
test = cert_config.brg_configure(test=test, module=energy2400_module, fields=[BRG_SIGNAL_INDICATOR_CYCLE, BRG_SIGNAL_INDICATOR_REP], values=[cycle, rep])[0]
|
|
76
|
-
if test.rc == TEST_FAILED:
|
|
77
|
-
test.add_reason(f"BRG {tx_brg_.id_str}: didn't receive signal indicator transmitter configuration!")
|
|
78
|
-
return test
|
|
79
|
-
utPrint(f"BRG {tx_brg_.id_str} configured to be transmitter - cycle = {cycle},"
|
|
80
|
-
f"repetition = {rep}", "BOLD")
|
|
81
|
-
# phase analysis #
|
|
82
|
-
mqtt_scan_n_create_log_file(test, (NUM_OF_SCANNING_CYCLE * cycle) + SCAN_DELAY_TIME, f"brg0_rx_brg1_tx_{cycle}_{rep}")
|
|
83
|
-
expected_signal_ind_pkts = expected_signal_ind_pkts_calc(tx_brg_, rx_brg_)
|
|
84
|
-
received_signal_ind_pkts = get_all_signal_ind_pkt(test=test, rx_brg=rx_brg_, tx_brg=tx_brg_)
|
|
85
|
-
if len(received_signal_ind_pkts) != expected_signal_ind_pkts:
|
|
66
|
+
def rssi_check(test, received_signal_ind_pkts ):
|
|
67
|
+
threshold_rssi = [0,80]
|
|
68
|
+
for p in received_signal_ind_pkts:
|
|
69
|
+
#TODO: logging print
|
|
70
|
+
# print(f"rssi value: {p[RSSI]}")
|
|
71
|
+
if not threshold_rssi[0] < p[RSSI] < threshold_rssi[1]:
|
|
86
72
|
test.rc = TEST_FAILED
|
|
87
|
-
test.add_reason(
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
73
|
+
test.add_reason("rssi value is wrong, out of 0 to 80 ")
|
|
74
|
+
|
|
75
|
+
return test
|
|
76
|
+
|
|
77
|
+
def rx_tx_antenna_check(test, received_signal_ind_pkts , tx_brg_, rx_brg_ ):
|
|
78
|
+
#TODO: logging print
|
|
79
|
+
# print(f"length of received signal indicator pkts: {len(received_signal_ind_pkts)}\n ")
|
|
80
|
+
# print(f"tx_brg board_type:{tx_brg_.board_type}\n")
|
|
81
|
+
# print(f"rx_brg board_type:{rx_brg_.board_type}\n")
|
|
82
|
+
|
|
83
|
+
list = get_polar_signal_ind_pkt(received_signal_ind_pkts,0,0)
|
|
84
|
+
print(f"polar signal ind pkt 0,0: {list}")
|
|
85
|
+
if len(get_polar_signal_ind_pkt(received_signal_ind_pkts, 0, 0)) != NUM_OF_SCANNING_CYCLE:
|
|
86
|
+
test.rc = TEST_FAILED
|
|
87
|
+
test.add_reason("incorrect num of packets with (0,0)!")
|
|
88
|
+
|
|
89
|
+
if tx_brg_.board_type in BOARD_TYPES_2_POLARIZATION_ANT_LIST:
|
|
90
|
+
list = get_polar_signal_ind_pkt(received_signal_ind_pkts,0,1)
|
|
91
|
+
print(f"polar signal ind pkt 0,1: {list}")
|
|
92
|
+
if len(get_polar_signal_ind_pkt(pkts=received_signal_ind_pkts, rx_ant=0, tx_ant=1)) != NUM_OF_SCANNING_CYCLE:
|
|
93
|
+
test.rc = TEST_FAILED
|
|
94
|
+
test.add_reason("incorrect num of packets with (0,1)")
|
|
95
|
+
|
|
96
|
+
if rx_brg_.board_type in BOARD_TYPES_2_POLARIZATION_ANT_LIST:
|
|
97
|
+
list = get_polar_signal_ind_pkt(received_signal_ind_pkts,1,0)
|
|
98
|
+
print(f"polar signal ind pkt 1,0: {list}")
|
|
99
|
+
if len(get_polar_signal_ind_pkt(received_signal_ind_pkts, 1, 0)) != NUM_OF_SCANNING_CYCLE:
|
|
100
|
+
test.rc = TEST_FAILED
|
|
101
|
+
test.add_reason("incorrect num of packets with (1,0)")
|
|
102
|
+
|
|
103
|
+
if rx_brg_.board_type in BOARD_TYPES_2_POLARIZATION_ANT_LIST and tx_brg_.board_type in BOARD_TYPES_2_POLARIZATION_ANT_LIST:
|
|
104
|
+
list = get_polar_signal_ind_pkt(received_signal_ind_pkts,1,1)
|
|
105
|
+
print(f"polar signal ind pkt 1,1: {list}")
|
|
106
|
+
if len(get_polar_signal_ind_pkt(received_signal_ind_pkts, 1, 1)) != NUM_OF_SCANNING_CYCLE:
|
|
107
|
+
test.rc = TEST_FAILED
|
|
108
|
+
test.add_reason("incorrect num of packets with (1,1)")
|
|
109
|
+
return test
|
|
110
|
+
|
|
111
|
+
def get_polar_signal_ind_pkt(pkts, rx_ant, tx_ant):
|
|
112
|
+
for p in pkts:
|
|
113
|
+
#TODO: logging print
|
|
114
|
+
print(f" rx antenna: {p[SENSOR_PKT].pkt.rx_antenna}, tx antenna: {p[SENSOR_PKT].pkt.tx_antenna} ###### rx_ant: {rx_ant}, tx_ant: {tx_ant}")
|
|
115
|
+
return [p for p in pkts if p[SENSOR_PKT].pkt.rx_antenna == rx_ant and p[SENSOR_PKT].pkt.tx_antenna == tx_ant]
|
|
116
|
+
|
|
117
|
+
def output_power_check(test, received_signal_ind_pkts, tx_brg_):
|
|
118
|
+
#TODO: verify that in this implement it corresponding to the current board. and verify situation that we have 2 different board type.
|
|
119
|
+
output_power_def_internal = ag.BRG_DEFAULT_OUTPUT_POWER_2_4
|
|
120
|
+
output_power_def_not_internal = ag.BRG_DEFAULT_DATAPATH_OUTPUT_POWER
|
|
121
|
+
|
|
122
|
+
for p in received_signal_ind_pkts:
|
|
123
|
+
print(p[SENSOR_PKT].pkt)
|
|
124
|
+
# NOTE: generic way to identify if the brg is internal or not
|
|
125
|
+
if len(tx_brg_.__dict__["sup_caps"]) == 3 : # which mean it's internal bridge
|
|
126
|
+
if p[SENSOR_PKT].pkt.output_power != output_power_def_internal:
|
|
127
|
+
test.rc = TEST_FAILED
|
|
128
|
+
test.add_reason(f"output power of internal brg is incorrect! \n got:{p[SENSOR_PKT].pkt.out_power}, expected: {output_power_def_internal}\n")
|
|
129
|
+
else:
|
|
130
|
+
if p[SENSOR_PKT].pkt.output_power != output_power_def_not_internal:
|
|
131
|
+
test.rc = TEST_FAILED
|
|
132
|
+
test.add_reason(f"output power of active brg is incorrect! \n got:{p[SENSOR_PKT].pkt.output_power}, expected: {output_power_def_internal}\n")
|
|
91
133
|
return test
|
|
92
134
|
|
|
135
|
+
|
|
93
136
|
def test_rssi_threshold(test, energy2400_module, ext_sensors_module):
|
|
94
137
|
cycle, rep = 30, 3
|
|
95
138
|
tx_brg_ = test.brg0
|
|
@@ -114,6 +157,8 @@ def test_rssi_threshold(test, energy2400_module, ext_sensors_module):
|
|
|
114
157
|
# phase analysis #
|
|
115
158
|
mqtt_scan_n_create_log_file(test, (NUM_OF_SCANNING_CYCLE * cycle) + SCAN_DELAY_TIME, f"rssi_threshold")
|
|
116
159
|
received_signal_ind_pkts = get_all_signal_ind_pkt(test=test, rx_brg=rx_brg_, tx_brg=tx_brg_)
|
|
160
|
+
for p in received_signal_ind_pkts:
|
|
161
|
+
print(f"rssi value: {p[RSSI]}")
|
|
117
162
|
rssi_threshold_viloation_pkts = [p for p in received_signal_ind_pkts if p[RSSI] >= -1*rssi_threshold]
|
|
118
163
|
if rssi_threshold_viloation_pkts:
|
|
119
164
|
test.rc = TEST_FAILED
|
|
@@ -121,6 +166,43 @@ def test_rssi_threshold(test, energy2400_module, ext_sensors_module):
|
|
|
121
166
|
f" {len(rssi_threshold_viloation_pkts)} signal indicator packets\n with RSSI weaker than {rssi_threshold}")
|
|
122
167
|
return test
|
|
123
168
|
|
|
169
|
+
def test_brg0_rx_brg1_tx(test, energy2400_module, ext_sensors_module):
|
|
170
|
+
cycle_rep = [(30,3), (60,4)]
|
|
171
|
+
tx_brg_ = test.brg0
|
|
172
|
+
rx_brg_ = test.brg1
|
|
173
|
+
|
|
174
|
+
for cycle,rep in cycle_rep:
|
|
175
|
+
utPrint(f"TX BRG with RX- cycle = {cycle}, repetition = {rep}\n", "BLUE")
|
|
176
|
+
# configuring receiver #
|
|
177
|
+
utPrint(f"Configuring BRG {rx_brg_.id_str} as Signal Indicator Receiver", "BOLD")
|
|
178
|
+
test = cert_config.brg1_configure(test=test, module=ext_sensors_module, fields=[BRG_SENSOR0], values=[ag.EXTERNAL_SENSORS_SIGNAL_INDICATOR])[0]
|
|
179
|
+
if test.rc == TEST_FAILED:
|
|
180
|
+
test.add_reason(f"BRG {rx_brg_.id_str}: didn't receive signal indicator receiver configuration!")
|
|
181
|
+
return test
|
|
182
|
+
# configuring transmitter #
|
|
183
|
+
utPrint(f"Configuring BRG {tx_brg_.id_str} as Signal Indicator Transmitter", "BOLD")
|
|
184
|
+
test = cert_config.brg_configure(test=test, module=energy2400_module, fields=[BRG_SIGNAL_INDICATOR_CYCLE, BRG_SIGNAL_INDICATOR_REP], values=[cycle, rep])[0]
|
|
185
|
+
if test.rc == TEST_FAILED:
|
|
186
|
+
test.add_reason(f"BRG {tx_brg_.id_str}: didn't receive signal indicator transmitter configuration!")
|
|
187
|
+
return test
|
|
188
|
+
utPrint(f"BRG {tx_brg_.id_str} configured to be transmitter - cycle = {cycle},"
|
|
189
|
+
f"repetition = {rep}", "BOLD")
|
|
190
|
+
# phase analysis #
|
|
191
|
+
mqtt_scan_n_create_log_file(test, (NUM_OF_SCANNING_CYCLE * cycle) + SCAN_DELAY_TIME, f"brg0_rx_brg1_tx_{cycle}_{rep}")
|
|
192
|
+
received_signal_ind_pkts = get_all_signal_ind_pkt(test=test, rx_brg=rx_brg_, tx_brg=tx_brg_)
|
|
193
|
+
expected_signal_ind_pkts = expected_signal_ind_pkts_calc(tx_brg_, rx_brg_)
|
|
194
|
+
|
|
195
|
+
if len(received_signal_ind_pkts) not in expected_signal_ind_pkts:
|
|
196
|
+
test.rc = TEST_FAILED
|
|
197
|
+
test.add_reason(f"brg0_rx_brg1_tx phase failed - BRG {rx_brg_.id_str} received wrong number of "
|
|
198
|
+
f"signal indicator packets\n received {len(received_signal_ind_pkts)} packets, "
|
|
199
|
+
f"expected {expected_signal_ind_pkts} packets")
|
|
200
|
+
|
|
201
|
+
test = rx_tx_antenna_check(test, received_signal_ind_pkts, tx_brg_, rx_brg_)
|
|
202
|
+
test = output_power_check(test, received_signal_ind_pkts, tx_brg_)
|
|
203
|
+
test = rssi_check(test, received_signal_ind_pkts)
|
|
204
|
+
return test
|
|
205
|
+
|
|
124
206
|
def test_brg0_none_brg1_rx(test, energy2400_module, ext_sensors_module):
|
|
125
207
|
cycle, rep = ag.BRG_DEFAULT_SIGNAL_INDICATOR_CYCLE, ag.BRG_DEFAULT_SIGNAL_INDICATOR_REP
|
|
126
208
|
tx_brg_ = test.brg0
|
|
@@ -136,12 +218,14 @@ def test_brg0_none_brg1_rx(test, energy2400_module, ext_sensors_module):
|
|
|
136
218
|
f"repetition = {rep}", "BOLD")
|
|
137
219
|
# phase analysis #
|
|
138
220
|
mqtt_scan_n_create_log_file(test, DEFAULT_SCAN_TIME, "brg0_none_brg1_rx")
|
|
139
|
-
expected_signal_ind_pkts = 0
|
|
221
|
+
expected_signal_ind_pkts = [0]
|
|
140
222
|
received_signal_ind_pkts = get_all_signal_ind_pkt(test=test, rx_brg=rx_brg_, tx_brg=tx_brg_)
|
|
141
|
-
if len(received_signal_ind_pkts)
|
|
223
|
+
if len(received_signal_ind_pkts) not in expected_signal_ind_pkts:
|
|
142
224
|
test.rc = TEST_FAILED
|
|
143
|
-
test.add_reason(f"
|
|
144
|
-
f"{
|
|
225
|
+
test.add_reason(f"brg0_rx_brg1_tx phase failed - BRG {rx_brg_.id_str} received wrong number of "
|
|
226
|
+
f"signal indicator packets\n received {len(received_signal_ind_pkts)} packets, "
|
|
227
|
+
f"expected {expected_signal_ind_pkts} packets")
|
|
228
|
+
|
|
145
229
|
return test
|
|
146
230
|
|
|
147
231
|
def test_brg0_rxtx_brg1_rxtx(test, energy2400_module, ext_sensors_module):
|
|
@@ -173,6 +257,7 @@ def test_brg0_rxtx_brg1_rxtx(test, energy2400_module, ext_sensors_module):
|
|
|
173
257
|
test.add_reason(f"BRG {rx_brg_.id_str}: didn't receive signal indicator receiver configuration!")
|
|
174
258
|
return test
|
|
175
259
|
utPrint(f"BRG {rx_brg_.id_str} successfully configured as Signal Indicator Receiver\n", "BOLD")
|
|
260
|
+
|
|
176
261
|
# configuring second brg (rx_brg_) as transmitter (already configured as rx)
|
|
177
262
|
utPrint(f"Configuring BRG {rx_brg_.id_str} as Signal Indicator Transmitter", "BOLD")
|
|
178
263
|
test = cert_config.brg1_configure(test=test, module=energy2400_module, fields=[BRG_SIGNAL_INDICATOR_CYCLE, BRG_SIGNAL_INDICATOR_REP], values=[rx_cycle, rx_rep])[0]
|
|
@@ -185,24 +270,26 @@ def test_brg0_rxtx_brg1_rxtx(test, energy2400_module, ext_sensors_module):
|
|
|
185
270
|
# phase analysis #
|
|
186
271
|
mqtt_scan_n_create_log_file(test, NUM_OF_SCANNING_CYCLE * max(tx_cycle, rx_cycle) + SCAN_DELAY_TIME, "brg0_rxtx_brg1_rxtx")
|
|
187
272
|
|
|
188
|
-
#
|
|
273
|
+
# Analyzing tx_brg_ performance as receiver
|
|
274
|
+
utPrint(f"Analyzing tx_brg {tx_brg_.id_str} performance as a Receiver\n", "BOLD")
|
|
189
275
|
expected_signal_ind_pkts = expected_signal_ind_pkts_calc(rx_brg_, tx_brg_)
|
|
190
276
|
received_signal_ind_pkts = get_all_signal_ind_pkt(test=test, rx_brg=tx_brg_, tx_brg=rx_brg_)
|
|
191
|
-
if len(received_signal_ind_pkts)
|
|
277
|
+
if len(received_signal_ind_pkts) not in expected_signal_ind_pkts:
|
|
192
278
|
test.rc = TEST_FAILED
|
|
193
279
|
test.add_reason(f"brg0_rxtx_brg1_rxtx phase failed - BRG {tx_brg_.id_str} received wrong number of "
|
|
194
280
|
f"signal indicator packets\n received {len(received_signal_ind_pkts)} packets, "
|
|
195
281
|
f"expected {expected_signal_ind_pkts} packets")
|
|
196
|
-
if test.rc == TEST_FAILED: return test
|
|
197
282
|
|
|
198
|
-
#
|
|
283
|
+
# Analyzing rx_brg_ performance as receiver
|
|
284
|
+
utPrint(f"Analyzing rx_brg {rx_brg_.id_str} performance as a Receiver\n", "BOLD")
|
|
199
285
|
expected_signal_ind_pkts = expected_signal_ind_pkts_calc(tx_brg_, rx_brg_)
|
|
200
286
|
received_signal_ind_pkts = get_all_signal_ind_pkt(test=test, rx_brg=rx_brg_, tx_brg=tx_brg_)
|
|
201
|
-
if len(received_signal_ind_pkts)
|
|
287
|
+
if len(received_signal_ind_pkts) not in expected_signal_ind_pkts:
|
|
202
288
|
test.rc = TEST_FAILED
|
|
203
289
|
test.add_reason(f"brg0_rxtx_brg1_rxtx phase failed - BRG {rx_brg_.id_str} received wrong number of "
|
|
204
290
|
f"signal indicator packets\n received {len(received_signal_ind_pkts)} packets, "
|
|
205
291
|
f"expected {expected_signal_ind_pkts} packets")
|
|
292
|
+
#NOTE: I skipped the antenna and output power checks for this phase
|
|
206
293
|
return test
|
|
207
294
|
|
|
208
295
|
def test_brg0_tx_brg1_none(test, energy2400_module, ext_sensors_module):
|
|
@@ -227,12 +314,14 @@ def test_brg0_tx_brg1_none(test, energy2400_module, ext_sensors_module):
|
|
|
227
314
|
|
|
228
315
|
# phase analysis #
|
|
229
316
|
mqtt_scan_n_create_log_file(test, (NUM_OF_SCANNING_CYCLE*cycle) + SCAN_DELAY_TIME, "brg0_tx_brg1_none")
|
|
230
|
-
expected_signal_ind_pkts = 0
|
|
317
|
+
expected_signal_ind_pkts = [0]
|
|
231
318
|
received_signal_ind_pkts = get_all_signal_ind_pkt(test=test, rx_brg=rx_brg_, tx_brg=tx_brg_)
|
|
232
|
-
if len(received_signal_ind_pkts)
|
|
319
|
+
if len(received_signal_ind_pkts) not in expected_signal_ind_pkts:
|
|
233
320
|
test.rc = TEST_FAILED
|
|
234
321
|
test.add_reason(f"brg0_tx_brg1_none phase failed - received signal indicator packet from BRG"
|
|
235
322
|
f"{rx_brg_.id_str}")
|
|
323
|
+
test = output_power_check(test, received_signal_ind_pkts, tx_brg_)
|
|
324
|
+
|
|
236
325
|
return test
|
|
237
326
|
|
|
238
327
|
SIGNAL_INDICATOR_TEST_MAP = {"rssi_threshold" : test_rssi_threshold, "brg0_rx_brg1_tx": test_brg0_rx_brg1_tx,
|
|
@@ -240,14 +329,12 @@ SIGNAL_INDICATOR_TEST_MAP = {"rssi_threshold" : test_rssi_threshold, "brg0_rx_br
|
|
|
240
329
|
"brg0_tx_brg1_none": test_brg0_tx_brg1_none}
|
|
241
330
|
|
|
242
331
|
def run(test):
|
|
243
|
-
|
|
244
332
|
# Test modules evaluation #
|
|
245
333
|
energy2400_module = eval_pkt(f'ModuleEnergy2400V{test.active_brg.api_version}')
|
|
246
334
|
ext_sensors_module = eval_pkt(f'ModuleExtSensorsV{test.active_brg.api_version}')
|
|
247
335
|
|
|
248
336
|
# Test prolog
|
|
249
337
|
test = cert_common.test_prolog(test)
|
|
250
|
-
|
|
251
338
|
for param in test.params:
|
|
252
339
|
functionality_run_print(param.name)
|
|
253
340
|
test = SIGNAL_INDICATOR_TEST_MAP[param.value](test, energy2400_module, ext_sensors_module)
|
|
@@ -2,12 +2,15 @@
|
|
|
2
2
|
"name": "duty_cycle_test",
|
|
3
3
|
"module": "energy_sub1g",
|
|
4
4
|
"purpose": "Test configuration for supported energy_sub1g duty cycle & bridge cycle sets of values",
|
|
5
|
-
"
|
|
5
|
+
"documentation": "https://community.wiliot.com/customers/s/article/Wiliot-Network-Sub1-Ghz-Energizer-module",
|
|
6
6
|
"initialCondition": "Bridge configured to defaults",
|
|
7
|
-
"procedure": ["Test prolog",
|
|
7
|
+
"procedure": ["Test prolog",
|
|
8
|
+
"For each supported value - configure the BRG and verify the value",
|
|
9
|
+
"Test epilog and revert to defaults"],
|
|
8
10
|
"expectedOutcome": "All values configured successfully",
|
|
9
11
|
"mandatory": 1,
|
|
10
12
|
"multiBridgeTest": 0,
|
|
11
13
|
"gwOnlyTest": 0,
|
|
14
|
+
"internalBridge": 1,
|
|
12
15
|
"allSupportedValues": [15, 20, 40, 0]
|
|
13
16
|
}
|
|
@@ -10,7 +10,7 @@ def run(test):
|
|
|
10
10
|
sub1g_module = eval_pkt(f'ModuleEnergySub1GV{test.active_brg.api_version}')
|
|
11
11
|
|
|
12
12
|
test = cert_common.test_prolog(test)
|
|
13
|
-
if test.rc == TEST_FAILED
|
|
13
|
+
if test.rc == TEST_FAILED:
|
|
14
14
|
return cert_common.test_epilog(test)
|
|
15
15
|
for param in test.params:
|
|
16
16
|
param_name = f"{param.name}"
|
|
@@ -2,12 +2,18 @@
|
|
|
2
2
|
"name": "pattern_test",
|
|
3
3
|
"module": "energy_sub1g",
|
|
4
4
|
"purpose": "Test configuration for all supported Energy SUB1GHz pattern values",
|
|
5
|
-
"
|
|
5
|
+
"documentation": "https://community.wiliot.com/customers/s/article/Wiliot-Network-Sub1-Ghz-Energizer-module",
|
|
6
6
|
"initialCondition": "Bridge configured to defaults",
|
|
7
|
-
"procedure": ["Test prolog",
|
|
7
|
+
"procedure": ["Test prolog",
|
|
8
|
+
"For each supported value - configure the BRG and verify the value",
|
|
9
|
+
"Test epilog and revert to defaults"],
|
|
8
10
|
"expectedOutcome": "All values configured successfully",
|
|
9
11
|
"mandatory": 1,
|
|
10
12
|
"multiBridgeTest": 0,
|
|
11
13
|
"gwOnlyTest": 0,
|
|
12
|
-
"allSupportedValues": ["SUB1G_ENERGY_PATTERN_NO_ENERGIZING", "SUB1G_ENERGY_PATTERN_SINGLE_TONE_915000",
|
|
14
|
+
"allSupportedValues": ["SUB1G_ENERGY_PATTERN_NO_ENERGIZING", "SUB1G_ENERGY_PATTERN_SINGLE_TONE_915000",
|
|
15
|
+
"SUB1G_ENERGY_PATTERN_FCC_HOPPING", "SUB1G_ENERGY_PATTERN_JAPAN_1W",
|
|
16
|
+
"SUB1G_ENERGY_PATTERN_JAPAN_350MW", "SUB1G_ENERGY_PATTERN_KOREA",
|
|
17
|
+
"SUB1G_ENERGY_PATTERN_SINGLE_TONE_916300", "SUB1G_ENERGY_PATTERN_SINGLE_TONE_917500",
|
|
18
|
+
"SUB1G_ENERGY_PATTERN_AUSTRALIA", "SUB1G_ENERGY_PATTERN_ISRAEL", "SUB1G_ENERGY_PATTERN_NZ_HOPPING"]
|
|
13
19
|
}
|
|
@@ -10,7 +10,7 @@ def run(test):
|
|
|
10
10
|
sub1g_module = eval_pkt(f'ModuleEnergySub1GV{test.active_brg.api_version}')
|
|
11
11
|
|
|
12
12
|
test = cert_common.test_prolog(test)
|
|
13
|
-
if test.rc == TEST_FAILED
|
|
13
|
+
if test.rc == TEST_FAILED:
|
|
14
14
|
return cert_common.test_epilog(test)
|
|
15
15
|
for param in test.params:
|
|
16
16
|
test = cert_config.brg_configure(test, fields=fields, values=[param.value], module=sub1g_module)[0]
|
|
@@ -2,12 +2,13 @@
|
|
|
2
2
|
"name": "signal_indicator_functionality_test",
|
|
3
3
|
"module": "energy_sub1g",
|
|
4
4
|
"purpose": "TODO",
|
|
5
|
-
"
|
|
5
|
+
"documentation": "<TEST_DOCUMENTATION_LINK>",
|
|
6
6
|
"initialCondition": "TODO",
|
|
7
7
|
"procedure": ["Test prolog", "TODO", "Test epilog"],
|
|
8
8
|
"expectedOutcome": "TODO",
|
|
9
9
|
"mandatory": 0,
|
|
10
10
|
"multiBridgeTest": 1,
|
|
11
11
|
"gwOnlyTest": 0,
|
|
12
|
+
"internalBridge": 1,
|
|
12
13
|
"allSupportedValues": []
|
|
13
14
|
}
|
|
@@ -2,12 +2,15 @@
|
|
|
2
2
|
"name": "signal_indicator_test",
|
|
3
3
|
"module": "energy_sub1g",
|
|
4
4
|
"purpose": "Test configuration for supported energy_sub1g signal indicator cycle & repetitions sets of values",
|
|
5
|
-
"
|
|
5
|
+
"documentation": "https://community.wiliot.com/customers/s/article/Wiliot-Network-Sub1-Ghz-Energizer-module",
|
|
6
6
|
"initialCondition": "Bridge configured to defaults",
|
|
7
|
-
"procedure": ["Test prolog",
|
|
7
|
+
"procedure": ["Test prolog",
|
|
8
|
+
"For each supported value - configure the BRG and verify the value",
|
|
9
|
+
"Test epilog and revert to defaults"],
|
|
8
10
|
"expectedOutcome": "All values configured successfully",
|
|
9
11
|
"mandatory": 1,
|
|
10
12
|
"multiBridgeTest": 0,
|
|
11
13
|
"gwOnlyTest": 0,
|
|
14
|
+
"internalBridge": 1,
|
|
12
15
|
"allSupportedValues": [[60,4], [100,3]]
|
|
13
16
|
}
|
|
@@ -10,7 +10,7 @@ def run(test):
|
|
|
10
10
|
sub1g_module = eval_pkt(f'ModuleEnergySub1GV{test.active_brg.api_version}')
|
|
11
11
|
|
|
12
12
|
test = cert_common.test_prolog(test)
|
|
13
|
-
if test.rc == TEST_FAILED
|
|
13
|
+
if test.rc == TEST_FAILED:
|
|
14
14
|
return cert_common.test_epilog(test)
|
|
15
15
|
for param in test.params:
|
|
16
16
|
param_name = f"{param.name}"
|
brg_certificate/wltPb_pb2.py
CHANGED
|
@@ -1,12 +1,22 @@
|
|
|
1
1
|
# -*- coding: utf-8 -*-
|
|
2
2
|
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
|
3
|
+
# NO CHECKED-IN PROTOBUF GENCODE
|
|
3
4
|
# source: wltPb.proto
|
|
4
|
-
# Protobuf Python Version:
|
|
5
|
+
# Protobuf Python Version: 5.29.1
|
|
5
6
|
"""Generated protocol buffer code."""
|
|
6
7
|
from google.protobuf import descriptor as _descriptor
|
|
7
8
|
from google.protobuf import descriptor_pool as _descriptor_pool
|
|
9
|
+
from google.protobuf import runtime_version as _runtime_version
|
|
8
10
|
from google.protobuf import symbol_database as _symbol_database
|
|
9
11
|
from google.protobuf.internal import builder as _builder
|
|
12
|
+
_runtime_version.ValidateProtobufRuntimeVersion(
|
|
13
|
+
_runtime_version.Domain.PUBLIC,
|
|
14
|
+
5,
|
|
15
|
+
29,
|
|
16
|
+
1,
|
|
17
|
+
'',
|
|
18
|
+
'wltPb.proto'
|
|
19
|
+
)
|
|
10
20
|
# @@protoc_insertion_point(imports)
|
|
11
21
|
|
|
12
22
|
_sym_db = _symbol_database.Default()
|
|
@@ -14,20 +24,20 @@ _sym_db = _symbol_database.Default()
|
|
|
14
24
|
|
|
15
25
|
|
|
16
26
|
|
|
17
|
-
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0bwltPb.proto\x12\x05wltPb\"$\n\x08Location\x12\x0b\n\x03lat\x18\x01 \x01(\x01\x12\x0b\n\x03lng\x18\x02 \x01(\x01\"j\n\x05Value\x12\x16\n\x0cintegerValue\x18\x01 \x01(\x03H\x00\x12\x15\n\x0bnumberValue\x18\x02 \x01(\x01H\x00\x12\x15\n\x0bstringValue\x18\x03 \x01(\tH\x00\x12\x13\n\tboolValue\x18\x04 \x01(\x08H\x00\x42\x06\n\x04type\"\x89\x02\n\x0bGatewayData\x12\x11\n\tgatewayId\x18\x01 \x01(\t\x12\x11\n\ttimestamp\x18\x02 \x01(\x04\x12*\n\x07packets\x18\x03 \x03(\x0b\x32\x19.wltPb.GatewayData.Packet\x12&\n\x08location\x18\x04 \x01(\x0b\x32\x0f.wltPb.LocationH\x00\x88\x01\x01\x1as\n\x06Packet\x12\x0f\n\x07payload\x18\x01 \x01(\x0c\x12\x11\n\ttimestamp\x18\x02 \x01(\x04\x12\x12\n\nsequenceId\x18\x03 \x01(\r\x12\x11\n\x04rssi\x18\x04 \x01(\rH\x00\x88\x01\x01\x12\x15\n\raliasBridgeId\x18\x05 \x01(\tB\x07\n\x05_rssiB\x0b\n\t_location\"\xc9\x01\n\rUplinkMessage\x12-\n\rgatewayStatus\x18\x01 \x01(\x0b\x32\x14.wltPb.GatewayStatusH\x00\x12)\n\x0bgatewayInfo\x18\x02 \x01(\x0b\x32\x12.wltPb.GatewayInfoH\x00\x12)\n\x0bgatewayLogs\x18\x03 \x01(\x0b\x32\x12.wltPb.GatewayLogsH\x00\x12+\n\x0c\x61\x63tionStatus\x18\x04 \x01(\x0b\x32\x13.wltPb.ActionStatusH\x00\x42\x06\n\x04type\"\
|
|
27
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0bwltPb.proto\x12\x05wltPb\"$\n\x08Location\x12\x0b\n\x03lat\x18\x01 \x01(\x01\x12\x0b\n\x03lng\x18\x02 \x01(\x01\"j\n\x05Value\x12\x16\n\x0cintegerValue\x18\x01 \x01(\x03H\x00\x12\x15\n\x0bnumberValue\x18\x02 \x01(\x01H\x00\x12\x15\n\x0bstringValue\x18\x03 \x01(\tH\x00\x12\x13\n\tboolValue\x18\x04 \x01(\x08H\x00\x42\x06\n\x04type\"\x89\x02\n\x0bGatewayData\x12\x11\n\tgatewayId\x18\x01 \x01(\t\x12\x11\n\ttimestamp\x18\x02 \x01(\x04\x12*\n\x07packets\x18\x03 \x03(\x0b\x32\x19.wltPb.GatewayData.Packet\x12&\n\x08location\x18\x04 \x01(\x0b\x32\x0f.wltPb.LocationH\x00\x88\x01\x01\x1as\n\x06Packet\x12\x0f\n\x07payload\x18\x01 \x01(\x0c\x12\x11\n\ttimestamp\x18\x02 \x01(\x04\x12\x12\n\nsequenceId\x18\x03 \x01(\r\x12\x11\n\x04rssi\x18\x04 \x01(\rH\x00\x88\x01\x01\x12\x15\n\raliasBridgeId\x18\x05 \x01(\tB\x07\n\x05_rssiB\x0b\n\t_location\"\xc9\x01\n\rUplinkMessage\x12-\n\rgatewayStatus\x18\x01 \x01(\x0b\x32\x14.wltPb.GatewayStatusH\x00\x12)\n\x0bgatewayInfo\x18\x02 \x01(\x0b\x32\x12.wltPb.GatewayInfoH\x00\x12)\n\x0bgatewayLogs\x18\x03 \x01(\x0b\x32\x12.wltPb.GatewayLogsH\x00\x12+\n\x0c\x61\x63tionStatus\x18\x04 \x01(\x0b\x32\x13.wltPb.ActionStatusH\x00\x42\x06\n\x04type\"&\n\x03\x41\x43L\x12\x12\n\nmode_allow\x18\x01 \x01(\x08\x12\x0b\n\x03ids\x18\x02 \x03(\x0c\"\x97\x01\n\x12GatewayConfigValue\x12\x16\n\x0cintegerValue\x18\x01 \x01(\x03H\x00\x12\x15\n\x0bnumberValue\x18\x02 \x01(\x01H\x00\x12\x15\n\x0bstringValue\x18\x03 \x01(\tH\x00\x12\x13\n\tboolValue\x18\x04 \x01(\x08H\x00\x12\x1e\n\x08\x61\x63lValue\x18\x05 \x01(\x0b\x32\n.wltPb.ACLH\x00\x42\x06\n\x04type\"\xe8\x03\n\rGatewayStatus\x12\x11\n\tgatewayId\x18\x01 \x01(\t\x12\x13\n\x0bgatewayType\x18\x02 \x01(\t\x12\x19\n\x11\x64ownlinkSupported\x18\x03 \x01(\x08\x12!\n\x19\x62ridgeOtaUpgradeSupported\x18\x04 \x01(\x08\x12\x12\n\napiVersion\x18\x05 \x01(\r\x12\x14\n\x07version\x18\x06 \x01(\tH\x00\x88\x01\x01\x12\x19\n\x0c\x62leSwVersion\x18\x07 \x01(\tH\x01\x88\x01\x01\x12\x1f\n\x12interfaceSwVersion\x18\x08 \x01(\tH\x02\x88\x01\x01\x12&\n\x08location\x18\t \x01(\x0b\x32\x0f.wltPb.LocationH\x03\x88\x01\x01\x12\x30\n\x06\x63onfig\x18\n \x03(\x0b\x32 .wltPb.GatewayStatus.ConfigEntry\x12\x17\n\nbleAddress\x18\x0b \x01(\tH\x04\x88\x01\x01\x1aH\n\x0b\x43onfigEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12(\n\x05value\x18\x02 \x01(\x0b\x32\x19.wltPb.GatewayConfigValue:\x02\x38\x01\x42\n\n\x08_versionB\x0f\n\r_bleSwVersionB\x15\n\x13_interfaceSwVersionB\x0b\n\t_locationB\r\n\x0b_bleAddress\"}\n\x0bGatewayInfo\x12\x30\n\x07\x65ntries\x18\x01 \x03(\x0b\x32\x1f.wltPb.GatewayInfo.EntriesEntry\x1a<\n\x0c\x45ntriesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x1b\n\x05value\x18\x02 \x01(\x0b\x32\x0c.wltPb.Value:\x02\x38\x01\"\x1b\n\x0bGatewayLogs\x12\x0c\n\x04logs\x18\x01 \x03(\t\"\x92\x01\n\x0c\x41\x63tionStatus\x12\x0e\n\x06\x61\x63tion\x18\x01 \x01(\r\x12\x0e\n\x06status\x18\x02 \x01(\r\x12\x11\n\x04step\x18\x03 \x01(\rH\x00\x88\x01\x01\x12\x15\n\x08progress\x18\x04 \x01(\rH\x01\x88\x01\x01\x12\x15\n\x08\x62ridgeId\x18\x05 \x01(\x0cH\x02\x88\x01\x01\x42\x07\n\x05_stepB\x0b\n\t_progressB\x0b\n\t_bridgeId\"\x8e\x02\n\x0f\x44ownlinkMessage\x12#\n\x08txPacket\x18\x01 \x01(\x0b\x32\x0f.wltPb.TxPacketH\x00\x12-\n\rgatewayAction\x18\x02 \x01(\x0b\x32\x14.wltPb.GatewayActionH\x00\x12-\n\rbridgeUpgrade\x18\x03 \x01(\x0b\x32\x14.wltPb.BridgeUpgradeH\x00\x12-\n\rgatewayConfig\x18\x04 \x01(\x0b\x32\x14.wltPb.GatewayConfigH\x00\x12-\n\rcustomMessage\x18\x06 \x01(\x0b\x32\x14.wltPb.CustomMessageH\x00\x42\x06\n\x04typeJ\x04\x08\x05\x10\x06R\x0c\x63ustomBroker\"F\n\x08TxPacket\x12\x0f\n\x07payload\x18\x01 \x01(\x0c\x12\x12\n\nmaxRetries\x18\x02 \x01(\r\x12\x15\n\rmaxDurationMs\x18\x03 \x01(\r\"\x1f\n\rGatewayAction\x12\x0e\n\x06\x61\x63tion\x18\x01 \x01(\t\"\xa5\x01\n\rBridgeUpgrade\x12\x14\n\x0crebootPacket\x18\x01 \x01(\x0c\x12\x17\n\x0ftxMaxDurationMs\x18\x02 \x01(\r\x12\x14\n\x0ctxMaxRetries\x18\x03 \x01(\r\x12\x10\n\x08\x62ridgeId\x18\x04 \x01(\t\x12\x13\n\x0bversionUuid\x18\x05 \x01(\t\x12\x13\n\x0bupgradeBlSd\x18\x06 \x01(\x08\x12\x13\n\x0bimageDirUrl\x18\x07 \x01(\t\"\xc6\x02\n\rGatewayConfig\x12\x14\n\x07version\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x19\n\x0c\x62leSwVersion\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x1f\n\x12interfaceSwVersion\x18\x03 \x01(\tH\x02\x88\x01\x01\x12&\n\x08location\x18\x04 \x01(\x0b\x32\x0f.wltPb.LocationH\x03\x88\x01\x01\x12\x30\n\x06\x63onfig\x18\x05 \x03(\x0b\x32 .wltPb.GatewayConfig.ConfigEntry\x1aH\n\x0b\x43onfigEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12(\n\x05value\x18\x02 \x01(\x0b\x32\x19.wltPb.GatewayConfigValue:\x02\x38\x01\x42\n\n\x08_versionB\x0f\n\r_bleSwVersionB\x15\n\x13_interfaceSwVersionB\x0b\n\t_location\"\x81\x01\n\rCustomMessage\x12\x32\n\x07\x65ntries\x18\x01 \x03(\x0b\x32!.wltPb.CustomMessage.EntriesEntry\x1a<\n\x0c\x45ntriesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x1b\n\x05value\x18\x02 \x01(\x0b\x32\x0c.wltPb.Value:\x02\x38\x01\x62\x06proto3')
|
|
18
28
|
|
|
19
29
|
_globals = globals()
|
|
20
30
|
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
|
21
31
|
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'wltPb_pb2', _globals)
|
|
22
|
-
if _descriptor._USE_C_DESCRIPTORS
|
|
23
|
-
DESCRIPTOR.
|
|
24
|
-
_globals['_GATEWAYSTATUS_CONFIGENTRY'].
|
|
32
|
+
if not _descriptor._USE_C_DESCRIPTORS:
|
|
33
|
+
DESCRIPTOR._loaded_options = None
|
|
34
|
+
_globals['_GATEWAYSTATUS_CONFIGENTRY']._loaded_options = None
|
|
25
35
|
_globals['_GATEWAYSTATUS_CONFIGENTRY']._serialized_options = b'8\001'
|
|
26
|
-
_globals['_GATEWAYINFO_ENTRIESENTRY'].
|
|
36
|
+
_globals['_GATEWAYINFO_ENTRIESENTRY']._loaded_options = None
|
|
27
37
|
_globals['_GATEWAYINFO_ENTRIESENTRY']._serialized_options = b'8\001'
|
|
28
|
-
_globals['_GATEWAYCONFIG_CONFIGENTRY'].
|
|
38
|
+
_globals['_GATEWAYCONFIG_CONFIGENTRY']._loaded_options = None
|
|
29
39
|
_globals['_GATEWAYCONFIG_CONFIGENTRY']._serialized_options = b'8\001'
|
|
30
|
-
_globals['_CUSTOMMESSAGE_ENTRIESENTRY'].
|
|
40
|
+
_globals['_CUSTOMMESSAGE_ENTRIESENTRY']._loaded_options = None
|
|
31
41
|
_globals['_CUSTOMMESSAGE_ENTRIESENTRY']._serialized_options = b'8\001'
|
|
32
42
|
_globals['_LOCATION']._serialized_start=22
|
|
33
43
|
_globals['_LOCATION']._serialized_end=58
|
|
@@ -39,34 +49,36 @@ if _descriptor._USE_C_DESCRIPTORS == False:
|
|
|
39
49
|
_globals['_GATEWAYDATA_PACKET']._serialized_end=421
|
|
40
50
|
_globals['_UPLINKMESSAGE']._serialized_start=437
|
|
41
51
|
_globals['_UPLINKMESSAGE']._serialized_end=638
|
|
42
|
-
_globals['
|
|
43
|
-
_globals['
|
|
44
|
-
_globals['
|
|
45
|
-
_globals['
|
|
46
|
-
_globals['
|
|
47
|
-
_globals['
|
|
48
|
-
_globals['
|
|
49
|
-
_globals['
|
|
50
|
-
_globals['
|
|
51
|
-
_globals['
|
|
52
|
-
_globals['
|
|
53
|
-
_globals['
|
|
54
|
-
_globals['
|
|
55
|
-
_globals['
|
|
56
|
-
_globals['
|
|
57
|
-
_globals['
|
|
58
|
-
_globals['
|
|
59
|
-
_globals['
|
|
60
|
-
_globals['
|
|
61
|
-
_globals['
|
|
62
|
-
_globals['
|
|
63
|
-
_globals['
|
|
64
|
-
_globals['
|
|
65
|
-
_globals['
|
|
66
|
-
_globals['
|
|
67
|
-
_globals['
|
|
68
|
-
_globals['
|
|
69
|
-
_globals['
|
|
70
|
-
_globals['
|
|
71
|
-
_globals['
|
|
52
|
+
_globals['_ACL']._serialized_start=640
|
|
53
|
+
_globals['_ACL']._serialized_end=678
|
|
54
|
+
_globals['_GATEWAYCONFIGVALUE']._serialized_start=681
|
|
55
|
+
_globals['_GATEWAYCONFIGVALUE']._serialized_end=832
|
|
56
|
+
_globals['_GATEWAYSTATUS']._serialized_start=835
|
|
57
|
+
_globals['_GATEWAYSTATUS']._serialized_end=1323
|
|
58
|
+
_globals['_GATEWAYSTATUS_CONFIGENTRY']._serialized_start=1171
|
|
59
|
+
_globals['_GATEWAYSTATUS_CONFIGENTRY']._serialized_end=1243
|
|
60
|
+
_globals['_GATEWAYINFO']._serialized_start=1325
|
|
61
|
+
_globals['_GATEWAYINFO']._serialized_end=1450
|
|
62
|
+
_globals['_GATEWAYINFO_ENTRIESENTRY']._serialized_start=1390
|
|
63
|
+
_globals['_GATEWAYINFO_ENTRIESENTRY']._serialized_end=1450
|
|
64
|
+
_globals['_GATEWAYLOGS']._serialized_start=1452
|
|
65
|
+
_globals['_GATEWAYLOGS']._serialized_end=1479
|
|
66
|
+
_globals['_ACTIONSTATUS']._serialized_start=1482
|
|
67
|
+
_globals['_ACTIONSTATUS']._serialized_end=1628
|
|
68
|
+
_globals['_DOWNLINKMESSAGE']._serialized_start=1631
|
|
69
|
+
_globals['_DOWNLINKMESSAGE']._serialized_end=1901
|
|
70
|
+
_globals['_TXPACKET']._serialized_start=1903
|
|
71
|
+
_globals['_TXPACKET']._serialized_end=1973
|
|
72
|
+
_globals['_GATEWAYACTION']._serialized_start=1975
|
|
73
|
+
_globals['_GATEWAYACTION']._serialized_end=2006
|
|
74
|
+
_globals['_BRIDGEUPGRADE']._serialized_start=2009
|
|
75
|
+
_globals['_BRIDGEUPGRADE']._serialized_end=2174
|
|
76
|
+
_globals['_GATEWAYCONFIG']._serialized_start=2177
|
|
77
|
+
_globals['_GATEWAYCONFIG']._serialized_end=2503
|
|
78
|
+
_globals['_GATEWAYCONFIG_CONFIGENTRY']._serialized_start=1171
|
|
79
|
+
_globals['_GATEWAYCONFIG_CONFIGENTRY']._serialized_end=1243
|
|
80
|
+
_globals['_CUSTOMMESSAGE']._serialized_start=2506
|
|
81
|
+
_globals['_CUSTOMMESSAGE']._serialized_end=2635
|
|
82
|
+
_globals['_CUSTOMMESSAGE_ENTRIESENTRY']._serialized_start=1390
|
|
83
|
+
_globals['_CUSTOMMESSAGE_ENTRIESENTRY']._serialized_end=1450
|
|
72
84
|
# @@protoc_insertion_point(module_scope)
|