Barometric Vario function changed

new menu items added to handle new function
sound function changed for Vario
sound driver changed to remove crisps on continues sound
frsky data structure changed to fit new variables, some spares reused
This commit is contained in:
maxim.karban@gmail.com
2012-04-17 16:08:54 +00:00
parent bcfc573312
commit e4c59f402d
13 changed files with 229 additions and 91 deletions
+44 -3
View File
@@ -746,7 +746,6 @@ void menuProcPhasesAll(uint8_t event)
att = i==sub ? INVERS : 0;
PhaseData *p = phaseaddress(i);
#if defined(EXTRA_ROTARY_ENCODERS)
// lcd_outdezNAtt(0, y, i, att|LEFT, 1);
putsFlightPhase(0, y, i+1, att|CONDENSED);
#else //EXTRA_ROTARY_ENCODERS
putsFlightPhase(0, y, i+1, att);
@@ -2004,8 +2003,8 @@ void menuProcFunctionSwitches(uint8_t event)
#define TELEM_COL2 (9*FW+2)
void menuProcTelemetry(uint8_t event)
{
#if defined(FRSKY_HUB) || defined(WS_HOW_HIGH)
MENU(STR_MENUTELEMETRY, menuTabModel, e_Telemetry, 27, {0, (uint8_t)-1, 1, 0, 2, 2, (uint8_t)-1, 1, 0, 2, 2, (uint8_t)-1, 1, 1, (uint8_t)-1, 0, 0, (uint8_t)-1, 1, 1, 1, 1, (uint8_t)-1, 2, 2, 2, 2});
#if defined(FRSKY_HUB) || defined(WS_HOW_HIGH)// v v v v 4 new menu items for baro alt/vario
MENU(STR_MENUTELEMETRY, menuTabModel, e_Telemetry, 32, {0, (uint8_t)-1, 1, 0, 2, 2, (uint8_t)-1, 1, 0, 2, 2, (uint8_t)-1, 1, 1, (uint8_t)-1, 0, 0, (uint8_t)-1, 0, 0, 0, 0, (uint8_t)-1, 1, 1, 1, 1, (uint8_t)-1, 2, 2, 2, 2});
#else
MENU(STR_MENUTELEMETRY, menuTabModel, e_Telemetry, 24, {0, (uint8_t)-1, 1, 0, 2, 2, (uint8_t)-1, 1, 0, 2, 2, (uint8_t)-1, 1, 1, (uint8_t)-1, 1, 1, 1, 1, (uint8_t)-1, 2, 2, 2, 2});
#endif
@@ -2153,6 +2152,48 @@ void menuProcTelemetry(uint8_t event)
CHECK_INCDEC_MODELVAR(event, g_model.frsky.blades, 0, 2);
}
subN++;
if(s_pgOfs<subN) {
y = (subN-s_pgOfs)*FH;
lcd_putsLeft(y, STR_BARO_VARIO);
}
subN++;
if(s_pgOfs<subN) {//setup baro altimeter after point data to be used
y = (subN-s_pgOfs)*FH;
lcd_puts(4, y, STR_BARO_PR);
menu_lcd_onoff( TELEM_COL2, y, g_model.frsky.use_baroAltitude_ap, sub==subN ) ;
if (sub==subN)
CHECK_INCDEC_MODELVAR(event, g_model.frsky.use_baroAltitude_ap, 0, 1);
}
subN++;
if(s_pgOfs<subN) {//use barometer altitude only if ON and use GPS altitude if OFF
y = (subN-s_pgOfs)*FH;
lcd_puts(4, y, STR_BARO_ONLY);
menu_lcd_onoff( TELEM_COL2, y, g_model.frsky.use_baroAltitude_only, sub==subN ) ;
if (sub==subN)
CHECK_INCDEC_MODELVAR(event, g_model.frsky.use_baroAltitude_only, 0, 1);
}
subN++;
if(s_pgOfs<subN) {
y = (subN-s_pgOfs)*FH;
lcd_puts(4, y, STR_BARO_UP_LIM);
lcd_outdezAtt(TELEM_COL2+FWNUM+2*FW, y, VARIO_LIM_MUL*g_model.varioSpeedUpMin, (sub==subN ? INVERS : 0)|PREC2);//TODO: EDIT DECIMALS HERE
if (sub==subN)
CHECK_INCDEC_MODELVAR(event, g_model.varioSpeedUpMin, 0, 15);
}
subN++;
if(s_pgOfs<subN) {
y = (subN-s_pgOfs)*FH;
lcd_puts(4, y, STR_BARO_DWN_LIM);
lcd_outdezAtt(TELEM_COL2+FWNUM+2*FW, y, VARIO_LIM_MUL*g_model.varioSpeedDownMin, (sub==subN ? INVERS : 0)|PREC2);//TODO: EDIT DECIMALS HERE
if (sub==subN)
CHECK_INCDEC_MODELVAR(event, g_model.varioSpeedDownMin, 0, 15);
}
subN++;
#endif
// Display