Rolf
(Rolf)
January 12, 2019, 9:24am
1
According to the documentation, it shows percentage bad packets received (probably mavlink packages with wrong crc ?)
Doc: http://ardupilot.org/planner/docs/mission-planner-ground-control-station.html
In case of telemetry via usb or good wifi connection 100% are indicated. Therefore, shouldn’t it be “good packages” ?
But a bad G4 connection via VPN shows eg about 60% and due to VPN, not a single bad packet should be received !!!
What does the “wireless telemetry connection” actually indicate ? How is the value calculated ?
Rolf
it is a % of dropped to received packets.
given you are using 4g, what protocol are you using? tcp or udp? also with the vpn software, are you using tcp or udp?
Rolf
(Rolf)
January 12, 2019, 10:30am
3
Thank you for your prompt reply. For telemetry and video i am using UDP. At VPN, I’m unaware. I use ZeroTier VPN https://www.zerotier.com/ .
ktrussell
(Kenny Trussell)
January 12, 2019, 3:39pm
4
Using wireless telemetry, I see the reading at 100% when the vehicle is very close and it drops as the vehicle gets further away and the telemetry starts having trouble communicating. So, isn’t the value maybe 100 minus the % of dropped to received packets?
I might have said it the wrong way. But yes, 100 means no loss. Anything lower indicates loss
Can you supply a tlog. I think it could be because of out of order udp packets
Rolf
(Rolf)
January 12, 2019, 4:29pm
7
you mean a tlog from mp ?
Yes. The tlog should show me the out of order packets. Then I can confirm if that’s the issue
Rolf
(Rolf)
January 12, 2019, 4:38pm
9
The tlog file (Arduplane<> G4 with VPN UDP-Telemtry <>Missionplanner): https://www.magentacloud.de/share/h4zker0rac
for reference:
// Packets per second = total number of packets received over the
// last 3 seconds divided by three
// Do that every second
_mavlink.WhenPacketReceived
.Buffer(TimeSpan.FromSeconds(3), TimeSpan.FromSeconds(1))
.Select(xs => xs.Sum()/3.0)
.ObserveOn(SynchronizationContext.Current)
.Subscribe(x => this.txt_PacketsPerSecond.Text = x.ToString("0")),
// Link quality is a percentage of the number of good packets received
// to the number of packets missed (detected by mavlink seq no.)
// Calculated as an average over the last 3 seconds (non weighted)
// Calculated every second
CombineWithDefault(_mavlink.WhenPacketReceived, _mavlink.WhenPacketLost, Tuple.Create)
.Buffer(TimeSpan.FromSeconds(3), TimeSpan.FromSeconds(1))
.Select(CalculateAverage)
.ObserveOn(SynchronizationContext.Current)
.Subscribe(x => this.txt_LinkQuality.Text = x.ToString("00%")),
// Bytes per second is the average number of bytes received every second
and
basti.
1 Like