autosportlabs / RaceCapture-Pro_firmware

Firmware for RaceCapture-Pro Data Acquisition, control and Telemetry system for motorsports
GNU General Public License v3.0
65 stars 35 forks source link

Add UDP support to our Telemetry Stream #790

Open stieg opened 8 years ago

stieg commented 8 years ago

Telemetry streams over TCP are often subject to delays caused by poor network conditions. While normally this delay is small and hard to notice (brief stutters in the stream) it can become substantial, especially as network congestion grows or as cellular network reliability drops.

I propose that we add UDP support to our telemetry stream so we may degrade gracefully when we hit poor conditions or congestion. In doing so we drop traffic that fails to send instead of trying to resend it. By doing this we:

Of course the counter to this is that we may lose data in situations where TCP would have preserved it. To me this is a fair trade-off so long as we have a good back-fill story. For now that story would be uploading the contents of the SD-Card after the day is done to get a complete view of the session. To do this we would need to ensure the following:

We should also eventually add the following when time permits:

stieg commented 8 years ago

Telemetry Streams ID issue is tracked by #791