1
0
Fork 0
mirror of https://github.com/iNavFlight/inav.git synced 2025-07-25 09:16:01 +03:00

Max7456 symbols cleanup (v2) (#4122)

* OSD symbols cleanup
* Update osd.c
This commit is contained in:
Olivier C 2019-01-02 14:31:58 +01:00 committed by Alberto García Hierro
parent 6e636e6ea0
commit a7bd700949
2 changed files with 153 additions and 198 deletions

View file

@ -23,224 +23,179 @@
#ifdef USE_MAX7456
#define SYM_BLANK 0x20
#define SYM_RSSI 0x01 // 001 Icon RSSI
#define SYM_AH_RIGHT 0x02 // 002 Arrow left
#define SYM_AH_LEFT 0x03 // 003 Arrow right
#define SYM_THR 0x04 // 004 Throttle
#define SYM_AH_DECORATION_UP 0x05 // 005 Arrow up AHI
#define SYM_VOLT 0x06 // 006 V
#define SYM_MAH 0x07 // 007 MAH
// Satellite Graphics
#define SYM_SAT_L 0x1E
#define SYM_SAT_R 0x1F
#define SYM_HDP_L 0xBD
#define SYM_HDP_R 0xBE
//#define SYM_SAT 0x0F // Not used
// 0x08 // 008 -
// 0x09 // 009 -
// 0x0A // 010 -
// 0x0B // 011 -
// 0x0C // 012 -
// Degrees symbol (°) for HEADING/DIRECTION HOME
#define SYM_DEGREES 0xA8
// Heading symbol (looks like a semicircular double arrow)
#define SYM_HEADING 0xA9
#define SYM_TEMP_F 0x0D // 013 °F
#define SYM_TEMP_C 0x0E // 014 °C
#define SYM_FT 0x0F // 015 FT
// Direction arrows
#define SYM_ARROW_UP 0x60
#define SYM_ARROW_2 0x61
#define SYM_ARROW_3 0x62
#define SYM_ARROW_4 0x63
#define SYM_ARROW_RIGHT 0x64
#define SYM_ARROW_6 0x65
#define SYM_ARROW_7 0x66
#define SYM_ARROW_8 0x67
#define SYM_ARROW_DOWN 0x68
#define SYM_ARROW_10 0x69
#define SYM_ARROW_11 0x6A
#define SYM_ARROW_12 0x6B
#define SYM_ARROW_LEFT 0x6C
#define SYM_ARROW_14 0x6D
#define SYM_ARROW_15 0x6E
#define SYM_ARROW_16 0x6F
#define SYM_AH_DECORATION_MIN 0x10 // 016 to 021 Scrolling
#define SYM_AH_DECORATION 0x13 // 019 Scrolling
#define SYM_AH_DECORATION_MAX 0x15 // 021 Scrolling
#define SYM_AH_DECORATION_COUNT (SYM_AH_DECORATION_MAX - SYM_AH_DECORATION_MIN + 1) // Scrolling
// Heading Graphics
#define SYM_HEADING_N 0x18
#define SYM_HEADING_S 0x19
#define SYM_HEADING_E 0x1A
#define SYM_HEADING_W 0x1B
#define SYM_HEADING_DIVIDED_LINE 0x1C
#define SYM_HEADING_LINE 0x1D
#define SYM_WIND_HORIZONTAL 0x16 // 022 Air speed horizontal
#define SYM_WIND_VERTICAL 0x17 // 023 Air speed vertical
// FRSKY HUB
#define SYM_CELL0 0xF0
#define SYM_CELL1 0xF1
#define SYM_CELL2 0xF2
#define SYM_CELL3 0xF3
#define SYM_CELL4 0xF4
#define SYM_CELL5 0xF5
#define SYM_CELL6 0xF6
#define SYM_CELL7 0xF7
#define SYM_CELL8 0xF8
#define SYM_CELL9 0xF9
#define SYM_CELLA 0xFA
#define SYM_CELLB 0xFB
#define SYM_CELLC 0xFC
#define SYM_CELLD 0xFD
#define SYM_CELLE 0xFE
#define SYM_CELLF 0xC3
#define SYM_HEADING_N 0x18 // 024 Heading Graphic north
#define SYM_HEADING_S 0x19 // 025 Heading Graphic south
#define SYM_HEADING_E 0x1A // 026 Heading Graphic east
#define SYM_HEADING_W 0x1B // 027 Heading Graphic west
#define SYM_HEADING_DIVIDED_LINE 0x1C // 028 Heading Graphic
#define SYM_HEADING_LINE 0x1D // 029 Heading Graphic
// Map mode
#define SYM_SCALE 175
#define SYM_HOME 191
#define SYM_AIRCRAFT 0x05
#define SYM_RANGE_100 0x21
#define SYM_RANGE_500 0x22
#define SYM_RANGE_2500 0x23
#define SYM_RANGE_MAX 0x24
#define SYM_DIRECTION 0x72
#define SYM_SAT_L 0x1E // 030 Sats left
#define SYM_SAT_R 0x1F // 031 Sats right
// GPS Coordinates and Altitude
#define SYM_LAT 0xA6
#define SYM_LON 0xA7
#define SYM_ALT 0xAA
#define SYM_BLANK 0x20 // 032 blank (space)
// GPS Mode and Autopilot
#define SYM_3DFIX 0xDF
#define SYM_HOLD 0xEF
#define SYM_G_HOME 0xFF
#define SYM_GHOME 0x9D
#define SYM_GHOME1 0x9E
#define SYM_GHOLD 0xCD
#define SYM_GHOLD1 0xCE
#define SYM_GMISSION 0xB5
#define SYM_GMISSION1 0xB6
#define SYM_GLAND 0xB7
#define SYM_GLAND1 0xB8
#define SYM_HOME_DIST 0xA0
#define SYM_TRIP_DIST 0x22
// 0x21 // 033 ASCII !
// AH Center screen Graphics
#define SYM_AH_CENTER_LINE 0x26
#define SYM_AH_CENTER_LINE_RIGHT 0x27
#define SYM_AH_CENTER 0x7E
#define SYM_AH_RIGHT 0x02
#define SYM_AH_LEFT 0x03
#define SYM_AH_DECORATION_UP 5
#define SYM_AH_DECORATION_DOWN 36
#define SYM_TRIP_DIST 0x22 // 034 Icon total distance
#define SYM_AH_CROSSHAIRS_AIRCRAFT0 218
#define SYM_AH_CROSSHAIRS_AIRCRAFT1 219
#define SYM_AH_CROSSHAIRS_AIRCRAFT2 220
#define SYM_AH_CROSSHAIRS_AIRCRAFT3 221
#define SYM_AH_CROSSHAIRS_AIRCRAFT4 222
// 0x23 // 035 ASCII #
// AH Bars
#define SYM_AH_H_START 0x80
#define SYM_AH_V_START 0xE0
#define SYM_AH_DECORATION_DOWN 0x24 // 036 Arrow down AHI
// Temperature
#define SYM_TEMP_F 0x0D
#define SYM_TEMP_C 0x0E
// 0x25 // 037 ASCII %
// Batt evolution
#define SYM_BATT_FULL 0x90
#define SYM_BATT_5 0x91
#define SYM_BATT_4 0x92
#define SYM_BATT_3 0x93
#define SYM_BATT_2 0x94
#define SYM_BATT_1 0x95
#define SYM_BATT_EMPTY 0x96
#define SYM_AH_CH_LEFT 0x26 // 038 Crossair left
#define SYM_AH_CH_RIGHT 0x27 // 039 Crossair right
// Vario
#define SYM_VARIO_UP_2A 0xA2
#define SYM_VARIO_UP_1A 0xA3
#define SYM_VARIO_DOWN_1A 0xA4
#define SYM_VARIO_DOWN_2A 0xA5
// 0x28 // 040 to 062 ASCII
// Glidescope
#define SYM_GLIDESCOPE 0xE0
#define SYM_MILLIOHM 0x3F // 063 battery impedance Mohm
// Batt Icon´s
#define SYM_MAIN_BATT 0x97
#define SYM_VID_BAT 0xBF
// 0x40 // 064 to 095 ASCII
// Used for battery impedance
#define SYM_MILLIOHM 0x3F
#define SYM_ARROW_UP 0x60 // 096 Direction arrow 0°
#define SYM_ARROW_2 0x61 // 097 Direction arrow 22.5°
#define SYM_ARROW_3 0x62 // 098 Direction arrow 45°
#define SYM_ARROW_4 0x63 // 099 Direction arrow 67.5°
#define SYM_ARROW_RIGHT 0x64 // 100 Direction arrow 90°
#define SYM_ARROW_6 0x65 // 101 Direction arrow 112.5°
#define SYM_ARROW_7 0x66 // 102 Direction arrow 135°
#define SYM_ARROW_8 0x67 // 103 Direction arrow 157.5°
#define SYM_ARROW_DOWN 0x68 // 104 Direction arrow 180°
#define SYM_ARROW_10 0x69 // 105 Direction arrow 202.5°
#define SYM_ARROW_11 0x6A // 106 Direction arrow 225°
#define SYM_ARROW_12 0x6B // 107 Direction arrow 247.5°
#define SYM_ARROW_LEFT 0x6C // 108 Direction arrow 270°
#define SYM_ARROW_14 0x6D // 109 Direction arrow 292.5°
#define SYM_ARROW_15 0x6E // 110 Direction arrow 315°
#define SYM_ARROW_16 0x6F // 111 Direction arrow 337.5°
// Unit Icon´s (Metric)
#define SYM_MS 0x9F
#define SYM_KMH 0xA1
#define SYM_3D_KMH 0x89
#define SYM_ALT_M 177
#define SYM_ALT_KM 178
#define SYM_DIST_M 181
#define SYM_DIST_KM 182
#define SYM_M 185
#define SYM_KM 186
#define SYM_ON_H 0x70 // 112 ON HR
#define SYM_FLY_H 0x71 // 113 FLY HR
// Unit Icon´s (Imperial)
#define SYM_FTS 0x99
#define SYM_MPH 0xB0
#define SYM_3D_MPH 0x8A
#define SYM_ALT_FT 179
#define SYM_ALT_KFT 180
#define SYM_DIST_FT 183
#define SYM_DIST_MI 184
#define SYM_FT 0x0F
#define SYM_MI 187
#define SYM_DIRECTION 0x72 // 114 to 121, directional little arrows
// Voltage and amperage
#define SYM_VOLT 0x06
#define SYM_AMP 0x9A
#define SYM_MAH 0x07
#define SYM_WH 0xAB
#define SYM_WATT 0xAE
// 0x7A // 122 -
// Efficiency
#define SYM_MAH_KM_0 157
#define SYM_MAH_KM_1 158
#define SYM_WH_KM_0 172
#define SYM_WH_KM_1 173
// 0x7B // 123 to 125 ASCII
// Note, these change with scrolling enabled (scrolling is TODO)
//#define SYM_AH_DECORATION_LEFT 0x13
//#define SYM_AH_DECORATION_RIGHT 0x13
#define SYM_AH_DECORATION_MIN 16
#define SYM_AH_DECORATION 19
#define SYM_AH_DECORATION_MAX 21
#define SYM_AH_DECORATION_COUNT (SYM_AH_DECORATION_MAX - SYM_AH_DECORATION_MIN + 1)
#define SYM_AH_CH_CENTER 0x7E // 126 Crossair center
// Time
#define SYM_ON_M 0x9B
#define SYM_FLY_M 0x9C
#define SYM_ON_H 0x70
#define SYM_FLY_H 0x71
#define SYM_CLOCK 0xBC
// 0x7F // 127 -
// Throttle Position (%)
#define SYM_THR 0x04
#define SYM_THR1 0x05
#define SYM_AH_H_START 0x80 // 128 to 136 Horizontal AHI
#define SYM_AUTO_THR0 202
#define SYM_AUTO_THR1 203
#define SYM_3D_KMH 0x89 // 137 KM/H 3D
#define SYM_3D_MPH 0x8A // 138 MPH 3D
// RSSI
#define SYM_RSSI 0x01
// 0x8B // 139 -
// 0x8C // 140 -
// 0x8D // 141 -
// 0x8E // 142 -
// 0x8F // 143 -
// Menu cursor
#define SYM_CURSOR SYM_AH_LEFT
#define SYM_BATT_FULL 0x90 // 144 Battery full
#define SYM_BATT_5 0x91 // 145 Battery
#define SYM_BATT_4 0x92 // 146 Battery
#define SYM_BATT_3 0x93 // 147 Battery
#define SYM_BATT_2 0x94 // 148 Battery
#define SYM_BATT_1 0x95 // 149 Battery
#define SYM_BATT_EMPTY 0x96 // 150 Battery empty
// Air speed and wind
#define SYM_AIR 151
#define SYM_WIND_HORIZONTAL 22
#define SYM_WIND_VERTICAL 23
#define SYM_AIR 0x97 // 151 Air speed
// 0x98 // 152 Home point map
#define SYM_FTS 0x99 // 153 FT/S
#define SYM_AMP 0x9A // 154 A
#define SYM_ON_M 0x9B // 155 On MN
#define SYM_FLY_M 0x9C // 156 FL MN
#define SYM_MAH_KM_0 0x9D // 157 MAH/KM left
#define SYM_MAH_KM_1 0x9E // 158 MAH/KM right
#define SYM_MS 0x9F // 159 M/S
#define SYM_HOME_DIST 0xA0 // 160 DIS
#define SYM_KMH 0xA1 // 161 KM/H
//Misc
#define SYM_COLON 0x2D
#define SYM_ZERO_HALF_TRAILING_DOT 192
#define SYM_ZERO_HALF_LEADING_DOT 208
#define SYM_VARIO_UP_2A 0xA2 // 162 Vario up up
#define SYM_VARIO_UP_1A 0xA3 // 163 Vario up
#define SYM_VARIO_DOWN_1A 0xA4 // 164 Vario down
#define SYM_VARIO_DOWN_2A 0xA5 // 165 Vario down down
//sport
#define SYM_MIN 0xB3
#define SYM_AVG 0xB4
#define SYM_LAT 0xA6 // 166 GPS LAT
#define SYM_LON 0xA7 // 167 GPS LON
#define SYM_DEGREES 0xA8 // 168 ° heading angle
#define SYM_HEADING 0xA9 // 169 Compass Heading symbol
#define SYM_ALT 0xAA // 170 ALT
#define SYM_WH 0xAB // 171 WH
#define SYM_WH_KM_0 0xAC // 172 WH/KM left
#define SYM_WH_KM_1 0xAD // 173 WH/KM right
#define SYM_WATT 0xAE // 174 W
#define SYM_SCALE 0xAF // 175 Map scale
#define SYM_MPH 0xB0 // 176 MPH
#define SYM_ALT_M 0xB1 // 177 ALT M
#define SYM_ALT_KM 0xB2 // 178 ALT KM
#define SYM_ALT_FT 0xB3 // 179 ALT FT
#define SYM_ALT_KFT 0xB4 // 180 DIS KFT
#define SYM_DIST_M 0xB5 // 181 DIS M
#define SYM_DIST_KM 0xB6 // 182 DIM KM
#define SYM_DIST_FT 0xB7 // 183 DIS FT
#define SYM_DIST_MI 0xB8 // 184 DIS MI
#define SYM_M 0xB9 // 185 M
#define SYM_KM 0xBA // 186 KM
#define SYM_MI 0xBB // 187 MI
// Attitude angles
#define SYM_ROLL_LEFT 0xCC
#define SYM_ROLL_LEVEL 0xCD
#define SYM_ROLL_RIGHT 0xCE
#define SYM_PITCH_UP 0xCF
#define SYM_PITCH_DOWN 0xDF
#define SYM_CLOCK 0xBC // 188 Clock
#define SYM_HDP_L 0xBD // 189 HDOP left
#define SYM_HDP_R 0xBE // 190 HDOP right
#define SYM_HOME 0xBF // 191 Home icon
#define SYM_ZERO_HALF_TRAILING_DOT 0xC0 // 192 to 201 Numbers with trailing dot
#define SYM_AUTO_THR0 0xCA // 202 Auto-throttle left
#define SYM_AUTO_THR1 0xCB // 203 Auto-throttle right
#define SYM_ROLL_LEFT 0xCC // 204 Sym roll left
#define SYM_ROLL_LEVEL 0xCD // 205 Sym roll horizontal
#define SYM_ROLL_RIGHT 0xCE // 206 Sym roll right
#define SYM_PITCH_UP 0xCF // 207 Pitch up
#define SYM_ZERO_HALF_LEADING_DOT 0xD0 // 208 to 217 Numbers with leading dot
#define SYM_AH_CH_AIRCRAFT0 0xDA // 218 Crossair aircraft left
#define SYM_AH_CH_AIRCRAFT1 0xDB // 219 Crossair aircraft
#define SYM_AH_CH_AIRCRAFT2 0xDC // 220 Crossair aircraft center
#define SYM_AH_CH_AIRCRAFT3 0xDD // 221 Crossair aircraft
#define SYM_AH_CH_AIRCRAFT4 0xDE // 222 Crossair aircraft right
#define SYM_PITCH_DOWN 0xDF // 223 Pitch down
#define SYM_AH_V_START 0xE0 // 224 to 229 Vertical AHI
#define SYM_CURSOR SYM_AH_LEFT // Menu cursor
#endif // USE_MAX7456

View file

@ -788,8 +788,8 @@ static void osdCrosshairsBounds(uint8_t *x, uint8_t *y, uint8_t *length)
**/
static void osdFormatThrottlePosition(char *buff, bool autoThr, textAttributes_t *elemAttr)
{
buff[0] = SYM_THR;
buff[1] = SYM_THR1;
buff[0] = SYM_BLANK;
buff[1] = SYM_THR;
int16_t thr = rcData[THROTTLE];
if (autoThr && navigationIsControllingThrottle()) {
buff[0] = SYM_AUTO_THR0;
@ -1595,17 +1595,17 @@ static bool osdDrawSingleElement(uint8_t item)
osdCrosshairsBounds(&elemPosX, &elemPosY, NULL);
switch ((osd_crosshairs_style_e)osdConfig()->crosshairs_style) {
case OSD_CROSSHAIRS_STYLE_DEFAULT:
buff[0] = SYM_AH_CENTER_LINE;
buff[1] = SYM_AH_CENTER;
buff[2] = SYM_AH_CENTER_LINE_RIGHT;
buff[0] = SYM_AH_CH_LEFT;
buff[1] = SYM_AH_CH_CENTER;
buff[2] = SYM_AH_CH_RIGHT;
buff[3] = '\0';
break;
case OSD_CROSSHAIRS_STYLE_AIRCRAFT:
buff[0] = SYM_AH_CROSSHAIRS_AIRCRAFT0;
buff[1] = SYM_AH_CROSSHAIRS_AIRCRAFT1;
buff[2] = SYM_AH_CROSSHAIRS_AIRCRAFT2;
buff[3] = SYM_AH_CROSSHAIRS_AIRCRAFT3;
buff[4] = SYM_AH_CROSSHAIRS_AIRCRAFT4;
buff[0] = SYM_AH_CH_AIRCRAFT0;
buff[1] = SYM_AH_CH_AIRCRAFT1;
buff[2] = SYM_AH_CH_AIRCRAFT2;
buff[3] = SYM_AH_CH_AIRCRAFT3;
buff[4] = SYM_AH_CH_AIRCRAFT4;
buff[5] = '\0';
break;
}