Content

Protocols $PTVSOAR / $PTV

 

 Originally written in English      

 

PTVSOAR Message

In general, the protocol uses an NMEA-like message structure with $PTVSOAR as the protocol identifier, followed by a comma (,).

The payload consists of a series of subsequent data fields. The order of the fields can be arbitrary. Each field consists of a unique tag (usually 3 letters) followed by a value. Each tag and each value is followed by a comma (,) except the last one.

$PTVSOAR,<tag>,<value>,<tag>,<value>,<tag>,<value>,...*<cksum>

The values can be plain ASCII, signed integer numbers, or signed floating point numbers, with a period (.) as the decimal separator. The values must not contain any of the special characters ($ * ,).

As usual, a message can (and should) be terminated with an asterisk (*) followed by the hexadecimal NMEA checksum. If the checksum is not present, the verification is skipped and the data is accepted without verification.
Messages must be separated by line breaks (\n).

Following tags are defined. Others are reserved for future extensions (button/event identifer etc).

MNA  Manufacturer name, ASCII, except [$*,]
MMO  Device Model, ASCII,
except [$*,]
MSN  Device serial number, ASCII,
except [$*,]
OAT  Outside air temperature in deg C

OAH  Outside air humidity in percent RH

PRS  Static pressure in hPa

PIT  Pitot differential pressure in Pa

VOL  Battery voltage in V
PCT  Battery capacity in percent
CHG  Battery charging flag (1=charging)
VAR  Vario in m/s
TEV  TE Vario in m/s


Example:

$PTVSOAR,OAT,21.4,OAH,42.42,PRS,1013.25,PIT,88.456,PCT,50,VAR,1.234

More fields can be defined in the future. MNA, MMO, MSN, and VOL are so far (Beta-29) ignored.

If VAR or TEV is sent, the internal calculation of the vario value from PRS is disabled and the vario value is taken as it is. If TEV is sent (VAR is ignored), the internal TEV calculation is skipped and the total energy vario value is taken as it is.

If PRS is provided and VAR / TEV are not present, TotalVario activates the internal option to tune the Kalman filter for vario calculation.

For processing real-time data such as PRS, PIT, VAR, TEV, it is strongly recommended to send records at a constant rate of 10/sec or more. It makes little sense to use a rate higher than 20/sec, although this also works.

PTV Short Message

If the Bluetooth/BLE connection is too slow for whatever reason, the alternative short form $PTV can be used to send the essential data with less overhead. 

As usual, a message can (and should) be terminated with an asterisk (*) followed by the hexadecimal NMEA checksum. If the checksum is not present, the verification is skipped and the data is accepted without verification.
Messages must be separated by line breaks (\n).

The format is defined as

$PTV,<pitot>,<baro>,<temp>,<humid>,<batt>,<chg>*<cksum>

<pitot> : differential pressure in Pa
<baro>  : static pressure hPa
<temp>  : air temperature in C
<humid> : relative air humidity in %
<batt>  : battery capacity in %
<chg>   : 1=charging, 2=not charging
<cksum> : NMEA checksum (2 hex digits)

 

Disclaimer 

Copyright (c) 2023, Bernd Wing*. All rights reserved.