Openvario / variod

Daemon for autonomous e-vario
4 stars 8 forks source link

NMEA Parser improvements #42

Closed hpmax closed 3 years ago

hpmax commented 3 years ago

This update is my last currently planned update. It addresses several oversights in the previous NMEA parser with the following improvements:

1) More robust against corrupted sentences 2) Can handle multiple sentences per message 3) Can handle a sentence split across multiple messages 4) Supports and responds to $POV,?, queries if XCSoar wants to know the settings in Variod. 5) Upon startup, requests Real Polar and MacCready settings from XCSoar. It will request the request repeatedly if XCSoar doesn't respond. This is a useful feature if variod is restarted.

Note that the query does not support: volume, mute, or vario/stf because these are not in the OV protocol and not supported by XCSoar. @bomilkar suggested that fundamentally, XCSoar does not support these and simply passes the message along, hence in it's current form, it is unqueryable. I see this as a deficiency, but not one that can be addressed in variod. If someone adds the functionality to XCSoar and extends the protocol I will add it to variod.

hpmax commented 3 years ago

Have not tried the simulator, but I did throw debug lines in to watch traffic going back and forth. I can try the simulator.