diff --git a/src/frsky.cpp b/src/frsky.cpp index d356029fd..09fa586a3 100644 --- a/src/frsky.cpp +++ b/src/frsky.cpp @@ -258,7 +258,7 @@ void parseTelemHubByte(uint8_t byte) // First received barometer altitude => Altitude offset if (!frskyData.hub.baroAltitudeOffset) frskyData.hub.baroAltitudeOffset = -frskyData.hub.baroAltitude_bp; - if (g_model.frsky.varioSource == VARIO_SOURCE_ALTI_V1) { + if (g_model.frsky.varioSource == VARIO_SOURCE_ALTI) { evalVario(frskyData.hub.baroAltitude_bp, 0); } frskyData.hub.baroAltitude_bp += frskyData.hub.baroAltitudeOffset; @@ -266,7 +266,7 @@ void parseTelemHubByte(uint8_t byte) break; case offsetof(FrskyHubData, baroAltitude_ap): - if (g_model.frsky.varioSource == VARIO_SOURCE_ALTI_V2) { + if (g_model.frsky.varioSource == VARIO_SOURCE_ALTI_PLUS) { evalVario(frskyData.hub.baroAltitude_bp-frskyData.hub.baroAltitudeOffset, frskyData.hub.baroAltitude_ap); } break; @@ -335,7 +335,7 @@ void parseTelemWSHowHighByte(uint8_t byte) if (frskyUsrStreaming < (FRSKY_TIMEOUT10ms*3 - 10)) { ((uint8_t*)&frskyData.hub)[offsetof(FrskyHubData, baroAltitude_bp)] = byte; checkMinMaxAltitude(); - if (g_model.frsky.varioSource == VARIO_SOURCE_ALTI_V1) { + if (g_model.frsky.varioSource == VARIO_SOURCE_ALTI) { evalVario(frskyData.hub.baroAltitude_bp, 0); } } diff --git a/src/frsky.h b/src/frsky.h index 75f5ef2b7..5bc1ec6c3 100644 --- a/src/frsky.h +++ b/src/frsky.h @@ -115,6 +115,8 @@ PACK(struct FrskyHubData { uint16_t current; // 0x28 Current int16_t varioAltitudeQueue[VARIO_QUEUE_LENGTH]; //circular buffer int32_t varioAltitude_cm; + int16_t varioSpeed; // 0x30 Vertical speed in cm/s + /* next fields must keep this order! */ int16_t minAltitude; int16_t maxAltitude; @@ -125,11 +127,12 @@ PACK(struct FrskyHubData { uint16_t maxGpsDistance; uint16_t maxCurrent; /* end */ - int16_t varioSpeed; // 0x38 Added to FrSky protocol for home made varios + uint16_t vfas; // 0x39 Added to FrSky protocol for home made sensors with a better precision uint16_t volts_bp; // 0x3A uint16_t volts_ap; // 0x3B // end of FrSky Hub data + uint16_t gpsDistance; int16_t gpsAltitudeOffset; uint8_t varioAltitudeQueuePointer; // circular-buffer pointer diff --git a/src/myeeprom.h b/src/myeeprom.h index 941365faf..514d0c3bb 100644 --- a/src/myeeprom.h +++ b/src/myeeprom.h @@ -474,8 +474,8 @@ enum TelemetrySource { enum VarioSource { VARIO_SOURCE_FIRST = 0, - VARIO_SOURCE_ALTI_V1 = VARIO_SOURCE_FIRST, - VARIO_SOURCE_ALTI_V2, + VARIO_SOURCE_ALTI = VARIO_SOURCE_FIRST, + VARIO_SOURCE_ALTI_PLUS, VARIO_SOURCE_VARIO, VARIO_SOURCE_A1, VARIO_SOURCE_A2,