diff --git a/src/main/drivers/max7456_symbols.h b/src/main/drivers/max7456_symbols.h index eb2c28c6047..27ab161239c 100644 --- a/src/main/drivers/max7456_symbols.h +++ b/src/main/drivers/max7456_symbols.h @@ -25,6 +25,14 @@ #define SYM_END_OF_FONT 0xFF #define SYM_BLANK 0x20 #define SYM_COLON 0x2D +#define SYM_BBLOG 0x10 +//#define SYM_HOMEFLAG 0x11 +//#define SYM_RPM 0x12 +#define SYM_ROLL 0x14 +#define SYM_PITCH 0x15 +#define SYM_TEMPERATURE 0x7A +#define SYM_LAT 0x89 +#define SYM_LON 0x98 // RSSI #define SYM_RSSI 0x01 @@ -54,8 +62,8 @@ #define SYM_HEADING_LINE 0x1D // AH Center screen Graphics -#define SYM_AH_CENTER_LINE 0x26 -#define SYM_AH_CENTER_LINE_RIGHT 0x27 +#define SYM_AH_CENTER_LINE 0x7B +#define SYM_AH_CENTER_LINE_RIGHT 0x7D #define SYM_AH_CENTER 0x7E #define SYM_AH_RIGHT 0x02 #define SYM_AH_LEFT 0x03 @@ -118,15 +126,15 @@ #define SYM_VOLT 0x06 #define SYM_AMP 0x9A #define SYM_MAH 0x07 -#define SYM_WATT 0x57 +#define SYM_WATT 0x57 // 0x57 is 'W' // Time #define SYM_ON_M 0x9B #define SYM_FLY_M 0x9C // Speed -#define SYM_KPH 0x4B // we don't have a KPH symbol so use 'K' -#define SYM_MPH 0x4D // we don't have a MPH symbol so use 'M' +#define SYM_KPH 0x9E +#define SYM_MPH 0x9D // Menu cursor #define SYM_CURSOR SYM_AH_LEFT diff --git a/src/main/osd/osd_elements.c b/src/main/osd/osd_elements.c index 378e2aafca4..3a719874f13 100644 --- a/src/main/osd/osd_elements.c +++ b/src/main/osd/osd_elements.c @@ -476,7 +476,7 @@ static void osdElementAltitude(osdElementParms_t *element) static void osdElementAngleRollPitch(osdElementParms_t *element) { const int angle = (element->item == OSD_PITCH_ANGLE) ? attitude.values.pitch : attitude.values.roll; - tfp_sprintf(element->buff, "%c%02d.%01d", angle < 0 ? '-' : ' ', abs(angle / 10), abs(angle % 10)); + tfp_sprintf(element->buff, "%c%c%02d.%01d", (element->item == OSD_PITCH_ANGLE) ? SYM_PITCH : SYM_ROLL , angle < 0 ? '-' : ' ', abs(angle / 10), abs(angle % 10)); } #endif @@ -530,7 +530,7 @@ static void osdElementCompassBar(osdElementParms_t *element) #ifdef USE_ADC_INTERNAL static void osdElementCoreTemperature(osdElementParms_t *element) { - tfp_sprintf(element->buff, "%3d%c", osdConvertTemperatureToSelectedUnit(getCoreTemperatureCelsius()), osdGetTemperatureSymbolForSelectedUnit()); + tfp_sprintf(element->buff, "%c%3d%c", SYM_TEMPERATURE, osdConvertTemperatureToSelectedUnit(getCoreTemperatureCelsius()), osdGetTemperatureSymbolForSelectedUnit()); } #endif // USE_ADC_INTERNAL @@ -754,14 +754,12 @@ static void osdElementGpsHomeDistance(osdElementParms_t *element) static void osdElementGpsLatitude(osdElementParms_t *element) { - // The SYM_LAT symbol in the actual font contains only blank, so we use the SYM_ARROW_NORTH - osdFormatCoordinate(element->buff, SYM_ARROW_NORTH, gpsSol.llh.lat); + osdFormatCoordinate(element->buff, SYM_LAT, gpsSol.llh.lat); } static void osdElementGpsLongitude(osdElementParms_t *element) { - // The SYM_LON symbol in the actual font contains only blank, so we use the SYM_ARROW_EAST - osdFormatCoordinate(element->buff, SYM_ARROW_EAST, gpsSol.llh.lon); + osdFormatCoordinate(element->buff, SYM_LON, gpsSol.llh.lon); } static void osdElementGpsSats(osdElementParms_t *element) @@ -810,11 +808,11 @@ static void osdElementLogStatus(osdElementParms_t *element) { if (IS_RC_MODE_ACTIVE(BOXBLACKBOX)) { if (!isBlackboxDeviceWorking()) { - tfp_sprintf(element->buff, "L-"); + tfp_sprintf(element->buff, "%c!", SYM_BBLOG); } else if (isBlackboxDeviceFull()) { - tfp_sprintf(element->buff, "L>"); + tfp_sprintf(element->buff, "%c>", SYM_BBLOG); } else { - tfp_sprintf(element->buff, "L%d", blackboxGetLogNumber()); + tfp_sprintf(element->buff, "%c%d", SYM_BBLOG, blackboxGetLogNumber()); } } } diff --git a/src/test/unit/osd_unittest.cc b/src/test/unit/osd_unittest.cc index 45acd778d42..93ea2c3ab47 100644 --- a/src/test/unit/osd_unittest.cc +++ b/src/test/unit/osd_unittest.cc @@ -826,7 +826,7 @@ TEST(OsdTest, TestElementCoreTemperature) osdRefresh(simulationTime); // then - displayPortTestBufferSubstring(1, 8, " 0%c", SYM_C); + displayPortTestBufferSubstring(1, 8, "%c 0%c", SYM_TEMPERATURE, SYM_C); // given simulationCoreTemperature = 33; @@ -836,7 +836,7 @@ TEST(OsdTest, TestElementCoreTemperature) osdRefresh(simulationTime); // then - displayPortTestBufferSubstring(1, 8, " 33%c", SYM_C); + displayPortTestBufferSubstring(1, 8, "%c 33%c", SYM_TEMPERATURE, SYM_C); // given osdConfigMutable()->units = OSD_UNIT_IMPERIAL; @@ -846,7 +846,7 @@ TEST(OsdTest, TestElementCoreTemperature) osdRefresh(simulationTime); // then - displayPortTestBufferSubstring(1, 8, " 91%c", SYM_F); + displayPortTestBufferSubstring(1, 8, "%c 91%c", SYM_TEMPERATURE, SYM_F); } /*