VARIO_EXTENDED cosmetic changes
Limits are: Down speed OFF, -10.0:0.0 in 0.1m step Up speed 0.0:+1.5 in 0.1m step to be continued...
This commit is contained in:
+6
-9
@@ -644,20 +644,17 @@ void check_frsky()
|
||||
if (isFunctionActive(FUNC_VARIO)) {
|
||||
#if defined(AUDIO)
|
||||
int16_t verticalSpeed = 0;
|
||||
//vertical speed in 0.01m/s now
|
||||
//not baro vario only has additional resolution
|
||||
//A1/A2 need conversion there
|
||||
//GPS source need precision to be set, my gps gives 0.1m resolution
|
||||
/*if (g_model.varioSource == BARO_SOURCE_BARO)*/
|
||||
verticalSpeed = limit((int16_t)(-VARIO_SPEED_LIMIT*100), (int16_t)frskyHubData.varioSpeed, (int16_t)(+VARIO_SPEED_LIMIT*100));
|
||||
/*else
|
||||
verticalSpeed = limit((int16_t)-VARIO_SPEED_LIMIT, (int16_t)(frskyHubData.varioSpeed), (int16_t)+VARIO_SPEED_LIMIT)*100;*/
|
||||
//TODO: get negative values in Up Speed to shift zero, i.e. get positive sound on small negative speeds
|
||||
// positive values in g_model.varioSpeedUpMin must works same as now
|
||||
// negative must make an offset in sounds
|
||||
// also changes need in model_menus.cpp
|
||||
verticalSpeed = limit((int16_t)(-VARIO_SPEED_LIMIT*100), (int16_t)frskyHubData.varioSpeed, (int16_t)(+VARIO_SPEED_LIMIT*100));
|
||||
|
||||
uint8_t SoundAltBeepNextFreq = 0;
|
||||
uint8_t SoundAltBeepNextTime = 0;
|
||||
static uint8_t SoundAltBeepFreq = 0;
|
||||
static uint8_t SoundAltBeepTime = 0;
|
||||
if ((verticalSpeed < g_model.varioSpeedUpMin*VARIO_SPEED_LIMIT_MUL) && (verticalSpeed > (255 - g_model.varioSpeedDownMin)*(-VARIO_SPEED_LIMIT_MUL))) { //check thresholds here in cm/s
|
||||
if ((verticalSpeed < g_model.varioSpeedUpMin*VARIO_SPEED_LIMIT_MUL) && (verticalSpeed > (VARIO_SPEED_LIMIT_DOWN_OFF - g_model.varioSpeedDownMin)*(-VARIO_SPEED_LIMIT_MUL))) { //check thresholds here in cm/s
|
||||
SoundAltBeepNextFreq = (0);
|
||||
SoundAltBeepNextTime = (0);
|
||||
}
|
||||
|
||||
+6
-3
@@ -68,9 +68,12 @@ class FrskyData: public FrskyRSSI {
|
||||
#define EARTH_RADIUSKM ((uint32_t)6371)
|
||||
#define EARTH_RADIUS ((uint32_t)111194)
|
||||
|
||||
#define VARIO_QUEUE_LENGTH 5
|
||||
#define VARIO_SPEED_LIMIT 10 //m/s
|
||||
#define VARIO_SPEED_LIMIT_MUL 20 //to get 0.2m steps
|
||||
#define VARIO_QUEUE_LENGTH 5
|
||||
#define VARIO_SPEED_LIMIT 10 //m/s
|
||||
#define VARIO_SPEED_LIMIT_MUL 10 //to get 0.2m steps
|
||||
#define VARIO_SPEED_LIMIT_DOWN_OFF (100+1) //100 steps + OFF
|
||||
#define VARIO_SPEED_LIMIT_UP_CENTER 15
|
||||
#define VARIO_SPEED_LIMIT_UP_MAX 31
|
||||
|
||||
#if defined(FRSKY_HUB)
|
||||
PACK(struct FrskyHubData {
|
||||
|
||||
+4
-3
@@ -2331,16 +2331,17 @@ void menuProcTelemetry(uint8_t event)
|
||||
|
||||
case ITEM_TELEMETRY_VARIO_SPEED:
|
||||
lcd_puts(4, y, STR_LIMIT);
|
||||
lcd_outdezAtt(TELEM_COL2, y, -VARIO_SPEED_LIMIT_MUL*(255 - g_model.varioSpeedDownMin), ((attr && m_posHorz==0) ? blink : 0)|PREC2|LEFT);
|
||||
if(!g_model.varioSpeedDownMin) lcd_putsAtt(TELEM_COL2, y, STR_OFF, ((attr && m_posHorz==0) ? blink : 0));
|
||||
else lcd_outdezAtt(TELEM_COL2, y, -VARIO_SPEED_LIMIT_MUL*(VARIO_SPEED_LIMIT_DOWN_OFF - g_model.varioSpeedDownMin), ((attr && m_posHorz==0) ? blink : 0)|PREC2|LEFT);
|
||||
lcd_outdezAtt(TELEM_COL2+6*FW, y, VARIO_SPEED_LIMIT_MUL*g_model.varioSpeedUpMin, ((attr && m_posHorz==1) ? blink : 0)|PREC2|LEFT);
|
||||
|
||||
if (attr && (s_editMode>0 || p1valdiff)) {
|
||||
switch (m_posHorz) {
|
||||
case 0:
|
||||
g_model.varioSpeedDownMin = checkIncDec(event, g_model.varioSpeedDownMin, 0, 255, EE_MODEL);
|
||||
g_model.varioSpeedDownMin = checkIncDec(event, g_model.varioSpeedDownMin, 0, VARIO_SPEED_LIMIT_DOWN_OFF, EE_MODEL);
|
||||
break;
|
||||
case 1:
|
||||
CHECK_INCDEC_MODELVAR(event, g_model.varioSpeedUpMin, 0, 15);
|
||||
CHECK_INCDEC_MODELVAR(event, g_model.varioSpeedUpMin, 0, VARIO_SPEED_LIMIT_UP_MAX);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
+2
-2
@@ -569,8 +569,8 @@ PACK(typedef struct t_ModelData {
|
||||
|
||||
// TODO:temporary place, need to move to frskydata
|
||||
uint8_t varioSource:4;
|
||||
uint8_t varioSpeedUpMin:4; // if increment in 0.2m/s = 3.0m/s max
|
||||
uint8_t varioSpeedDownMin;
|
||||
uint8_t varioSpeedUpMin:5; // if increment in 0.2m/s = 3.0m/s max
|
||||
uint8_t varioSpeedDownMin:7;
|
||||
}) ModelData;
|
||||
|
||||
extern EEGeneral g_eeGeneral;
|
||||
|
||||
Reference in New Issue
Block a user