From fe61a4fe7f43668e8924e6ebd9d115f215d1d241 Mon Sep 17 00:00:00 2001 From: "maxim.karban@gmail.com" Date: Tue, 8 May 2012 20:07:57 +0000 Subject: [PATCH] Variometer sources now: BaroV1: uses altitude before point only multiplied by 100 BaroV2: uses filtered altitude provided better than frsky hub source A1/A2: uses winged shadow thermal scout connected to A1/A2 inputs on receiver --- src/frsky.cpp | 5 ++++- src/model_menus.cpp | 2 +- src/myeeprom.h | 5 +++-- src/translations/en.h | 4 ++-- src/translations/fr.h | 4 ++-- src/translations/se.h | 4 ++-- 6 files changed, 14 insertions(+), 10 deletions(-) diff --git a/src/frsky.cpp b/src/frsky.cpp index 5ded8f802..deb1b6ad0 100644 --- a/src/frsky.cpp +++ b/src/frsky.cpp @@ -273,12 +273,15 @@ void parseTelemHubByte(uint8_t byte) // First received barometer altitude => Altitude offset if (!frskyHubData.baroAltitudeOffset) frskyHubData.baroAltitudeOffset = -frskyHubData.baroAltitude_bp; + if (g_model.varioSource == VARIO_SOURCE_BARO_V1) { + evalVario(frskyHubData.baroAltitude_bp*100, 0); + } frskyHubData.baroAltitude_bp += frskyHubData.baroAltitudeOffset; checkMinMaxAltitude(); break; case offsetof(FrskyHubData, baroAltitude_ap): - if (g_model.varioSource == VARIO_SOURCE_BARO) { + if (g_model.varioSource == VARIO_SOURCE_BARO_V2) { evalVario(frskyHubData.baroAltitude_bp-frskyHubData.baroAltitudeOffset, frskyHubData.baroAltitude_ap); } break; diff --git a/src/model_menus.cpp b/src/model_menus.cpp index c34bc4daa..8bd6f7011 100644 --- a/src/model_menus.cpp +++ b/src/model_menus.cpp @@ -2327,7 +2327,7 @@ void menuProcTelemetry(uint8_t event) case ITEM_TELEMETRY_VARIO_SOURCE: lcd_puts(4, y, STR_SOURCE); lcd_putsiAtt(TELEM_COL2, y, STR_VARIOSRC, g_model.varioSource, attr); - if (attr) CHECK_INCDEC_MODELVAR(event, g_model.varioSource, VARIO_SOURCE_NONE, VARIO_SOURCE_LAST-1); + if (attr) CHECK_INCDEC_MODELVAR(event, g_model.varioSource, VARIO_SOURCE_FIRST, VARIO_SOURCE_LAST-1); break; case ITEM_TELEMETRY_VARIO_SPEED: diff --git a/src/myeeprom.h b/src/myeeprom.h index 91ed6d2c3..b90abbfa5 100644 --- a/src/myeeprom.h +++ b/src/myeeprom.h @@ -409,8 +409,9 @@ enum TelemetrySource { }; enum VarioSource { - VARIO_SOURCE_NONE = 0, - VARIO_SOURCE_BARO, + VARIO_SOURCE_FIRST = 0, + VARIO_SOURCE_BARO_V1 = 0, + VARIO_SOURCE_BARO_V2, VARIO_SOURCE_A1, VARIO_SOURCE_A2, VARIO_SOURCE_LAST diff --git a/src/translations/en.h b/src/translations/en.h index 3c3da0e15..cca0917f4 100644 --- a/src/translations/en.h +++ b/src/translations/en.h @@ -158,8 +158,8 @@ #define TR_VTELPROTO "" #endif -#define LEN_VARIOSRC "\004" -#define TR_VARIOSRC "None""Baro""A1 ""A2 " +#define LEN_VARIOSRC "\006" +#define TR_VARIOSRC "BaroV1""BaroV2""A1 ""A2 " #define LEN_GPSFORMAT "\004" #define TR_GPSFORMAT "HMS NMEA" diff --git a/src/translations/fr.h b/src/translations/fr.h index 6cb58e61b..4f98f8e9e 100644 --- a/src/translations/fr.h +++ b/src/translations/fr.h @@ -158,8 +158,8 @@ #define TR_VTELPROTO "" #endif -#define LEN_VARIOSRC "\004" -#define TR_VARIOSRC "None""Baro""A1 ""A2 " +#define LEN_VARIOSRC "\006" +#define TR_VARIOSRC "BaroV1""BaroV2""A1 ""A2 " #define LEN_GPSFORMAT "\004" #define TR_GPSFORMAT "HMS NMEA" diff --git a/src/translations/se.h b/src/translations/se.h index 2a808aebc..0d21c3dac 100644 --- a/src/translations/se.h +++ b/src/translations/se.h @@ -158,8 +158,8 @@ #define TR_VTELPROTO "" #endif -#define LEN_VARIOSRC "\004" -#define TR_VARIOSRC "None""Baro""A1 ""A2 " +#define LEN_VARIOSRC "\006" +#define TR_VARIOSRC "BaroV1""BaroV2""A1 ""A2 " #define LEN_GPSFORMAT "\004" #define TR_GPSFORMAT "HMS NMEA"