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:
parent
f6ca9de8e1
commit
437ca5025b
2 changed files with 124 additions and 117 deletions
|
@ -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
|
||||||
|
|
|
@ -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]);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue