=====OpenVario Protocol===== This document describes the OpenVario communication protocol. Communication between **sensord** and **variod** and [[http://www.xcsoar.org| XCSoar ]] is based on NMEA sentences. NMEA is the abbreviation for "National Marine Electronics Association". **Version 1.3** The original definition of these sentences can be found [[https://github.com/Turbo87/openvario-protocol|here]]. Version 1.3 14.03.2016 battery voltage sentence added\\ ====Specification==== **Generic definition:** $POV,,,,, .....* The NMEA sentence always starts with $POV and ends up with a checksum and "*". Each ''$POV'' sentence can contain multiple datapoints defined by ''type'' and ''value''. The ''type'' part is a uppercase letter describing the type and meaning of the following ''value'' according to the overview of supported types below. The ''value'' is a floating point number. The length of the sentence is not fixed, but terminated with the usual asterisk and a two character checksum. **Example:** $POV,P,+949.30,Q,-24.57*7D ===Value pair=== The following value pair are defined at the moment: ===Airspeed=== S: true airspeed in km/h Example: $POV,S,123.45*05 ===Pressure=== P: static pressure in hPa Example: $POV,P,1018.35*39 Q: dynamic pressure in Pa Example: $POV,Q,23.3*04 R: total pressure in hPa Example: $POV,R,1025.17*35 ===Temperature=== T: temperature in deg C Example: $POV,T,23.52*35 ===Voltage=== V: battery voltage in V Example: $POV,V,11.99*31 ===Vario=== E: TE vario in m/s Example: $POV,E,2.15*14 ===Command=== C: Command followed by type of command and parameter if necessary C,, Commands are grouped in "Types": Vario: VU: Volume of external vario up by 10% VD: Volume of external vario down by 10% VM: Mute external Vario Example: $POV,C,VU*09 => Set up volume by 10% McCready: MC, Example: $POV,C,MC,+0.5*28 => Set McCready to +0.5 Wing Load: WL, is a factor of the additional weight added by water ballast in relation to the reference weight of the glider Example: $POV,C,WL,1.0*12 => No water ballast $POV,C,WL,1.1*13 => 10% more weight than reference weight Bugs: BU, reflects the value of bugs Example: $POV,C,BU,1.0*1E => No Bugs $POV,C,WL,0.5*16 => 50% Bugs Real Polar: RPO,, . are reflecting the coefficients of the polar including bugs and ballast Example: Ideal Polar: IPO,, . are reflecting the coefficients of the ideal polar (just glider, without bugs and ballast) Example: ===Checksum=== The NMEA Checksum is calculated over the NMEA string between $ and *. The checksum is a hexadecimal number representing the XOR of all bytes Navigate to [[projects:series_00:build:audio_vario_speed_to_fly|Audio Vario / Speed to Fly]] =====OpenVario as Device in XCSoar ===== The Openvario Flight Computer has to be selected as Device in XCSoar. The communication between OpenVario and XCSoar is based on **TCP** at Port 4352. This must be selected in the XCSoar Device-Manager accordingly. In contrast the communication between OpenVario and Flarm (or nearly all kind of IGC-equipment like loggers) is based on a serial port. {{:playground:electrical_tests:xcsoar_device_manager_8583.jpg?500|}} Edit the Device Settings in XCSoar Device Manager {{:projects:series_00:software:edit-device-xcsoar.jpg?500|}} XCSoar-Settings for the OpenVario {{:projects:series_00:software:ov-nmea-xcsoar.jpg?500|}} NMEA-Output, monitored in XCSoar Device-Manager Navigate to [[sensord|Sensord]] Navigate to [[variod|Variod]] Back to [[overview|Software-Overview]] Back to [[projects:series_00:build:setupguide|Setup Guide]]