From 2379036e9ab8817e4bb2035ef90d60a6d8cbe644 Mon Sep 17 00:00:00 2001 From: Sebastian Quilter Date: Sat, 28 Aug 2021 13:21:57 -0700 Subject: [PATCH] AP_OSD: Add sidebars for MAX7456 --- libraries/AP_OSD/AP_OSD.h | 5 +- libraries/AP_OSD/AP_OSD_Backend.h | 25 +++ libraries/AP_OSD/AP_OSD_Screen.cpp | 91 ++++++++++- libraries/AP_OSD/fonts/clarity.mcm | 242 ++++++++++++++--------------- libraries/AP_OSD/fonts/clarity.png | Bin 12431 -> 39674 bytes libraries/AP_OSD/fonts/font0.bin | Bin 13824 -> 13824 bytes 6 files changed, 235 insertions(+), 128 deletions(-) diff --git a/libraries/AP_OSD/AP_OSD.h b/libraries/AP_OSD/AP_OSD.h index a7676f5196..397f42d535 100644 --- a/libraries/AP_OSD/AP_OSD.h +++ b/libraries/AP_OSD/AP_OSD.h @@ -52,7 +52,7 @@ class AP_MSP; #define PARAM_INDEX(key, idx, group) (uint32_t(uint32_t(key) << 23 | uint32_t(idx) << 18 | uint32_t(group))) #define PARAM_TOKEN_INDEX(token) PARAM_INDEX(AP_Param::get_persistent_key(token.key), token.idx, token.group_element) -#define AP_OSD_NUM_SYMBOLS 79 +#define AP_OSD_NUM_SYMBOLS 91 /* class to hold one setting */ @@ -194,9 +194,9 @@ private: #if HAL_PLUSCODE_ENABLE AP_OSD_Setting pluscode{false, 0, 0}; #endif + AP_OSD_Setting sidebars{false, 4, 5}; // MSP OSD only - AP_OSD_Setting sidebars{false, 0, 0}; AP_OSD_Setting crosshair{false, 0, 0}; AP_OSD_Setting home_dist{true, 1, 1}; AP_OSD_Setting home_dir{true, 1, 1}; @@ -223,6 +223,7 @@ private: void draw_home(uint8_t x, uint8_t y); void draw_throttle(uint8_t x, uint8_t y); void draw_heading(uint8_t x, uint8_t y); + void draw_sidebars(uint8_t x, uint8_t y); void draw_compass(uint8_t x, uint8_t y); void draw_wind(uint8_t x, uint8_t y); void draw_aspeed(uint8_t x, uint8_t y); diff --git a/libraries/AP_OSD/AP_OSD_Backend.h b/libraries/AP_OSD/AP_OSD_Backend.h index bd91c643b8..6a865f4c01 100644 --- a/libraries/AP_OSD/AP_OSD_Backend.h +++ b/libraries/AP_OSD/AP_OSD_Backend.h @@ -180,6 +180,19 @@ protected: static const uint8_t SYM_RNGFD = 0xF7; static const uint8_t SYM_LQ = 0xF8; + static const uint8_t SYM_SIDEBAR_R_ARROW = 0x09; + static const uint8_t SYM_SIDEBAR_L_ARROW = 0x0A; + static const uint8_t SYM_SIDEBAR_A = 0x13; + static const uint8_t SYM_SIDEBAR_B = 0x14; + static const uint8_t SYM_SIDEBAR_C = 0x15; + static const uint8_t SYM_SIDEBAR_D = 0xDD; + static const uint8_t SYM_SIDEBAR_E = 0xDB; + static const uint8_t SYM_SIDEBAR_F = 0xDC; + static const uint8_t SYM_SIDEBAR_G = 0xDA; + static const uint8_t SYM_SIDEBAR_H = 0xDE; + static const uint8_t SYM_SIDEBAR_I = 0x11; + static const uint8_t SYM_SIDEBAR_J = 0x12; + static constexpr uint8_t symbols[AP_OSD_NUM_SYMBOLS] { SYM_M, SYM_KM, @@ -260,5 +273,17 @@ protected: SYM_FENCE_DISABLED, SYM_RNGFD, SYM_LQ, + SYM_SIDEBAR_R_ARROW, + SYM_SIDEBAR_L_ARROW, + SYM_SIDEBAR_A, + SYM_SIDEBAR_B, + SYM_SIDEBAR_C, + SYM_SIDEBAR_D, + SYM_SIDEBAR_E, + SYM_SIDEBAR_F, + SYM_SIDEBAR_G, + SYM_SIDEBAR_H, + SYM_SIDEBAR_I, + SYM_SIDEBAR_J, }; }; diff --git a/libraries/AP_OSD/AP_OSD_Screen.cpp b/libraries/AP_OSD/AP_OSD_Screen.cpp index 484d22033b..ff635a1060 100644 --- a/libraries/AP_OSD/AP_OSD_Screen.cpp +++ b/libraries/AP_OSD/AP_OSD_Screen.cpp @@ -715,24 +715,24 @@ const AP_Param::GroupInfo AP_OSD_Screen::var_info[] = { // @Description: Vertical position on screen // @Range: 0 15 AP_SUBGROUPINFO(clk, "CLK", 43, AP_OSD_Screen, AP_OSD_Setting), - -#if HAL_MSP_ENABLED + // @Param: SIDEBARS_EN // @DisplayName: SIDEBARS_EN - // @Description: Displays artificial horizon side bars (MSP OSD only) + // @Description: Displays artificial horizon side bars // @Values: 0:Disabled,1:Enabled // @Param: SIDEBARS_X // @DisplayName: SIDEBARS_X - // @Description: Horizontal position on screen (MSP OSD only) + // @Description: Horizontal position on screen // @Range: 0 29 // @Param: SIDEBARS_Y // @DisplayName: SIDEBARS_Y - // @Description: Vertical position on screen (MSP OSD only) + // @Description: Vertical position on screen // @Range: 0 15 AP_SUBGROUPINFO(sidebars, "SIDEBARS", 44, AP_OSD_Screen, AP_OSD_Setting), +#if HAL_MSP_ENABLED // @Param: CRSSHAIR_EN // @DisplayName: CRSSHAIR_EN // @Description: Displays artificial horizon crosshair (MSP OSD only) @@ -1115,6 +1115,19 @@ uint8_t AP_OSD_AbstractScreen::symbols_lookup_table[AP_OSD_NUM_SYMBOLS]; #define SYM_RNGFD 77 #define SYM_LQ 78 +#define SYM_SIDEBAR_R_ARROW 79 +#define SYM_SIDEBAR_L_ARROW 80 +#define SYM_SIDEBAR_A 81 +#define SYM_SIDEBAR_B 82 +#define SYM_SIDEBAR_C 83 +#define SYM_SIDEBAR_D 84 +#define SYM_SIDEBAR_E 85 +#define SYM_SIDEBAR_F 86 +#define SYM_SIDEBAR_G 87 +#define SYM_SIDEBAR_H 88 +#define SYM_SIDEBAR_I 89 +#define SYM_SIDEBAR_J 90 + #define SYMBOL(n) AP_OSD_AbstractScreen::symbols_lookup_table[n] // constructor @@ -1386,6 +1399,7 @@ void AP_OSD_Screen::draw_batused(uint8_t x, uint8_t y) //Thanks to night-ghost for the approach. void AP_OSD_Screen::draw_message(uint8_t x, uint8_t y) { + x = 2; //messages get rendered across a whole row. User param x is ignored. AP_Notify * notify = AP_Notify::get_singleton(); if (notify) { int32_t visible_time = AP_HAL::millis() - notify->get_text_updated_millis(); @@ -1429,6 +1443,9 @@ void AP_OSD_Screen::draw_message(uint8_t x, uint8_t y) //trim invisible part buffer[end_position] = 0; + } else if (len < message_visible_width) { + //for short messages, start writing closer to the middle to center the text + x += (message_visible_width - len)/2; } backend->write(x, y, buffer + start_position); @@ -1572,6 +1589,69 @@ void AP_OSD_Screen::draw_throttle(uint8_t x, uint8_t y) backend->write(x, y, false, "%3d%c", gcs().get_hud_throttle(), SYMBOL(SYM_PCNT)); } +void AP_OSD_Screen::draw_sidebars(uint8_t x, uint8_t y) +{ + const int8_t total_sectors = 18; + static const uint8_t sidebar_sectors[total_sectors] = { + SYM_SIDEBAR_A, + SYM_SIDEBAR_B, + SYM_SIDEBAR_C, + SYM_SIDEBAR_D, + SYM_SIDEBAR_E, + SYM_SIDEBAR_F, + SYM_SIDEBAR_G, + SYM_SIDEBAR_E, + SYM_SIDEBAR_F, + SYM_SIDEBAR_G, + SYM_SIDEBAR_E, + SYM_SIDEBAR_F, + SYM_SIDEBAR_G, + SYM_SIDEBAR_E, + SYM_SIDEBAR_F, + SYM_SIDEBAR_H, + SYM_SIDEBAR_I, + SYM_SIDEBAR_J, + }; + + // Get altitude and airspeed, scaled to appropriate units + float aspd = 0.0f; + float alt = 0.0f; + AP_AHRS &ahrs = AP::ahrs(); + WITH_SEMAPHORE(ahrs.get_semaphore()); + bool have_speed_estimate = ahrs.airspeed_estimate(aspd); + if (!have_speed_estimate) { aspd = 0.0f; } + ahrs.get_relative_position_D_home(alt); + float scaled_aspd = u_scale(SPEED, aspd); + float scaled_alt = u_scale(ALTITUDE, -alt); + static const int aspd_interval = 10; //units between large tick marks + int alt_interval = (osd->units == AP_OSD::UNITS_AVIATION || osd->units == AP_OSD::UNITS_IMPERIAL) ? 20 : 10; + + // render airspeed ladder + int aspd_symbol_index = fmodf(scaled_aspd, aspd_interval) / aspd_interval * total_sectors; + for (int i = 0; i < 7; i++){ + if (i == 3) { + // the middle section of the ladder with the currrent airspeed + backend->write(x, y+i, false, "%3d%c%c", (int) scaled_aspd, u_icon(SPEED), SYMBOL(SYM_SIDEBAR_R_ARROW)); + } else { + backend->write(x+4, y+i, false, "%c", SYMBOL(sidebar_sectors[aspd_symbol_index])); + } + aspd_symbol_index = (aspd_symbol_index + 12) % 18; + } + + // render the altitude ladder + // similar formula to above, but accounts for negative altitudes + int alt_symbol_index = fmodf(fmodf(scaled_alt, alt_interval) + alt_interval, alt_interval) / alt_interval * total_sectors; + for (int i = 0; i < 7; i++){ + if (i == 3) { + // the middle section of the ladder with the currrent altitude + backend->write(x+16, y+i, false, "%c%d%c", SYMBOL(SYM_SIDEBAR_L_ARROW), (int) scaled_alt, u_icon(ALTITUDE)); + } else { + backend->write(x+16, y+i, false, "%c", SYMBOL(sidebar_sectors[alt_symbol_index])); + } + alt_symbol_index = (alt_symbol_index + 12) % 18; + } +} + //Thanks to betaflight/inav for simple and clean compass visual design void AP_OSD_Screen::draw_compass(uint8_t x, uint8_t y) { @@ -2071,6 +2151,7 @@ void AP_OSD_Screen::draw(void) //Note: draw order should be optimized. //Big and less important items should be drawn first, //so they will not overwrite more important ones. + DRAW_SETTING(sidebars); DRAW_SETTING(message); DRAW_SETTING(horizon); DRAW_SETTING(compass); diff --git a/libraries/AP_OSD/fonts/clarity.mcm b/libraries/AP_OSD/fonts/clarity.mcm index 79dc29e356..769ad08723 100644 --- a/libraries/AP_OSD/fonts/clarity.mcm +++ b/libraries/AP_OSD/fonts/clarity.mcm @@ -579,116 +579,116 @@ MAX7456 01010101 01010101 01010101 -01010101 -01010101 -01010101 -01010101 -01010101 -01011010 -10100101 -01010101 -01010000 -00010101 -01010101 -01010010 00000101 01010101 -01010010 +01010101 +00000001 +01010101 +01010101 +00100000 +01010101 +01010101 +00101000 +00010101 +01010101 +00101010 +00000101 +01010101 +00101010 10000001 01010101 -01010010 +00101010 10100000 01010101 -01010010 +00101010 10101000 -00010101 -01010010 -10101010 -00010101 -01010010 +01010101 +00101010 10101000 -00010101 -01010010 +01010101 +00101010 10100000 01010101 -01010010 +00101010 10000001 01010101 -01010010 +00101010 00000101 01010101 -01010000 +00101000 00010101 01010101 -01011010 -10100101 +00100000 01010101 01010101 +00000001 01010101 01010101 -01010101 -01010101 -01010101 -01010101 -01010101 -01010101 -01010101 -01010101 -01010101 -01010101 -01010101 -01010101 -01010101 -01010101 -01010101 -01010101 -01010101 -01010101 -01010101 -01010101 -01010101 -01010101 -01010101 -01011010 -10100101 -01010101 -01010100 00000101 01010101 -01010000 -10000101 01010101 -01000010 -10000101 01010101 -00001010 -10000101 -01010100 -00101010 -10000101 -01010100 -10101010 -10000101 -01010100 -00101010 -10000101 01010101 -00001010 -10000101 01010101 -01000010 -10000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 01010101 01010000 -10000101 +01010101 +01010101 +01000000 +01010101 +01010101 +00001000 01010101 01010100 -00000101 +00101000 01010101 -01011010 -10100101 +01010000 +10101000 +01010101 +01000010 +10101000 +01010101 +00001010 +10101000 +01010101 +00101010 +10101000 +01010101 +00101010 +10101000 +01010101 +00001010 +10101000 +01010101 +01000010 +10101000 +01010101 +01010000 +10101000 +01010101 +01010100 +00101000 01010101 01010101 +00001000 +01010101 +01010101 +01000000 +01010101 +01010101 +01010000 01010101 01010101 01010101 @@ -13952,8 +13952,10 @@ MAX7456 01010101 01010101 01010101 +00101000 01010101 01010101 +01000001 01010101 01010101 01010101 @@ -13971,12 +13973,16 @@ MAX7456 01010101 01010101 01010101 +01000001 01010101 01010101 +00101000 01010101 01010101 +00101000 01010101 01010101 +01000001 01010101 01010101 01010101 @@ -13994,8 +14000,10 @@ MAX7456 01010101 01010101 01010101 +01000001 01010101 01010101 +00101000 01010101 01010101 01010101 @@ -14011,12 +14019,16 @@ MAX7456 01010101 01010101 01010101 +01000001 01010101 01010101 +00101000 01010101 01010101 +00101000 01010101 01010101 +01000001 01010101 01010101 01010101 @@ -14034,12 +14046,16 @@ MAX7456 01010101 01010101 01010101 +01000001 01010101 01010101 +00101000 01010101 01010101 +00101000 01010101 01010101 +01000001 01010101 01010101 01010101 @@ -14076,12 +14092,16 @@ MAX7456 01010101 01010101 01010101 +01000001 01010101 01010101 +00101000 01010101 01010101 +00101000 01010101 01010101 +01000001 01010101 01010101 01010101 @@ -14099,12 +14119,16 @@ MAX7456 01010101 01010101 01010101 +01000001 01010101 01010101 +00101000 01010101 01010101 +00101000 01010101 01010101 +01000001 01010101 01010101 01010101 @@ -14120,8 +14144,10 @@ MAX7456 01010101 01010101 01010101 +00101000 01010101 01010101 +01000001 01010101 01010101 01010101 @@ -14139,12 +14165,16 @@ MAX7456 01010101 01010101 01010101 +01000001 01010101 01010101 +00101000 01010101 01010101 +00101000 01010101 01010101 +01000001 01010101 01010101 01010101 @@ -14162,7 +14192,11 @@ MAX7456 01010101 01010101 01010101 +00000000 01010101 +01010100 +10101010 +00010101 01010101 01010101 01010101 @@ -14173,7 +14207,11 @@ MAX7456 01010101 01010101 01010101 +01010100 +10101010 +00010101 01010101 +00000000 01010101 01010101 01010101 @@ -14191,12 +14229,16 @@ MAX7456 01010101 01010101 01010101 +01000001 01010101 01010101 +00101000 01010101 01010101 +00101000 01010101 01010101 +01000001 01010101 01010101 01010101 @@ -14214,52 +14256,10 @@ MAX7456 01010101 01010101 01010101 +01000001 01010101 01010101 -01010101 -01010101 -01010101 -01010101 -01010101 -01010101 -01010101 -01010101 -01010101 -01010101 -01010101 -01010101 -01010101 -01010101 -01010101 -01010101 -01010101 -01010101 -01010101 -01010101 -01010101 -01010101 -01010101 -01010101 -01010101 -01010101 -01010101 -01010101 -01010101 -01010101 -01010101 -01010101 -01010101 -01010101 -01010101 -01010101 -01010101 -01010101 -01010101 -01010101 -01010101 -01010101 -01010101 -01010101 +00101000 01010101 01010101 01010101 diff --git a/libraries/AP_OSD/fonts/clarity.png b/libraries/AP_OSD/fonts/clarity.png index a530a68b22058f9f464b6fa91a9653e7cfcd78c9..6b7a6a20546bfe6c8fc3c6141ed12c49aadf8be6 100644 GIT binary patch literal 39674 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 delta 10107 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 j|H}Hm9ZW!K*d=N4ZClM<;@L diff --git a/libraries/AP_OSD/fonts/font0.bin b/libraries/AP_OSD/fonts/font0.bin index 0b00ab84823670f478438c07dcf1ab11b6cf99bb..387d23f6fa4a21fd686f8db545a2e3df33179d5c 100644 GIT binary patch delta 172 zcmZq3X~@~|iZO*XG?XzkR3S7}Lo`&2HB_rHRBJ(~)(S8JGJsrGkQ7h>P#I7$1O$YJ zI)sLDgobE@2CN8mS`o?x(E(-vxj;dnR44~nS-@sLruEvBnOQ_9SF=b@HfB))(GvwY l!Q5&VeyEhffeVZ(!G*Y{1OB*-?K#8vr7AG%WxC delta 129 zcmZq3X~@~|iZLk^1frIP28f0Rv4#dUh6XJN4O$@@v`Q320@*+jR*)=E4LSe{g#hJR zL!DYfxmrWCT0>TWNFW;|0u%?zMlGG3$Yi*=mZ?E|aycvC<^?9EjGG