1
0
Fork 0
mirror of https://github.com/betaflight/betaflight.git synced 2025-07-24 00:35:39 +03:00

use the mw/scarab-osd font symbols

This commit is contained in:
nathan 2016-06-15 23:38:33 -07:00
parent f6ca9de8e1
commit 437ca5025b
2 changed files with 124 additions and 117 deletions

View file

@ -1,5 +1,5 @@
/* @file max7456_symbols.h /* @file max7456_symbols.h
* @brief max7456 preprocessor symbols * @brief max7456 symbols for the mwosd font set
* *
* @author Nathan Tsoi nathan@vertile.com * @author Nathan Tsoi nathan@vertile.com
* *
@ -24,41 +24,41 @@
#ifdef USE_MAX7456 #ifdef USE_MAX7456
// Character Symbols // Character Symbols
#define SYM_BLANK 0X20 #define SYM_BLANK 0x20
// Satellite Graphics // Satellite Graphics
#define SYM_SAT_L 0X1E #define SYM_SAT_L 0x1E
#define SYM_SAT_R 0X1F #define SYM_SAT_R 0x1F
//#define SYM_SAT 0X0F // Not used //#define SYM_SAT 0x0F // Not used
// Degrees Icon for HEADING/DIRECTION HOME // Degrees Icon for HEADING/DIRECTION HOME
#define SYM_DEGREES 0XBD #define SYM_DEGREES 0xBD
// Direction arrows // Direction arrows
#define SYM_ARROW_SOUTH 0X60 #define SYM_ARROW_SOUTH 0x60
#define SYM_ARROW_2 0X61 #define SYM_ARROW_2 0x61
#define SYM_ARROW_3 0X62 #define SYM_ARROW_3 0x62
#define SYM_ARROW_4 0X63 #define SYM_ARROW_4 0x63
#define SYM_ARROW_EAST 0X64 #define SYM_ARROW_EAST 0x64
#define SYM_ARROW_6 0X65 #define SYM_ARROW_6 0x65
#define SYM_ARROW_7 0X66 #define SYM_ARROW_7 0x66
#define SYM_ARROW_8 0X67 #define SYM_ARROW_8 0x67
#define SYM_ARROW_NORTH 0X68 #define SYM_ARROW_NORTH 0x68
#define SYM_ARROW_10 0X69 #define SYM_ARROW_10 0x69
#define SYM_ARROW_11 0X6A #define SYM_ARROW_11 0x6A
#define SYM_ARROW_12 0X6B #define SYM_ARROW_12 0x6B
#define SYM_ARROW_WEST 0X6C #define SYM_ARROW_WEST 0x6C
#define SYM_ARROW_14 0X6D #define SYM_ARROW_14 0x6D
#define SYM_ARROW_15 0X6E #define SYM_ARROW_15 0x6E
#define SYM_ARROW_16 0X6F #define SYM_ARROW_16 0x6F
// Heading Graphics // Heading Graphics
#define SYM_HEADING_N 0X18 #define SYM_HEADING_N 0x18
#define SYM_HEADING_S 0X19 #define SYM_HEADING_S 0x19
#define SYM_HEADING_E 0X1A #define SYM_HEADING_E 0x1A
#define SYM_HEADING_W 0X1B #define SYM_HEADING_W 0x1B
#define SYM_HEADING_DIVIDED_LINE 0X1C #define SYM_HEADING_DIVIDED_LINE 0x1C
#define SYM_HEADING_LINE 0X1D #define SYM_HEADING_LINE 0x1D
// FRSKY HUB // FRSKY HUB
#define SYM_CELL0 0xF0 #define SYM_CELL0 0xF0
@ -80,7 +80,7 @@
// Map mode // Map mode
#define SYM_HOME 0x04 #define SYM_HOME 0x04
#define SYM_AIRCRAFT 0X05 #define SYM_AIRCRAFT 0x05
#define SYM_RANGE_100 0x21 #define SYM_RANGE_100 0x21
#define SYM_RANGE_500 0x22 #define SYM_RANGE_500 0x22
#define SYM_RANGE_2500 0x23 #define SYM_RANGE_2500 0x23
@ -89,56 +89,56 @@
// GPS Coordinates and Altitude // GPS Coordinates and Altitude
#define SYM_LAT 0xCA #define SYM_LAT 0xCA
#define SYM_LON 0XCB #define SYM_LON 0xCB
#define SYM_ALT 0XCC #define SYM_ALT 0xCC
// GPS Mode and Autopilot // GPS Mode and Autopilot
#define SYM_3DFIX 0XDF #define SYM_3DFIX 0xDF
#define SYM_HOLD 0XEF #define SYM_HOLD 0xEF
#define SYM_G_HOME 0XFF #define SYM_G_HOME 0xFF
#define SYM_GHOME 0X9D #define SYM_GHOME 0x9D
#define SYM_GHOME1 0X9E #define SYM_GHOME1 0x9E
#define SYM_GHOLD 0XCD #define SYM_GHOLD 0xCD
#define SYM_GHOLD1 0XCE #define SYM_GHOLD1 0xCE
#define SYM_GMISSION 0XB5 #define SYM_GMISSION 0xB5
#define SYM_GMISSION1 0XB6 #define SYM_GMISSION1 0xB6
#define SYM_GLAND 0XB7 #define SYM_GLAND 0xB7
#define SYM_GLAND1 0XB8 #define SYM_GLAND1 0xB8
// Gimbal active Mode // Gimbal active Mode
#define SYM_GIMBAL 0X16 #define SYM_GIMBAL 0x16
#define SYM_GIMBAL1 0X17 #define SYM_GIMBAL1 0x17
// Sensor´s Presence // Sensor´s Presence
#define SYM_ACC 0XA0 #define SYM_ACC 0xA0
#define SYM_MAG 0XA1 #define SYM_MAG 0xA1
#define SYM_BAR 0XA2 #define SYM_BAR 0xA2
#define SYM_GPS 0XA3 #define SYM_GPS 0xA3
#define SYM_MAN 0XC0 #define SYM_MAN 0xC0
#define SYM_MAN1 0XC1 #define SYM_MAN1 0xC1
#define SYM_MAN2 0XC2 #define SYM_MAN2 0xC2
#define SYM_CHECK 0XBE #define SYM_CHECK 0xBE
#define SYM_BARO10 0XB7 #define SYM_BARO10 0xB7
#define SYM_BARO11 0XB8 #define SYM_BARO11 0xB8
#define SYM_MAG10 0XB5 #define SYM_MAG10 0xB5
#define SYM_MAG11 0XB6 #define SYM_MAG11 0xB6
// AH Center screen Graphics // AH Center screen Graphics
//#define SYM_AH_CENTER 0X01 //#define SYM_AH_CENTER 0x01
#ifdef ALT_CENTER #ifdef ALT_CENTER
#define SYM_AH_CENTER_LINE 0XB0 #define SYM_AH_CENTER_LINE 0xB0
#define SYM_AH_CENTER 0XB1 #define SYM_AH_CENTER 0xB1
#define SYM_AH_CENTER_LINE_RIGHT 0XB2 #define SYM_AH_CENTER_LINE_RIGHT 0xB2
#else #else
#define SYM_AH_CENTER_LINE 0X26 #define SYM_AH_CENTER_LINE 0x26
#define SYM_AH_CENTER 0X7E #define SYM_AH_CENTER 0x7E
#define SYM_AH_CENTER_LINE_RIGHT 0XBC #define SYM_AH_CENTER_LINE_RIGHT 0xBC
#endif #endif
#define SYM_AH_RIGHT 0X02 #define SYM_AH_RIGHT 0x02
#define SYM_AH_LEFT 0X03 #define SYM_AH_LEFT 0x03
#define SYM_AH_DECORATION_UP 0XC9 #define SYM_AH_DECORATION_UP 0xC9
#define SYM_AH_DECORATION_DOWN 0XCF #define SYM_AH_DECORATION_DOWN 0xCF
// AH Bars // AH Bars
@ -146,17 +146,17 @@
// Temperature // Temperature
#define SYM_TEMP_F 0X0D #define SYM_TEMP_F 0x0D
#define SYM_TEMP_C 0X0E #define SYM_TEMP_C 0x0E
// Batt evolution // Batt evolution
#define SYM_BATT_FULL 0X90 #define SYM_BATT_FULL 0x90
#define SYM_BATT_5 0X91 #define SYM_BATT_5 0x91
#define SYM_BATT_4 0X92 #define SYM_BATT_4 0x92
#define SYM_BATT_3 0X93 #define SYM_BATT_3 0x93
#define SYM_BATT_2 0X94 #define SYM_BATT_2 0x94
#define SYM_BATT_1 0X95 #define SYM_BATT_1 0x95
#define SYM_BATT_EMPTY 0X96 #define SYM_BATT_EMPTY 0x96
// Vario // Vario
#define SYM_VARIO 0x7F #define SYM_VARIO 0x7F
@ -165,42 +165,42 @@
#define SYM_GLIDESCOPE 0xE0 #define SYM_GLIDESCOPE 0xE0
// Batt Icon´s // Batt Icon´s
#define SYM_MAIN_BATT 0X97 #define SYM_MAIN_BATT 0x97
#define SYM_VID_BAT 0XBF #define SYM_VID_BAT 0xBF
// Unit Icon´s (Metric) // Unit Icon´s (Metric)
#define SYM_MS 0X9F #define SYM_MS 0x9F
#define SYM_KMH 0XA5 #define SYM_KMH 0xA5
#define SYM_ALTM 0XA7 #define SYM_ALTM 0xA7
#define SYM_DISTHOME_M 0XBB #define SYM_DISTHOME_M 0xBB
#define SYM_M 0X0C #define SYM_M 0x0C
// Unit Icon´s (Imperial) // Unit Icon´s (Imperial)
#define SYM_FTS 0X99 #define SYM_FTS 0x99
#define SYM_MPH 0XA6 #define SYM_MPH 0xA6
#define SYM_ALTFT 0XA8 #define SYM_ALTFT 0xA8
#define SYM_DISTHOME_FT 0XB9 #define SYM_DISTHOME_FT 0xB9
#define SYM_FT 0X0F #define SYM_FT 0x0F
// Voltage and amperage // Voltage and amperage
#define SYM_VOLT 0XA9 #define SYM_VOLT 0xA9
#define SYM_AMP 0X9A #define SYM_AMP 0x9A
#define SYM_MAH 0XA4 #define SYM_MAH 0xA4
#define SYM_WATT 0X57 #define SYM_WATT 0x57
// Flying Mode // Flying Mode
#define SYM_ACRO 0XAE #define SYM_ACRO 0xAE
#define SYM_ACROGY 0X98 #define SYM_ACROGY 0x98
#define SYM_ACRO1 0XAF #define SYM_ACRO1 0xAF
#define SYM_STABLE 0XAC #define SYM_STABLE 0xAC
#define SYM_STABLE1 0XAD #define SYM_STABLE1 0xAD
#define SYM_HORIZON 0XC4 #define SYM_HORIZON 0xC4
#define SYM_HORIZON1 0XC5 #define SYM_HORIZON1 0xC5
#define SYM_PASS 0XAA #define SYM_PASS 0xAA
#define SYM_PASS1 0XAB #define SYM_PASS1 0xAB
#define SYM_AIR 0XEA #define SYM_AIR 0xEA
#define SYM_AIR1 0XEB #define SYM_AIR1 0xEB
#define SYM_PLUS 0X89 #define SYM_PLUS 0x89
// Note, these change with scrolling enabled (scrolling is TODO) // Note, these change with scrolling enabled (scrolling is TODO)
//#define SYM_AH_DECORATION_LEFT 0x13 //#define SYM_AH_DECORATION_LEFT 0x13
@ -208,23 +208,23 @@
#define SYM_AH_DECORATION 0x13 #define SYM_AH_DECORATION 0x13
// Time // Time
#define SYM_ON_M 0X9B #define SYM_ON_M 0x9B
#define SYM_FLY_M 0X9C #define SYM_FLY_M 0x9C
#define SYM_ON_H 0X70 #define SYM_ON_H 0x70
#define SYM_FLY_H 0X71 #define SYM_FLY_H 0x71
// Throttle Position (%) // Throttle Position (%)
#define SYM_THR 0XC8 #define SYM_THR 0xC8
#define SYM_THR1 0XC9 #define SYM_THR1 0xC9
// RSSI // RSSI
#define SYM_RSSI 0XBA #define SYM_RSSI 0xBA
// Menu cursor // Menu cursor
#define SYM_CURSOR SYM_AH_LEFT #define SYM_CURSOR SYM_AH_LEFT
//Misc //Misc
#define SYM_COLON 0X2D #define SYM_COLON 0x2D
//sport //sport
#define SYM_MIN 0xB3 #define SYM_MIN 0xB3

View file

@ -105,6 +105,7 @@
#ifdef OSD #ifdef OSD
#include "drivers/max7456.h" #include "drivers/max7456.h"
#include "drivers/max7456_symbols.h"
#ifdef USE_RTC6705 #ifdef USE_RTC6705
#include "drivers/vtx_soft_spi_rtc6705.h" #include "drivers/vtx_soft_spi_rtc6705.h"
@ -669,24 +670,30 @@ void updateOsd(void)
} }
if (masterConfig.osdProfile.item_pos[OSD_MAIN_BATT_VOLTAGE] != -1) { if (masterConfig.osdProfile.item_pos[OSD_MAIN_BATT_VOLTAGE] != -1) {
sprintf(line, "\x01%d.%1d", vbat / 10, vbat % 10); line[0] = SYM_VOLT;
sprintf(line+1, "%d.%1d", vbat / 10, vbat % 10);
max7456_write_string(line, masterConfig.osdProfile.item_pos[OSD_MAIN_BATT_VOLTAGE]); max7456_write_string(line, masterConfig.osdProfile.item_pos[OSD_MAIN_BATT_VOLTAGE]);
} }
if (masterConfig.osdProfile.item_pos[OSD_RSSI_VALUE] != -1) { if (masterConfig.osdProfile.item_pos[OSD_RSSI_VALUE] != -1) {
sprintf(line, "\x02%d", rssi / 10); line[0] = SYM_RSSI;
sprintf(line+1, "%d", rssi / 10);
max7456_write_string(line, masterConfig.osdProfile.item_pos[OSD_RSSI_VALUE]); max7456_write_string(line, masterConfig.osdProfile.item_pos[OSD_RSSI_VALUE]);
} }
if (masterConfig.osdProfile.item_pos[OSD_THROTTLE_POS] != -1) { if (masterConfig.osdProfile.item_pos[OSD_THROTTLE_POS] != -1) {
sprintf(line, "\x03%3d", (constrain(rcData[THROTTLE], PWM_RANGE_MIN, PWM_RANGE_MAX) - PWM_RANGE_MIN) * 100 / (PWM_RANGE_MAX - PWM_RANGE_MIN)); line[0] = SYM_THR;
line[1] = SYM_THR1;
sprintf(line+2, "%3d", (constrain(rcData[THROTTLE], PWM_RANGE_MIN, PWM_RANGE_MAX) - PWM_RANGE_MIN) * 100 / (PWM_RANGE_MAX - PWM_RANGE_MIN));
max7456_write_string(line, masterConfig.osdProfile.item_pos[OSD_THROTTLE_POS]); max7456_write_string(line, masterConfig.osdProfile.item_pos[OSD_THROTTLE_POS]);
} }
if (masterConfig.osdProfile.item_pos[OSD_TIMER] != -1) { if (masterConfig.osdProfile.item_pos[OSD_TIMER] != -1) {
if (armed) { if (armed) {
seconds = armed_seconds + ((now-armed_at) / 1000000); seconds = armed_seconds + ((now-armed_at) / 1000000);
sprintf(line, "\x04 %02d:%02d", seconds / 60, seconds % 60); line[0] = SYM_FLY_M;
sprintf(line+1, " %02d:%02d", seconds / 60, seconds % 60);
} else { } else {
line[0] = SYM_ON_M;
seconds = now / 1000000; seconds = now / 1000000;
sprintf(line, "\x05 %02d:%02d", seconds / 60, seconds % 60); sprintf(line+1, " %02d:%02d", seconds / 60, seconds % 60);
} }
max7456_write_string(line, masterConfig.osdProfile.item_pos[OSD_TIMER]); max7456_write_string(line, masterConfig.osdProfile.item_pos[OSD_TIMER]);
} }