Skip to content

Commit 170d0ce

Browse files
committed
x
1 parent cd5dc62 commit 170d0ce

File tree

1 file changed

+81
-81
lines changed

1 file changed

+81
-81
lines changed

MAVProxy/modules/mavproxy_silvus.py

Lines changed: 81 additions & 81 deletions
Original file line numberDiff line numberDiff line change
@@ -138,10 +138,10 @@ def get_noise(self, radio):
138138
noisel = (response.json()["result"])
139139
return int(noisel[0])
140140

141-
# Get Neighbor RSSI == nbr_rssi(nodeip, localnode)
142-
def get_rssi(self, local, remote):
143-
data = '{"jsonrpc":"2.0","method":"nbr_rssi","params":["' + remote.node + '"],"id":"sbkb5u0c"}'
144-
response = self.make_request(local, post_data=data)
141+
# Get Neighbor RSSI == nbr_rssi(nodeip, gndnode)
142+
def get_rssi(self, gnd, air):
143+
data = '{"jsonrpc":"2.0","method":"nbr_rssi","params":["' + air.node + '"],"id":"sbkb5u0c"}'
144+
response = self.make_request(gnd, post_data=data)
145145
nbr_rssi = (response.json()["result"])
146146
return nbr_rssi
147147

@@ -160,17 +160,17 @@ def get_gps_state(self, radio):
160160
return gpsstat
161161

162162
# Get max throughput between nodes
163-
def get_throughput(self, local, remote):
164-
data = '{"jsonrpc":"2.0","method":"link_throughput","params":["' + remote.node + '", "1"],"id":"sbkb5u0c"}'
165-
response = self.make_request(local, post_data=data)
163+
def get_throughput(self, gnd, air):
164+
data = '{"jsonrpc":"2.0","method":"link_throughput","params":["' + air.node + '", "1"],"id":"sbkb5u0c"}'
165+
response = self.make_request(gnd, post_data=data)
166166
nbr_tp = (response.json()["result"])
167167
nbr_tp = (nbr_tp)[0]
168168
return nbr_tp
169169

170170
# Returns the TX MCS
171-
def get_neighbor_mcs(self, local, remote):
172-
data = '{"jsonrpc":"2.0","method":"nbr_mcs","params":["' + remote.node + '"],"id":"sbkb5u0c"}'
173-
response = self.make_request(local, post_data=data)
171+
def get_neighbor_mcs(self, gnd, air):
172+
data = '{"jsonrpc":"2.0","method":"nbr_mcs","params":["' + air.node + '"],"id":"sbkb5u0c"}'
173+
response = self.make_request(gnd, post_data=data)
174174
nbr_mcs = (response.json()["result"])
175175
nbr_mcs = (nbr_mcs)[0]
176176
# print(data)
@@ -186,9 +186,9 @@ def make_request(self, radio, post_data):
186186
return result
187187

188188
# Returns the RX MCS
189-
def get_neighbor_mcs_rx(self, local, remote):
190-
data = '{"jsonrpc":"2.0","method":"nbr_mcs_rx","params":["' + remote.node + '"],"id":"sbkb5u0c"}'
191-
response = self.make_request(local, data=data)
189+
def get_neighbor_mcs_rx(self, gnd, air):
190+
data = '{"jsonrpc":"2.0","method":"nbr_mcs_rx","params":["' + air.node + '"],"id":"sbkb5u0c"}'
191+
response = self.make_request(gnd, data=data)
192192
nbr_mcs_rx = (response.json()["result"])
193193
nbr_mcs_rx = (nbr_mcs_rx)[0]
194194
# print(data)
@@ -212,77 +212,77 @@ def get_radio_data(self):
212212
airip = self.silvus_settings.air_ip
213213
airport = self.silvus_settings.air_port
214214

215-
if len(gndip.split('.')) != 4:
216-
return
217-
if len(airip.split('.')) != 4:
218-
return
219-
if gndport <= 0:
220-
return
221-
if airport <= 0:
222-
return
223-
224215
class Radio():
225-
def __init__(self, remote_ip, remote_port, remote_node):
226-
self.ip = remote_ip
227-
self.port = remote_port
228-
self.node = remote_node
229-
230-
localnode = str(self.silvus_settings.gnd_node)
231-
remotenode = str(self.silvus_settings.air_node)
232-
233-
remote = Radio(airip, airport, remotenode)
234-
local = Radio(gndip, gndport, localnode)
235-
236-
try:
237-
self.values['TXMCS'] = float(self.get_neighbor_mcs(local, remote))
238-
except Exception:
239-
pass
240-
try:
241-
self.values['RXMCS'] = float(self.get_neighbor_mcs_rx(local, remote))
242-
except Exception:
243-
pass
244-
try:
245-
rssi = self.get_rssi(local, remote)
246-
if len(rssi) >= 4:
247-
self.values['TXRSSI1'] = float(rssi[0])
248-
self.values['TXRSSI2'] = float(rssi[1])
249-
self.values['TXRSSI3'] = float(rssi[2])
250-
self.values['TXRSSI4'] = float(rssi[3])
251-
except Exception:
252-
pass
253-
254-
try:
255-
rssi = self.get_rssi(remote, local)
256-
if len(rssi) >= 4:
257-
self.values['RXRSSI1'] = float(rssi[0])
258-
self.values['RXRSSI2'] = float(rssi[1])
259-
self.values['RXRSSI3'] = float(rssi[2])
260-
self.values['RXRSSI4'] = float(rssi[3])
261-
except Exception:
262-
pass
216+
def __init__(self, ip, port, node):
217+
self.ip = ip
218+
self.port = port
219+
self.node = node
220+
221+
gnd = None
222+
air = None
223+
if len(gndip.split('.')) == 4 and gndport is not None and gndport > 0:
224+
gndnode = str(self.silvus_settings.gnd_node)
225+
gnd = Radio(gndip, gndport, gndnode)
226+
227+
if len(airip.split('.')) == 4 and airport is not None and airport > 0:
228+
airnode = str(self.silvus_settings.air_node)
229+
air = Radio(airip, airport, airnode)
230+
231+
if gnd and air:
232+
try:
233+
self.values['TXMCS'] = float(self.get_neighbor_mcs(gnd, air))
234+
except Exception:
235+
pass
236+
try:
237+
self.values['RXMCS'] = float(self.get_neighbor_mcs_rx(gnd, air))
238+
except Exception:
239+
pass
240+
try:
241+
rssi = self.get_rssi(gnd, air)
242+
if len(rssi) >= 4:
243+
self.values['TXRSSI1'] = float(rssi[0])
244+
self.values['TXRSSI2'] = float(rssi[1])
245+
self.values['TXRSSI3'] = float(rssi[2])
246+
self.values['TXRSSI4'] = float(rssi[3])
247+
except Exception:
248+
pass
249+
try:
250+
rssi = self.get_rssi(air, gnd)
251+
if len(rssi) >= 4:
252+
self.values['RXRSSI1'] = float(rssi[0])
253+
self.values['RXRSSI2'] = float(rssi[1])
254+
self.values['RXRSSI3'] = float(rssi[2])
255+
self.values['RXRSSI4'] = float(rssi[3])
256+
except Exception:
257+
pass
258+
259+
if gnd:
260+
try:
261+
self.values['LOCNSE'] = float(self.get_noise(gnd))
262+
except Exception as e:
263+
print(f"Exception caught! {e=}")
264+
pass
265+
if air is not None:
266+
try:
267+
self.values['REMNSE'] = float(self.get_noise(air))
268+
except Exception:
269+
pass
263270

264-
try:
265-
self.values['LOCNSE'] = float(self.get_noise(local))
266-
except Exception as e:
267-
print(f"Exception caught! {e=}")
268-
pass
269-
try:
270-
self.values['REMNSE'] = float(self.get_noise(remote))
271-
except Exception:
272-
pass
273-
try:
274-
self.values['LINKSNR'] = float(self.network_status(local)[2])
275-
except Exception:
276-
pass
271+
if gnd:
272+
try:
273+
self.values['LINKSNR'] = float(self.network_status(gnd)[2])
274+
except Exception:
275+
pass
277276

278-
try:
279-
self.values['LOCTPUT'] = float(self.get_throughput(local, remote))
280-
except Exception:
281-
pass
282-
try:
283-
self.values['REMTPUT'] = float(self.get_throughput(remote, local))
284-
except Exception:
285-
pass
277+
if gnd and air:
278+
try:
279+
self.values['LOCTPUT'] = float(self.get_throughput(gnd, air))
280+
except Exception:
281+
pass
282+
try:
283+
self.values['REMTPUT'] = float(self.get_throughput(air, gnd))
284+
except Exception:
285+
pass
286286

287287
for f in self.values:
288288
self.send_named_float('SR_' + f, self.values[f])

0 commit comments

Comments
 (0)