Fixes #1689 - Vario silent when within zero range
This commit is contained in:
@@ -74,11 +74,12 @@ enum menuModelTelemetryItems {
|
||||
ITEM_TELEMETRY_SENSOR31,
|
||||
ITEM_TELEMETRY_SENSOR32,
|
||||
ITEM_TELEMETRY_NEWSENSOR,
|
||||
CASE_VARIO(ITEM_TELEMETRY_VARIO_LABEL)
|
||||
#if defined(VARIO)
|
||||
ITEM_TELEMETRY_VARIO_LABEL,
|
||||
ITEM_TELEMETRY_VARIO_SOURCE,
|
||||
ITEM_TELEMETRY_VARIO_RANGE,
|
||||
ITEM_TELEMETRY_VARIO_CENTER,
|
||||
#endif
|
||||
CASE_VARIO(ITEM_TELEMETRY_VARIO_RANGE)
|
||||
ITEM_TELEMETRY_TOP_BAR_LABEL,
|
||||
ITEM_TELEMETRY_TOP_BAR_VOLTAGE,
|
||||
ITEM_TELEMETRY_TOP_BAR_ALTITUDE,
|
||||
@@ -120,7 +121,11 @@ enum menuModelTelemetryItems {
|
||||
|
||||
#define SENSOR_ROWS(x) (isTelemetryFieldAvailable(x) ? (uint8_t)0 : HIDDEN_ROW)
|
||||
#define SENSORS_ROWS LABEL(Sensors), SENSOR_ROWS(0), SENSOR_ROWS(1), SENSOR_ROWS(2), SENSOR_ROWS(3), SENSOR_ROWS(4), SENSOR_ROWS(5), SENSOR_ROWS(6), SENSOR_ROWS(7), SENSOR_ROWS(8), SENSOR_ROWS(9), SENSOR_ROWS(10), SENSOR_ROWS(11), SENSOR_ROWS(12), SENSOR_ROWS(13), SENSOR_ROWS(14), SENSOR_ROWS(15), SENSOR_ROWS(16), SENSOR_ROWS(17), SENSOR_ROWS(18), SENSOR_ROWS(19), SENSOR_ROWS(20), SENSOR_ROWS(21), SENSOR_ROWS(22), SENSOR_ROWS(23), SENSOR_ROWS(24), SENSOR_ROWS(25), SENSOR_ROWS(26), SENSOR_ROWS(27), SENSOR_ROWS(28), SENSOR_ROWS(29), SENSOR_ROWS(30), SENSOR_ROWS(31), 0,
|
||||
#define USRDATA_ROWS
|
||||
#if defined(VARIO)
|
||||
#define VARIO_ROWS LABEL(Vario), 0, 1, 2,
|
||||
#else
|
||||
#define VARIO_ROWS
|
||||
#endif
|
||||
#define RSSI_ROWS LABEL(RSSI), 0, 0,
|
||||
#if defined(LUA)
|
||||
#define SCREEN_TYPE_ROWS 1
|
||||
@@ -483,7 +488,7 @@ void onTelemetryScriptFileSelectionMenu(const char *result)
|
||||
|
||||
void menuModelTelemetry(uint8_t event)
|
||||
{
|
||||
MENU(STR_MENUTELEMETRY, menuTabModel, e_Telemetry, ITEM_TELEMETRY_MAX, { TELEMETRY_TYPE_ROWS RSSI_ROWS SENSORS_ROWS USRDATA_ROWS CASE_VARIO(LABEL(Vario)) CASE_VARIO(0) CASE_VARIO(VARIO_RANGE_ROWS) LABEL(TopBar), 0, 0, TOPLCD_ROWS TELEMETRY_SCREEN_ROWS(0), TELEMETRY_SCREEN_ROWS(1), CASE_CPUARM(TELEMETRY_SCREEN_ROWS(2)) CASE_CPUARM(TELEMETRY_SCREEN_ROWS(3)) });
|
||||
MENU(STR_MENUTELEMETRY, menuTabModel, e_Telemetry, ITEM_TELEMETRY_MAX, { TELEMETRY_TYPE_ROWS RSSI_ROWS SENSORS_ROWS VARIO_ROWS LABEL(TopBar), 0, 0, TOPLCD_ROWS TELEMETRY_SCREEN_ROWS(0), TELEMETRY_SCREEN_ROWS(1), CASE_CPUARM(TELEMETRY_SCREEN_ROWS(2)) CASE_CPUARM(TELEMETRY_SCREEN_ROWS(3)) });
|
||||
|
||||
int sub = m_posVert;
|
||||
|
||||
@@ -519,7 +524,7 @@ void menuModelTelemetry(uint8_t event)
|
||||
}
|
||||
TelemetrySensor * sensor = & g_model.telemetrySensors[index];
|
||||
if (sensor->type == TELEM_TYPE_CUSTOM) {
|
||||
lcd_outdezAtt(TELEM_COL3+1*FW, y, sensor->instance, LEFT);
|
||||
lcd_outdezAtt(TELEM_COL3, y, sensor->instance, LEFT);
|
||||
}
|
||||
if (attr) {
|
||||
s_editMode = 0;
|
||||
@@ -545,7 +550,7 @@ void menuModelTelemetry(uint8_t event)
|
||||
case ITEM_TELEMETRY_SENSORS_LABEL:
|
||||
lcd_putsLeft(y, STR_TELEMETRY_SENSORS);
|
||||
lcd_putsAtt(TELEM_COL2, y, STR_VALUE, 0);
|
||||
lcd_putsAtt(TELEM_COL3+1*FW, y, STR_ID, 0);
|
||||
lcd_putsAtt(TELEM_COL3, y, STR_ID, 0);
|
||||
break;
|
||||
|
||||
case ITEM_TELEMETRY_NEWSENSOR:
|
||||
@@ -592,28 +597,41 @@ void menuModelTelemetry(uint8_t event)
|
||||
break;
|
||||
|
||||
case ITEM_TELEMETRY_VARIO_RANGE:
|
||||
lcd_putsLeft(y, STR_LIMIT);
|
||||
lcd_outdezAtt(TELEM_COL2, y, -10+g_model.frsky.varioMin, (m_posHorz<=0 ? attr : 0)|LEFT);
|
||||
lcd_outdezAtt(TELEM_COL2+7*FW-2, y, -5+g_model.frsky.varioCenterMin, ((CURSOR_ON_LINE() || m_posHorz==1) ? attr : 0)|PREC1);
|
||||
lcd_outdezAtt(TELEM_COL2+10*FW, y, 5+g_model.frsky.varioCenterMax, ((CURSOR_ON_LINE() || m_posHorz==2) ? attr : 0)|PREC1);
|
||||
lcd_outdezAtt(TELEM_COL2+13*FW+2, y, 10+g_model.frsky.varioMax, ((CURSOR_ON_LINE() || m_posHorz==3) ? attr : 0));
|
||||
lcd_putsLeft(y, STR_RANGE);
|
||||
lcd_outdezAtt(TELEM_COL2, y, -10+g_model.frsky.varioMin, (m_posHorz==0 ? attr : 0)|LEFT);
|
||||
lcd_outdezAtt(TELEM_COL2+7*FW, y, 10+g_model.frsky.varioMax, (m_posHorz==1 ? attr : 0)|LEFT);
|
||||
if (attr && s_editMode>0) {
|
||||
switch (m_posHorz) {
|
||||
case 0:
|
||||
CHECK_INCDEC_MODELVAR(event, g_model.frsky.varioMin, -7, 7);
|
||||
break;
|
||||
case 1:
|
||||
CHECK_INCDEC_MODELVAR(event, g_model.frsky.varioCenterMin, -16, 5+min<int8_t>(10, g_model.frsky.varioCenterMax+5));
|
||||
break;
|
||||
case 2:
|
||||
CHECK_INCDEC_MODELVAR(event, g_model.frsky.varioCenterMax, -5+max<int8_t>(-10, g_model.frsky.varioCenterMin-5), +15);
|
||||
break;
|
||||
case 3:
|
||||
CHECK_INCDEC_MODELVAR(event, g_model.frsky.varioMax, -7, 7);
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case ITEM_TELEMETRY_VARIO_CENTER:
|
||||
lcd_putsLeft(y, STR_CENTER);
|
||||
lcd_outdezAtt(TELEM_COL2, y, -5+g_model.frsky.varioCenterMin, (m_posHorz==0 ? attr : 0)|PREC1|LEFT);
|
||||
lcd_outdezAtt(TELEM_COL2+7*FW, y, 5+g_model.frsky.varioCenterMax, (m_posHorz==1 ? attr : 0)|PREC1|LEFT);
|
||||
lcd_putsiAtt(TELEM_COL3, y, STR_VVARIOCENTER, g_model.frsky.varioCenterSilent, (m_posHorz==2 ? attr : 0));
|
||||
if (attr && s_editMode>0) {
|
||||
switch (m_posHorz) {
|
||||
case 0:
|
||||
CHECK_INCDEC_MODELVAR(event, g_model.frsky.varioCenterMin, -16, 5+min<int8_t>(10, g_model.frsky.varioCenterMax+5));
|
||||
break;
|
||||
case 1:
|
||||
CHECK_INCDEC_MODELVAR(event, g_model.frsky.varioCenterMax, -5+max<int8_t>(-10, g_model.frsky.varioCenterMin-5), +15);
|
||||
break;
|
||||
case 2:
|
||||
CHECK_INCDEC_MODELVAR_ZERO(event, g_model.frsky.varioCenterSilent, 1);
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
#endif
|
||||
|
||||
case ITEM_TELEMETRY_TOP_BAR_LABEL:
|
||||
|
||||
@@ -1483,7 +1483,8 @@ PACK(typedef struct {
|
||||
uint8_t altitudeSource;
|
||||
uint8_t screensType; // 2bits per screen (None/Gauges/Numbers/Script)
|
||||
FrSkyScreenData screens[MAX_TELEMETRY_SCREENS];
|
||||
uint8_t varioSource;
|
||||
uint8_t varioSource:7;
|
||||
uint8_t varioCenterSilent:1;
|
||||
int8_t varioCenterMax;
|
||||
int8_t varioCenterMin;
|
||||
int8_t varioMin;
|
||||
|
||||
@@ -112,6 +112,7 @@ const pm_char STR_OPEN9X[] PROGMEM =
|
||||
ISTR(VLCD)
|
||||
ISTR(VUNITSSYSTEM)
|
||||
ISTR(VBEEPCOUNTDOWN)
|
||||
ISTR(VVARIOCENTER)
|
||||
#endif
|
||||
#if defined(PXX) || defined(CPUARM)
|
||||
ISTR(COUNTRYCODES)
|
||||
@@ -211,6 +212,7 @@ const pm_char STR_CV[] PROGMEM = TR_CV;
|
||||
const pm_char STR_GV[] PROGMEM = TR_GV;
|
||||
const pm_char STR_ACHANNEL[] PROGMEM = TR_ACHANNEL;
|
||||
const pm_char STR_RANGE[] PROGMEM = TR_RANGE;
|
||||
const pm_char STR_CENTER[] PROGMEM = TR_CENTER;
|
||||
const pm_char STR_BAR[] PROGMEM = TR_BAR;
|
||||
const pm_char STR_ALARM[] PROGMEM = TR_ALARM;
|
||||
const pm_char STR_USRDATA[] PROGMEM = TR_USRDATA;
|
||||
|
||||
@@ -180,7 +180,8 @@ extern const pm_char STR_OPEN9X[];
|
||||
#if defined(CPUARM)
|
||||
#define OFS_VUNITSSYSTEM (OFS_VLCD + sizeof(TR_VLCD))
|
||||
#define OFS_VBEEPCOUNTDOWN (OFS_VUNITSSYSTEM + sizeof(TR_VUNITSSYSTEM))
|
||||
#define OFS_COUNTRYCODES (OFS_VBEEPCOUNTDOWN + sizeof(TR_VBEEPCOUNTDOWN))
|
||||
#define OFS_VVARIOCENTER (OFS_VBEEPCOUNTDOWN + sizeof(TR_VBEEPCOUNTDOWN))
|
||||
#define OFS_COUNTRYCODES (OFS_VVARIOCENTER + sizeof(TR_VVARIOCENTER))
|
||||
#else
|
||||
#define OFS_COUNTRYCODES (OFS_VLCD)
|
||||
#endif
|
||||
@@ -297,6 +298,7 @@ extern const pm_char STR_OPEN9X[];
|
||||
#define STR_VLCD (STR_OPEN9X + OFS_VLCD)
|
||||
#define STR_VUNITSSYSTEM (STR_OPEN9X + OFS_VUNITSSYSTEM)
|
||||
#define STR_VBEEPCOUNTDOWN (STR_OPEN9X + OFS_VBEEPCOUNTDOWN)
|
||||
#define STR_VVARIOCENTER (STR_OPEN9X + OFS_VVARIOCENTER)
|
||||
#endif
|
||||
|
||||
#if defined(PXX) || defined(CPUARM)
|
||||
@@ -405,6 +407,7 @@ extern const pm_char STR_CV[];
|
||||
extern const pm_char STR_GV[];
|
||||
extern const pm_char STR_ACHANNEL[];
|
||||
extern const pm_char STR_RANGE[];
|
||||
extern const pm_char STR_CENTER[];
|
||||
extern const pm_char STR_BAR[];
|
||||
extern const pm_char STR_ALARM[];
|
||||
extern const pm_char STR_USRDATA[];
|
||||
|
||||
@@ -121,6 +121,9 @@
|
||||
#define LEN_VBEEPCOUNTDOWN "\006"
|
||||
#define TR_VBEEPCOUNTDOWN "Ne\0 ""Zvuk\0 ""Hlas\0 "
|
||||
|
||||
#define LEN_VVARIOCENTER "\006"
|
||||
#define TR_VVARIOCENTER "Tone\0 ""Silent"
|
||||
|
||||
#define LEN_CURVE_TYPES "\010"
|
||||
#define TR_CURVE_TYPES "Rastr-X\0""Volná-XY"
|
||||
|
||||
@@ -655,6 +658,7 @@
|
||||
#define TR_GV "GP"
|
||||
#define TR_ACHANNEL "A\004Kanál"
|
||||
#define TR_RANGE INDENT"Rozsah"
|
||||
#define TR_CENTER INDENT "Center"
|
||||
#define TR_BAR "Ukazatel"
|
||||
#define TR_ALARM INDENT"Alarm"
|
||||
#define TR_USRDATA TR("UživData", "Uživ. data")
|
||||
|
||||
@@ -126,6 +126,9 @@
|
||||
#define LEN_VBEEPCOUNTDOWN "\006"
|
||||
#define TR_VBEEPCOUNTDOWN "Kein\0 Pieps\0Stimme"
|
||||
|
||||
#define LEN_VVARIOCENTER "\006"
|
||||
#define TR_VVARIOCENTER "Tone\0 ""Silent"
|
||||
|
||||
#define LEN_CURVE_TYPES "\010"
|
||||
#define TR_CURVE_TYPES " Nur Y "" X und Y" //"Standard""Custom\0"
|
||||
|
||||
@@ -659,6 +662,7 @@
|
||||
#define TR_GV "GV"
|
||||
#define TR_ACHANNEL TR("A\004gemessen","A\004Kanal gemessen =>") //9XR-Pro
|
||||
#define TR_RANGE TR(INDENT"Bereich", INDENT "Reichweite") // 9XR-Pro
|
||||
#define TR_CENTER INDENT "Center"
|
||||
#define TR_BAR "Streifen"
|
||||
#define TR_ALARM INDENT"Alarm"
|
||||
#define TR_USRDATA "Daten berechnen aus"
|
||||
|
||||
@@ -121,6 +121,9 @@
|
||||
#define LEN_VBEEPCOUNTDOWN "\006"
|
||||
#define TR_VBEEPCOUNTDOWN "SilentBeeps\0Voice\0"
|
||||
|
||||
#define LEN_VVARIOCENTER "\006"
|
||||
#define TR_VVARIOCENTER "Tone\0 ""Silent"
|
||||
|
||||
#define LEN_CURVE_TYPES "\010"
|
||||
#define TR_CURVE_TYPES "Standard""Custom\0"
|
||||
|
||||
@@ -654,6 +657,7 @@
|
||||
#define TR_GV "GV"
|
||||
#define TR_ACHANNEL "A\004channel"
|
||||
#define TR_RANGE INDENT "Range"
|
||||
#define TR_CENTER INDENT "Center"
|
||||
#define TR_BAR "Bar"
|
||||
#define TR_ALARM INDENT "Alarm"
|
||||
#define TR_USRDATA TR("UsrData","User Data")
|
||||
|
||||
@@ -115,6 +115,9 @@
|
||||
#define LEN_VBEEPCOUNTDOWN "\006"
|
||||
#define TR_VBEEPCOUNTDOWN "SilentBeeps\0Voz\0"
|
||||
|
||||
#define LEN_VVARIOCENTER "\006"
|
||||
#define TR_VVARIOCENTER "Tone\0 ""Silent"
|
||||
|
||||
#define LEN_CURVE_TYPES "\010"
|
||||
#define TR_CURVE_TYPES "Standard""Custom\0"
|
||||
|
||||
@@ -616,6 +619,7 @@
|
||||
#define TR_GV "GV"
|
||||
#define TR_ACHANNEL "A\004canal"
|
||||
#define TR_RANGE INDENT"Alcance"
|
||||
#define TR_CENTER INDENT "Center"
|
||||
#define TR_BAR "Bar"
|
||||
#define TR_ALARM INDENT"Alarma"
|
||||
#define TR_USRDATA "UsrData"
|
||||
|
||||
@@ -115,6 +115,9 @@
|
||||
#define LEN_VBEEPCOUNTDOWN "\006"
|
||||
#define TR_VBEEPCOUNTDOWN "SilentBeeps\0Voice\0"
|
||||
|
||||
#define LEN_VVARIOCENTER "\006"
|
||||
#define TR_VVARIOCENTER "Tone\0 ""Silent"
|
||||
|
||||
#define LEN_CURVE_TYPES "\010"
|
||||
#define TR_CURVE_TYPES "Standard""Custom\0"
|
||||
|
||||
@@ -616,6 +619,7 @@
|
||||
#define TR_GV "GV"
|
||||
#define TR_ACHANNEL "A\004channel"
|
||||
#define TR_RANGE INDENT"Range"
|
||||
#define TR_CENTER INDENT "Center"
|
||||
#define TR_BAR "Bar"
|
||||
#define TR_ALARM INDENT"Alarm"
|
||||
#define TR_USRDATA "UsrData"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/*
|
||||
/*
|
||||
* Authors (alphabetical order)
|
||||
* - Andre Bernet <bernet.andre@gmail.com>
|
||||
* - Bertrand Songis <bsongis@gmail.com>
|
||||
@@ -121,6 +121,9 @@
|
||||
#define LEN_VBEEPCOUNTDOWN "\007"
|
||||
#define TR_VBEEPCOUNTDOWN "Aucun\0 ""Bips\0 ""Voix\0 "
|
||||
|
||||
#define LEN_VVARIOCENTER "\006"
|
||||
#define TR_VVARIOCENTER "Tone\0 ""Silent"
|
||||
|
||||
#define LEN_CURVE_TYPES "\010"
|
||||
#define TR_CURVE_TYPES "Standard""Libre\0"
|
||||
|
||||
@@ -654,6 +657,7 @@
|
||||
#define TR_GV "VG"
|
||||
#define TR_ACHANNEL "A"
|
||||
#define TR_RANGE INDENT "Plage"
|
||||
#define TR_CENTER INDENT "Center"
|
||||
#define TR_BAR "Barre"
|
||||
#define TR_ALARM INDENT "Alarme"
|
||||
#define TR_USRDATA "Données"
|
||||
|
||||
@@ -115,6 +115,9 @@
|
||||
#define LEN_VBEEPCOUNTDOWN "\006"
|
||||
#define TR_VBEEPCOUNTDOWN "NienteSuoni\0Voce\0 "
|
||||
|
||||
#define LEN_VVARIOCENTER "\006"
|
||||
#define TR_VVARIOCENTER "Tone\0 ""Silent"
|
||||
|
||||
#define LEN_CURVE_TYPES "\010"
|
||||
#define TR_CURVE_TYPES "Fisso\0 ""Modific."
|
||||
|
||||
@@ -616,6 +619,7 @@
|
||||
#define TR_GV "GV"
|
||||
#define TR_ACHANNEL "A\002ingresso"
|
||||
#define TR_RANGE tr(INDENT"Inter.",INDENT"Intervallo")
|
||||
#define TR_CENTER INDENT "Center"
|
||||
#define TR_BAR "Barra"
|
||||
#define TR_ALARM tr(INDENT"Allar.",INDENT"Allarme")
|
||||
#define TR_USRDATA "Dati"
|
||||
|
||||
@@ -125,6 +125,9 @@
|
||||
#define LEN_VBEEPCOUNTDOWN "\006"
|
||||
#define TR_VBEEPCOUNTDOWN "Cichy Pik \0Dźwięk"
|
||||
|
||||
#define LEN_VVARIOCENTER "\006"
|
||||
#define TR_VVARIOCENTER "Tone\0 ""Silent"
|
||||
|
||||
#define LEN_CURVE_TYPES "\010" /*8 decimal*/
|
||||
#define TR_CURVE_TYPES "Standard""Własny\0 "
|
||||
|
||||
@@ -658,6 +661,7 @@
|
||||
#define TR_GV "ZG"
|
||||
#define TR_ACHANNEL "A\004Kanał"
|
||||
#define TR_RANGE INDENT "Zakres"
|
||||
#define TR_CENTER INDENT "Center"
|
||||
#define TR_BAR "Pas"
|
||||
#define TR_ALARM INDENT "Alarm"
|
||||
#define TR_USRDATA TR("Dane Użytk.", "Dane użytkownika")
|
||||
|
||||
@@ -115,6 +115,9 @@
|
||||
#define LEN_VBEEPCOUNTDOWN "\006"
|
||||
#define TR_VBEEPCOUNTDOWN "SilentBeeps\0Voice\0"
|
||||
|
||||
#define LEN_VVARIOCENTER "\006"
|
||||
#define TR_VVARIOCENTER "Tone\0 ""Silent"
|
||||
|
||||
#define LEN_CURVE_TYPES "\010"
|
||||
#define TR_CURVE_TYPES "Standard""Custom\0"
|
||||
|
||||
@@ -616,6 +619,7 @@
|
||||
#define TR_GV "GV"
|
||||
#define TR_ACHANNEL "A\004Canal"
|
||||
#define TR_RANGE INDENT"Range"
|
||||
#define TR_CENTER INDENT "Center"
|
||||
#define TR_BAR "Bar"
|
||||
#define TR_ALARM INDENT"Alarme"
|
||||
#define TR_USRDATA "UsrData"
|
||||
|
||||
@@ -115,6 +115,9 @@
|
||||
#define LEN_VBEEPCOUNTDOWN "\006"
|
||||
#define TR_VBEEPCOUNTDOWN "Tyst\0 Pip\0 Röst\0 "
|
||||
|
||||
#define LEN_VVARIOCENTER "\006"
|
||||
#define TR_VVARIOCENTER "Tone\0 ""Silent"
|
||||
|
||||
#define LEN_CURVE_TYPES "\010"
|
||||
#define TR_CURVE_TYPES "Normal\0 ""Special\0"
|
||||
|
||||
@@ -616,6 +619,7 @@
|
||||
#define TR_GV "GV"
|
||||
#define TR_ACHANNEL "A\004kanal "
|
||||
#define TR_RANGE INDENT"MinMax"
|
||||
#define TR_CENTER INDENT "Center"
|
||||
#define TR_BAR "Data"
|
||||
#define TR_ALARM INDENT"Alarm"
|
||||
#define TR_USRDATA "Användardata"
|
||||
|
||||
+7
-8
@@ -45,7 +45,6 @@ void varioWakeup()
|
||||
int varioFreq, varioDuration, varioPause=0;
|
||||
uint8_t varioFlags;
|
||||
|
||||
#if defined(CPUARM)
|
||||
int verticalSpeed = 0;
|
||||
if (g_model.frsky.varioSource) {
|
||||
TelemetryItem & varioItem = telemetryItems[g_model.frsky.varioSource-1];
|
||||
@@ -53,9 +52,6 @@ void varioWakeup()
|
||||
TelemetrySensor & sensor = g_model.telemetrySensors[g_model.frsky.varioSource-1];
|
||||
if (sensor.prec != 2) verticalSpeed *= sensor.prec == 0 ? 100 : 10;
|
||||
}
|
||||
#else
|
||||
int verticalSpeed = frskyData.hub.varioSpeed;
|
||||
#endif
|
||||
|
||||
int varioCenterMin = (int)g_model.frsky.varioCenterMin * 10 - 50;
|
||||
int varioCenterMax = (int)g_model.frsky.varioCenterMax * 10 + 50;
|
||||
@@ -67,7 +63,12 @@ void varioWakeup()
|
||||
else if (verticalSpeed < varioMin)
|
||||
verticalSpeed = varioMin;
|
||||
|
||||
if (verticalSpeed > varioCenterMin) {
|
||||
if (verticalSpeed <= varioCenterMin) {
|
||||
varioFreq = VARIO_FREQUENCY_ZERO + (g_eeGeneral.varioPitch*10) - (((VARIO_FREQUENCY_ZERO+(g_eeGeneral.varioPitch*10)-((VARIO_FREQUENCY_ZERO + (g_eeGeneral.varioPitch*10))/2)) * (verticalSpeed-varioCenterMin)) / varioMin);
|
||||
varioDuration = 80; // continuous beep: we will enter again here before the tone ends
|
||||
varioFlags = PLAY_BACKGROUND|PLAY_NOW;
|
||||
}
|
||||
else if (verticalSpeed >= varioCenterMax || !g_model.frsky.varioCenterSilent) {
|
||||
varioFreq = VARIO_FREQUENCY_ZERO + (g_eeGeneral.varioPitch*10) + (((VARIO_FREQUENCY_RANGE+(g_eeGeneral.varioRange*10)) * (verticalSpeed-varioCenterMin)) / varioMax);
|
||||
int varioPeriod = VARIO_REPEAT_MAX + ((VARIO_REPEAT_ZERO+(g_eeGeneral.varioRepeat*10)-VARIO_REPEAT_MAX) * (varioMax-verticalSpeed) * (varioMax-verticalSpeed)) / ((varioMax-varioCenterMin) * (varioMax-varioCenterMin));
|
||||
if (verticalSpeed >= varioCenterMax || varioCenterMin == varioCenterMax)
|
||||
@@ -78,9 +79,7 @@ void varioWakeup()
|
||||
varioFlags = PLAY_BACKGROUND;
|
||||
}
|
||||
else {
|
||||
varioFreq = VARIO_FREQUENCY_ZERO + (g_eeGeneral.varioPitch*10) - (((VARIO_FREQUENCY_ZERO+(g_eeGeneral.varioPitch*10)-((VARIO_FREQUENCY_ZERO + (g_eeGeneral.varioPitch*10))/2)) * (verticalSpeed-varioCenterMin)) / varioMin);
|
||||
varioDuration = 80; // continuous beep: we will enter again here before the tone ends
|
||||
varioFlags = PLAY_BACKGROUND|PLAY_NOW;
|
||||
return;
|
||||
}
|
||||
|
||||
AUDIO_VARIO(varioFreq, varioDuration, varioPause, varioFlags);
|
||||
|
||||
Reference in New Issue
Block a user