(I’m not shure that this is the wrigth category, but I did not find a better one)
I have some understanding questions regarding the actual mavlink telemetry implementation:
- In rx_functions.sh, a virtual com port /dev/openhd_mavlink2 is created. This virtual port connects the wfb telemetry uplink to /usr/local/bin/mavlink-routerd -e 127.0.0.1:14550 /dev/openhd_mavlink2:115200 & … that’s seems clear to me.
- As far as I can see, the udpsplitter.py does forward an udp stream from / to port to several IP without doing any else, that’s wright? So udpsplitter.py is used to distribute udp to several IPs?
telemetry uplink -> telemetryfifo2 -> socat -> udpsplitter -> downlink? But what downlink?
- So far I can see, telemetry link uses virtual com ports, but also various named pipes?
I’m asking, because I want wo implement two things:
- Message signing for Mavlink2, because not all ground stations implement this. Without signing, there is a serious security flaw at the moment (as far I can see). Maybe later we can encrypt the whole mavlink stream, but this is a second step.
- Second, for trackers like U360GTS I want to insert some kind of mavlink filter (I’ve already have some C++ mavlink fiter written for another project), that uses a Mavlink2 stream and outputs only the tracker relevant messages as Mavlink1 to the tracker. That’s because the U60GTS cannot work with Mavlink2 correctly and has a problem with unfiltered high bandwidth Mavlink streams.
Thank you very much,