mirror of
https://github.com/paparazzi/paparazzi.git
synced 2026-05-31 03:57:45 +08:00
[pprzlink] fix pprzlink proxy and add it as a tool (#3526)
also update pprzlink
This commit is contained in:
committed by
GitHub
parent
67f9388f85
commit
8900f6e47f
@@ -0,0 +1 @@
|
|||||||
|
<program command="sw/ground_segment/tmtc/pprzlink_proxy.py" name="PprzLink Proxy"/>
|
||||||
+1
-1
Submodule sw/ext/pprzlink updated: f0abfd1a01...d6614740b6
@@ -63,8 +63,8 @@ class Proxy:
|
|||||||
|
|
||||||
self.gcs_id = int(gcs_conf[0])
|
self.gcs_id = int(gcs_conf[0])
|
||||||
self.gcs_addr = gcs_conf[1]
|
self.gcs_addr = gcs_conf[1]
|
||||||
self.gcs = pprzlink.udp.UdpMessagesInterface(self.proccess_gcs_msg, False,
|
self.gcs = pprzlink.udp.UdpMessagesInterface(self.proccess_gcs_msg, True,
|
||||||
int(gcs_conf[3]), int(gcs_conf[2]), 'datalink') # crossing ports here
|
int(gcs_conf[3]), int(gcs_conf[2]), 'datalink', None) # crossing ports here
|
||||||
self.acs = []
|
self.acs = []
|
||||||
for ac in ac_conf:
|
for ac in ac_conf:
|
||||||
self.acs.append((int(ac[0]), ac[1],
|
self.acs.append((int(ac[0]), ac[1],
|
||||||
@@ -77,17 +77,17 @@ class Proxy:
|
|||||||
return
|
return
|
||||||
if self.verbose:
|
if self.verbose:
|
||||||
print("new message from %i (%s) [%d Bytes]: %s" % (sender, address, length, msg))
|
print("new message from %i (%s) [%d Bytes]: %s" % (sender, address, length, msg))
|
||||||
if receiver_id == self.gcs_id:
|
if receiver_id == self.gcs_id or receiver_id == 255:
|
||||||
# normal telemetry message for the GCS
|
# normal telemetry message for the GCS
|
||||||
if self.verbose:
|
if self.verbose:
|
||||||
print("sending to %i: %s" % (receiver_id, msg))
|
print("mav %d sending to gcs %i: %s" % (sender, receiver_id, msg))
|
||||||
self.gcs.send(msg, sender, self.gcs_addr, receiver_id, component_id)
|
self.gcs.send(msg, sender, self.gcs_addr, receiver_id, component_id)
|
||||||
else:
|
if receiver_id != self.gcs_id or receiver_id == 255:
|
||||||
for (ac_id, ac_addr, m) in self.acs:
|
for (ac_id, ac_addr, m) in self.acs:
|
||||||
if receiver_id == ac_id:
|
if receiver_id == ac_id or receiver_id == 255:
|
||||||
# send air to air message to correct MAV
|
# send air to air message to correct MAV
|
||||||
if self.verbose:
|
if self.verbose:
|
||||||
print("sending to %i (%i): %s" % (receiver_id, ac_id, msg))
|
print("mav %d sending to %d (%i) [%s]: %s" % (sender, ac_id, receiver_id, ac_addr, msg))
|
||||||
m.send(msg, sender, ac_addr, receiver_id, component_id)
|
m.send(msg, sender, ac_addr, receiver_id, component_id)
|
||||||
|
|
||||||
def proccess_gcs_msg(self, sender, address, msg, length, receiver_id=None, component_id=None):
|
def proccess_gcs_msg(self, sender, address, msg, length, receiver_id=None, component_id=None):
|
||||||
@@ -99,7 +99,7 @@ class Proxy:
|
|||||||
for (ac_id, ac_addr, m) in self.acs:
|
for (ac_id, ac_addr, m) in self.acs:
|
||||||
# broadcast to all MAVs
|
# broadcast to all MAVs
|
||||||
if self.verbose:
|
if self.verbose:
|
||||||
print("sending to %i: %s" % (receiver_id, msg))
|
print("gcs %d broadcasting to %d (%i) [%s]: %s" % (sender, ac_id, receiver_id, ac_addr, msg))
|
||||||
m.send(msg, sender, ac_addr, receiver_id)
|
m.send(msg, sender, ac_addr, receiver_id)
|
||||||
else:
|
else:
|
||||||
try:
|
try:
|
||||||
@@ -107,10 +107,10 @@ class Proxy:
|
|||||||
except:
|
except:
|
||||||
receiver_id = None
|
receiver_id = None
|
||||||
for (ac_id, ac_addr, m) in self.acs:
|
for (ac_id, ac_addr, m) in self.acs:
|
||||||
if receiver_id == ac_id:
|
if receiver_id == ac_id or receiver_id == 255:
|
||||||
# send datalink message to correct MAV
|
# send datalink message to correct MAV
|
||||||
if self.verbose:
|
if self.verbose:
|
||||||
print("sending to %i (%i): %s" % (receiver_id, ac_id, msg))
|
print("gcs %d sending to %i (%i) [%s]: %s" % (sender, ac_id, receiver_id, ac_addr, msg))
|
||||||
m.send(msg, sender, ac_addr, receiver_id)
|
m.send(msg, sender, ac_addr, receiver_id)
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
|
|||||||
Reference in New Issue
Block a user