diff --git a/libraries/AP_OSD/AP_OSD.h b/libraries/AP_OSD/AP_OSD.h index 80e59cc909..24eead6ea9 100644 --- a/libraries/AP_OSD/AP_OSD.h +++ b/libraries/AP_OSD/AP_OSD.h @@ -184,6 +184,7 @@ private: AP_OSD_Setting callsign{false, 0, 0}; AP_OSD_Setting vtx_power{false, 0, 0}; AP_OSD_Setting hgt_abvterr{true, 23, 7}; + AP_OSD_Setting fence{true, 14, 9}; #if HAL_PLUSCODE_ENABLE AP_OSD_Setting pluscode{false, 0, 0}; #endif @@ -256,6 +257,7 @@ private: void draw_current2(uint8_t x, uint8_t y); void draw_vtx_power(uint8_t x, uint8_t y); void draw_hgt_abvterr(uint8_t x, uint8_t y); + void draw_fence(uint8_t x, uint8_t y); struct { diff --git a/libraries/AP_OSD/AP_OSD_Screen.cpp b/libraries/AP_OSD/AP_OSD_Screen.cpp index d28b86174e..9707fe64a2 100644 --- a/libraries/AP_OSD/AP_OSD_Screen.cpp +++ b/libraries/AP_OSD/AP_OSD_Screen.cpp @@ -46,6 +46,7 @@ #include #include +#include const AP_Param::GroupInfo AP_OSD_Screen::var_info[] = { @@ -961,6 +962,22 @@ const AP_Param::GroupInfo AP_OSD_Screen::var_info[] = { // @Description: Vertical position on screen // @Range: 0 15 AP_SUBGROUPINFO(restvolt, "RESTVOLT", 58, AP_OSD_Screen, AP_OSD_Setting), + + // @Param: FENCE_EN + // @DisplayName: FENCE_EN + // @Description: Displays indication of fence enable and breach + // @Values: 0:Disabled,1:Enabled + + // @Param: FENCE_X + // @DisplayName: FENCE_X + // @Description: Horizontal position on screen + // @Range: 0 29 + + // @Param: FENCE_Y + // @DisplayName: FENCE_Y + // @Description: Vertical position on screen + // @Range: 0 15 + AP_SUBGROUPINFO(fence, "FENCE", 59, AP_OSD_Screen, AP_OSD_Setting), AP_GROUPEND }; @@ -1057,6 +1074,8 @@ AP_OSD_Screen::AP_OSD_Screen() #define SYM_CLK 0xBC #define SYM_KILO 0x4B #define SYM_TERALT 0xEF +#define SYM_FENCE_ENABLED 0xF5 +#define SYM_FENCE_DISABLED 0xF6 void AP_OSD_AbstractScreen::set_backend(AP_OSD_Backend *_backend) @@ -1949,6 +1968,21 @@ void AP_OSD_Screen::draw_hgt_abvterr(uint8_t x, uint8_t y) } #endif + +void AP_OSD_Screen::draw_fence(uint8_t x, uint8_t y) +{ + AC_Fence *fenceptr = AP::fence(); + if (fenceptr == nullptr) { + return; + } + if (fenceptr->enabled() && fenceptr->present()) { + backend->write(x, y, fenceptr->get_breaches(), "%c", SYM_FENCE_ENABLED); + } else { + backend->write(x, y, false, "%c", SYM_FENCE_DISABLED); + } +} + + #define DRAW_SETTING(n) if (n.enabled) draw_ ## n(n.xpos, n.ypos) #if HAL_WITH_OSD_BITMAP @@ -1991,6 +2025,7 @@ void AP_OSD_Screen::draw(void) DRAW_SETTING(heading); DRAW_SETTING(wind); DRAW_SETTING(home); + DRAW_SETTING(fence); DRAW_SETTING(roll_angle); DRAW_SETTING(pitch_angle); DRAW_SETTING(temp); diff --git a/libraries/AP_OSD/fonts/bfstyle.mcm b/libraries/AP_OSD/fonts/bfstyle.mcm index 9f0a97ce4f..7e082b26ce 100644 --- a/libraries/AP_OSD/fonts/bfstyle.mcm +++ b/libraries/AP_OSD/fonts/bfstyle.mcm @@ -15679,22 +15679,60 @@ MAX7456 01010101 01010101 01010101 +00000000 +00010101 01010101 +00101010 +00010101 01010101 +00100000 +00010101 01010101 +00101000 +00010101 01010101 +00100000 +00010101 01010101 +00100000 +00010101 01010101 +00000000 +00000001 01010101 +01010010 +10100001 01010101 +01010010 +00000001 01010101 +01010010 +10000001 01010101 +01010010 +00000001 01010101 +01010010 +10100000 +00000000 +01010000 +00000010 +00001000 01010101 +01010010 +10001000 01010101 +01010010 +10101000 01010101 +01010010 +00101000 01010101 +01010010 +00001000 01010101 +01010000 +00000000 01010101 01010101 01010101 @@ -15705,98 +15743,60 @@ MAX7456 01010101 01010101 01010101 +00000000 +00010101 01010101 +00101010 +00010101 +01010100 +00100000 +00010101 +01010010 +00101000 +00010101 +01001010 +00100000 +00010101 +00101000 +00100000 +00010100 +10100001 +00000000 +00000010 +10000101 +01010010 +10001010 +00010101 +01010010 +00101000 01010101 +01010000 +10100001 01010101 +01010010 +10000001 01010101 +01001010 +00100000 +00000000 +00101000 +00000010 +00001000 +10100001 +01010010 +10001000 +10000101 +01010010 +10101000 +00010101 +01010010 +00101000 01010101 +01010010 +00001000 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 -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 +01010000 +00000000 01010101 01010101 01010101 diff --git a/libraries/AP_OSD/fonts/bfstyle.png b/libraries/AP_OSD/fonts/bfstyle.png index c8686ebf69..0076584208 100644 Binary files a/libraries/AP_OSD/fonts/bfstyle.png and b/libraries/AP_OSD/fonts/bfstyle.png differ diff --git a/libraries/AP_OSD/fonts/bold.mcm b/libraries/AP_OSD/fonts/bold.mcm index 4ecc63aef5..7c68c56860 100644 --- a/libraries/AP_OSD/fonts/bold.mcm +++ b/libraries/AP_OSD/fonts/bold.mcm @@ -15679,22 +15679,60 @@ MAX7456 01010101 01010101 01010101 +00000000 +00010101 01010101 +00101010 +00010101 01010101 +00100000 +00010101 01010101 +00101000 +00010101 01010101 +00100000 +00010101 01010101 +00100000 +00010101 01010101 +00000000 +00000001 01010101 +01010010 +10100001 01010101 +01010010 +00000001 01010101 +01010010 +10000001 01010101 +01010010 +00000001 01010101 +01010010 +10100000 +00000000 +01010000 +00000010 +00001000 01010101 +01010010 +10001000 01010101 +01010010 +10101000 01010101 +01010010 +00101000 01010101 +01010010 +00001000 01010101 +01010000 +00000000 01010101 01010101 01010101 @@ -15705,98 +15743,60 @@ MAX7456 01010101 01010101 01010101 +00000000 +00010101 01010101 +00101010 +00010101 +01010100 +00100000 +00010101 +01010010 +00101000 +00010101 +01001010 +00100000 +00010101 +00101000 +00100000 +00010100 +10100001 +00000000 +00000010 +10000101 +01010010 +10001010 +00010101 +01010010 +00101000 01010101 +01010000 +10100001 01010101 +01010010 +10000001 01010101 +01001010 +00100000 +00000000 +00101000 +00000010 +00001000 +10100001 +01010010 +10001000 +10000101 +01010010 +10101000 +00010101 +01010010 +00101000 01010101 +01010010 +00001000 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 -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 +01010000 +00000000 01010101 01010101 01010101 diff --git a/libraries/AP_OSD/fonts/bold.png b/libraries/AP_OSD/fonts/bold.png index 345427c0bb..6e25459593 100644 Binary files a/libraries/AP_OSD/fonts/bold.png and b/libraries/AP_OSD/fonts/bold.png differ diff --git a/libraries/AP_OSD/fonts/clarity.mcm b/libraries/AP_OSD/fonts/clarity.mcm index 36f1eb191e..d00216c9a3 100644 --- a/libraries/AP_OSD/fonts/clarity.mcm +++ b/libraries/AP_OSD/fonts/clarity.mcm @@ -15679,22 +15679,60 @@ MAX7456 01010101 01010101 01010101 +00000000 +00010101 01010101 +00101010 +00010101 01010101 +00100000 +00010101 01010101 +00101000 +00010101 01010101 +00100000 +00010101 01010101 +00100000 +00010101 01010101 +00000000 +00000001 01010101 +01010010 +10100001 01010101 +01010010 +00000001 01010101 +01010010 +10000001 01010101 +01010010 +00000001 01010101 +01010010 +10100000 +00000000 +01010000 +00000010 +00001000 01010101 +01010010 +10001000 01010101 +01010010 +10101000 01010101 +01010010 +00101000 01010101 +01010010 +00001000 01010101 +01010000 +00000000 01010101 01010101 01010101 @@ -15705,98 +15743,60 @@ MAX7456 01010101 01010101 01010101 +00000000 +00010101 01010101 +00101010 +00010101 +01010100 +00100000 +00010101 +01010010 +00101000 +00010101 +01001010 +00100000 +00010101 +00101000 +00100000 +00010100 +10100001 +00000000 +00000010 +10000101 +01010010 +10001010 +00010101 +01010010 +00101000 01010101 +01010000 +10100001 01010101 +01010010 +10000001 01010101 +01001010 +00100000 +00000000 +00101000 +00000010 +00001000 +10100001 +01010010 +10001000 +10000101 +01010010 +10101000 +00010101 +01010010 +00101000 01010101 +01010010 +00001000 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 -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 +01010000 +00000000 01010101 01010101 01010101 diff --git a/libraries/AP_OSD/fonts/clarity.png b/libraries/AP_OSD/fonts/clarity.png index 760fdfd175..65868a3ca8 100644 Binary files a/libraries/AP_OSD/fonts/clarity.png and b/libraries/AP_OSD/fonts/clarity.png differ diff --git a/libraries/AP_OSD/fonts/clarity_medium.mcm b/libraries/AP_OSD/fonts/clarity_medium.mcm index 7d075d6fd6..476652159b 100644 --- a/libraries/AP_OSD/fonts/clarity_medium.mcm +++ b/libraries/AP_OSD/fonts/clarity_medium.mcm @@ -15679,22 +15679,60 @@ MAX7456 01010101 01010101 01010101 +00000000 +00010101 01010101 +00101010 +00010101 01010101 +00100000 +00010101 01010101 +00101000 +00010101 01010101 +00100000 +00010101 01010101 +00100000 +00010101 01010101 +00000000 +00000001 01010101 +01010010 +10100001 01010101 +01010010 +00000001 01010101 +01010010 +10000001 01010101 +01010010 +00000001 01010101 +01010010 +10100000 +00000000 +01010000 +00000010 +00001000 01010101 +01010010 +10001000 01010101 +01010010 +10101000 01010101 +01010010 +00101000 01010101 +01010010 +00001000 01010101 +01010000 +00000000 01010101 01010101 01010101 @@ -15705,98 +15743,60 @@ MAX7456 01010101 01010101 01010101 +00000000 +00010101 01010101 +00101010 +00010101 +01010100 +00100000 +00010101 +01010010 +00101000 +00010101 +01001010 +00100000 +00010101 +00101000 +00100000 +00010100 +10100001 +00000000 +00000010 +10000101 +01010010 +10001010 +00010101 +01010010 +00101000 01010101 +01010000 +10100001 01010101 +01010010 +10000001 01010101 +01001010 +00100000 +00000000 +00101000 +00000010 +00001000 +10100001 +01010010 +10001000 +10000101 +01010010 +10101000 +00010101 +01010010 +00101000 01010101 +01010010 +00001000 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 -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 +01010000 +00000000 01010101 01010101 01010101 diff --git a/libraries/AP_OSD/fonts/clarity_medium.png b/libraries/AP_OSD/fonts/clarity_medium.png index fb33e89a47..c3e19d5228 100644 Binary files a/libraries/AP_OSD/fonts/clarity_medium.png and b/libraries/AP_OSD/fonts/clarity_medium.png differ diff --git a/libraries/AP_OSD/fonts/digital.mcm b/libraries/AP_OSD/fonts/digital.mcm index 916cc04d1b..1aa8b37692 100644 --- a/libraries/AP_OSD/fonts/digital.mcm +++ b/libraries/AP_OSD/fonts/digital.mcm @@ -15679,22 +15679,60 @@ MAX7456 01010101 01010101 01010101 +00000000 +00010101 01010101 +00101010 +00010101 01010101 +00100000 +00010101 01010101 +00101000 +00010101 01010101 +00100000 +00010101 01010101 +00100000 +00010101 01010101 +00000000 +00000001 01010101 +01010010 +10100001 01010101 +01010010 +00000001 01010101 +01010010 +10000001 01010101 +01010010 +00000001 01010101 +01010010 +10100000 +00000000 +01010000 +00000010 +00001000 01010101 +01010010 +10001000 01010101 +01010010 +10101000 01010101 +01010010 +00101000 01010101 +01010010 +00001000 01010101 +01010000 +00000000 01010101 01010101 01010101 @@ -15705,98 +15743,60 @@ MAX7456 01010101 01010101 01010101 +00000000 +00010101 01010101 +00101010 +00010101 +01010100 +00100000 +00010101 +01010010 +00101000 +00010101 +01001010 +00100000 +00010101 +00101000 +00100000 +00010100 +10100001 +00000000 +00000010 +10000101 +01010010 +10001010 +00010101 +01010010 +00101000 01010101 +01010000 +10100001 01010101 +01010010 +10000001 01010101 +01001010 +00100000 +00000000 +00101000 +00000010 +00001000 +10100001 +01010010 +10001000 +10000101 +01010010 +10101000 +00010101 +01010010 +00101000 01010101 +01010010 +00001000 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 -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 +01010000 +00000000 01010101 01010101 01010101 diff --git a/libraries/AP_OSD/fonts/digital.png b/libraries/AP_OSD/fonts/digital.png index 00ed70b0f2..1034ed9618 100644 Binary files a/libraries/AP_OSD/fonts/digital.png and b/libraries/AP_OSD/fonts/digital.png differ diff --git a/libraries/AP_OSD/fonts/font0.bin b/libraries/AP_OSD/fonts/font0.bin index b0d135d93b..8c29f79dcd 100644 Binary files a/libraries/AP_OSD/fonts/font0.bin and b/libraries/AP_OSD/fonts/font0.bin differ diff --git a/libraries/AP_OSD/fonts/font1.bin b/libraries/AP_OSD/fonts/font1.bin index e7cdf1fbc9..122e0f1480 100644 Binary files a/libraries/AP_OSD/fonts/font1.bin and b/libraries/AP_OSD/fonts/font1.bin differ diff --git a/libraries/AP_OSD/fonts/font2.bin b/libraries/AP_OSD/fonts/font2.bin index e52f8d4c5b..2cb2878f58 100644 Binary files a/libraries/AP_OSD/fonts/font2.bin and b/libraries/AP_OSD/fonts/font2.bin differ diff --git a/libraries/AP_OSD/fonts/font3.bin b/libraries/AP_OSD/fonts/font3.bin index 121b78f490..c08459668e 100644 Binary files a/libraries/AP_OSD/fonts/font3.bin and b/libraries/AP_OSD/fonts/font3.bin differ diff --git a/libraries/AP_OSD/fonts/font4.bin b/libraries/AP_OSD/fonts/font4.bin index cee53b3941..951bb31007 100644 Binary files a/libraries/AP_OSD/fonts/font4.bin and b/libraries/AP_OSD/fonts/font4.bin differ