C099-F9P connected via UDP / Wifi

AOG V5.4, V5.3.3

I’m running the C099-F9P Application board with ODIN-W2 u-connectXpress software as WIFI-Station configured to:

using AgIO UDP
send NMEA data to AOG Port 9999 and
receive NTRIP data at port 2233

All the data are transfered correctly in both directions, but every 25 sec I get following JIT Message:

ErrorMessage

Does AgIO handle fragmented pakets?

Maybe there is a solution for getting correct data via Wi-Fi.
Else I suggest Bluetooth. GPS data via Bluetooth

Unfortunately UDP over WiFi is not always reliable. There’s no guarantee of the packet ordering. The transmitter might queue a few packets up and transmit them together. Things seem a lot more reliable and consistent on ethernet, even though the “U” in “UDP” stands for “unreliable.”

1 Like

:laughing: :rofl: :joy:

Yes, except that it is actually commonly referred to as unreliable datagram protocol in industry (the RFC notwithstanding). This is to help describe how it differs from TCP/IP. Of course “unreliable” needs to be defined. In this case it means no guarantees about delivery, other than if it does arrive, the packet will checksum, or else it will be discarded. But there are no guarantees about timing, no connection framework, no retransmission, no guarantees about order. It’s a simple protocol with little overhead. It works well for streaming data because often it doesn’t matter if you lose some of it, and if the odd packet is out of order usually you can discard it. And being connectionless, it works if a device simply shows up on the network, and has no problem if an end point disappears for a while (packets simply are dropped).

1 Like

I’m trying to get UDP / Wifi running because the bluetooth connection is also not performing well. Cyclic stability isn’t good.

Here are the captured packet communication to port 9999:

I don’t know why the c099 split such small packets, if I try only VTG it splits it also - changing in rates having no influence

In the meantime I located the error in the source code UPDDesigner.cs:

As you can see in the wireshark log, packet will be fragmented, may be caused by performance of c099. So packets with 1 byte lenght will be received sometimes and causing this error.

I’d tried following code changes to prevent the error and reading the fragmented packets into AOG:

But someone of the AOG professionals should integrate such a code in a further version of AgIO.

1 Like