Add units symbol to the vario OSD element (#8419)

Add units symbol to the vario OSD element
This commit is contained in:
Michael Keller 2019-06-15 17:10:36 +12:00 committed by GitHub
commit de60402840
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 17 additions and 2 deletions

View File

@ -91,6 +91,9 @@
#define SYM_ARROW_15 0x6E
#define SYM_ARROW_16 0x6F
#define SYM_ARROW_SMALL_UP 0x75
#define SYM_ARROW_SMALL_DOWN 0x76
// AH Bars
#define SYM_AH_BAR9_0 0x80
#define SYM_AH_BAR9_1 0x81
@ -136,6 +139,8 @@
#define SYM_SPEED 0x70
#define SYM_KPH 0x9E
#define SYM_MPH 0x9D
#define SYM_MPS 0x9F
#define SYM_FTPS 0x99
// Menu cursor
#define SYM_CURSOR SYM_AH_LEFT

View File

@ -425,6 +425,16 @@ char osdGetSpeedToSelectedUnitSymbol(void)
}
}
char osdGetVarioToSelectedUnitSymbol(void)
{
switch (osdConfig()->units) {
case OSD_UNIT_IMPERIAL:
return SYM_FTPS;
default:
return SYM_MPS;
}
}
#if defined(USE_ADC_INTERNAL) || defined(USE_ESC_SENSOR)
char osdGetTemperatureSymbolForSelectedUnit(void)
{
@ -936,8 +946,8 @@ static void osdElementNumericalVario(osdElementParms_t *element)
#endif // USE_GPS
if (haveBaro || haveGps) {
const int verticalSpeed = osdGetMetersToSelectedUnit(getEstimatedVario());
const char directionSymbol = verticalSpeed < 0 ? SYM_ARROW_SOUTH : SYM_ARROW_NORTH;
tfp_sprintf(element->buff, "%c%01d.%01d", directionSymbol, abs(verticalSpeed / 100), abs((verticalSpeed % 100) / 10));
const char directionSymbol = verticalSpeed < 0 ? SYM_ARROW_SMALL_DOWN : SYM_ARROW_SMALL_UP;
tfp_sprintf(element->buff, "%c%01d.%01d%c", directionSymbol, abs(verticalSpeed / 100), abs((verticalSpeed % 100) / 10), osdGetVarioToSelectedUnitSymbol());
} else {
// We use this symbol when we don't have a valid measure
element->buff[0] = SYM_COLON;