Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support XCVario NMEA Sentences #410

Open
kebekus opened this issue Apr 19, 2024 · 1 comment
Open

Support XCVario NMEA Sentences #410

kebekus opened this issue Apr 19, 2024 · 1 comment
Assignees
Labels
enhancement New feature or request

Comments

@kebekus
Copy link
Member

kebekus commented Apr 19, 2024

Title says it all…

@kebekus kebekus added the enhancement New feature or request label Apr 19, 2024
@kebekus kebekus self-assigned this Apr 19, 2024
@charlylima
Copy link
Contributor

I did not know XCVario and looked it up:
That is a great open source project implementing an electronic variometer with a display for gliders built with an ESP32 chip and they also sell the hardware built into a 61mm or 80mm case.
It has sensors for energy compensated variometer, airspeed based on dynamic pressure, altitude based on static pressure, outside temperature, battery voltage, gyro sensors AHRS for accelleration and rotation.
It interfaces via bluetooth, wlan, RS232 TTL serial port, CAN bus.
https://github.com/iltis42/XCVario
https://xcvario.com

Here is the documentation of the protocol:
https://xcvario.com/docs/nmea-protcols/#4-toc-title
https://github.com/iltis42/XCVario/tree/master/handbook

XCVario protocol

Sentence has following format:
$PXCV,
BBB.B, // Vario, -30 to +30 m/s, negative sign for sink
C.C, // MacCready 0 to 10 m/s
EE, // Bugs degradation, 0 = clean to 30 %
F.FF, // Ballast 1.00 to 1.60
G, // 1 in climb, 0 in cruise, Note: Original Borgelt docu shows vice versa
HH.H, // Outside airtemp in degrees celcius ( may have leading negative sign )
QQQQ.Q, // QNH e.g. 1013.2
PPPP.P, // Static pressure in hPa
QQQQ.Q, // Dynamic pressure in Pa
RRR.R, // Roll angle
III.I, // Pitch angle
X.XX, // Acceleration in X-Axis
Y.YY, // Acceleration in Y-Axis
Z.ZZ, // Acceleration in Z-Axis
*CHK = standard NMEA checksum
<CR><LF>

It also supports these protocols:

OpenVario

$POV,P,<baro>,Q,<dp>,E,<te>,T,<temp>“

Example: 
P,1018.35:  1018.35 hPa barometric pressure
E,2.3 :            +2.3 in m/s vario climb
T,23.52:        23.52° OAT temperature in deg C

Borgelt

$PBB50,AAA,BBB.B,C.C,DDDDD,EE,F.FF,G,HH*CS<cr><lf> 
AAA = TAS 0 to 150 knots 
BBB.B = Vario, -10 to +15 knots, negative sign for sink 
C.C = MacCready 0 to 8.0 knots 
DDDDD = IAS squared 0 to 22500 
EE = bugs degradation, 0 = clean to 30 % 
F.FF = Ballast 1.00 to 1.60 
G = 1 in climb, 0 in cruise, Note: Original Borgelt docu shows vice versa 
HH = Outside airtemp in degrees celcius (may have leading negative sign)
CS = standard  NMEA checksum 

$PTAS1,xxx,yyy,zzzzz,aaa*CS<CR><LF> 
xxx: CV or current vario. =vario*10+200 range 0-400(display +/-20.0 knots) 
yyy: AV or average vario. =vario*10+200 range 0-400(display +/-20.0 knots) 
zzzzz: Barometric altitude in feet +2000, related to QNH standard 1013.25 setting 
aaa: TAS knots 0-200 
CS: XOR Checksumme

Cambridge

!W,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>,<13>*CS<CR><LF>

<1> Vector wind direction in degrees
<2> Vector wind speed in 10ths of meters per second
<3> Vector wind age in seconds
<4> Component wind in 10ths of m/s + 500 (500 = 0, 495 = 0.5 m/s tailwind)
<5> True altitude in Meters + 1000
<6> Instrument QNH setting
<7> True airspeed in 100ths of Meters per second
<8> Variometer reading in 10ths of knots + 200
<9> Averager reading in 10ths of knots + 200
<10> Relative variometer reading in 10ths of knots + 200
<11> Instrument MacCready setting in 10ths of knots
<12> Instrument Ballast setting in percent of capacity
<13> Instrument Bug setting
*CS Checksum, XOR of all bytes of the sentence after the ‘!’ and before the ‘*’

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants