From 246e628df8d6edefd55c0814a5820292d3766d46 Mon Sep 17 00:00:00 2001 From: BuildTools Date: Sat, 1 Aug 2020 21:55:09 -0400 Subject: [PATCH] Added interactive titlebar! --- firmware/application/bitmap.hpp | 3986 ++++++++++++------------ firmware/application/ui_navigation.cpp | 31 +- firmware/application/ui_navigation.hpp | 11 +- firmware/graphics/titlebar_image.png | Bin 0 -> 5572 bytes 4 files changed, 2043 insertions(+), 1985 deletions(-) create mode 100644 firmware/graphics/titlebar_image.png diff --git a/firmware/application/bitmap.hpp b/firmware/application/bitmap.hpp index 1f6828f1..e33913aa 100644 --- a/firmware/application/bitmap.hpp +++ b/firmware/application/bitmap.hpp @@ -29,6 +29,426 @@ namespace ui { +static constexpr uint8_t bitmap_bulb_on_data[] = { + 0x04, 0x3C, 0x20, + 0x08, 0xFF, 0x10, + 0x90, 0xFF, 0x09, + 0xC0, 0xFF, 0x03, + 0xE0, 0xFF, 0x07, + 0xE0, 0xFF, 0x07, + 0xF0, 0xE7, 0x0F, + 0xF0, 0xBD, 0x0F, + 0xF7, 0xBD, 0xEF, + 0xF0, 0xDB, 0x0F, + 0xF0, 0xDB, 0x0F, + 0xE0, 0xDB, 0x07, + 0xE0, 0xCB, 0x07, + 0xC0, 0xD3, 0x03, + 0x90, 0xCB, 0x09, + 0x08, 0xFD, 0x10, + 0x04, 0xE3, 0x20, + 0x00, 0xBD, 0x00, + 0x00, 0xC3, 0x00, + 0x00, 0xBD, 0x00, + 0x00, 0xC3, 0x00, + 0x00, 0xBD, 0x00, + 0x00, 0x42, 0x00, + 0x00, 0x3C, 0x00, +}; +static constexpr Bitmap bitmap_bulb_on { + { 24, 24 }, bitmap_bulb_on_data +}; + +static constexpr uint8_t bitmap_icon_jammer_data[] = { + 0xE0, 0x07, + 0xF8, 0x1F, + 0x1C, 0x38, + 0x0E, 0x78, + 0x06, 0x7C, + 0x03, 0xCE, + 0x03, 0xC7, + 0x83, 0xC3, + 0xC3, 0xC1, + 0xE3, 0xC0, + 0x73, 0xC0, + 0x3E, 0x60, + 0x1E, 0x70, + 0x1C, 0x38, + 0xF8, 0x1F, + 0xE0, 0x07, +}; +static constexpr Bitmap bitmap_icon_jammer { + { 16, 16 }, bitmap_icon_jammer_data +}; + +static constexpr uint8_t bitmap_sig_saw_down_data[] = { + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + 0x0E, 0x80, 0x00, 0x60, + 0x1E, 0x80, 0x01, 0x60, + 0x3E, 0x80, 0x03, 0x60, + 0x76, 0x80, 0x07, 0x60, + 0xE6, 0x80, 0x0F, 0x60, + 0xC6, 0x81, 0x1D, 0x60, + 0x86, 0x83, 0x39, 0x60, + 0x06, 0x87, 0x71, 0x60, + 0x06, 0x8E, 0xE1, 0x60, + 0x06, 0x9C, 0xC1, 0x61, + 0x06, 0xB8, 0x81, 0x63, + 0x06, 0xF0, 0x01, 0x67, + 0x06, 0xE0, 0x01, 0x6E, + 0x06, 0xC0, 0x01, 0x7C, + 0x06, 0x80, 0x01, 0x78, + 0x06, 0x00, 0x01, 0x70, + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, +}; +static constexpr Bitmap bitmap_sig_saw_down { + { 32, 32 }, bitmap_sig_saw_down_data +}; + +static constexpr uint8_t bitmap_icon_sdcard_data[] = { + 0xF0, 0x3F, + 0x58, 0x35, + 0x5C, 0x35, + 0xFC, 0x3F, + 0xFC, 0x3F, + 0xFC, 0x3F, + 0xFC, 0x3F, + 0xFC, 0x3F, + 0xFC, 0x3F, + 0xAC, 0x3A, + 0x5C, 0x35, + 0xAC, 0x3A, + 0x5C, 0x35, + 0xAC, 0x3A, + 0x5C, 0x35, + 0xAC, 0x3A, +}; +static constexpr Bitmap bitmap_icon_sdcard { + { 16, 16 }, bitmap_icon_sdcard_data +}; + +static constexpr uint8_t bitmap_icon_morse_data[] = { + 0x00, 0x00, + 0xFE, 0x7F, + 0xFF, 0xFF, + 0xBB, 0xD0, + 0xFF, 0xFF, + 0xFF, 0xFF, + 0x0B, 0xE1, + 0xFF, 0xFF, + 0xFF, 0xFF, + 0xEB, 0xD0, + 0xFF, 0xFF, + 0xFE, 0x7F, + 0x70, 0x00, + 0x30, 0x00, + 0x10, 0x00, + 0x00, 0x00, +}; +static constexpr Bitmap bitmap_icon_morse { + { 16, 16 }, bitmap_icon_morse_data +}; + +static constexpr uint8_t bitmap_icon_peripherals_details_data[] = { + 0x54, 0x01, + 0x54, 0x01, + 0xFF, 0x07, + 0xFC, 0x01, + 0x3F, 0x00, + 0xBC, 0x3F, + 0xBF, 0x60, + 0xBC, 0xEE, + 0xBF, 0x80, + 0x94, 0xBE, + 0x94, 0x80, + 0x80, 0xBE, + 0x80, 0x80, + 0x80, 0xBE, + 0x80, 0x80, + 0x80, 0xFF, +}; +static constexpr Bitmap bitmap_icon_peripherals_details { + { 16, 16 }, bitmap_icon_peripherals_details_data +}; + +static constexpr uint8_t bitmap_icon_tools_antenna_data[] = { + 0x38, 0x3E, + 0x10, 0x22, + 0x10, 0x26, + 0x10, 0x22, + 0x10, 0x2E, + 0x10, 0x22, + 0x10, 0x26, + 0x10, 0x22, + 0x38, 0x2E, + 0x38, 0x22, + 0x38, 0x26, + 0x38, 0x22, + 0x38, 0x2E, + 0x38, 0x22, + 0x38, 0x3E, + 0x00, 0x00, +}; +static constexpr Bitmap bitmap_icon_tools_antenna { + { 16, 16 }, bitmap_icon_tools_antenna_data +}; + +static constexpr uint8_t bitmap_icon_cwgen_data[] = { + 0x18, 0x00, + 0x24, 0x00, + 0x42, 0x00, + 0x42, 0x00, + 0x42, 0x00, + 0x42, 0x00, + 0x81, 0x00, + 0xAB, 0x6A, + 0x80, 0x40, + 0x00, 0x21, + 0x00, 0x21, + 0x00, 0x21, + 0x00, 0x21, + 0x00, 0x12, + 0x00, 0x0C, + 0x00, 0x00, +}; +static constexpr Bitmap bitmap_icon_cwgen { + { 16, 16 }, bitmap_icon_cwgen_data +}; + +static constexpr uint8_t bitmap_icon_bht_data[] = { + 0x00, 0x00, + 0xE0, 0x07, + 0xF8, 0x08, + 0x9C, 0x07, + 0x0C, 0x00, + 0x8E, 0x0A, + 0x46, 0x12, + 0x26, 0x22, + 0x06, 0x02, + 0x06, 0x00, + 0x06, 0x00, + 0x06, 0x00, + 0x06, 0x00, + 0x06, 0x00, + 0x06, 0x00, + 0x00, 0x00, +}; +static constexpr Bitmap bitmap_icon_bht { + { 16, 16 }, bitmap_icon_bht_data +}; + +static constexpr uint8_t bitmap_icon_speaker_mute_data[] = { + 0x00, 0x00, + 0x40, 0x00, + 0x60, 0x00, + 0x70, 0x00, + 0x78, 0x00, + 0x7F, 0x22, + 0x7F, 0x36, + 0x7F, 0x1C, + 0x7F, 0x08, + 0x7F, 0x1C, + 0x7F, 0x36, + 0x7F, 0x22, + 0x78, 0x00, + 0x70, 0x00, + 0x60, 0x00, + 0x40, 0x00, +}; +static constexpr Bitmap bitmap_icon_speaker_mute { + { 16, 16 }, bitmap_icon_speaker_mute_data +}; + +static constexpr uint8_t bitmap_icon_search_data[] = { + 0xF8, 0x01, + 0xFC, 0x03, + 0x0E, 0x07, + 0x07, 0x0E, + 0x03, 0x0C, + 0x0B, 0x0C, + 0x0B, 0x0C, + 0x13, 0x0C, + 0x07, 0x0E, + 0x0E, 0x07, + 0xFC, 0x1F, + 0xF8, 0x3D, + 0x00, 0x7C, + 0x00, 0xF8, + 0x00, 0xF0, + 0x00, 0x60, +}; +static constexpr Bitmap bitmap_icon_search { + { 16, 16 }, bitmap_icon_search_data +}; + +static constexpr uint8_t bitmap_icon_adsb_data[] = { + 0x80, 0x01, + 0xC0, 0x03, + 0xC0, 0x03, + 0xC0, 0x03, + 0xC0, 0x03, + 0xE0, 0x07, + 0xF8, 0x1F, + 0xFE, 0x7F, + 0xFF, 0xFF, + 0xFF, 0xFF, + 0xC0, 0x03, + 0xC0, 0x03, + 0xC0, 0x03, + 0xE0, 0x07, + 0xF0, 0x0F, + 0xF8, 0x1F, +}; +static constexpr Bitmap bitmap_icon_adsb { + { 16, 16 }, bitmap_icon_adsb_data +}; + +static constexpr uint8_t bitmap_icon_codetx_data[] = { + 0x00, 0x00, + 0xF0, 0x07, + 0x0C, 0x18, + 0x03, 0x60, + 0xE0, 0x03, + 0x18, 0x0C, + 0x04, 0x10, + 0xC0, 0x01, + 0x20, 0x02, + 0x00, 0x00, + 0x00, 0x00, + 0xBB, 0x6D, + 0x2A, 0x49, + 0x2A, 0x49, + 0x3A, 0x49, + 0x00, 0x00, +}; +static constexpr Bitmap bitmap_icon_codetx { + { 16, 16 }, bitmap_icon_codetx_data +}; + +static constexpr uint8_t bitmap_icon_gps_sim_data[] = { + 0xC0, 0x07, + 0xE0, 0x0F, + 0x70, 0x1F, + 0x78, 0x3E, + 0x78, 0x3C, + 0x78, 0x38, + 0x78, 0x30, + 0x78, 0x38, + 0x78, 0x3C, + 0x70, 0x1E, + 0x70, 0x1F, + 0xE0, 0x0F, + 0xC0, 0x07, + 0x80, 0x03, + 0x20, 0x09, + 0x50, 0x14, +}; +static constexpr Bitmap bitmap_icon_gps_sim { + { 16, 16 }, bitmap_icon_gps_sim_data +}; + +static constexpr uint8_t bitmap_icon_rename_numeric_data[] = { + 0x00, 0x00, + 0x00, 0x00, + 0x00, 0x0E, + 0x00, 0x04, + 0xFF, 0xF5, + 0x01, 0x84, + 0xC9, 0x85, + 0x0D, 0x85, + 0xC9, 0x85, + 0x49, 0x84, + 0xDD, 0x85, + 0x01, 0x84, + 0xFF, 0xF5, + 0x00, 0x04, + 0x00, 0x0E, + 0x00, 0x00, +}; +static constexpr Bitmap bitmap_icon_rename_numeric { + { 16, 16 }, bitmap_icon_rename_numeric_data +}; + +static constexpr uint8_t bitmap_icon_rename_data[] = { + 0x00, 0x00, + 0x00, 0x00, + 0x00, 0x0E, + 0x00, 0x04, + 0xFF, 0xF5, + 0x01, 0x84, + 0xC9, 0x84, + 0x55, 0x85, + 0xDD, 0x84, + 0x55, 0x85, + 0xD5, 0x84, + 0x01, 0x84, + 0xFF, 0xF5, + 0x00, 0x04, + 0x00, 0x0E, + 0x00, 0x00, +}; +static constexpr Bitmap bitmap_icon_rename { + { 16, 16 }, bitmap_icon_rename_data +}; + +static constexpr uint8_t bitmap_icon_fox_data[] = { + 0x18, 0x18, + 0x28, 0x14, + 0x68, 0x16, + 0x68, 0x16, + 0xC8, 0x13, + 0x88, 0x11, + 0x04, 0x20, + 0x24, 0x24, + 0x22, 0x44, + 0x01, 0x80, + 0x06, 0x60, + 0x98, 0x19, + 0x20, 0x04, + 0x40, 0x02, + 0x80, 0x01, + 0x00, 0x00, +}; +static constexpr Bitmap bitmap_icon_fox { + { 16, 16 }, bitmap_icon_fox_data +}; + +static constexpr uint8_t bitmap_sd_card_ok_data[] = { + 0x00, 0x00, + 0x00, 0x00, + 0xC0, 0x1F, + 0xE0, 0x1F, + 0xF0, 0x1F, + 0xF8, 0x1F, + 0xF8, 0x1F, + 0x98, 0x15, + 0x68, 0x19, + 0x68, 0x1D, + 0x68, 0x19, + 0x98, 0x15, + 0xF8, 0x1F, + 0xF8, 0x1F, + 0x00, 0x00, + 0x00, 0x00, +}; +static constexpr Bitmap bitmap_sd_card_ok { + { 16, 16 }, bitmap_sd_card_ok_data +}; + static constexpr uint8_t bitmap_bulb_ignore_data[] = { 0x00, 0x3C, 0x00, 0x00, 0xC3, 0x00, @@ -59,6 +479,682 @@ static constexpr Bitmap bitmap_bulb_ignore { { 24, 24 }, bitmap_bulb_ignore_data }; +static constexpr uint8_t bitmap_icon_clk_ext_data[] = { + 0x00, + 0x00, + 0xDC, + 0x54, + 0x54, + 0x54, + 0x54, + 0x76, + 0x00, + 0x10, + 0x38, + 0x7C, + 0x10, + 0x10, + 0x10, + 0x00, +}; +static constexpr Bitmap bitmap_icon_clk_ext { + { 8, 16 }, bitmap_icon_clk_ext_data +}; + +static constexpr uint8_t bitmap_icon_load_data[] = { + 0x00, 0x01, + 0x80, 0x03, + 0x40, 0x05, + 0x00, 0x01, + 0x0E, 0x01, + 0x11, 0x01, + 0x7F, 0x1D, + 0x01, 0x20, + 0xF9, 0xFF, + 0xF9, 0xFF, + 0xFD, 0x7F, + 0xFD, 0x7F, + 0xFF, 0x3F, + 0xFF, 0x3F, + 0xFF, 0x1F, + 0xFF, 0x1F, +}; +static constexpr Bitmap bitmap_icon_load { + { 16, 16 }, bitmap_icon_load_data +}; + +static constexpr uint8_t bitmap_icon_hackrf_data[] = { + 0xF0, 0x0F, + 0x10, 0x08, + 0x50, 0x0A, + 0x10, 0x08, + 0x10, 0x08, + 0x10, 0x08, + 0xF8, 0x1F, + 0xF8, 0x1F, + 0xF8, 0x1F, + 0xF8, 0x1F, + 0xF8, 0x1F, + 0xF8, 0x1F, + 0xF8, 0x1F, + 0xF0, 0x0F, + 0x80, 0x01, + 0x80, 0x01, +}; +static constexpr Bitmap bitmap_icon_hackrf { + { 16, 16 }, bitmap_icon_hackrf_data +}; + +static constexpr uint8_t bitmap_icon_soundboard_data[] = { + 0xF0, 0x0F, + 0x1C, 0x18, + 0x17, 0x38, + 0x15, 0x78, + 0x15, 0xF8, + 0x15, 0x82, + 0x15, 0x8B, + 0xD5, 0x83, + 0xD5, 0xBB, + 0xD5, 0x83, + 0x15, 0x8B, + 0x15, 0x92, + 0x15, 0xA0, + 0x17, 0x80, + 0x1C, 0x80, + 0xF0, 0xFF, +}; +static constexpr Bitmap bitmap_icon_soundboard { + { 16, 16 }, bitmap_icon_soundboard_data +}; + +static constexpr uint8_t bitmap_icon_dmr_data[] = { + 0x00, 0x00, + 0xFE, 0x1F, + 0xFE, 0x3F, + 0x0E, 0x78, + 0x0E, 0x70, + 0x0E, 0x70, + 0x0E, 0x70, + 0x0E, 0x78, + 0xFE, 0x3F, + 0xFE, 0x1F, + 0x8E, 0x07, + 0x0E, 0x0F, + 0x0E, 0x1E, + 0x0E, 0x3C, + 0x0E, 0x78, + 0x00, 0x00, +}; +static constexpr Bitmap bitmap_icon_dmr { + { 16, 16 }, bitmap_icon_dmr_data +}; + +static constexpr uint8_t bitmap_icon_burger_data[] = { + 0x00, 0x00, + 0xE0, 0x07, + 0xF8, 0x1F, + 0xFC, 0x3F, + 0xFE, 0x7F, + 0xFF, 0xFF, + 0xFF, 0xFF, + 0x00, 0x00, + 0x55, 0x55, + 0xAA, 0xAA, + 0x55, 0x55, + 0x00, 0x00, + 0xFF, 0xFF, + 0xFF, 0xFF, + 0xFE, 0x7F, + 0x00, 0x00, +}; +static constexpr Bitmap bitmap_icon_burger { + { 16, 16 }, bitmap_icon_burger_data +}; + +static constexpr uint8_t bitmap_icon_microphone_data[] = { + 0xC0, 0x03, + 0xE0, 0x07, + 0xE0, 0x07, + 0xE0, 0x07, + 0xE8, 0x17, + 0xE8, 0x17, + 0xE8, 0x17, + 0xE8, 0x17, + 0xE8, 0x17, + 0xC8, 0x13, + 0x18, 0x18, + 0xF0, 0x0F, + 0xC0, 0x03, + 0x80, 0x01, + 0x80, 0x01, + 0xE0, 0x07, +}; +static constexpr Bitmap bitmap_icon_microphone { + { 16, 16 }, bitmap_icon_microphone_data +}; + +static constexpr uint8_t bitmap_icon_ais_data[] = { + 0x00, 0x01, + 0x80, 0x01, + 0xC0, 0x01, + 0xC0, 0x0D, + 0xE0, 0x3D, + 0xF0, 0x3D, + 0xF8, 0x7D, + 0xFC, 0x7D, + 0xFC, 0x7D, + 0xFE, 0x7D, + 0xFF, 0x7D, + 0x00, 0x00, + 0xF8, 0x7F, + 0xF8, 0x3F, + 0xF0, 0x0F, + 0x00, 0x00, +}; +static constexpr Bitmap bitmap_icon_ais { + { 16, 16 }, bitmap_icon_ais_data +}; + +static constexpr uint8_t bitmap_icon_utilities_data[] = { + 0x30, 0x24, + 0x78, 0x66, + 0x78, 0x66, + 0x78, 0x7E, + 0x78, 0x3C, + 0x78, 0x18, + 0x78, 0x18, + 0x30, 0x3C, + 0x30, 0x3C, + 0x30, 0x3C, + 0x30, 0x3C, + 0x30, 0x3C, + 0x30, 0x3C, + 0x30, 0x3C, + 0x30, 0x18, + 0x00, 0x00, +}; +static constexpr Bitmap bitmap_icon_utilities { + { 16, 16 }, bitmap_icon_utilities_data +}; + +static constexpr uint8_t bitmap_icon_delete_data[] = { + 0x00, 0x00, + 0x00, 0x00, + 0x0C, 0x30, + 0x1C, 0x38, + 0x38, 0x1C, + 0x70, 0x0E, + 0xE0, 0x07, + 0xC0, 0x03, + 0xC0, 0x03, + 0xE0, 0x07, + 0x70, 0x0E, + 0x38, 0x1C, + 0x1C, 0x38, + 0x0C, 0x30, + 0x00, 0x00, + 0x00, 0x00, +}; +static constexpr Bitmap bitmap_icon_delete { + { 16, 16 }, bitmap_icon_delete_data +}; + +static constexpr uint8_t bitmap_icon_peripherals_data[] = { + 0x54, 0x01, + 0x54, 0x01, + 0xFF, 0x07, + 0x7C, 0x01, + 0xBF, 0x07, + 0xDC, 0x18, + 0x6F, 0x10, + 0x2C, 0x21, + 0xAF, 0x20, + 0x34, 0x20, + 0x54, 0x10, + 0xC0, 0x38, + 0x00, 0x77, + 0x00, 0xE0, + 0x00, 0xC0, + 0x00, 0x00, +}; +static constexpr Bitmap bitmap_icon_peripherals { + { 16, 16 }, bitmap_icon_peripherals_data +}; + +static constexpr uint8_t bitmap_icon_file_data[] = { + 0xFC, 0x03, + 0x04, 0x06, + 0x04, 0x0E, + 0x04, 0x1E, + 0x04, 0x3E, + 0x04, 0x20, + 0x04, 0x20, + 0x04, 0x20, + 0x04, 0x20, + 0x04, 0x20, + 0x04, 0x20, + 0x04, 0x20, + 0x04, 0x20, + 0x04, 0x20, + 0x04, 0x20, + 0xFC, 0x3F, +}; +static constexpr Bitmap bitmap_icon_file { + { 16, 16 }, bitmap_icon_file_data +}; + +static constexpr uint8_t bitmap_icon_debug_data[] = { + 0xFE, 0x03, + 0x02, 0x07, + 0x2A, 0x0D, + 0x52, 0x0F, + 0x2A, 0x08, + 0x52, 0x09, + 0xAA, 0x0A, + 0x52, 0x09, + 0xAA, 0x0A, + 0x52, 0x01, + 0xAA, 0x12, + 0x02, 0x08, + 0x02, 0xFC, + 0x02, 0x08, + 0xFE, 0x13, + 0x00, 0x00, +}; +static constexpr Bitmap bitmap_icon_debug { + { 16, 16 }, bitmap_icon_debug_data +}; + +static constexpr uint8_t bitmap_icon_previous_data[] = { + 0x00, 0x00, + 0xC0, 0x00, + 0xE0, 0x00, + 0x70, 0x00, + 0x38, 0x00, + 0x1C, 0x00, + 0x0E, 0x00, + 0xFF, 0xFF, + 0xFF, 0xFF, + 0x0E, 0x00, + 0x1C, 0x00, + 0x38, 0x00, + 0x70, 0x00, + 0xE0, 0x00, + 0xC0, 0x00, + 0x00, 0x00, +}; +static constexpr Bitmap bitmap_icon_previous { + { 16, 16 }, bitmap_icon_previous_data +}; + +static constexpr uint8_t bitmap_icon_freqman_data[] = { + 0x00, 0x00, + 0x00, 0x00, + 0x00, 0x00, + 0x7E, 0x7E, + 0x81, 0x81, + 0xBD, 0xBD, + 0x81, 0x81, + 0xBD, 0xBD, + 0x81, 0x81, + 0xBD, 0x9D, + 0x81, 0x81, + 0xBD, 0xE1, + 0x81, 0x61, + 0x7E, 0x3E, + 0x00, 0x00, + 0x00, 0x00, +}; +static constexpr Bitmap bitmap_icon_freqman { + { 16, 16 }, bitmap_icon_freqman_data +}; + +static constexpr uint8_t bitmap_stop_data[] = { + 0xFF, 0xFF, + 0xFF, 0xFF, + 0xFF, 0xFF, + 0xFF, 0xFF, + 0xFF, 0xFF, + 0x8B, 0xCD, + 0xDD, 0xAA, + 0xDB, 0xCA, + 0xDB, 0xEA, + 0xDD, 0xED, + 0xFF, 0xFF, + 0xFF, 0xFF, + 0xFF, 0xFF, + 0xFF, 0xFF, + 0xFF, 0xFF, + 0x00, 0x00, +}; +static constexpr Bitmap bitmap_stop { + { 16, 16 }, bitmap_stop_data +}; + +static constexpr uint8_t bitmap_icon_biast_off_data[] = { + 0x00, 0x00, + 0xFE, 0x7F, + 0x00, 0x04, + 0x00, 0x08, + 0x00, 0x10, + 0x00, 0x08, + 0x88, 0x04, + 0x50, 0x08, + 0x20, 0x10, + 0x50, 0x08, + 0x88, 0x04, + 0x00, 0x08, + 0x00, 0x10, + 0x00, 0x08, + 0x00, 0x04, + 0x00, 0x00, +}; +static constexpr Bitmap bitmap_icon_biast_off { + { 16, 16 }, bitmap_icon_biast_off_data +}; + +static constexpr uint8_t bitmap_tab_edge_data[] = { + 0x00, + 0x01, + 0x01, + 0x03, + 0x03, + 0x03, + 0x07, + 0x07, + 0x07, + 0x0F, + 0x0F, + 0x0F, + 0x1F, + 0x1F, + 0x1F, + 0x1F, + 0x3F, + 0x3F, + 0x3F, + 0x7F, + 0x7F, + 0x7F, + 0xFF, + 0xFF, +}; +static constexpr Bitmap bitmap_tab_edge { + { 8, 24 }, bitmap_tab_edge_data +}; + +static constexpr uint8_t bitmap_sig_square_data[] = { + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + 0xFE, 0x83, 0xFF, 0x60, + 0xFE, 0x83, 0xFF, 0x60, + 0x06, 0x83, 0xC1, 0x60, + 0x06, 0x83, 0xC1, 0x60, + 0x06, 0x83, 0xC1, 0x60, + 0x06, 0x83, 0xC1, 0x60, + 0x06, 0x83, 0xC1, 0x60, + 0x06, 0x83, 0xC1, 0x60, + 0x06, 0x83, 0xC1, 0x60, + 0x06, 0x83, 0xC1, 0x60, + 0x06, 0x83, 0xC1, 0x60, + 0x06, 0x83, 0xC1, 0x60, + 0x06, 0x83, 0xC1, 0x60, + 0x06, 0x83, 0xC1, 0x60, + 0x06, 0xFF, 0xC1, 0x7F, + 0x06, 0xFF, 0xC1, 0x7F, + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, +}; +static constexpr Bitmap bitmap_sig_square { + { 32, 32 }, bitmap_sig_square_data +}; + +static constexpr uint8_t bitmap_icon_new_category_data[] = { + 0x00, 0x18, + 0x3E, 0x18, + 0x41, 0x7E, + 0xC1, 0x7E, + 0xFF, 0x18, + 0xFF, 0xDB, + 0xFF, 0xC3, + 0xFF, 0xFF, + 0xFF, 0xFF, + 0xFF, 0xFF, + 0xAF, 0xEA, + 0x57, 0xF5, + 0xEF, 0xEF, + 0xF7, 0xF7, + 0xEE, 0x6F, + 0x00, 0x00, +}; +static constexpr Bitmap bitmap_icon_new_category { + { 16, 16 }, bitmap_icon_new_category_data +}; + +static constexpr uint8_t bitmap_icon_lcr_data[] = { + 0x0C, 0x00, + 0xFF, 0x7F, + 0x01, 0x80, + 0xC1, 0x9B, + 0xFF, 0x7F, + 0x0C, 0x00, + 0xFF, 0x7F, + 0x01, 0x80, + 0xC1, 0x9D, + 0xFF, 0x7F, + 0x0C, 0x00, + 0x0C, 0x00, + 0x0C, 0x00, + 0x0C, 0x00, + 0x0C, 0x00, + 0x0C, 0x00, +}; +static constexpr Bitmap bitmap_icon_lcr { + { 16, 16 }, bitmap_icon_lcr_data +}; + +static constexpr uint8_t bitmap_icon_pocsag_data[] = { + 0x00, 0x00, + 0x00, 0x00, + 0x00, 0x00, + 0xFC, 0x3F, + 0xFE, 0x7F, + 0x02, 0x40, + 0xBA, 0x45, + 0x02, 0x40, + 0xFE, 0x7F, + 0xFE, 0x7F, + 0x92, 0x7C, + 0x92, 0x7C, + 0xFC, 0x3F, + 0x00, 0x00, + 0x00, 0x00, + 0x00, 0x00, +}; +static constexpr Bitmap bitmap_icon_pocsag { + { 16, 16 }, bitmap_icon_pocsag_data +}; + +static constexpr uint8_t bitmap_icon_scanner_data[] = { + 0x03, 0x00, + 0x00, 0x00, + 0x03, 0x00, + 0x00, 0x00, + 0x0F, 0x00, + 0x00, 0x00, + 0x03, 0x01, + 0x80, 0x01, + 0xC3, 0x00, + 0xE0, 0xFF, + 0xEF, 0xFF, + 0xC0, 0x00, + 0x83, 0x01, + 0x00, 0x01, + 0x03, 0x00, + 0x00, 0x00, +}; +static constexpr Bitmap bitmap_icon_scanner { + { 16, 16 }, bitmap_icon_scanner_data +}; + +static constexpr uint8_t bitmap_more_data[] = { + 0x10, + 0x10, + 0x10, + 0x10, + 0x54, + 0x38, + 0x10, + 0x00, +}; +static constexpr Bitmap bitmap_more { + { 8, 8 }, bitmap_more_data +}; + +static constexpr uint8_t bitmap_icon_modem_data[] = { + 0x00, 0x00, + 0x00, 0x00, + 0x00, 0x00, + 0x00, 0x00, + 0xF8, 0x1F, + 0x04, 0x20, + 0x02, 0x40, + 0xFF, 0xFF, + 0xFF, 0xFF, + 0xAB, 0xDF, + 0xAB, 0xDF, + 0xFF, 0xFF, + 0xFF, 0xFF, + 0x00, 0x00, + 0x00, 0x00, + 0x00, 0x00, +}; +static constexpr Bitmap bitmap_icon_modem { + { 16, 16 }, bitmap_icon_modem_data +}; + +static constexpr uint8_t bitmap_icon_file_image_data[] = { + 0x00, 0x00, + 0xFF, 0xFF, + 0x01, 0x80, + 0x01, 0x80, + 0x89, 0x80, + 0xC1, 0x81, + 0xE1, 0xA3, + 0xB1, 0xB3, + 0x89, 0xDC, + 0x07, 0x8C, + 0x01, 0x90, + 0x01, 0x80, + 0xAB, 0x82, + 0xFF, 0xD5, + 0xFF, 0xFF, + 0x00, 0x00, +}; +static constexpr Bitmap bitmap_icon_file_image { + { 16, 16 }, bitmap_icon_file_image_data +}; + +static constexpr uint8_t bitmap_icon_save_data[] = { + 0x00, 0x01, + 0x00, 0x01, + 0x00, 0x01, + 0x00, 0x01, + 0x4E, 0x05, + 0x91, 0x03, + 0x3F, 0x19, + 0x01, 0x20, + 0xF9, 0xFF, + 0xF9, 0xFF, + 0xFD, 0x7F, + 0xFD, 0x7F, + 0xFF, 0x3F, + 0xFF, 0x3F, + 0xFF, 0x1F, + 0xFF, 0x1F, +}; +static constexpr Bitmap bitmap_icon_save { + { 16, 16 }, bitmap_icon_save_data +}; + +static constexpr uint8_t bitmap_icon_stealth_data[] = { + 0x00, 0x00, + 0xC0, 0x03, + 0xE0, 0x07, + 0xE0, 0x07, + 0xF8, 0x1F, + 0x00, 0x00, + 0xE0, 0x07, + 0x60, 0x06, + 0x00, 0x00, + 0xF0, 0x0F, + 0xF0, 0x0F, + 0xF8, 0x1E, + 0xFC, 0x3F, + 0xFC, 0x3E, + 0xFC, 0x3F, + 0x00, 0x00, +}; +static constexpr Bitmap bitmap_icon_stealth { + { 16, 16 }, bitmap_icon_stealth_data +}; + +static constexpr uint8_t bitmap_icon_controls_data[] = { + 0x8C, 0x31, + 0x5A, 0x6B, + 0xDE, 0x7B, + 0x8C, 0x31, + 0x00, 0x00, + 0x8C, 0x31, + 0x5A, 0x7B, + 0xDE, 0x7B, + 0x8C, 0x31, + 0x00, 0x00, + 0x8C, 0x31, + 0xDA, 0x7B, + 0xDE, 0x7B, + 0x8C, 0x31, + 0x00, 0x00, + 0x00, 0x00, +}; +static constexpr Bitmap bitmap_icon_controls { + { 16, 16 }, bitmap_icon_controls_data +}; + +static constexpr uint8_t bitmap_icon_rds_data[] = { + 0x00, 0x00, + 0x00, 0x00, + 0x00, 0x00, + 0x00, 0x00, + 0x3C, 0x3C, + 0x7E, 0x7E, + 0x67, 0xE7, + 0x83, 0xC3, + 0xC7, 0xE1, + 0xFD, 0xBC, + 0x42, 0x42, + 0x3C, 0x3C, + 0x00, 0x00, + 0x00, 0x00, + 0x00, 0x00, + 0x00, 0x00, +}; +static constexpr Bitmap bitmap_icon_rds { + { 16, 16 }, bitmap_icon_rds_data +}; + static constexpr uint8_t bitmap_bulb_off_data[] = { 0x00, 0x3C, 0x00, 0x00, 0xC3, 0x00, @@ -89,188 +1185,26 @@ static constexpr Bitmap bitmap_bulb_off { { 24, 24 }, bitmap_bulb_off_data }; -static constexpr uint8_t bitmap_bulb_on_data[] = { - 0x04, 0x3C, 0x20, - 0x08, 0xFF, 0x10, - 0x90, 0xFF, 0x09, - 0xC0, 0xFF, 0x03, - 0xE0, 0xFF, 0x07, - 0xE0, 0xFF, 0x07, - 0xF0, 0xE7, 0x0F, - 0xF0, 0xBD, 0x0F, - 0xF7, 0xBD, 0xEF, - 0xF0, 0xDB, 0x0F, - 0xF0, 0xDB, 0x0F, - 0xE0, 0xDB, 0x07, - 0xE0, 0xCB, 0x07, - 0xC0, 0xD3, 0x03, - 0x90, 0xCB, 0x09, - 0x08, 0xFD, 0x10, - 0x04, 0xE3, 0x20, - 0x00, 0xBD, 0x00, - 0x00, 0xC3, 0x00, - 0x00, 0xBD, 0x00, - 0x00, 0xC3, 0x00, - 0x00, 0xBD, 0x00, - 0x00, 0x42, 0x00, - 0x00, 0x3C, 0x00, +static constexpr uint8_t bitmap_icon_speaker_data[] = { + 0x00, 0x00, + 0x40, 0x10, + 0x60, 0x20, + 0x70, 0x44, + 0x78, 0x48, + 0x7F, 0x91, + 0x7F, 0x92, + 0x7F, 0x92, + 0x7F, 0x92, + 0x7F, 0x92, + 0x7F, 0x92, + 0x7F, 0x91, + 0x78, 0x48, + 0x70, 0x44, + 0x60, 0x20, + 0x40, 0x10, }; -static constexpr Bitmap bitmap_bulb_on { - { 24, 24 }, bitmap_bulb_on_data -}; - -static constexpr uint8_t bitmap_icon_adsb_data[] = { - 0x80, 0x01, - 0xC0, 0x03, - 0xC0, 0x03, - 0xC0, 0x03, - 0xC0, 0x03, - 0xE0, 0x07, - 0xF8, 0x1F, - 0xFE, 0x7F, - 0xFF, 0xFF, - 0xFF, 0xFF, - 0xC0, 0x03, - 0xC0, 0x03, - 0xC0, 0x03, - 0xE0, 0x07, - 0xF0, 0x0F, - 0xF8, 0x1F, -}; -static constexpr Bitmap bitmap_icon_adsb { - { 16, 16 }, bitmap_icon_adsb_data -}; - -static constexpr uint8_t bitmap_icon_ais_data[] = { - 0x00, 0x01, - 0x80, 0x01, - 0xC0, 0x01, - 0xC0, 0x0D, - 0xE0, 0x3D, - 0xF0, 0x3D, - 0xF8, 0x7D, - 0xFC, 0x7D, - 0xFC, 0x7D, - 0xFE, 0x7D, - 0xFF, 0x7D, - 0x00, 0x00, - 0xF8, 0x7F, - 0xF8, 0x3F, - 0xF0, 0x0F, - 0x00, 0x00, -}; -static constexpr Bitmap bitmap_icon_ais { - { 16, 16 }, bitmap_icon_ais_data -}; - -static constexpr uint8_t bitmap_icon_aprs_data[] = { - 0x00, 0x00, - 0x00, 0x00, - 0x00, 0x00, - 0xF0, 0x0F, - 0x4C, 0x32, - 0xFE, 0x7F, - 0x25, 0xA4, - 0x25, 0xA4, - 0xFF, 0xFF, - 0x25, 0xA4, - 0x25, 0xA4, - 0xFE, 0x7F, - 0x4C, 0x32, - 0xF0, 0x0F, - 0x00, 0x00, - 0x00, 0x00, -}; -static constexpr Bitmap bitmap_icon_aprs { - { 16, 16 }, bitmap_icon_aprs_data -}; - -static constexpr uint8_t bitmap_icon_back_data[] = { - 0x00, 0x00, - 0x30, 0x00, - 0x38, 0x00, - 0x1C, 0x00, - 0x0E, 0x00, - 0xFF, 0x3F, - 0xFF, 0x7F, - 0x0E, 0xE0, - 0x1C, 0xC0, - 0x38, 0xC0, - 0x30, 0xC0, - 0x00, 0xE0, - 0x00, 0x7F, - 0x00, 0x3F, - 0x00, 0x00, - 0x00, 0x00, -}; -static constexpr Bitmap bitmap_icon_back { - { 16, 16 }, bitmap_icon_back_data -}; - -static constexpr uint8_t bitmap_icon_bht_data[] = { - 0x00, 0x00, - 0xE0, 0x07, - 0xF8, 0x08, - 0x9C, 0x07, - 0x0C, 0x00, - 0x8E, 0x0A, - 0x46, 0x12, - 0x26, 0x22, - 0x06, 0x02, - 0x06, 0x00, - 0x06, 0x00, - 0x06, 0x00, - 0x06, 0x00, - 0x06, 0x00, - 0x06, 0x00, - 0x00, 0x00, -}; -static constexpr Bitmap bitmap_icon_bht { - { 16, 16 }, bitmap_icon_bht_data -}; - -static constexpr uint8_t bitmap_icon_biast_off_data[] = { - 0x00, 0x00, - 0xFE, 0x7F, - 0x00, 0x04, - 0x00, 0x08, - 0x00, 0x10, - 0x00, 0x08, - 0x88, 0x04, - 0x50, 0x08, - 0x20, 0x10, - 0x50, 0x08, - 0x88, 0x04, - 0x00, 0x08, - 0x00, 0x10, - 0x00, 0x08, - 0x00, 0x04, - 0x00, 0x00, -}; -static constexpr Bitmap bitmap_icon_biast_off { - { 16, 16 }, bitmap_icon_biast_off_data -}; - -static constexpr uint8_t bitmap_icon_biast_on_data[] = { - 0x00, 0x00, - 0xFE, 0x7F, - 0x00, 0x04, - 0x00, 0x08, - 0x20, 0x10, - 0x20, 0x08, - 0x30, 0x04, - 0x30, 0x08, - 0xF8, 0x10, - 0x60, 0x08, - 0x60, 0x04, - 0x20, 0x08, - 0x20, 0x10, - 0x00, 0x08, - 0x00, 0x04, - 0x00, 0x00, -}; -static constexpr Bitmap bitmap_icon_biast_on { - { 16, 16 }, bitmap_icon_biast_on_data +static constexpr Bitmap bitmap_icon_speaker { + { 16, 16 }, bitmap_icon_speaker_data }; static constexpr uint8_t bitmap_icon_btle_data[] = { @@ -295,730 +1229,70 @@ static constexpr Bitmap bitmap_icon_btle { { 16, 16 }, bitmap_icon_btle_data }; -static constexpr uint8_t bitmap_icon_burger_data[] = { +static constexpr uint8_t bitmap_icon_biast_on_data[] = { 0x00, 0x00, - 0xE0, 0x07, - 0xF8, 0x1F, - 0xFC, 0x3F, - 0xFE, 0x7F, - 0xFF, 0xFF, - 0xFF, 0xFF, - 0x00, 0x00, - 0x55, 0x55, - 0xAA, 0xAA, - 0x55, 0x55, - 0x00, 0x00, - 0xFF, 0xFF, - 0xFF, 0xFF, 0xFE, 0x7F, + 0x00, 0x04, + 0x00, 0x08, + 0x20, 0x10, + 0x20, 0x08, + 0x30, 0x04, + 0x30, 0x08, + 0xF8, 0x10, + 0x60, 0x08, + 0x60, 0x04, + 0x20, 0x08, + 0x20, 0x10, + 0x00, 0x08, + 0x00, 0x04, 0x00, 0x00, }; -static constexpr Bitmap bitmap_icon_burger { - { 16, 16 }, bitmap_icon_burger_data +static constexpr Bitmap bitmap_icon_biast_on { + { 16, 16 }, bitmap_icon_biast_on_data }; -static constexpr uint8_t bitmap_icon_camera_data[] = { - 0x00, 0x00, - 0x00, 0x00, - 0xE0, 0x07, - 0xF0, 0x0F, - 0x3E, 0x7C, - 0xDE, 0x7B, - 0xEE, 0x77, - 0xEE, 0x77, - 0xEE, 0x77, - 0xEE, 0x77, - 0xDE, 0x7B, - 0x3E, 0x7C, - 0xFE, 0x7F, - 0x00, 0x00, - 0x00, 0x00, - 0x00, 0x00, -}; -static constexpr Bitmap bitmap_icon_camera { - { 16, 16 }, bitmap_icon_camera_data -}; - -static constexpr uint8_t bitmap_icon_capture_data[] = { - 0xE0, 0x07, - 0xF8, 0x1F, - 0xFC, 0x3F, - 0xFE, 0x7F, - 0xFE, 0x7F, - 0xFF, 0xFF, - 0xFF, 0xFF, - 0xFF, 0xFF, - 0xFF, 0xFF, - 0xFF, 0xFF, - 0xFF, 0xFF, - 0xFE, 0x7F, - 0xFE, 0x7F, - 0xFC, 0x3F, - 0xF8, 0x1F, - 0xE0, 0x07, -}; -static constexpr Bitmap bitmap_icon_capture { - { 16, 16 }, bitmap_icon_capture_data -}; - -static constexpr uint8_t bitmap_icon_clk_ext_data[] = { - 0x00, - 0x00, - 0xDC, - 0x54, - 0x54, - 0x54, - 0x54, - 0x76, - 0x00, - 0x10, - 0x38, - 0x7C, - 0x10, - 0x10, - 0x10, - 0x00, -}; -static constexpr Bitmap bitmap_icon_clk_ext { - { 8, 16 }, bitmap_icon_clk_ext_data -}; - -static constexpr uint8_t bitmap_icon_clk_int_data[] = { - 0x00, - 0x00, - 0xDC, - 0x54, - 0x54, - 0x54, - 0x54, - 0x76, - 0x00, - 0x44, - 0x6C, - 0x38, - 0x38, - 0x6C, - 0x44, - 0x00, -}; -static constexpr Bitmap bitmap_icon_clk_int { - { 8, 16 }, bitmap_icon_clk_int_data -}; - -static constexpr uint8_t bitmap_icon_codetx_data[] = { - 0x00, 0x00, - 0xF0, 0x07, - 0x0C, 0x18, - 0x03, 0x60, - 0xE0, 0x03, - 0x18, 0x0C, - 0x04, 0x10, - 0xC0, 0x01, - 0x20, 0x02, - 0x00, 0x00, - 0x00, 0x00, - 0xBB, 0x6D, - 0x2A, 0x49, - 0x2A, 0x49, - 0x3A, 0x49, - 0x00, 0x00, -}; -static constexpr Bitmap bitmap_icon_codetx { - { 16, 16 }, bitmap_icon_codetx_data -}; - -static constexpr uint8_t bitmap_icon_controls_data[] = { - 0x8C, 0x31, - 0x5A, 0x6B, - 0xDE, 0x7B, - 0x8C, 0x31, - 0x00, 0x00, - 0x8C, 0x31, - 0x5A, 0x7B, - 0xDE, 0x7B, - 0x8C, 0x31, - 0x00, 0x00, - 0x8C, 0x31, - 0xDA, 0x7B, - 0xDE, 0x7B, - 0x8C, 0x31, - 0x00, 0x00, - 0x00, 0x00, -}; -static constexpr Bitmap bitmap_icon_controls { - { 16, 16 }, bitmap_icon_controls_data -}; - -static constexpr uint8_t bitmap_icon_cwgen_data[] = { - 0x18, 0x00, - 0x24, 0x00, - 0x42, 0x00, - 0x42, 0x00, - 0x42, 0x00, - 0x42, 0x00, - 0x81, 0x00, - 0xAB, 0x6A, - 0x80, 0x40, - 0x00, 0x21, - 0x00, 0x21, - 0x00, 0x21, - 0x00, 0x21, - 0x00, 0x12, - 0x00, 0x0C, - 0x00, 0x00, -}; -static constexpr Bitmap bitmap_icon_cwgen { - { 16, 16 }, bitmap_icon_cwgen_data -}; - -static constexpr uint8_t bitmap_icon_debug_data[] = { - 0xFE, 0x03, - 0x02, 0x07, - 0x2A, 0x0D, - 0x52, 0x0F, - 0x2A, 0x08, - 0x52, 0x09, - 0xAA, 0x0A, - 0x52, 0x09, - 0xAA, 0x0A, - 0x52, 0x01, - 0xAA, 0x12, - 0x02, 0x08, - 0x02, 0xFC, - 0x02, 0x08, - 0xFE, 0x13, - 0x00, 0x00, -}; -static constexpr Bitmap bitmap_icon_debug { - { 16, 16 }, bitmap_icon_debug_data -}; - -static constexpr uint8_t bitmap_icon_delete_data[] = { - 0x00, 0x00, - 0x00, 0x00, - 0x0C, 0x30, - 0x1C, 0x38, - 0x38, 0x1C, - 0x70, 0x0E, - 0xE0, 0x07, - 0xC0, 0x03, +static constexpr uint8_t bitmap_icon_transmit_data[] = { + 0x80, 0x01, 0xC0, 0x03, 0xE0, 0x07, - 0x70, 0x0E, - 0x38, 0x1C, - 0x1C, 0x38, - 0x0C, 0x30, - 0x00, 0x00, - 0x00, 0x00, -}; -static constexpr Bitmap bitmap_icon_delete { - { 16, 16 }, bitmap_icon_delete_data -}; - -static constexpr uint8_t bitmap_icon_dir_data[] = { - 0x00, 0x00, - 0x3E, 0x00, - 0x41, 0x00, - 0xC1, 0x7F, - 0xFF, 0xFF, - 0xFF, 0xFF, - 0xFF, 0xFF, - 0xFF, 0xFF, - 0xFF, 0xFF, - 0xFF, 0xFF, - 0xAF, 0xEA, - 0x57, 0xF5, - 0xEF, 0xEF, - 0xF7, 0xF7, - 0xEE, 0x6F, - 0x00, 0x00, -}; -static constexpr Bitmap bitmap_icon_dir { - { 16, 16 }, bitmap_icon_dir_data -}; - -static constexpr uint8_t bitmap_icon_dmr_data[] = { - 0x00, 0x00, - 0xFE, 0x1F, - 0xFE, 0x3F, - 0x0E, 0x78, - 0x0E, 0x70, - 0x0E, 0x70, - 0x0E, 0x70, - 0x0E, 0x78, - 0xFE, 0x3F, - 0xFE, 0x1F, - 0x8E, 0x07, - 0x0E, 0x0F, - 0x0E, 0x1E, - 0x0E, 0x3C, - 0x0E, 0x78, - 0x00, 0x00, -}; -static constexpr Bitmap bitmap_icon_dmr { - { 16, 16 }, bitmap_icon_dmr_data -}; - -static constexpr uint8_t bitmap_icon_ert_data[] = { - 0x00, 0x00, - 0x00, 0x0F, - 0x80, 0x7F, - 0xC0, 0x0F, - 0xFC, 0x0F, - 0xC2, 0x0F, - 0x82, 0x7F, - 0x01, 0x0F, - 0x01, 0x00, - 0x21, 0x05, - 0x53, 0x09, - 0x56, 0x09, - 0x50, 0x05, - 0x50, 0x05, - 0x20, 0xAD, - 0x00, 0x00, -}; -static constexpr Bitmap bitmap_icon_ert { - { 16, 16 }, bitmap_icon_ert_data -}; - -static constexpr uint8_t bitmap_icon_file_data[] = { - 0xFC, 0x03, - 0x04, 0x06, - 0x04, 0x0E, - 0x04, 0x1E, - 0x04, 0x3E, - 0x04, 0x20, - 0x04, 0x20, - 0x04, 0x20, - 0x04, 0x20, - 0x04, 0x20, - 0x04, 0x20, - 0x04, 0x20, - 0x04, 0x20, - 0x04, 0x20, - 0x04, 0x20, - 0xFC, 0x3F, -}; -static constexpr Bitmap bitmap_icon_file { - { 16, 16 }, bitmap_icon_file_data -}; - -static constexpr uint8_t bitmap_icon_file_image_data[] = { - 0x00, 0x00, - 0xFF, 0xFF, - 0x01, 0x80, - 0x01, 0x80, - 0x89, 0x80, - 0xC1, 0x81, - 0xE1, 0xA3, - 0xB1, 0xB3, - 0x89, 0xDC, - 0x07, 0x8C, - 0x01, 0x90, - 0x01, 0x80, - 0xAB, 0x82, - 0xFF, 0xD5, - 0xFF, 0xFF, - 0x00, 0x00, -}; -static constexpr Bitmap bitmap_icon_file_image { - { 16, 16 }, bitmap_icon_file_image_data -}; - -static constexpr uint8_t bitmap_icon_file_iq_data[] = { - 0xFC, 0x03, - 0x04, 0x06, - 0x04, 0x0E, - 0x04, 0x1E, - 0x04, 0x3E, - 0x04, 0x20, - 0x04, 0x20, - 0x04, 0x21, - 0x44, 0x25, - 0x54, 0x25, - 0xF4, 0x2F, - 0xA4, 0x2A, - 0x84, 0x22, - 0x04, 0x22, - 0x04, 0x20, - 0xFC, 0x3F, -}; -static constexpr Bitmap bitmap_icon_file_iq { - { 16, 16 }, bitmap_icon_file_iq_data -}; - -static constexpr uint8_t bitmap_icon_file_text_data[] = { - 0xFC, 0x03, - 0x04, 0x06, - 0x04, 0x0E, - 0x04, 0x1E, - 0xF4, 0x3E, - 0x04, 0x20, - 0xF4, 0x2F, - 0x04, 0x20, - 0xF4, 0x2F, - 0x04, 0x20, - 0xF4, 0x2F, - 0x04, 0x20, - 0xF4, 0x2F, - 0x04, 0x20, - 0x04, 0x20, - 0xFC, 0x3F, -}; -static constexpr Bitmap bitmap_icon_file_text { - { 16, 16 }, bitmap_icon_file_text_data -}; - -static constexpr uint8_t bitmap_icon_file_wav_data[] = { - 0xFC, 0x03, - 0x04, 0x06, - 0x04, 0x0E, - 0x04, 0x1E, - 0x04, 0x3E, - 0x84, 0x20, - 0xC4, 0x22, - 0xF4, 0x20, - 0xF4, 0x2E, - 0xF4, 0x20, - 0xC4, 0x22, - 0x84, 0x24, - 0x04, 0x28, - 0x04, 0x20, - 0x04, 0x20, - 0xFC, 0x3F, -}; -static constexpr Bitmap bitmap_icon_file_wav { - { 16, 16 }, bitmap_icon_file_wav_data -}; - -static constexpr uint8_t bitmap_icon_fox_data[] = { - 0x18, 0x18, - 0x28, 0x14, - 0x68, 0x16, - 0x68, 0x16, - 0xC8, 0x13, - 0x88, 0x11, - 0x04, 0x20, - 0x24, 0x24, - 0x22, 0x44, - 0x01, 0x80, - 0x06, 0x60, + 0xB0, 0x0D, 0x98, 0x19, - 0x20, 0x04, - 0x40, 0x02, - 0x80, 0x01, - 0x00, 0x00, -}; -static constexpr Bitmap bitmap_icon_fox { - { 16, 16 }, bitmap_icon_fox_data -}; - -static constexpr uint8_t bitmap_icon_freqman_data[] = { - 0x00, 0x00, - 0x00, 0x00, - 0x00, 0x00, - 0x7E, 0x7E, - 0x81, 0x81, - 0xBD, 0xBD, - 0x81, 0x81, - 0xBD, 0xBD, - 0x81, 0x81, - 0xBD, 0x9D, - 0x81, 0x81, - 0xBD, 0xE1, - 0x81, 0x61, - 0x7E, 0x3E, - 0x00, 0x00, - 0x00, 0x00, -}; -static constexpr Bitmap bitmap_icon_freqman { - { 16, 16 }, bitmap_icon_freqman_data -}; - -static constexpr uint8_t bitmap_icon_gps_sim_data[] = { - 0xC0, 0x07, - 0xE0, 0x0F, - 0x70, 0x1F, - 0x78, 0x3E, - 0x78, 0x3C, - 0x78, 0x38, - 0x78, 0x30, - 0x78, 0x38, - 0x78, 0x3C, - 0x70, 0x1E, - 0x70, 0x1F, - 0xE0, 0x0F, - 0xC0, 0x07, - 0x80, 0x03, - 0x20, 0x09, - 0x50, 0x14, -}; -static constexpr Bitmap bitmap_icon_gps_sim { - { 16, 16 }, bitmap_icon_gps_sim_data -}; - -static constexpr uint8_t bitmap_icon_hackrf_data[] = { - 0xF0, 0x0F, - 0x10, 0x08, - 0x50, 0x0A, - 0x10, 0x08, - 0x10, 0x08, - 0x10, 0x08, - 0xF8, 0x1F, - 0xF8, 0x1F, - 0xF8, 0x1F, - 0xF8, 0x1F, - 0xF8, 0x1F, - 0xF8, 0x1F, - 0xF8, 0x1F, - 0xF0, 0x0F, 0x80, 0x01, 0x80, 0x01, -}; -static constexpr Bitmap bitmap_icon_hackrf { - { 16, 16 }, bitmap_icon_hackrf_data -}; - -static constexpr uint8_t bitmap_icon_jammer_data[] = { - 0xE0, 0x07, - 0xF8, 0x1F, - 0x1C, 0x38, - 0x0E, 0x78, - 0x06, 0x7C, - 0x03, 0xCE, - 0x03, 0xC7, - 0x83, 0xC3, - 0xC3, 0xC1, - 0xE3, 0xC0, - 0x73, 0xC0, - 0x3E, 0x60, - 0x1E, 0x70, - 0x1C, 0x38, - 0xF8, 0x1F, - 0xE0, 0x07, -}; -static constexpr Bitmap bitmap_icon_jammer { - { 16, 16 }, bitmap_icon_jammer_data -}; - -static constexpr uint8_t bitmap_icon_keyfob_data[] = { - 0x30, 0x00, - 0x30, 0x00, - 0x30, 0x00, - 0x30, 0x00, - 0x30, 0x00, - 0x30, 0x00, - 0xFC, 0x00, - 0xCE, 0x01, - 0x86, 0x01, - 0xFE, 0x01, - 0x86, 0x31, - 0x86, 0x49, - 0xCE, 0x87, - 0xFC, 0x84, - 0xFC, 0x4B, - 0x78, 0x30, -}; -static constexpr Bitmap bitmap_icon_keyfob { - { 16, 16 }, bitmap_icon_keyfob_data -}; - -static constexpr uint8_t bitmap_icon_lcr_data[] = { - 0x0C, 0x00, - 0xFF, 0x7F, - 0x01, 0x80, - 0xC1, 0x9B, - 0xFF, 0x7F, - 0x0C, 0x00, - 0xFF, 0x7F, - 0x01, 0x80, - 0xC1, 0x9D, - 0xFF, 0x7F, - 0x0C, 0x00, - 0x0C, 0x00, - 0x0C, 0x00, - 0x0C, 0x00, - 0x0C, 0x00, - 0x0C, 0x00, -}; -static constexpr Bitmap bitmap_icon_lcr { - { 16, 16 }, bitmap_icon_lcr_data -}; - -static constexpr uint8_t bitmap_icon_lge_data[] = { - 0x00, 0x00, - 0x80, 0x00, - 0xA4, 0x12, - 0xA8, 0x0A, - 0xD0, 0x05, - 0xEC, 0x1B, - 0xF0, 0x07, - 0xFE, 0xFF, - 0xF0, 0x07, - 0xEC, 0x1B, - 0xD0, 0x05, - 0xA8, 0x0A, - 0xA4, 0x12, - 0x80, 0x00, - 0x00, 0x00, - 0x00, 0x00, -}; -static constexpr Bitmap bitmap_icon_lge { - { 16, 16 }, bitmap_icon_lge_data -}; - -static constexpr uint8_t bitmap_icon_load_data[] = { - 0x00, 0x01, - 0x80, 0x03, - 0x40, 0x05, - 0x00, 0x01, - 0x0E, 0x01, - 0x11, 0x01, - 0x7F, 0x1D, - 0x01, 0x20, - 0xF9, 0xFF, - 0xF9, 0xFF, - 0xFD, 0x7F, - 0xFD, 0x7F, - 0xFF, 0x3F, - 0xFF, 0x3F, - 0xFF, 0x1F, - 0xFF, 0x1F, -}; -static constexpr Bitmap bitmap_icon_load { - { 16, 16 }, bitmap_icon_load_data -}; - -static constexpr uint8_t bitmap_icon_lora_data[] = { - 0xC0, 0x03, - 0x30, 0x0C, - 0x00, 0x00, - 0xC0, 0x03, - 0x00, 0x00, - 0xC0, 0x03, - 0x60, 0x06, - 0x60, 0x06, - 0x60, 0x06, - 0x60, 0x06, - 0xC0, 0x03, - 0x00, 0x00, - 0xC0, 0x03, - 0x00, 0x00, - 0x30, 0x0C, - 0xC0, 0x03, -}; -static constexpr Bitmap bitmap_icon_lora { - { 16, 16 }, bitmap_icon_lora_data -}; - -static constexpr uint8_t bitmap_icon_memory_data[] = { - 0x54, 0x15, - 0x54, 0x15, - 0xFF, 0x7F, - 0xFC, 0x1F, - 0xFF, 0x7F, - 0xCC, 0x19, - 0xAF, 0x7A, - 0x6C, 0x1B, - 0xEF, 0x7B, - 0xEC, 0x1B, - 0xFF, 0x7F, - 0xFC, 0x1F, - 0xFF, 0x7F, - 0x54, 0x15, - 0x54, 0x15, - 0x00, 0x00, -}; -static constexpr Bitmap bitmap_icon_memory { - { 16, 16 }, bitmap_icon_memory_data -}; - -static constexpr uint8_t bitmap_icon_microphone_data[] = { - 0xC0, 0x03, - 0xE0, 0x07, - 0xE0, 0x07, - 0xE0, 0x07, - 0xE8, 0x17, - 0xE8, 0x17, - 0xE8, 0x17, - 0xE8, 0x17, - 0xE8, 0x17, - 0xC8, 0x13, - 0x18, 0x18, - 0xF0, 0x0F, - 0xC0, 0x03, 0x80, 0x01, 0x80, 0x01, - 0xE0, 0x07, + 0x80, 0x01, + 0x80, 0x01, + 0x80, 0x01, + 0x83, 0xC1, + 0x03, 0xC0, + 0xFF, 0xFF, + 0xFF, 0xFF, }; -static constexpr Bitmap bitmap_icon_microphone { - { 16, 16 }, bitmap_icon_microphone_data +static constexpr Bitmap bitmap_icon_transmit { + { 16, 16 }, bitmap_icon_transmit_data }; -static constexpr uint8_t bitmap_icon_modem_data[] = { - 0x00, 0x00, - 0x00, 0x00, +static constexpr uint8_t bitmap_sd_card_unknown_data[] = { 0x00, 0x00, 0x00, 0x00, + 0xC0, 0x1F, + 0xE0, 0x1F, + 0xF0, 0x1F, + 0xF8, 0x1F, + 0x38, 0x1C, + 0x98, 0x19, + 0xF8, 0x1C, + 0x78, 0x1E, + 0x78, 0x1E, + 0xF8, 0x1F, + 0x78, 0x1E, 0xF8, 0x1F, - 0x04, 0x20, - 0x02, 0x40, - 0xFF, 0xFF, - 0xFF, 0xFF, - 0xAB, 0xDF, - 0xAB, 0xDF, - 0xFF, 0xFF, - 0xFF, 0xFF, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; -static constexpr Bitmap bitmap_icon_modem { - { 16, 16 }, bitmap_icon_modem_data -}; - -static constexpr uint8_t bitmap_icon_morse_data[] = { - 0x00, 0x00, - 0xFE, 0x7F, - 0xFF, 0xFF, - 0xBB, 0xD0, - 0xFF, 0xFF, - 0xFF, 0xFF, - 0x0B, 0xE1, - 0xFF, 0xFF, - 0xFF, 0xFF, - 0xEB, 0xD0, - 0xFF, 0xFF, - 0xFE, 0x7F, - 0x70, 0x00, - 0x30, 0x00, - 0x10, 0x00, - 0x00, 0x00, -}; -static constexpr Bitmap bitmap_icon_morse { - { 16, 16 }, bitmap_icon_morse_data -}; - -static constexpr uint8_t bitmap_icon_new_category_data[] = { - 0x00, 0x18, - 0x3E, 0x18, - 0x41, 0x7E, - 0xC1, 0x7E, - 0xFF, 0x18, - 0xFF, 0xDB, - 0xFF, 0xC3, - 0xFF, 0xFF, - 0xFF, 0xFF, - 0xFF, 0xFF, - 0xAF, 0xEA, - 0x57, 0xF5, - 0xEF, 0xEF, - 0xF7, 0xF7, - 0xEE, 0x6F, - 0x00, 0x00, -}; -static constexpr Bitmap bitmap_icon_new_category { - { 16, 16 }, bitmap_icon_new_category_data +static constexpr Bitmap bitmap_sd_card_unknown { + { 16, 16 }, bitmap_sd_card_unknown_data }; static constexpr uint8_t bitmap_icon_notepad_data[] = { @@ -1043,92 +1317,180 @@ static constexpr Bitmap bitmap_icon_notepad { { 16, 16 }, bitmap_icon_notepad_data }; -static constexpr uint8_t bitmap_icon_nrf_data[] = { - 0x00, 0x01, - 0x00, 0x01, - 0x00, 0x01, - 0x00, 0x01, - 0x00, 0x01, - 0x00, 0x01, - 0x00, 0x01, - 0xF8, 0x3F, - 0xFC, 0x7F, - 0xFC, 0x7F, - 0xDC, 0x7F, - 0x8C, 0x6B, - 0xDC, 0x7F, - 0xFC, 0x7F, - 0xFC, 0x7F, - 0xF8, 0x3F, -}; -static constexpr Bitmap bitmap_icon_nrf { - { 16, 16 }, bitmap_icon_nrf_data -}; - -static constexpr uint8_t bitmap_icon_nuoptix_data[] = { - 0x80, 0x01, - 0x80, 0x01, - 0x40, 0x02, - 0x40, 0x1A, - 0x40, 0x1A, - 0x20, 0x0C, - 0x20, 0x0F, - 0x20, 0x1E, - 0x10, 0x0E, - 0x10, 0x0B, - 0x10, 0x0B, - 0xF8, 0x1F, - 0xF8, 0x1F, - 0xF8, 0x1F, - 0xFC, 0x3F, - 0xFC, 0x3F, -}; -static constexpr Bitmap bitmap_icon_nuoptix { - { 16, 16 }, bitmap_icon_nuoptix_data -}; - -static constexpr uint8_t bitmap_icon_options_datetime_data[] = { - 0x0C, 0x06, - 0xFF, 0x1F, - 0x49, 0x12, - 0x49, 0x12, - 0xFF, 0x1F, - 0x49, 0x00, - 0x49, 0x1C, - 0x7F, 0x63, - 0x09, 0x49, - 0x89, 0x88, - 0xBE, 0xB8, - 0x80, 0x80, - 0x00, 0x41, - 0x00, 0x63, - 0x00, 0x1C, +static constexpr uint8_t bitmap_icon_memory_data[] = { + 0x54, 0x15, + 0x54, 0x15, + 0xFF, 0x7F, + 0xFC, 0x1F, + 0xFF, 0x7F, + 0xCC, 0x19, + 0xAF, 0x7A, + 0x6C, 0x1B, + 0xEF, 0x7B, + 0xEC, 0x1B, + 0xFF, 0x7F, + 0xFC, 0x1F, + 0xFF, 0x7F, + 0x54, 0x15, + 0x54, 0x15, 0x00, 0x00, }; -static constexpr Bitmap bitmap_icon_options_datetime { - { 16, 16 }, bitmap_icon_options_datetime_data +static constexpr Bitmap bitmap_icon_memory { + { 16, 16 }, bitmap_icon_memory_data }; -static constexpr uint8_t bitmap_icon_options_radio_data[] = { - 0x00, 0x00, - 0x00, 0x00, - 0x04, 0x20, - 0x12, 0x48, - 0x8A, 0x51, - 0xCA, 0x53, - 0xCA, 0x53, - 0x8A, 0x51, - 0x12, 0x48, - 0x84, 0x21, +static constexpr uint8_t bitmap_icon_tpms_data[] = { 0xC0, 0x03, - 0x40, 0x02, - 0x60, 0x06, - 0x20, 0x04, - 0x30, 0x0C, 0xF0, 0x0F, + 0x18, 0x18, + 0xEC, 0x37, + 0x36, 0x6C, + 0x1A, 0x58, + 0x0B, 0xD0, + 0x0B, 0xD0, + 0x0B, 0xD0, + 0x0B, 0xD0, + 0x1A, 0x58, + 0x36, 0x6C, + 0xEC, 0x37, + 0x18, 0x18, + 0xF0, 0x0F, + 0xC0, 0x03, }; -static constexpr Bitmap bitmap_icon_options_radio { - { 16, 16 }, bitmap_icon_options_radio_data +static constexpr Bitmap bitmap_icon_tpms { + { 16, 16 }, bitmap_icon_tpms_data +}; + +static constexpr uint8_t bitmap_icon_tetra_data[] = { + 0xE0, 0x0F, + 0x18, 0x38, + 0xE4, 0x67, + 0x7E, 0xCE, + 0xC7, 0xCC, + 0x00, 0x00, + 0xFF, 0x4F, + 0xBA, 0xB2, + 0x9A, 0xEE, + 0xBA, 0xB2, + 0x00, 0x00, + 0x3B, 0xE3, + 0x73, 0x7E, + 0xC6, 0x27, + 0x1C, 0x18, + 0xF0, 0x07, +}; +static constexpr Bitmap bitmap_icon_tetra { + { 16, 16 }, bitmap_icon_tetra_data +}; + +static constexpr uint8_t bitmap_icon_capture_data[] = { + 0xE0, 0x07, + 0xF8, 0x1F, + 0xFC, 0x3F, + 0xFE, 0x7F, + 0xFE, 0x7F, + 0xFF, 0xFF, + 0xFF, 0xFF, + 0xFF, 0xFF, + 0xFF, 0xFF, + 0xFF, 0xFF, + 0xFF, 0xFF, + 0xFE, 0x7F, + 0xFE, 0x7F, + 0xFC, 0x3F, + 0xF8, 0x1F, + 0xE0, 0x07, +}; +static constexpr Bitmap bitmap_icon_capture { + { 16, 16 }, bitmap_icon_capture_data +}; + +static constexpr uint8_t bitmap_icon_file_wav_data[] = { + 0xFC, 0x03, + 0x04, 0x06, + 0x04, 0x0E, + 0x04, 0x1E, + 0x04, 0x3E, + 0x84, 0x20, + 0xC4, 0x22, + 0xF4, 0x20, + 0xF4, 0x2E, + 0xF4, 0x20, + 0xC4, 0x22, + 0x84, 0x24, + 0x04, 0x28, + 0x04, 0x20, + 0x04, 0x20, + 0xFC, 0x3F, +}; +static constexpr Bitmap bitmap_icon_file_wav { + { 16, 16 }, bitmap_icon_file_wav_data +}; + +static constexpr uint8_t bitmap_icon_file_text_data[] = { + 0xFC, 0x03, + 0x04, 0x06, + 0x04, 0x0E, + 0x04, 0x1E, + 0xF4, 0x3E, + 0x04, 0x20, + 0xF4, 0x2F, + 0x04, 0x20, + 0xF4, 0x2F, + 0x04, 0x20, + 0xF4, 0x2F, + 0x04, 0x20, + 0xF4, 0x2F, + 0x04, 0x20, + 0x04, 0x20, + 0xFC, 0x3F, +}; +static constexpr Bitmap bitmap_icon_file_text { + { 16, 16 }, bitmap_icon_file_text_data +}; + +static constexpr uint8_t bitmap_icon_sd_data[] = { + 0x00, 0x00, + 0x00, 0x00, + 0xC0, 0x1F, + 0xE0, 0x1F, + 0xF0, 0x1F, + 0xF8, 0x1F, + 0x98, 0x18, + 0xE8, 0x16, + 0xC8, 0x16, + 0x98, 0x16, + 0xB8, 0x16, + 0xC8, 0x18, + 0xF8, 0x1F, + 0xF8, 0x1F, + 0x00, 0x00, + 0x00, 0x00, +}; +static constexpr Bitmap bitmap_icon_sd { + { 16, 16 }, bitmap_icon_sd_data +}; + +static constexpr uint8_t bitmap_icon_dir_data[] = { + 0x00, 0x00, + 0x3E, 0x00, + 0x41, 0x00, + 0xC1, 0x7F, + 0xFF, 0xFF, + 0xFF, 0xFF, + 0xFF, 0xFF, + 0xFF, 0xFF, + 0xFF, 0xFF, + 0xFF, 0xFF, + 0xAF, 0xEA, + 0x57, 0xF5, + 0xEF, 0xEF, + 0xF7, 0xF7, + 0xEE, 0x6F, + 0x00, 0x00, +}; +static constexpr Bitmap bitmap_icon_dir { + { 16, 16 }, bitmap_icon_dir_data }; static constexpr uint8_t bitmap_icon_options_touch_data[] = { @@ -1153,136 +1515,308 @@ static constexpr Bitmap bitmap_icon_options_touch { { 16, 16 }, bitmap_icon_options_touch_data }; -static constexpr uint8_t bitmap_icon_options_ui_data[] = { - 0xFF, 0x1F, - 0xFF, 0x13, - 0xFF, 0x1F, - 0x01, 0x10, - 0x01, 0x10, - 0x01, 0x10, - 0x01, 0x04, - 0x01, 0x0C, - 0x01, 0x1C, - 0x01, 0x3C, - 0xFF, 0x7D, - 0x00, 0xFC, - 0x00, 0x34, - 0x00, 0x20, - 0x00, 0x60, - 0x00, 0x00, -}; -static constexpr Bitmap bitmap_icon_options_ui { - { 16, 16 }, bitmap_icon_options_ui_data -}; - -static constexpr uint8_t bitmap_icon_peripherals_data[] = { - 0x54, 0x01, - 0x54, 0x01, - 0xFF, 0x07, - 0x7C, 0x01, - 0xBF, 0x07, - 0xDC, 0x18, - 0x6F, 0x10, - 0x2C, 0x21, - 0xAF, 0x20, - 0x34, 0x20, - 0x54, 0x10, - 0xC0, 0x38, - 0x00, 0x77, - 0x00, 0xE0, - 0x00, 0xC0, - 0x00, 0x00, -}; -static constexpr Bitmap bitmap_icon_peripherals { - { 16, 16 }, bitmap_icon_peripherals_data -}; - -static constexpr uint8_t bitmap_icon_peripherals_details_data[] = { - 0x54, 0x01, - 0x54, 0x01, - 0xFF, 0x07, - 0xFC, 0x01, - 0x3F, 0x00, - 0xBC, 0x3F, - 0xBF, 0x60, - 0xBC, 0xEE, - 0xBF, 0x80, - 0x94, 0xBE, - 0x94, 0x80, - 0x80, 0xBE, - 0x80, 0x80, - 0x80, 0xBE, - 0x80, 0x80, - 0x80, 0xFF, -}; -static constexpr Bitmap bitmap_icon_peripherals_details { - { 16, 16 }, bitmap_icon_peripherals_details_data -}; - -static constexpr uint8_t bitmap_icon_pocsag_data[] = { - 0x00, 0x00, - 0x00, 0x00, - 0x00, 0x00, +static constexpr uint8_t bitmap_icon_nuoptix_data[] = { + 0x80, 0x01, + 0x80, 0x01, + 0x40, 0x02, + 0x40, 0x1A, + 0x40, 0x1A, + 0x20, 0x0C, + 0x20, 0x0F, + 0x20, 0x1E, + 0x10, 0x0E, + 0x10, 0x0B, + 0x10, 0x0B, + 0xF8, 0x1F, + 0xF8, 0x1F, + 0xF8, 0x1F, 0xFC, 0x3F, - 0xFE, 0x7F, - 0x02, 0x40, - 0xBA, 0x45, - 0x02, 0x40, - 0xFE, 0x7F, - 0xFE, 0x7F, - 0x92, 0x7C, - 0x92, 0x7C, 0xFC, 0x3F, - 0x00, 0x00, - 0x00, 0x00, - 0x00, 0x00, }; -static constexpr Bitmap bitmap_icon_pocsag { - { 16, 16 }, bitmap_icon_pocsag_data +static constexpr Bitmap bitmap_icon_nuoptix { + { 16, 16 }, bitmap_icon_nuoptix_data }; -static constexpr uint8_t bitmap_icon_previous_data[] = { +static constexpr uint8_t bitmap_icon_aprs_data[] = { 0x00, 0x00, - 0xC0, 0x00, - 0xE0, 0x00, - 0x70, 0x00, - 0x38, 0x00, - 0x1C, 0x00, - 0x0E, 0x00, + 0x00, 0x00, + 0x00, 0x00, + 0xF0, 0x0F, + 0x4C, 0x32, + 0xFE, 0x7F, + 0x25, 0xA4, + 0x25, 0xA4, 0xFF, 0xFF, - 0xFF, 0xFF, - 0x0E, 0x00, - 0x1C, 0x00, - 0x38, 0x00, - 0x70, 0x00, - 0xE0, 0x00, - 0xC0, 0x00, + 0x25, 0xA4, + 0x25, 0xA4, + 0xFE, 0x7F, + 0x4C, 0x32, + 0xF0, 0x0F, + 0x00, 0x00, 0x00, 0x00, }; -static constexpr Bitmap bitmap_icon_previous { - { 16, 16 }, bitmap_icon_previous_data +static constexpr Bitmap bitmap_icon_aprs { + { 16, 16 }, bitmap_icon_aprs_data }; -static constexpr uint8_t bitmap_icon_rds_data[] = { - 0x00, 0x00, - 0x00, 0x00, - 0x00, 0x00, - 0x00, 0x00, - 0x3C, 0x3C, - 0x7E, 0x7E, - 0x67, 0xE7, - 0x83, 0xC3, - 0xC7, 0xE1, - 0xFD, 0xBC, - 0x42, 0x42, - 0x3C, 0x3C, +static constexpr uint8_t bitmap_stripes_data[] = { + 0xFF, 0x03, 0xC0, + 0xFF, 0x01, 0xE0, + 0xFF, 0x00, 0xF0, + 0x7F, 0x00, 0xF8, + 0x3F, 0x00, 0xFC, + 0x1F, 0x00, 0xFE, + 0x0F, 0x00, 0xFF, + 0x07, 0x80, 0xFF, +}; +static constexpr Bitmap bitmap_stripes { + { 24, 8 }, bitmap_stripes_data +}; + +static constexpr uint8_t bitmap_icon_sonde_data[] = { + 0x80, 0x03, + 0xE0, 0x0F, + 0xE0, 0x0F, + 0xF0, 0x1F, + 0xF0, 0x1F, + 0xF0, 0x1F, + 0xE0, 0x0F, + 0xE0, 0x0F, + 0x00, 0x00, + 0x20, 0x09, + 0x00, 0x00, + 0x40, 0x05, + 0x00, 0x00, + 0xC0, 0x07, + 0xC0, 0x07, + 0xC0, 0x07, +}; +static constexpr Bitmap bitmap_icon_sonde { + { 16, 16 }, bitmap_icon_sonde_data +}; + +static constexpr uint8_t bitmap_icon_sleep_data[] = { 0x00, 0x00, 0x00, 0x00, + 0x00, 0x04, + 0x00, 0x08, + 0x00, 0x18, + 0x00, 0x18, + 0x00, 0x38, + 0x00, 0x3C, + 0x00, 0x3C, + 0x00, 0x3E, + 0x84, 0x1F, + 0xF8, 0x1F, + 0xF0, 0x0F, + 0xC0, 0x03, 0x00, 0x00, 0x00, 0x00, }; -static constexpr Bitmap bitmap_icon_rds { - { 16, 16 }, bitmap_icon_rds_data +static constexpr Bitmap bitmap_icon_sleep { + { 16, 16 }, bitmap_icon_sleep_data +}; + +static constexpr uint8_t bitmap_icon_keyfob_data[] = { + 0x30, 0x00, + 0x30, 0x00, + 0x30, 0x00, + 0x30, 0x00, + 0x30, 0x00, + 0x30, 0x00, + 0xFC, 0x00, + 0xCE, 0x01, + 0x86, 0x01, + 0xFE, 0x01, + 0x86, 0x31, + 0x86, 0x49, + 0xCE, 0x87, + 0xFC, 0x84, + 0xFC, 0x4B, + 0x78, 0x30, +}; +static constexpr Bitmap bitmap_icon_keyfob { + { 16, 16 }, bitmap_icon_keyfob_data +}; + +static constexpr uint8_t bitmap_sig_cw_data[] = { + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + 0xFE, 0xFF, 0xFF, 0x7F, + 0xFE, 0xFF, 0xFF, 0x7F, + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, +}; +static constexpr Bitmap bitmap_sig_cw { + { 32, 32 }, bitmap_sig_cw_data +}; + +static constexpr uint8_t bitmap_sig_saw_up_data[] = { + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + 0x06, 0x00, 0x01, 0x70, + 0x06, 0x80, 0x01, 0x78, + 0x06, 0xC0, 0x01, 0x7C, + 0x06, 0xE0, 0x01, 0x6E, + 0x06, 0xF0, 0x01, 0x67, + 0x06, 0xB8, 0x81, 0x63, + 0x06, 0x9C, 0xC1, 0x61, + 0x06, 0x8E, 0xE1, 0x60, + 0x06, 0x87, 0x71, 0x60, + 0x86, 0x83, 0x39, 0x60, + 0xC6, 0x81, 0x1D, 0x60, + 0xE6, 0x80, 0x0F, 0x60, + 0x76, 0x80, 0x07, 0x60, + 0x3E, 0x80, 0x03, 0x60, + 0x1E, 0x80, 0x01, 0x60, + 0x0E, 0x80, 0x00, 0x60, + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, +}; +static constexpr Bitmap bitmap_sig_saw_up { + { 32, 32 }, bitmap_sig_saw_up_data +}; + +static constexpr uint8_t bitmap_icon_options_datetime_data[] = { + 0x0C, 0x06, + 0xFF, 0x1F, + 0x49, 0x12, + 0x49, 0x12, + 0xFF, 0x1F, + 0x49, 0x00, + 0x49, 0x1C, + 0x7F, 0x63, + 0x09, 0x49, + 0x89, 0x88, + 0xBE, 0xB8, + 0x80, 0x80, + 0x00, 0x41, + 0x00, 0x63, + 0x00, 0x1C, + 0x00, 0x00, +}; +static constexpr Bitmap bitmap_icon_options_datetime { + { 16, 16 }, bitmap_icon_options_datetime_data +}; + +static constexpr uint8_t bitmap_target_calibrate_data[] = { + 0x02, 0x00, 0x00, 0x40, + 0x07, 0x00, 0x00, 0xE0, + 0x0E, 0x00, 0x00, 0x70, + 0x1C, 0x00, 0x00, 0x38, + 0x38, 0x00, 0x00, 0x1C, + 0x70, 0x00, 0x00, 0x0E, + 0xE0, 0x00, 0x00, 0x07, + 0xC0, 0x01, 0x80, 0x03, + 0x80, 0x03, 0xC0, 0x01, + 0x00, 0x07, 0xE0, 0x00, + 0x00, 0x0E, 0x70, 0x00, + 0x00, 0x1C, 0x38, 0x00, + 0x00, 0x38, 0x1C, 0x00, + 0x00, 0x70, 0x0E, 0x00, + 0x00, 0xE0, 0x07, 0x00, + 0x00, 0xC0, 0x03, 0x00, + 0x00, 0xC0, 0x03, 0x00, + 0x00, 0xE0, 0x07, 0x00, + 0x00, 0x70, 0x0E, 0x00, + 0x00, 0x38, 0x1C, 0x00, + 0x00, 0x1C, 0x38, 0x00, + 0x00, 0x0E, 0x70, 0x00, + 0x00, 0x07, 0xE0, 0x00, + 0x80, 0x03, 0xC0, 0x01, + 0xC0, 0x01, 0x80, 0x03, + 0xE0, 0x00, 0x00, 0x07, + 0x70, 0x00, 0x00, 0x0E, + 0x38, 0x00, 0x00, 0x1C, + 0x1C, 0x00, 0x00, 0x38, + 0x0E, 0x00, 0x00, 0x70, + 0x07, 0x00, 0x00, 0xE0, + 0x02, 0x00, 0x00, 0x40, +}; +static constexpr Bitmap bitmap_target_calibrate { + { 32, 32 }, bitmap_target_calibrate_data +}; + +static constexpr uint8_t bitmap_rssipwm_data[] = { + 0x00, 0x00, 0x00, + 0x8F, 0xE7, 0x7D, + 0x51, 0x10, 0x10, + 0x51, 0x10, 0x10, + 0x8F, 0xE3, 0x10, + 0x09, 0x04, 0x11, + 0x11, 0x04, 0x11, + 0xD1, 0xF3, 0x7C, + 0x00, 0x00, 0x00, + 0x3F, 0x1E, 0x1E, + 0x21, 0x12, 0x12, + 0x21, 0x12, 0x12, + 0x21, 0x12, 0x12, + 0x21, 0x12, 0x12, + 0x21, 0x12, 0x12, + 0xE1, 0xF3, 0x73, +}; +static constexpr Bitmap bitmap_rssipwm { + { 24, 16 }, bitmap_rssipwm_data +}; + +static constexpr uint8_t bitmap_icon_ert_data[] = { + 0x00, 0x00, + 0x00, 0x0F, + 0x80, 0x7F, + 0xC0, 0x0F, + 0xFC, 0x0F, + 0xC2, 0x0F, + 0x82, 0x7F, + 0x01, 0x0F, + 0x01, 0x00, + 0x21, 0x05, + 0x53, 0x09, + 0x56, 0x09, + 0x50, 0x05, + 0x50, 0x05, + 0x20, 0xAD, + 0x00, 0x00, +}; +static constexpr Bitmap bitmap_icon_ert { + { 16, 16 }, bitmap_icon_ert_data }; static constexpr uint8_t bitmap_icon_receivers_data[] = { @@ -1329,570 +1863,6 @@ static constexpr Bitmap bitmap_icon_remote { { 16, 16 }, bitmap_icon_remote_data }; -static constexpr uint8_t bitmap_icon_rename_data[] = { - 0x00, 0x00, - 0x00, 0x00, - 0x00, 0x0E, - 0x00, 0x04, - 0xFF, 0xF5, - 0x01, 0x84, - 0xC9, 0x84, - 0x55, 0x85, - 0xDD, 0x84, - 0x55, 0x85, - 0xD5, 0x84, - 0x01, 0x84, - 0xFF, 0xF5, - 0x00, 0x04, - 0x00, 0x0E, - 0x00, 0x00, -}; -static constexpr Bitmap bitmap_icon_rename { - { 16, 16 }, bitmap_icon_rename_data -}; - -static constexpr uint8_t bitmap_icon_rename_numeric_data[] = { - 0x00, 0x00, - 0x00, 0x00, - 0x00, 0x0E, - 0x00, 0x04, - 0xFF, 0xF5, - 0x01, 0x84, - 0xC9, 0x85, - 0x0D, 0x85, - 0xC9, 0x85, - 0x49, 0x84, - 0xDD, 0x85, - 0x01, 0x84, - 0xFF, 0xF5, - 0x00, 0x04, - 0x00, 0x0E, - 0x00, 0x00, -}; -static constexpr Bitmap bitmap_icon_rename_numeric { - { 16, 16 }, bitmap_icon_rename_numeric_data -}; - -static constexpr uint8_t bitmap_icon_replay_data[] = { - 0x00, 0x00, - 0x00, 0x00, - 0x0C, 0x00, - 0x3C, 0x00, - 0xFC, 0x00, - 0xFC, 0x03, - 0xFC, 0x0F, - 0xFC, 0x3F, - 0xFC, 0x3F, - 0xFC, 0x0F, - 0xFC, 0x03, - 0xFC, 0x00, - 0x3C, 0x00, - 0x0C, 0x00, - 0x00, 0x00, - 0x00, 0x00, -}; -static constexpr Bitmap bitmap_icon_replay { - { 16, 16 }, bitmap_icon_replay_data -}; - -static constexpr uint8_t bitmap_icon_save_data[] = { - 0x00, 0x01, - 0x00, 0x01, - 0x00, 0x01, - 0x00, 0x01, - 0x4E, 0x05, - 0x91, 0x03, - 0x3F, 0x19, - 0x01, 0x20, - 0xF9, 0xFF, - 0xF9, 0xFF, - 0xFD, 0x7F, - 0xFD, 0x7F, - 0xFF, 0x3F, - 0xFF, 0x3F, - 0xFF, 0x1F, - 0xFF, 0x1F, -}; -static constexpr Bitmap bitmap_icon_save { - { 16, 16 }, bitmap_icon_save_data -}; - -static constexpr uint8_t bitmap_icon_scanner_data[] = { - 0x03, 0x00, - 0x00, 0x00, - 0x03, 0x00, - 0x00, 0x00, - 0x0F, 0x00, - 0x00, 0x00, - 0x03, 0x01, - 0x80, 0x01, - 0xC3, 0x00, - 0xE0, 0xFF, - 0xEF, 0xFF, - 0xC0, 0x00, - 0x83, 0x01, - 0x00, 0x01, - 0x03, 0x00, - 0x00, 0x00, -}; -static constexpr Bitmap bitmap_icon_scanner { - { 16, 16 }, bitmap_icon_scanner_data -}; - -static constexpr uint8_t bitmap_icon_script_data[] = { - 0xFC, 0x07, - 0xFA, 0x0F, - 0x19, 0x1A, - 0xF9, 0x1F, - 0x1E, 0x1D, - 0xF8, 0x1F, - 0x98, 0x1F, - 0xF8, 0x1F, - 0xF8, 0x1F, - 0x08, 0x14, - 0xF8, 0x1F, - 0x48, 0x1E, - 0xF8, 0xFF, - 0x78, 0x80, - 0x30, 0x40, - 0xE0, 0x3F, -}; -static constexpr Bitmap bitmap_icon_script { - { 16, 16 }, bitmap_icon_script_data -}; - -static constexpr uint8_t bitmap_icon_sd_data[] = { - 0x00, 0x00, - 0x00, 0x00, - 0xC0, 0x1F, - 0xE0, 0x1F, - 0xF0, 0x1F, - 0xF8, 0x1F, - 0x98, 0x18, - 0xE8, 0x16, - 0xC8, 0x16, - 0x98, 0x16, - 0xB8, 0x16, - 0xC8, 0x18, - 0xF8, 0x1F, - 0xF8, 0x1F, - 0x00, 0x00, - 0x00, 0x00, -}; -static constexpr Bitmap bitmap_icon_sd { - { 16, 16 }, bitmap_icon_sd_data -}; - -static constexpr uint8_t bitmap_icon_sdcard_data[] = { - 0xF0, 0x3F, - 0x58, 0x35, - 0x5C, 0x35, - 0xFC, 0x3F, - 0xFC, 0x3F, - 0xFC, 0x3F, - 0xFC, 0x3F, - 0xFC, 0x3F, - 0xFC, 0x3F, - 0xAC, 0x3A, - 0x5C, 0x35, - 0xAC, 0x3A, - 0x5C, 0x35, - 0xAC, 0x3A, - 0x5C, 0x35, - 0xAC, 0x3A, -}; -static constexpr Bitmap bitmap_icon_sdcard { - { 16, 16 }, bitmap_icon_sdcard_data -}; - -static constexpr uint8_t bitmap_icon_search_data[] = { - 0xF8, 0x01, - 0xFC, 0x03, - 0x0E, 0x07, - 0x07, 0x0E, - 0x03, 0x0C, - 0x0B, 0x0C, - 0x0B, 0x0C, - 0x13, 0x0C, - 0x07, 0x0E, - 0x0E, 0x07, - 0xFC, 0x1F, - 0xF8, 0x3D, - 0x00, 0x7C, - 0x00, 0xF8, - 0x00, 0xF0, - 0x00, 0x60, -}; -static constexpr Bitmap bitmap_icon_search { - { 16, 16 }, bitmap_icon_search_data -}; - -static constexpr uint8_t bitmap_icon_setup_data[] = { - 0xC0, 0x01, - 0xC0, 0x01, - 0xE4, 0x13, - 0xFE, 0x3F, - 0xFF, 0x7F, - 0x3E, 0x3E, - 0x1C, 0x1C, - 0x1C, 0x1C, - 0x1C, 0x1C, - 0x3E, 0x3E, - 0xFF, 0x7F, - 0xFE, 0x3F, - 0xE4, 0x13, - 0xC0, 0x01, - 0xC0, 0x01, - 0x00, 0x00, -}; -static constexpr Bitmap bitmap_icon_setup { - { 16, 16 }, bitmap_icon_setup_data -}; - -static constexpr uint8_t bitmap_icon_sleep_data[] = { - 0x00, 0x00, - 0x00, 0x00, - 0x00, 0x04, - 0x00, 0x08, - 0x00, 0x18, - 0x00, 0x18, - 0x00, 0x38, - 0x00, 0x3C, - 0x00, 0x3C, - 0x00, 0x3E, - 0x84, 0x1F, - 0xF8, 0x1F, - 0xF0, 0x0F, - 0xC0, 0x03, - 0x00, 0x00, - 0x00, 0x00, -}; -static constexpr Bitmap bitmap_icon_sleep { - { 16, 16 }, bitmap_icon_sleep_data -}; - -static constexpr uint8_t bitmap_icon_sonde_data[] = { - 0x80, 0x03, - 0xE0, 0x0F, - 0xE0, 0x0F, - 0xF0, 0x1F, - 0xF0, 0x1F, - 0xF0, 0x1F, - 0xE0, 0x0F, - 0xE0, 0x0F, - 0x00, 0x00, - 0x20, 0x09, - 0x00, 0x00, - 0x40, 0x05, - 0x00, 0x00, - 0xC0, 0x07, - 0xC0, 0x07, - 0xC0, 0x07, -}; -static constexpr Bitmap bitmap_icon_sonde { - { 16, 16 }, bitmap_icon_sonde_data -}; - -static constexpr uint8_t bitmap_icon_soundboard_data[] = { - 0xF0, 0x0F, - 0x1C, 0x18, - 0x17, 0x38, - 0x15, 0x78, - 0x15, 0xF8, - 0x15, 0x82, - 0x15, 0x8B, - 0xD5, 0x83, - 0xD5, 0xBB, - 0xD5, 0x83, - 0x15, 0x8B, - 0x15, 0x92, - 0x15, 0xA0, - 0x17, 0x80, - 0x1C, 0x80, - 0xF0, 0xFF, -}; -static constexpr Bitmap bitmap_icon_soundboard { - { 16, 16 }, bitmap_icon_soundboard_data -}; - -static constexpr uint8_t bitmap_icon_speaker_data[] = { - 0x00, 0x00, - 0x40, 0x10, - 0x60, 0x20, - 0x70, 0x44, - 0x78, 0x48, - 0x7F, 0x91, - 0x7F, 0x92, - 0x7F, 0x92, - 0x7F, 0x92, - 0x7F, 0x92, - 0x7F, 0x92, - 0x7F, 0x91, - 0x78, 0x48, - 0x70, 0x44, - 0x60, 0x20, - 0x40, 0x10, -}; -static constexpr Bitmap bitmap_icon_speaker { - { 16, 16 }, bitmap_icon_speaker_data -}; - -static constexpr uint8_t bitmap_icon_speaker_mute_data[] = { - 0x00, 0x00, - 0x40, 0x00, - 0x60, 0x00, - 0x70, 0x00, - 0x78, 0x00, - 0x7F, 0x22, - 0x7F, 0x36, - 0x7F, 0x1C, - 0x7F, 0x08, - 0x7F, 0x1C, - 0x7F, 0x36, - 0x7F, 0x22, - 0x78, 0x00, - 0x70, 0x00, - 0x60, 0x00, - 0x40, 0x00, -}; -static constexpr Bitmap bitmap_icon_speaker_mute { - { 16, 16 }, bitmap_icon_speaker_mute_data -}; - -static constexpr uint8_t bitmap_icon_sstv_data[] = { - 0x00, 0x00, - 0x00, 0x00, - 0xFE, 0x7F, - 0x03, 0xC0, - 0x53, 0xD5, - 0xAB, 0xCA, - 0x53, 0xD5, - 0xAB, 0xCA, - 0x53, 0xD5, - 0xAB, 0xCA, - 0x53, 0xD5, - 0x03, 0xC0, - 0xFF, 0xFF, - 0xFB, 0xD7, - 0xFE, 0x7F, - 0x00, 0x00, -}; -static constexpr Bitmap bitmap_icon_sstv { - { 16, 16 }, bitmap_icon_sstv_data -}; - -static constexpr uint8_t bitmap_icon_stealth_data[] = { - 0x00, 0x00, - 0xC0, 0x03, - 0xE0, 0x07, - 0xE0, 0x07, - 0xF8, 0x1F, - 0x00, 0x00, - 0xE0, 0x07, - 0x60, 0x06, - 0x00, 0x00, - 0xF0, 0x0F, - 0xF0, 0x0F, - 0xF8, 0x1E, - 0xFC, 0x3F, - 0xFC, 0x3E, - 0xFC, 0x3F, - 0x00, 0x00, -}; -static constexpr Bitmap bitmap_icon_stealth { - { 16, 16 }, bitmap_icon_stealth_data -}; - -static constexpr uint8_t bitmap_icon_temperature_data[] = { - 0x00, 0x01, - 0x80, 0x01, - 0x80, 0x05, - 0xC0, 0x0D, - 0x40, 0x0D, - 0xD0, 0x1F, - 0x70, 0x15, - 0xB0, 0x1A, - 0x58, 0x35, - 0xB8, 0x3A, - 0x58, 0x34, - 0x28, 0x28, - 0x18, 0x30, - 0x30, 0x18, - 0x60, 0x0C, - 0xC0, 0x07, -}; -static constexpr Bitmap bitmap_icon_temperature { - { 16, 16 }, bitmap_icon_temperature_data -}; - -static constexpr uint8_t bitmap_icon_tetra_data[] = { - 0xE0, 0x0F, - 0x18, 0x38, - 0xE4, 0x67, - 0x7E, 0xCE, - 0xC7, 0xCC, - 0x00, 0x00, - 0xFF, 0x4F, - 0xBA, 0xB2, - 0x9A, 0xEE, - 0xBA, 0xB2, - 0x00, 0x00, - 0x3B, 0xE3, - 0x73, 0x7E, - 0xC6, 0x27, - 0x1C, 0x18, - 0xF0, 0x07, -}; -static constexpr Bitmap bitmap_icon_tetra { - { 16, 16 }, bitmap_icon_tetra_data -}; - -static constexpr uint8_t bitmap_icon_tools_antenna_data[] = { - 0x38, 0x3E, - 0x10, 0x22, - 0x10, 0x26, - 0x10, 0x22, - 0x10, 0x2E, - 0x10, 0x22, - 0x10, 0x26, - 0x10, 0x22, - 0x38, 0x2E, - 0x38, 0x22, - 0x38, 0x26, - 0x38, 0x22, - 0x38, 0x2E, - 0x38, 0x22, - 0x38, 0x3E, - 0x00, 0x00, -}; -static constexpr Bitmap bitmap_icon_tools_antenna { - { 16, 16 }, bitmap_icon_tools_antenna_data -}; - -static constexpr uint8_t bitmap_icon_tools_wipesd_data[] = { - 0xF0, 0x3F, - 0x58, 0x35, - 0x5C, 0x35, - 0xFC, 0x3F, - 0xFC, 0x3F, - 0xFC, 0x3F, - 0x3C, 0x1C, - 0xBC, 0xC9, - 0xBC, 0xE3, - 0x2C, 0x77, - 0x5C, 0x3E, - 0xAC, 0x1C, - 0x5C, 0x3E, - 0x2C, 0x77, - 0x9C, 0xE3, - 0xAC, 0xC1, -}; -static constexpr Bitmap bitmap_icon_tools_wipesd { - { 16, 16 }, bitmap_icon_tools_wipesd_data -}; - -static constexpr uint8_t bitmap_icon_tpms_data[] = { - 0xC0, 0x03, - 0xF0, 0x0F, - 0x18, 0x18, - 0xEC, 0x37, - 0x36, 0x6C, - 0x1A, 0x58, - 0x0B, 0xD0, - 0x0B, 0xD0, - 0x0B, 0xD0, - 0x0B, 0xD0, - 0x1A, 0x58, - 0x36, 0x6C, - 0xEC, 0x37, - 0x18, 0x18, - 0xF0, 0x0F, - 0xC0, 0x03, -}; -static constexpr Bitmap bitmap_icon_tpms { - { 16, 16 }, bitmap_icon_tpms_data -}; - -static constexpr uint8_t bitmap_icon_transmit_data[] = { - 0x80, 0x01, - 0xC0, 0x03, - 0xE0, 0x07, - 0xB0, 0x0D, - 0x98, 0x19, - 0x80, 0x01, - 0x80, 0x01, - 0x80, 0x01, - 0x80, 0x01, - 0x80, 0x01, - 0x80, 0x01, - 0x80, 0x01, - 0x83, 0xC1, - 0x03, 0xC0, - 0xFF, 0xFF, - 0xFF, 0xFF, -}; -static constexpr Bitmap bitmap_icon_transmit { - { 16, 16 }, bitmap_icon_transmit_data -}; - -static constexpr uint8_t bitmap_icon_utilities_data[] = { - 0x30, 0x24, - 0x78, 0x66, - 0x78, 0x66, - 0x78, 0x7E, - 0x78, 0x3C, - 0x78, 0x18, - 0x78, 0x18, - 0x30, 0x3C, - 0x30, 0x3C, - 0x30, 0x3C, - 0x30, 0x3C, - 0x30, 0x3C, - 0x30, 0x3C, - 0x30, 0x3C, - 0x30, 0x18, - 0x00, 0x00, -}; -static constexpr Bitmap bitmap_icon_utilities { - { 16, 16 }, bitmap_icon_utilities_data -}; - -static constexpr uint8_t bitmap_more_data[] = { - 0x10, - 0x10, - 0x10, - 0x10, - 0x54, - 0x38, - 0x10, - 0x00, -}; -static constexpr Bitmap bitmap_more { - { 8, 8 }, bitmap_more_data -}; - -static constexpr uint8_t bitmap_play_data[] = { - 0x00, 0x00, - 0x00, 0x00, - 0x0C, 0x00, - 0x3C, 0x00, - 0xFC, 0x00, - 0xFC, 0x03, - 0xFC, 0x0F, - 0xFC, 0x3F, - 0xFC, 0x3F, - 0xFC, 0x0F, - 0xFC, 0x03, - 0xFC, 0x00, - 0x3C, 0x00, - 0x0C, 0x00, - 0x00, 0x00, - 0x00, 0x00, -}; -static constexpr Bitmap bitmap_play { - { 16, 16 }, bitmap_play_data -}; - static constexpr uint8_t bitmap_record_data[] = { 0xC0, 0x07, 0xF0, 0x1F, @@ -1915,28 +1885,6 @@ static constexpr Bitmap bitmap_record { { 16, 16 }, bitmap_record_data }; -static constexpr uint8_t bitmap_rssipwm_data[] = { - 0x00, 0x00, 0x00, - 0x8F, 0xE7, 0x7D, - 0x51, 0x10, 0x10, - 0x51, 0x10, 0x10, - 0x8F, 0xE3, 0x10, - 0x09, 0x04, 0x11, - 0x11, 0x04, 0x11, - 0xD1, 0xF3, 0x7C, - 0x00, 0x00, 0x00, - 0x3F, 0x1E, 0x1E, - 0x21, 0x12, 0x12, - 0x21, 0x12, 0x12, - 0x21, 0x12, 0x12, - 0x21, 0x12, 0x12, - 0x21, 0x12, 0x12, - 0xE1, 0xF3, 0x73, -}; -static constexpr Bitmap bitmap_rssipwm { - { 24, 16 }, bitmap_rssipwm_data -}; - static constexpr uint8_t bitmap_sd_card_error_data[] = { 0x00, 0x00, 0x00, 0x00, @@ -1959,200 +1907,70 @@ static constexpr Bitmap bitmap_sd_card_error { { 16, 16 }, bitmap_sd_card_error_data }; -static constexpr uint8_t bitmap_sd_card_ok_data[] = { - 0x00, 0x00, - 0x00, 0x00, - 0xC0, 0x1F, - 0xE0, 0x1F, - 0xF0, 0x1F, +static constexpr uint8_t bitmap_icon_script_data[] = { + 0xFC, 0x07, + 0xFA, 0x0F, + 0x19, 0x1A, + 0xF9, 0x1F, + 0x1E, 0x1D, + 0xF8, 0x1F, + 0x98, 0x1F, 0xF8, 0x1F, 0xF8, 0x1F, - 0x98, 0x15, - 0x68, 0x19, - 0x68, 0x1D, - 0x68, 0x19, - 0x98, 0x15, + 0x08, 0x14, 0xF8, 0x1F, - 0xF8, 0x1F, - 0x00, 0x00, - 0x00, 0x00, + 0x48, 0x1E, + 0xF8, 0xFF, + 0x78, 0x80, + 0x30, 0x40, + 0xE0, 0x3F, }; -static constexpr Bitmap bitmap_sd_card_ok { - { 16, 16 }, bitmap_sd_card_ok_data +static constexpr Bitmap bitmap_icon_script { + { 16, 16 }, bitmap_icon_script_data }; -static constexpr uint8_t bitmap_sd_card_unknown_data[] = { +static constexpr uint8_t bitmap_icon_replay_data[] = { 0x00, 0x00, 0x00, 0x00, - 0xC0, 0x1F, - 0xE0, 0x1F, - 0xF0, 0x1F, - 0xF8, 0x1F, - 0x38, 0x1C, - 0x98, 0x19, - 0xF8, 0x1C, - 0x78, 0x1E, - 0x78, 0x1E, - 0xF8, 0x1F, - 0x78, 0x1E, - 0xF8, 0x1F, + 0x0C, 0x00, + 0x3C, 0x00, + 0xFC, 0x00, + 0xFC, 0x03, + 0xFC, 0x0F, + 0xFC, 0x3F, + 0xFC, 0x3F, + 0xFC, 0x0F, + 0xFC, 0x03, + 0xFC, 0x00, + 0x3C, 0x00, + 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, }; -static constexpr Bitmap bitmap_sd_card_unknown { - { 16, 16 }, bitmap_sd_card_unknown_data +static constexpr Bitmap bitmap_icon_replay { + { 16, 16 }, bitmap_icon_replay_data }; -static constexpr uint8_t bitmap_sig_cw_data[] = { - 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, - 0xFE, 0xFF, 0xFF, 0x7F, - 0xFE, 0xFF, 0xFF, 0x7F, - 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, +static constexpr uint8_t bitmap_icon_setup_data[] = { + 0xC0, 0x01, + 0xC0, 0x01, + 0xE4, 0x13, + 0xFE, 0x3F, + 0xFF, 0x7F, + 0x3E, 0x3E, + 0x1C, 0x1C, + 0x1C, 0x1C, + 0x1C, 0x1C, + 0x3E, 0x3E, + 0xFF, 0x7F, + 0xFE, 0x3F, + 0xE4, 0x13, + 0xC0, 0x01, + 0xC0, 0x01, + 0x00, 0x00, }; -static constexpr Bitmap bitmap_sig_cw { - { 32, 32 }, bitmap_sig_cw_data -}; - -static constexpr uint8_t bitmap_sig_noise_data[] = { - 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, - 0x00, 0x20, 0x00, 0x00, - 0x00, 0x30, 0x80, 0x00, - 0x00, 0x30, 0x80, 0x01, - 0x40, 0x30, 0xC0, 0x03, - 0xC0, 0x30, 0xC0, 0x03, - 0xC0, 0x39, 0xC0, 0x72, - 0xC0, 0x7B, 0x60, 0x76, - 0x60, 0x6E, 0x60, 0x1E, - 0x60, 0xCE, 0x6C, 0x0C, - 0x66, 0xC4, 0x6E, 0x0C, - 0x66, 0xC0, 0x3E, 0x00, - 0x2C, 0xC0, 0x3B, 0x00, - 0x3C, 0xC0, 0x39, 0x00, - 0x3C, 0xC0, 0x18, 0x00, - 0x18, 0x40, 0x10, 0x00, - 0x18, 0x40, 0x10, 0x00, - 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, -}; -static constexpr Bitmap bitmap_sig_noise { - { 32, 32 }, bitmap_sig_noise_data -}; - -static constexpr uint8_t bitmap_sig_saw_down_data[] = { - 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, - 0x0E, 0x80, 0x00, 0x60, - 0x1E, 0x80, 0x01, 0x60, - 0x3E, 0x80, 0x03, 0x60, - 0x76, 0x80, 0x07, 0x60, - 0xE6, 0x80, 0x0F, 0x60, - 0xC6, 0x81, 0x1D, 0x60, - 0x86, 0x83, 0x39, 0x60, - 0x06, 0x87, 0x71, 0x60, - 0x06, 0x8E, 0xE1, 0x60, - 0x06, 0x9C, 0xC1, 0x61, - 0x06, 0xB8, 0x81, 0x63, - 0x06, 0xF0, 0x01, 0x67, - 0x06, 0xE0, 0x01, 0x6E, - 0x06, 0xC0, 0x01, 0x7C, - 0x06, 0x80, 0x01, 0x78, - 0x06, 0x00, 0x01, 0x70, - 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, -}; -static constexpr Bitmap bitmap_sig_saw_down { - { 32, 32 }, bitmap_sig_saw_down_data -}; - -static constexpr uint8_t bitmap_sig_saw_up_data[] = { - 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, - 0x06, 0x00, 0x01, 0x70, - 0x06, 0x80, 0x01, 0x78, - 0x06, 0xC0, 0x01, 0x7C, - 0x06, 0xE0, 0x01, 0x6E, - 0x06, 0xF0, 0x01, 0x67, - 0x06, 0xB8, 0x81, 0x63, - 0x06, 0x9C, 0xC1, 0x61, - 0x06, 0x8E, 0xE1, 0x60, - 0x06, 0x87, 0x71, 0x60, - 0x86, 0x83, 0x39, 0x60, - 0xC6, 0x81, 0x1D, 0x60, - 0xE6, 0x80, 0x0F, 0x60, - 0x76, 0x80, 0x07, 0x60, - 0x3E, 0x80, 0x03, 0x60, - 0x1E, 0x80, 0x01, 0x60, - 0x0E, 0x80, 0x00, 0x60, - 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, -}; -static constexpr Bitmap bitmap_sig_saw_up { - { 32, 32 }, bitmap_sig_saw_up_data +static constexpr Bitmap bitmap_icon_setup { + { 16, 16 }, bitmap_icon_setup_data }; static constexpr uint8_t bitmap_sig_sine_data[] = { @@ -2193,7 +2011,161 @@ static constexpr Bitmap bitmap_sig_sine { { 32, 32 }, bitmap_sig_sine_data }; -static constexpr uint8_t bitmap_sig_square_data[] = { +static constexpr uint8_t bitmap_icon_sstv_data[] = { + 0x00, 0x00, + 0x00, 0x00, + 0xFE, 0x7F, + 0x03, 0xC0, + 0x53, 0xD5, + 0xAB, 0xCA, + 0x53, 0xD5, + 0xAB, 0xCA, + 0x53, 0xD5, + 0xAB, 0xCA, + 0x53, 0xD5, + 0x03, 0xC0, + 0xFF, 0xFF, + 0xFB, 0xD7, + 0xFE, 0x7F, + 0x00, 0x00, +}; +static constexpr Bitmap bitmap_icon_sstv { + { 16, 16 }, bitmap_icon_sstv_data +}; + +static constexpr uint8_t bitmap_titlebar_image_data[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x22, 0xC7, 0x8B, 0x9E, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xA2, 0x28, 0x48, 0xA6, 0x81, 0x31, 0x67, 0x36, 0x73, 0x63, + 0xBE, 0x2F, 0x38, 0x9E, 0x87, 0xBB, 0x6D, 0x36, 0x1B, 0x77, + 0xA2, 0x28, 0x48, 0xA6, 0x81, 0xBF, 0x6D, 0x36, 0x1B, 0x7F, + 0xA2, 0xC8, 0x8B, 0xA6, 0x81, 0xB5, 0xCF, 0xF3, 0x7B, 0x6B, + 0x00, 0x00, 0x00, 0x00, 0x80, 0xB1, 0x8D, 0x31, 0x1B, 0x63, + 0xEE, 0xEE, 0xEE, 0xEE, 0x8A, 0xB1, 0x8D, 0x31, 0x1B, 0x63, + 0xAE, 0x46, 0xEE, 0x2E, 0x86, 0xB1, 0x8D, 0x31, 0x73, 0x63, + 0xE2, 0x4A, 0x2A, 0xEA, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +}; +static constexpr Bitmap bitmap_titlebar_image { + { 80, 16 }, bitmap_titlebar_image_data +}; + +static constexpr uint8_t bitmap_icon_lora_data[] = { + 0xC0, 0x03, + 0x30, 0x0C, + 0x00, 0x00, + 0xC0, 0x03, + 0x00, 0x00, + 0xC0, 0x03, + 0x60, 0x06, + 0x60, 0x06, + 0x60, 0x06, + 0x60, 0x06, + 0xC0, 0x03, + 0x00, 0x00, + 0xC0, 0x03, + 0x00, 0x00, + 0x30, 0x0C, + 0xC0, 0x03, +}; +static constexpr Bitmap bitmap_icon_lora { + { 16, 16 }, bitmap_icon_lora_data +}; + +static constexpr uint8_t bitmap_icon_temperature_data[] = { + 0x00, 0x01, + 0x80, 0x01, + 0x80, 0x05, + 0xC0, 0x0D, + 0x40, 0x0D, + 0xD0, 0x1F, + 0x70, 0x15, + 0xB0, 0x1A, + 0x58, 0x35, + 0xB8, 0x3A, + 0x58, 0x34, + 0x28, 0x28, + 0x18, 0x30, + 0x30, 0x18, + 0x60, 0x0C, + 0xC0, 0x07, +}; +static constexpr Bitmap bitmap_icon_temperature { + { 16, 16 }, bitmap_icon_temperature_data +}; + +static constexpr uint8_t bitmap_icon_tools_wipesd_data[] = { + 0xF0, 0x3F, + 0x58, 0x35, + 0x5C, 0x35, + 0xFC, 0x3F, + 0xFC, 0x3F, + 0xFC, 0x3F, + 0x3C, 0x1C, + 0xBC, 0xC9, + 0xBC, 0xE3, + 0x2C, 0x77, + 0x5C, 0x3E, + 0xAC, 0x1C, + 0x5C, 0x3E, + 0x2C, 0x77, + 0x9C, 0xE3, + 0xAC, 0xC1, +}; +static constexpr Bitmap bitmap_icon_tools_wipesd { + { 16, 16 }, bitmap_icon_tools_wipesd_data +}; + +static constexpr uint8_t bitmap_icon_clk_int_data[] = { + 0x00, + 0x00, + 0xDC, + 0x54, + 0x54, + 0x54, + 0x54, + 0x76, + 0x00, + 0x44, + 0x6C, + 0x38, + 0x38, + 0x6C, + 0x44, + 0x00, +}; +static constexpr Bitmap bitmap_icon_clk_int { + { 8, 16 }, bitmap_icon_clk_int_data +}; + +static constexpr uint8_t bitmap_icon_file_iq_data[] = { + 0xFC, 0x03, + 0x04, 0x06, + 0x04, 0x0E, + 0x04, 0x1E, + 0x04, 0x3E, + 0x04, 0x20, + 0x04, 0x20, + 0x04, 0x21, + 0x44, 0x25, + 0x54, 0x25, + 0xF4, 0x2F, + 0xA4, 0x2A, + 0x84, 0x22, + 0x04, 0x22, + 0x04, 0x20, + 0xFC, 0x3F, +}; +static constexpr Bitmap bitmap_icon_file_iq { + { 16, 16 }, bitmap_icon_file_iq_data +}; + +static constexpr uint8_t bitmap_sig_noise_data[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -2202,22 +2174,22 @@ static constexpr uint8_t bitmap_sig_square_data[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xFE, 0x83, 0xFF, 0x60, - 0xFE, 0x83, 0xFF, 0x60, - 0x06, 0x83, 0xC1, 0x60, - 0x06, 0x83, 0xC1, 0x60, - 0x06, 0x83, 0xC1, 0x60, - 0x06, 0x83, 0xC1, 0x60, - 0x06, 0x83, 0xC1, 0x60, - 0x06, 0x83, 0xC1, 0x60, - 0x06, 0x83, 0xC1, 0x60, - 0x06, 0x83, 0xC1, 0x60, - 0x06, 0x83, 0xC1, 0x60, - 0x06, 0x83, 0xC1, 0x60, - 0x06, 0x83, 0xC1, 0x60, - 0x06, 0x83, 0xC1, 0x60, - 0x06, 0xFF, 0xC1, 0x7F, - 0x06, 0xFF, 0xC1, 0x7F, + 0x00, 0x20, 0x00, 0x00, + 0x00, 0x30, 0x80, 0x00, + 0x00, 0x30, 0x80, 0x01, + 0x40, 0x30, 0xC0, 0x03, + 0xC0, 0x30, 0xC0, 0x03, + 0xC0, 0x39, 0xC0, 0x72, + 0xC0, 0x7B, 0x60, 0x76, + 0x60, 0x6E, 0x60, 0x1E, + 0x60, 0xCE, 0x6C, 0x0C, + 0x66, 0xC4, 0x6E, 0x0C, + 0x66, 0xC0, 0x3E, 0x00, + 0x2C, 0xC0, 0x3B, 0x00, + 0x3C, 0xC0, 0x39, 0x00, + 0x3C, 0xC0, 0x18, 0x00, + 0x18, 0x40, 0x10, 0x00, + 0x18, 0x40, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -2227,8 +2199,74 @@ static constexpr uint8_t bitmap_sig_square_data[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; -static constexpr Bitmap bitmap_sig_square { - { 32, 32 }, bitmap_sig_square_data +static constexpr Bitmap bitmap_sig_noise { + { 32, 32 }, bitmap_sig_noise_data +}; + +static constexpr uint8_t bitmap_icon_back_data[] = { + 0x00, 0x00, + 0x30, 0x00, + 0x38, 0x00, + 0x1C, 0x00, + 0x0E, 0x00, + 0xFF, 0x3F, + 0xFF, 0x7F, + 0x0E, 0xE0, + 0x1C, 0xC0, + 0x38, 0xC0, + 0x30, 0xC0, + 0x00, 0xE0, + 0x00, 0x7F, + 0x00, 0x3F, + 0x00, 0x00, + 0x00, 0x00, +}; +static constexpr Bitmap bitmap_icon_back { + { 16, 16 }, bitmap_icon_back_data +}; + +static constexpr uint8_t bitmap_icon_nrf_data[] = { + 0x00, 0x01, + 0x00, 0x01, + 0x00, 0x01, + 0x00, 0x01, + 0x00, 0x01, + 0x00, 0x01, + 0x00, 0x01, + 0xF8, 0x3F, + 0xFC, 0x7F, + 0xFC, 0x7F, + 0xDC, 0x7F, + 0x8C, 0x6B, + 0xDC, 0x7F, + 0xFC, 0x7F, + 0xFC, 0x7F, + 0xF8, 0x3F, +}; +static constexpr Bitmap bitmap_icon_nrf { + { 16, 16 }, bitmap_icon_nrf_data +}; + +static constexpr uint8_t bitmap_icon_camera_data[] = { + 0x00, 0x00, + 0x00, 0x00, + 0xE0, 0x07, + 0xF0, 0x0F, + 0x3E, 0x7C, + 0xDE, 0x7B, + 0xEE, 0x77, + 0xEE, 0x77, + 0xEE, 0x77, + 0xEE, 0x77, + 0xDE, 0x7B, + 0x3E, 0x7C, + 0xFE, 0x7F, + 0x00, 0x00, + 0x00, 0x00, + 0x00, 0x00, +}; +static constexpr Bitmap bitmap_icon_camera { + { 16, 16 }, bitmap_icon_camera_data }; static constexpr uint8_t bitmap_sig_tri_data[] = { @@ -2269,130 +2307,26 @@ static constexpr Bitmap bitmap_sig_tri { { 32, 32 }, bitmap_sig_tri_data }; -static constexpr uint8_t bitmap_stop_data[] = { - 0xFF, 0xFF, - 0xFF, 0xFF, - 0xFF, 0xFF, - 0xFF, 0xFF, - 0xFF, 0xFF, - 0x8B, 0xCD, - 0xDD, 0xAA, - 0xDB, 0xCA, - 0xDB, 0xEA, - 0xDD, 0xED, - 0xFF, 0xFF, - 0xFF, 0xFF, - 0xFF, 0xFF, - 0xFF, 0xFF, - 0xFF, 0xFF, +static constexpr uint8_t bitmap_icon_options_radio_data[] = { 0x00, 0x00, -}; -static constexpr Bitmap bitmap_stop { - { 16, 16 }, bitmap_stop_data -}; - -static constexpr uint8_t bitmap_stripes_data[] = { - 0xFF, 0x03, 0xC0, - 0xFF, 0x01, 0xE0, - 0xFF, 0x00, 0xF0, - 0x7F, 0x00, 0xF8, - 0x3F, 0x00, 0xFC, - 0x1F, 0x00, 0xFE, - 0x0F, 0x00, 0xFF, - 0x07, 0x80, 0xFF, -}; -static constexpr Bitmap bitmap_stripes { - { 24, 8 }, bitmap_stripes_data -}; - -static constexpr uint8_t bitmap_tab_edge_data[] = { - 0x00, - 0x01, - 0x01, - 0x03, - 0x03, - 0x03, - 0x07, - 0x07, - 0x07, - 0x0F, - 0x0F, - 0x0F, - 0x1F, - 0x1F, - 0x1F, - 0x1F, - 0x3F, - 0x3F, - 0x3F, - 0x7F, - 0x7F, - 0x7F, - 0xFF, - 0xFF, -}; -static constexpr Bitmap bitmap_tab_edge { - { 8, 24 }, bitmap_tab_edge_data -}; - -static constexpr uint8_t bitmap_target_data[] = { - 0x80, 0x00, - 0x80, 0x00, - 0xE0, 0x03, - 0x90, 0x04, - 0x88, 0x08, - 0x04, 0x10, - 0x04, 0x10, - 0x1F, 0x7C, - 0x04, 0x10, - 0x04, 0x10, - 0x88, 0x08, - 0x90, 0x04, - 0xE0, 0x03, - 0x80, 0x00, - 0x80, 0x00, 0x00, 0x00, + 0x04, 0x20, + 0x12, 0x48, + 0x8A, 0x51, + 0xCA, 0x53, + 0xCA, 0x53, + 0x8A, 0x51, + 0x12, 0x48, + 0x84, 0x21, + 0xC0, 0x03, + 0x40, 0x02, + 0x60, 0x06, + 0x20, 0x04, + 0x30, 0x0C, + 0xF0, 0x0F, }; -static constexpr Bitmap bitmap_target { - { 16, 16 }, bitmap_target_data -}; - -static constexpr uint8_t bitmap_target_calibrate_data[] = { - 0x02, 0x00, 0x00, 0x40, - 0x07, 0x00, 0x00, 0xE0, - 0x0E, 0x00, 0x00, 0x70, - 0x1C, 0x00, 0x00, 0x38, - 0x38, 0x00, 0x00, 0x1C, - 0x70, 0x00, 0x00, 0x0E, - 0xE0, 0x00, 0x00, 0x07, - 0xC0, 0x01, 0x80, 0x03, - 0x80, 0x03, 0xC0, 0x01, - 0x00, 0x07, 0xE0, 0x00, - 0x00, 0x0E, 0x70, 0x00, - 0x00, 0x1C, 0x38, 0x00, - 0x00, 0x38, 0x1C, 0x00, - 0x00, 0x70, 0x0E, 0x00, - 0x00, 0xE0, 0x07, 0x00, - 0x00, 0xC0, 0x03, 0x00, - 0x00, 0xC0, 0x03, 0x00, - 0x00, 0xE0, 0x07, 0x00, - 0x00, 0x70, 0x0E, 0x00, - 0x00, 0x38, 0x1C, 0x00, - 0x00, 0x1C, 0x38, 0x00, - 0x00, 0x0E, 0x70, 0x00, - 0x00, 0x07, 0xE0, 0x00, - 0x80, 0x03, 0xC0, 0x01, - 0xC0, 0x01, 0x80, 0x03, - 0xE0, 0x00, 0x00, 0x07, - 0x70, 0x00, 0x00, 0x0E, - 0x38, 0x00, 0x00, 0x1C, - 0x1C, 0x00, 0x00, 0x38, - 0x0E, 0x00, 0x00, 0x70, - 0x07, 0x00, 0x00, 0xE0, - 0x02, 0x00, 0x00, 0x40, -}; -static constexpr Bitmap bitmap_target_calibrate { - { 32, 32 }, bitmap_target_calibrate_data +static constexpr Bitmap bitmap_icon_options_radio { + { 16, 16 }, bitmap_icon_options_radio_data }; static constexpr uint8_t bitmap_target_verify_data[] = { @@ -2433,6 +2367,94 @@ static constexpr Bitmap bitmap_target_verify { { 32, 32 }, bitmap_target_verify_data }; +static constexpr uint8_t bitmap_play_data[] = { + 0x00, 0x00, + 0x00, 0x00, + 0x0C, 0x00, + 0x3C, 0x00, + 0xFC, 0x00, + 0xFC, 0x03, + 0xFC, 0x0F, + 0xFC, 0x3F, + 0xFC, 0x3F, + 0xFC, 0x0F, + 0xFC, 0x03, + 0xFC, 0x00, + 0x3C, 0x00, + 0x0C, 0x00, + 0x00, 0x00, + 0x00, 0x00, +}; +static constexpr Bitmap bitmap_play { + { 16, 16 }, bitmap_play_data +}; + +static constexpr uint8_t bitmap_icon_options_ui_data[] = { + 0xFF, 0x1F, + 0xFF, 0x13, + 0xFF, 0x1F, + 0x01, 0x10, + 0x01, 0x10, + 0x01, 0x10, + 0x01, 0x04, + 0x01, 0x0C, + 0x01, 0x1C, + 0x01, 0x3C, + 0xFF, 0x7D, + 0x00, 0xFC, + 0x00, 0x34, + 0x00, 0x20, + 0x00, 0x60, + 0x00, 0x00, +}; +static constexpr Bitmap bitmap_icon_options_ui { + { 16, 16 }, bitmap_icon_options_ui_data +}; + +static constexpr uint8_t bitmap_target_data[] = { + 0x80, 0x00, + 0x80, 0x00, + 0xE0, 0x03, + 0x90, 0x04, + 0x88, 0x08, + 0x04, 0x10, + 0x04, 0x10, + 0x1F, 0x7C, + 0x04, 0x10, + 0x04, 0x10, + 0x88, 0x08, + 0x90, 0x04, + 0xE0, 0x03, + 0x80, 0x00, + 0x80, 0x00, + 0x00, 0x00, +}; +static constexpr Bitmap bitmap_target { + { 16, 16 }, bitmap_target_data +}; + +static constexpr uint8_t bitmap_icon_lge_data[] = { + 0x00, 0x00, + 0x80, 0x00, + 0xA4, 0x12, + 0xA8, 0x0A, + 0xD0, 0x05, + 0xEC, 0x1B, + 0xF0, 0x07, + 0xFE, 0xFF, + 0xF0, 0x07, + 0xEC, 0x1B, + 0xD0, 0x05, + 0xA8, 0x0A, + 0xA4, 0x12, + 0x80, 0x00, + 0x00, 0x00, + 0x00, 0x00, +}; +static constexpr Bitmap bitmap_icon_lge { + { 16, 16 }, bitmap_icon_lge_data +}; + } /* namespace ui */ diff --git a/firmware/application/ui_navigation.cpp b/firmware/application/ui_navigation.cpp index 7d36f046..32fdafcc 100644 --- a/firmware/application/ui_navigation.cpp +++ b/firmware/application/ui_navigation.cpp @@ -106,6 +106,7 @@ SystemStatusView::SystemStatusView( &backdrop, &button_back, &title, + &button_title, &button_speaker, &button_stealth, //&button_textentry, @@ -138,6 +139,10 @@ SystemStatusView::SystemStatusView( if (this->on_back) this->on_back(); }; + + button_title.on_select = [this](ImageButton&) { + this->on_title(); + }; button_speaker.on_select = [this](ImageButton&) { this->on_speaker(); @@ -194,8 +199,23 @@ void SystemStatusView::refresh() { } void SystemStatusView::set_back_enabled(bool new_value) { - button_back.set_foreground(new_value ? Color::white() : Color::dark_grey()); - button_back.set_focusable(new_value); + + if(new_value){ + add_child(&button_back); + } + else{ + remove_child(&button_back); + } +} + +void SystemStatusView::set_title_image_enabled(bool new_value) { + + if(new_value){ + add_child(&button_title); + } + else{ + remove_child(&button_title); + } } void SystemStatusView::set_title(const std::string new_value) { @@ -282,6 +302,10 @@ void SystemStatusView::on_camera() { } } +void SystemStatusView::on_title() { + nav_.push(); +} + /* Navigation ************************************************************/ bool NavigationView::is_top() const { @@ -515,8 +539,11 @@ SystemView::SystemView( }); navigation_view.on_view_changed = [this](const View& new_view) { this->status_view.set_back_enabled(!this->navigation_view.is_top()); + this->status_view.set_title_image_enabled(this->navigation_view.is_top()); + this->status_view.set_dirty(); this->status_view.set_title(new_view.title()); }; + // portapack::persistent_memory::set_playdead_sequence(0x8D1); diff --git a/firmware/application/ui_navigation.hpp b/firmware/application/ui_navigation.hpp index c5e7d1f8..8754d35d 100644 --- a/firmware/application/ui_navigation.hpp +++ b/firmware/application/ui_navigation.hpp @@ -106,10 +106,11 @@ public: SystemStatusView(NavigationView& nav); void set_back_enabled(bool new_value); + void set_title_image_enabled(bool new_value); void set_title(const std::string new_value); private: - static constexpr auto default_title = "MAYHEM v1.1.1"; // TODO: Move the version somewhere + static constexpr auto default_title = " v1.1.1"; // TODO: Move the version somewhere NavigationView& nav_; @@ -130,6 +131,13 @@ private: default_title, }; + ImageButton button_title { + {2, 0, 80, 16}, + &bitmap_titlebar_image, + Color::white(), + Color::dark_grey() + }; + ImageButton button_speaker { { 17 * 8, 0, 2 * 8, 1 * 16 }, &bitmap_icon_speaker_mute, @@ -188,6 +196,7 @@ private: void on_bias_tee(); //void on_textentry(); void on_camera(); + void on_title(); void refresh(); MessageHandlerRegistration message_handler_refresh { diff --git a/firmware/graphics/titlebar_image.png b/firmware/graphics/titlebar_image.png new file mode 100644 index 0000000000000000000000000000000000000000..2c65c09428ee08bdc86ff495449f1f3c6305c7f2 GIT binary patch literal 5572 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 S`7G)H0000