diff --git a/firmware/application/apps/ais_app.hpp b/firmware/application/apps/ais_app.hpp index 6d319ba0..ec1a1e14 100644 --- a/firmware/application/apps/ais_app.hpp +++ b/firmware/application/apps/ais_app.hpp @@ -166,7 +166,7 @@ public: void focus() override; - std::string title() const override { return "AIS Boats RX"; }; + std::string title() const override { return "AIS RX"; }; private: static constexpr uint32_t initial_target_frequency = 162025000; diff --git a/firmware/application/apps/analog_tv_app.hpp b/firmware/application/apps/analog_tv_app.hpp index def1c940..cea94b2d 100644 --- a/firmware/application/apps/analog_tv_app.hpp +++ b/firmware/application/apps/analog_tv_app.hpp @@ -53,7 +53,7 @@ public: void focus() override; - std::string title() const override { return "Analog TV RX"; }; + std::string title() const override { return "AnalogTV RX"; }; private: static constexpr ui::Dim header_height = 3 * 16; diff --git a/firmware/application/apps/ert_app.hpp b/firmware/application/apps/ert_app.hpp index ea4e11c6..c121e11b 100644 --- a/firmware/application/apps/ert_app.hpp +++ b/firmware/application/apps/ert_app.hpp @@ -125,7 +125,7 @@ public: void focus() override; - std::string title() const override { return "ERT Meter RX"; }; + std::string title() const override { return "ERT RX"; }; private: ERTRecentEntries recent { }; diff --git a/firmware/application/apps/soundboard_app.hpp b/firmware/application/apps/soundboard_app.hpp index a8afb73c..6d59caa5 100644 --- a/firmware/application/apps/soundboard_app.hpp +++ b/firmware/application/apps/soundboard_app.hpp @@ -46,7 +46,7 @@ public: void focus() override; - std::string title() const override { return "Soundboard TX"; }; + std::string title() const override { return "Soundbrd TX"; }; private: NavigationView& nav_; diff --git a/firmware/application/apps/tpms_app.hpp b/firmware/application/apps/tpms_app.hpp index 9544554f..81626283 100644 --- a/firmware/application/apps/tpms_app.hpp +++ b/firmware/application/apps/tpms_app.hpp @@ -102,8 +102,8 @@ public: void paint(Painter&) override { }; void focus() override; - - std::string title() const override { return "TPMS Cars RX"; }; + + std::string title() const override { return "TPMS RX"; }; private: static constexpr uint32_t initial_target_frequency = 315000000; diff --git a/firmware/application/apps/ui_afsk_rx.hpp b/firmware/application/apps/ui_afsk_rx.hpp index dccf0e01..cef19af1 100644 --- a/firmware/application/apps/ui_afsk_rx.hpp +++ b/firmware/application/apps/ui_afsk_rx.hpp @@ -52,7 +52,7 @@ public: void focus() override; - std::string title() const override { return "AFSK RX (beta)"; }; + std::string title() const override { return "AFSK RX"; }; private: void on_data(uint32_t value, bool is_data); diff --git a/firmware/application/apps/ui_bht_tx.hpp b/firmware/application/apps/ui_bht_tx.hpp index 17768e2b..920d6785 100644 --- a/firmware/application/apps/ui_bht_tx.hpp +++ b/firmware/application/apps/ui_bht_tx.hpp @@ -179,7 +179,7 @@ public: void focus() override; - std::string title() const override { return "BHT Xy/EP TX"; }; + std::string title() const override { return "BHT TX"; }; private: // app save settings diff --git a/firmware/application/apps/ui_coasterp.hpp b/firmware/application/apps/ui_coasterp.hpp index 873d3abe..af6a27b4 100644 --- a/firmware/application/apps/ui_coasterp.hpp +++ b/firmware/application/apps/ui_coasterp.hpp @@ -40,7 +40,7 @@ public: void focus() override; - std::string title() const override { return "BurgerPgr TX"; }; + std::string title() const override { return "BurgerPgrTX"; }; private: enum tx_modes { diff --git a/firmware/application/apps/ui_fileman.hpp b/firmware/application/apps/ui_fileman.hpp index 68c09db8..d91d4f65 100644 --- a/firmware/application/apps/ui_fileman.hpp +++ b/firmware/application/apps/ui_fileman.hpp @@ -48,7 +48,7 @@ public: void load_directory_contents(const std::filesystem::path& dir_path); std::filesystem::path get_selected_path(); - std::string title() const override { return "File manager"; }; + std::string title() const override { return "Fileman"; }; protected: NavigationView& nav_; diff --git a/firmware/application/apps/ui_freqman.hpp b/firmware/application/apps/ui_freqman.hpp index b65c8433..7ea6f1a4 100644 --- a/firmware/application/apps/ui_freqman.hpp +++ b/firmware/application/apps/ui_freqman.hpp @@ -87,7 +87,7 @@ class FrequencySaveView : public FreqManBaseView { public: FrequencySaveView(NavigationView& nav, const rf::Frequency value); - std::string title() const override { return "Save frequency"; }; + std::string title() const override { return "Save freq."; }; private: std::string desc_buffer { }; @@ -126,7 +126,7 @@ public: FrequencyLoadView(NavigationView& nav); - std::string title() const override { return "Load frequency"; }; + std::string title() const override { return "Load freq."; }; private: void refresh_widgets(const bool v); @@ -137,7 +137,7 @@ public: FrequencyManagerView(NavigationView& nav); ~FrequencyManagerView(); - std::string title() const override { return "Freq. manager"; }; + std::string title() const override { return "Freqman"; }; private: std::string desc_buffer { }; diff --git a/firmware/application/apps/ui_looking_glass_app.hpp b/firmware/application/apps/ui_looking_glass_app.hpp index f9089b1e..7d292b02 100644 --- a/firmware/application/apps/ui_looking_glass_app.hpp +++ b/firmware/application/apps/ui_looking_glass_app.hpp @@ -49,7 +49,7 @@ namespace ui GlassView& operator=(const GlassView &nav); ~GlassView(); - std::string title() const override { return "Looking Glass"; }; + std::string title() const override { return "LookingGlass"; }; void on_show() override; void on_hide() override; diff --git a/firmware/application/apps/ui_sd_wipe.hpp b/firmware/application/apps/ui_sd_wipe.hpp index fc593f16..1e70058d 100644 --- a/firmware/application/apps/ui_sd_wipe.hpp +++ b/firmware/application/apps/ui_sd_wipe.hpp @@ -38,7 +38,7 @@ public: ~WipeSDView(); void focus() override; - std::string title() const override { return "Wipe SD Card"; }; + std::string title() const override { return "Wipe sdcard"; }; private: NavigationView& nav_; diff --git a/firmware/application/apps/ui_settings.cpp b/firmware/application/apps/ui_settings.cpp index 93786c38..5c02c642 100644 --- a/firmware/application/apps/ui_settings.cpp +++ b/firmware/application/apps/ui_settings.cpp @@ -38,6 +38,8 @@ using namespace portapack; #include "ui_font_fixed_8x16.hpp" #include "cpld_update.hpp" +#include "freqman.hpp" + namespace ui { SetDateTimeView::SetDateTimeView( @@ -144,6 +146,8 @@ SetRadioView::SetRadioView( } add_children({ + &check_hamitup, + &button_hamitup_freq, &check_clkout, &field_clkout_freq, &labels_clkout_khz, @@ -168,6 +172,28 @@ SetRadioView::SetRadioView( EventDispatcher::send_message(message); }; + check_hamitup.set_value(portapack::persistent_memory::config_hamitup()); + check_hamitup.on_select = [this](Checkbox&, bool v) { + portapack::persistent_memory::set_config_hamitup(v); + // Retune to take hamitup change in account + receiver_model.set_tuning_frequency( portapack::persistent_memory::tuned_frequency() ); + //Refresh status bar with/out UP! + StatusRefreshMessage message { }; + EventDispatcher::send_message(message); + }; + + button_hamitup_freq.set_text( to_string_short_freq( portapack::persistent_memory::config_hamitup_freq() ) + "MHz"); + + button_hamitup_freq.on_select = [this, &nav](Button& button) { + auto new_view = nav.push(portapack::persistent_memory::config_hamitup_freq() ); + new_view->on_changed = [this, &button](rf::Frequency f) { + portapack::persistent_memory::set_config_hamitup_freq( f ); + // Retune to take hamitup change in account + receiver_model.set_tuning_frequency( portapack::persistent_memory::tuned_frequency() ); + button_hamitup_freq.set_text( "<" + to_string_short_freq( f ) + " MHz>" ); + }; + }; + field_clkout_freq.set_value(portapack::persistent_memory::clkout_freq()); value_freq_step.set_style(&style_text); @@ -376,13 +402,13 @@ SettingsMenuView::SettingsMenuView(NavigationView& nav) { add_items( { { "..", ui::Color::light_grey(),&bitmap_icon_previous, [&nav](){ nav.pop(); } } } ); } add_items({ - { "Audio", ui::Color::dark_cyan(), &bitmap_icon_speaker, [&nav](){ nav.push(); } }, - { "Radio", ui::Color::dark_cyan(), &bitmap_icon_options_radio, [&nav](){ nav.push(); } }, - { "User Interface", ui::Color::dark_cyan(), &bitmap_icon_options_ui, [&nav](){ nav.push(); } }, - { "Date/Time", ui::Color::dark_cyan(), &bitmap_icon_options_datetime, [&nav](){ nav.push(); } }, - { "Calibration", ui::Color::dark_cyan(), &bitmap_icon_options_touch, [&nav](){ nav.push(); } }, - { "App Settings", ui::Color::dark_cyan(), &bitmap_icon_setup, [&nav](){ nav.push(); } }, - { "QR Code", ui::Color::dark_cyan(), &bitmap_icon_qr_code, [&nav](){ nav.push(); } } + { "Audio", ui::Color::dark_cyan(), &bitmap_icon_speaker, [&nav](){ nav.push(); } }, + { "Radio", ui::Color::dark_cyan(), &bitmap_icon_options_radio, [&nav](){ nav.push(); } }, + { "User Interface", ui::Color::dark_cyan(), &bitmap_icon_options_ui, [&nav](){ nav.push(); } }, + { "Date/Time", ui::Color::dark_cyan(), &bitmap_icon_options_datetime, [&nav](){ nav.push(); } }, + { "Calibration", ui::Color::dark_cyan(), &bitmap_icon_options_touch, [&nav](){ nav.push(); } }, + { "App Settings", ui::Color::dark_cyan(), &bitmap_icon_setup, [&nav](){ nav.push(); } }, + { "QR Code", ui::Color::dark_cyan(), &bitmap_icon_qr_code, [&nav](){ nav.push(); } } }); set_max_rows(2); // allow wider buttons } diff --git a/firmware/application/apps/ui_settings.hpp b/firmware/application/apps/ui_settings.hpp index cbffdaae..b135eb45 100644 --- a/firmware/application/apps/ui_settings.hpp +++ b/firmware/application/apps/ui_settings.hpp @@ -124,7 +124,7 @@ public: void focus() override; - std::string title() const override { return "Radio settings"; }; + std::string title() const override { return "Radio"; }; private: const Style style_text { @@ -154,7 +154,7 @@ private: { { 6 * 8, 4 * 16 }, "PPM", Color::light_grey() }, }; - Checkbox check_clkout { + Checkbox check_clkout { { 18, (6 * 16 - 4) }, 13, "Enable CLKOUT" @@ -193,11 +193,21 @@ private: }; Checkbox check_bias { - { 28, 13 * 16 }, + { 18, 12 * 16 }, 5, "Turn on bias voltage" }; + Checkbox check_hamitup { + { 18, 14 * 16}, + 7, + "HamItUp" + }; + Button button_hamitup_freq { + { 240 - 15 * 8 , 14 * 16 , 15 * 8 , 24 }, + "", + }; + Button button_save { { 2 * 8, 16 * 16, 12 * 8, 32 }, "Save" @@ -219,7 +229,7 @@ public: void focus() override; - std::string title() const override { return "UI settings"; }; + std::string title() const override { return "UI"; }; private: @@ -299,7 +309,7 @@ public: void focus() override; - std::string title() const override { return "App Settings"; }; + std::string title() const override { return "AppSettings"; }; private: @@ -332,7 +342,7 @@ public: void focus() override; - std::string title() const override { return "Audio settings"; }; + std::string title() const override { return "Audio"; }; private: Labels labels { diff --git a/firmware/application/apps/ui_sonde.hpp b/firmware/application/apps/ui_sonde.hpp index 3129c72b..1c8ca29a 100644 --- a/firmware/application/apps/ui_sonde.hpp +++ b/firmware/application/apps/ui_sonde.hpp @@ -62,7 +62,7 @@ public: void focus() override; - std::string title() const override { return "Radiosonde RX"; }; + std::string title() const override { return "Radiosnd RX"; }; diff --git a/firmware/application/apps/ui_sstvtx.hpp b/firmware/application/apps/ui_sstvtx.hpp index 97f2cd68..f54a8131 100644 --- a/firmware/application/apps/ui_sstvtx.hpp +++ b/firmware/application/apps/ui_sstvtx.hpp @@ -53,7 +53,7 @@ public: void focus() override; void paint(Painter&) override; - std::string title() const override { return "SSTV TX (beta)"; }; + std::string title() const override { return "SSTV TX"; }; private: NavigationView& nav_; diff --git a/firmware/application/apps/ui_touchtunes.hpp b/firmware/application/apps/ui_touchtunes.hpp index b7fb5a75..89b76aae 100644 --- a/firmware/application/apps/ui_touchtunes.hpp +++ b/firmware/application/apps/ui_touchtunes.hpp @@ -110,7 +110,7 @@ public: void focus() override; - std::string title() const override { return "TouchTunes TX"; }; + std::string title() const override { return "TouchTunes"; }; private: uint32_t scan_button_index { }; diff --git a/firmware/application/apps/ui_whipcalc.hpp b/firmware/application/apps/ui_whipcalc.hpp index 8fca52a8..2651d32f 100644 --- a/firmware/application/apps/ui_whipcalc.hpp +++ b/firmware/application/apps/ui_whipcalc.hpp @@ -37,7 +37,7 @@ namespace ui public: WhipCalcView(NavigationView &nav); void focus() override; - std::string title() const override { return "Antenna length"; }; + std::string title() const override { return "Ant. length"; }; private: const double speed_of_light_mps = 299792458.0; // m/s diff --git a/firmware/application/bitmap.hpp b/firmware/application/bitmap.hpp index 57c9f5fe..f36b158e 100644 --- a/firmware/application/bitmap.hpp +++ b/firmware/application/bitmap.hpp @@ -29,138 +29,274 @@ namespace ui { -static constexpr uint8_t bitmap_bulb_ignore_data[] = { - 0x00, 0x3C, 0x00, - 0x00, 0xC3, 0x00, - 0x80, 0x00, 0x01, - 0x40, 0x3C, 0x02, - 0x20, 0x7E, 0x04, - 0x20, 0xE7, 0x04, - 0x10, 0xC3, 0x08, - 0x10, 0xE3, 0x08, - 0x10, 0x70, 0x08, - 0x10, 0x38, 0x08, - 0x10, 0x18, 0x08, - 0x20, 0x18, 0x04, - 0x20, 0x00, 0x04, - 0x40, 0x18, 0x02, - 0x80, 0x18, 0x01, - 0x00, 0xC3, 0x00, - 0x00, 0xFF, 0x00, - 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_ignore { - { 24, 24 }, bitmap_bulb_ignore_data -}; - -static constexpr uint8_t bitmap_bulb_off_data[] = { - 0x00, 0x3C, 0x00, - 0x00, 0xC3, 0x00, - 0x80, 0x00, 0x01, - 0x40, 0x00, 0x02, - 0x20, 0x00, 0x04, - 0x20, 0x00, 0x04, - 0x10, 0x00, 0x08, - 0x10, 0x42, 0x08, - 0x10, 0x42, 0x08, - 0x10, 0x24, 0x08, - 0x10, 0x24, 0x08, - 0x20, 0x24, 0x04, - 0x20, 0x2C, 0x04, - 0x40, 0x34, 0x02, - 0x80, 0x3C, 0x01, - 0x00, 0xFF, 0x00, - 0x00, 0xE3, 0x00, - 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_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 Bitmap bitmap_bulb_on { - { 24, 24 }, bitmap_bulb_on_data -}; - -static constexpr uint8_t bitmap_icon_adsb_data[] = { +static constexpr uint8_t bitmap_icon_receivers_data[] = { 0x80, 0x01, - 0xC0, 0x03, - 0xC0, 0x03, - 0xC0, 0x03, - 0xC0, 0x03, + 0x80, 0x01, + 0x80, 0x01, + 0x80, 0x01, + 0x80, 0x01, + 0x80, 0x01, + 0x80, 0x01, + 0x80, 0x01, + 0x98, 0x19, + 0xB0, 0x0D, 0xE0, 0x07, - 0xF8, 0x1F, + 0xC0, 0x03, + 0x83, 0xC1, + 0x03, 0xC0, + 0xFF, 0xFF, + 0xFF, 0xFF, +}; +static constexpr Bitmap bitmap_icon_receivers { + { 16, 16 }, bitmap_icon_receivers_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_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_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_morse_data[] = { + 0x00, 0x00, 0xFE, 0x7F, 0xFF, 0xFF, + 0xBB, 0xD0, 0xFF, 0xFF, - 0xC0, 0x03, - 0xC0, 0x03, - 0xC0, 0x03, - 0xE0, 0x07, - 0xF0, 0x0F, - 0xF8, 0x1F, + 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_adsb { - { 16, 16 }, bitmap_icon_adsb_data +static constexpr Bitmap bitmap_icon_morse { + { 16, 16 }, bitmap_icon_morse_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, +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_tetra_data[] = { + 0xE0, 0x0F, + 0x18, 0x38, + 0xE4, 0x67, + 0x7E, 0xCE, + 0xC7, 0xCC, 0x00, 0x00, - 0xF8, 0x7F, - 0xF8, 0x3F, - 0xF0, 0x0F, + 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_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_ais { - { 16, 16 }, bitmap_icon_ais_data +static constexpr Bitmap bitmap_icon_debug { + { 16, 16 }, bitmap_icon_debug_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_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_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_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 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_aprs_data[] = { @@ -185,6 +321,1090 @@ static constexpr Bitmap bitmap_icon_aprs { { 16, 16 }, bitmap_icon_aprs_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_sig_tri_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, 0x03, 0xC0, 0x00, + 0x00, 0x03, 0xC0, 0x00, + 0x80, 0x07, 0xE0, 0x01, + 0x80, 0x07, 0xE0, 0x01, + 0xC0, 0x0C, 0x30, 0x03, + 0xC0, 0x0C, 0x30, 0x03, + 0x60, 0x18, 0x18, 0x06, + 0x60, 0x18, 0x18, 0x06, + 0x30, 0x30, 0x0C, 0x0C, + 0x30, 0x30, 0x0C, 0x0C, + 0x18, 0x60, 0x06, 0x18, + 0x18, 0x60, 0x06, 0x18, + 0x0E, 0xC0, 0x03, 0x70, + 0x0E, 0xC0, 0x03, 0x70, + 0x06, 0x80, 0x01, 0x60, + 0x06, 0x80, 0x01, 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_tri { + { 32, 32 }, bitmap_sig_tri_data +}; + +static constexpr uint8_t bitmap_sig_sine_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, 0x03, 0xC0, 0x00, + 0x80, 0x07, 0xE0, 0x01, + 0xC0, 0x0F, 0xF0, 0x03, + 0xC0, 0x0C, 0x30, 0x03, + 0x60, 0x18, 0x18, 0x06, + 0x60, 0x18, 0x18, 0x06, + 0x60, 0x18, 0x18, 0x06, + 0x60, 0x18, 0x18, 0x06, + 0x30, 0x30, 0x0C, 0x0C, + 0x30, 0x30, 0x0C, 0x0C, + 0x30, 0x30, 0x0C, 0x0C, + 0x30, 0x30, 0x0C, 0x0C, + 0x18, 0x60, 0x06, 0x18, + 0x1E, 0xE0, 0x07, 0x78, + 0x0E, 0xC0, 0x03, 0x70, + 0x06, 0x80, 0x01, 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_sine { + { 32, 32 }, bitmap_sig_sine_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_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_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_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_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_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_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_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_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_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_qr_code_data[] = { + 0x00, 0x00, + 0xFE, 0x7E, + 0xC6, 0x62, + 0xFA, 0x5A, + 0xFA, 0x5A, + 0xDA, 0x5A, + 0xFE, 0x7E, + 0x7E, 0x7E, + 0x00, 0x00, + 0xFE, 0x46, + 0xC2, 0x06, + 0xFA, 0x18, + 0xFA, 0x18, + 0xC6, 0x60, + 0xFE, 0x62, + 0x00, 0x00, +}; +static constexpr Bitmap bitmap_icon_qr_code { + { 16, 16 }, bitmap_icon_qr_code_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_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_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_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_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_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_hamitup_data[] = { + 0x00, 0x00, + 0x00, 0x00, + 0x00, 0x00, + 0x00, 0x00, + 0x00, 0x00, + 0x22, 0x47, + 0x22, 0x49, + 0x22, 0x49, + 0x22, 0x47, + 0x22, 0x01, + 0x22, 0x01, + 0x1C, 0x41, + 0x00, 0x00, + 0x00, 0x00, + 0x00, 0x00, + 0x00, 0x00, +}; +static constexpr Bitmap bitmap_icon_hamitup { + { 16, 16 }, bitmap_icon_hamitup_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_options_radio_data[] = { + 0x00, 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_icon_options_radio { + { 16, 16 }, bitmap_icon_options_radio_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_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_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_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_remote_data[] = { + 0x20, 0x00, + 0x20, 0x00, + 0x20, 0x00, + 0x20, 0x00, + 0xE0, 0x07, + 0xF0, 0x0F, + 0x30, 0x0C, + 0x30, 0x0C, + 0xF0, 0x0F, + 0xF0, 0x0F, + 0x70, 0x0D, + 0xB0, 0x0E, + 0x70, 0x0D, + 0xB0, 0x0E, + 0xF0, 0x0F, + 0xE0, 0x07, +}; +static constexpr Bitmap bitmap_icon_remote { + { 16, 16 }, bitmap_icon_remote_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_back_data[] = { 0x00, 0x00, 0x30, 0x00, @@ -229,1692 +1449,6 @@ 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 uint8_t bitmap_icon_btle_data[] = { - 0xE0, 0x03, - 0x30, 0x07, - 0x38, 0x0E, - 0x3C, 0x1C, - 0x24, 0x19, - 0x0C, 0x13, - 0x1C, 0x19, - 0x3C, 0x1C, - 0x3C, 0x1C, - 0x1C, 0x19, - 0x0C, 0x13, - 0x24, 0x19, - 0x3C, 0x1C, - 0x38, 0x0E, - 0x30, 0x07, - 0xE0, 0x03, -}; -static constexpr Bitmap bitmap_icon_btle { - { 16, 16 }, bitmap_icon_btle_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_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, - 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, - 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_looking_data[] = { - 0xF8, 0x01, - 0xFC, 0x03, - 0x0E, 0x07, - 0x07, 0x0E, - 0xF3, 0x0C, - 0x9F, 0x0F, - 0x9F, 0x0F, - 0xF3, 0x0C, - 0x07, 0x0E, - 0x0E, 0x07, - 0xFC, 0x1F, - 0xF8, 0x3D, - 0x00, 0x7C, - 0x00, 0xF8, - 0x00, 0xF0, - 0x00, 0x60, -}; -static constexpr Bitmap bitmap_icon_looking { - { 16, 16 }, bitmap_icon_looking_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, -}; -static constexpr Bitmap bitmap_icon_microphone { - { 16, 16 }, bitmap_icon_microphone_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_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 uint8_t bitmap_icon_notepad_data[] = { - 0x0C, 0x00, - 0x1E, 0x00, - 0x2F, 0x00, - 0x47, 0x00, - 0xE2, 0x00, - 0xD4, 0x01, - 0xB8, 0x03, - 0x70, 0x07, - 0xE0, 0x0E, - 0xC0, 0x1D, - 0x80, 0x3B, - 0x00, 0x4F, - 0x00, 0x46, - 0x00, 0x84, - 0x00, 0xD8, - 0x00, 0xE0, -}; -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, - 0x00, 0x00, -}; -static constexpr Bitmap bitmap_icon_options_datetime { - { 16, 16 }, bitmap_icon_options_datetime_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, - 0xC0, 0x03, - 0x40, 0x02, - 0x60, 0x06, - 0x20, 0x04, - 0x30, 0x0C, - 0xF0, 0x0F, -}; -static constexpr Bitmap bitmap_icon_options_radio { - { 16, 16 }, bitmap_icon_options_radio_data -}; - -static constexpr uint8_t bitmap_icon_options_touch_data[] = { - 0xC7, 0xF1, - 0x97, 0xF4, - 0x27, 0xF2, - 0x8F, 0xF8, - 0x5F, 0xFD, - 0x47, 0xFD, - 0x53, 0xC1, - 0x4B, 0x9F, - 0x43, 0xB5, - 0x6F, 0xA0, - 0x2F, 0xA0, - 0x20, 0x20, - 0x60, 0x20, - 0x40, 0x10, - 0xC0, 0x1F, - 0x00, 0x00, -}; -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, - 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_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_qr_code_data[] = { - 0x00, 0x00, - 0xFE, 0x7E, - 0xC6, 0x62, - 0xFA, 0x5A, - 0xFA, 0x5A, - 0xDA, 0x5A, - 0xFE, 0x7E, - 0x7E, 0x7E, - 0x00, 0x00, - 0xFE, 0x46, - 0xC2, 0x06, - 0xFA, 0x18, - 0xFA, 0x18, - 0xC6, 0x60, - 0xFE, 0x62, - 0x00, 0x00, -}; -static constexpr Bitmap bitmap_icon_qr_code { - { 16, 16 }, bitmap_icon_qr_code_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_icon_receivers_data[] = { - 0x80, 0x01, - 0x80, 0x01, - 0x80, 0x01, - 0x80, 0x01, - 0x80, 0x01, - 0x80, 0x01, - 0x80, 0x01, - 0x80, 0x01, - 0x98, 0x19, - 0xB0, 0x0D, - 0xE0, 0x07, - 0xC0, 0x03, - 0x83, 0xC1, - 0x03, 0xC0, - 0xFF, 0xFF, - 0xFF, 0xFF, -}; -static constexpr Bitmap bitmap_icon_receivers { - { 16, 16 }, bitmap_icon_receivers_data -}; - -static constexpr uint8_t bitmap_icon_remote_data[] = { - 0x20, 0x00, - 0x20, 0x00, - 0x20, 0x00, - 0x20, 0x00, - 0xE0, 0x07, - 0xF0, 0x0F, - 0x30, 0x0C, - 0x30, 0x0C, - 0xF0, 0x0F, - 0xF0, 0x0F, - 0x70, 0x0D, - 0xB0, 0x0E, - 0x70, 0x0D, - 0xB0, 0x0E, - 0xF0, 0x0F, - 0xE0, 0x07, -}; -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, @@ -1937,190 +1471,26 @@ static constexpr Bitmap bitmap_play { { 16, 16 }, bitmap_play_data }; -static constexpr uint8_t bitmap_record_data[] = { - 0xC0, 0x07, - 0xF0, 0x1F, - 0xF8, 0x3F, - 0xFC, 0x7F, - 0xFC, 0x7F, - 0x66, 0xCC, - 0x56, 0xF7, - 0x66, 0xF6, - 0x56, 0xF7, - 0x56, 0xCC, - 0xFC, 0x7F, - 0xFC, 0x7F, - 0xF8, 0x3F, - 0xF0, 0x1F, - 0xC0, 0x07, +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_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, - 0xC0, 0x1F, - 0xE0, 0x1F, - 0xF0, 0x1F, - 0xF8, 0x1F, - 0xC8, 0x13, - 0x98, 0x19, - 0x38, 0x1C, - 0x78, 0x1E, - 0x38, 0x1C, - 0x98, 0x19, - 0xC8, 0x13, - 0xF8, 0x1F, - 0x00, 0x00, - 0x00, 0x00, -}; -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, - 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_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, - 0x00, 0x00, - 0x00, 0x00, -}; -static constexpr Bitmap bitmap_sd_card_unknown { - { 16, 16 }, bitmap_sd_card_unknown_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_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 Bitmap bitmap_icon_setup { + { 16, 16 }, bitmap_icon_setup_data }; static constexpr uint8_t bitmap_sig_saw_down_data[] = { @@ -2161,244 +1531,144 @@ 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 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_sig_saw_up { - { 32, 32 }, bitmap_sig_saw_up_data +static constexpr Bitmap bitmap_icon_load { + { 16, 16 }, bitmap_icon_load_data }; -static constexpr uint8_t bitmap_sig_sine_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, 0x03, 0xC0, 0x00, - 0x80, 0x07, 0xE0, 0x01, - 0xC0, 0x0F, 0xF0, 0x03, - 0xC0, 0x0C, 0x30, 0x03, - 0x60, 0x18, 0x18, 0x06, - 0x60, 0x18, 0x18, 0x06, - 0x60, 0x18, 0x18, 0x06, - 0x60, 0x18, 0x18, 0x06, - 0x30, 0x30, 0x0C, 0x0C, - 0x30, 0x30, 0x0C, 0x0C, - 0x30, 0x30, 0x0C, 0x0C, - 0x30, 0x30, 0x0C, 0x0C, - 0x18, 0x60, 0x06, 0x18, - 0x1E, 0xE0, 0x07, 0x78, - 0x0E, 0xC0, 0x03, 0x70, - 0x06, 0x80, 0x01, 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 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_sig_sine { - { 32, 32 }, bitmap_sig_sine_data +static constexpr Bitmap bitmap_icon_speaker_mute { + { 16, 16 }, bitmap_icon_speaker_mute_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_sig_tri_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, 0x03, 0xC0, 0x00, - 0x00, 0x03, 0xC0, 0x00, - 0x80, 0x07, 0xE0, 0x01, - 0x80, 0x07, 0xE0, 0x01, - 0xC0, 0x0C, 0x30, 0x03, - 0xC0, 0x0C, 0x30, 0x03, - 0x60, 0x18, 0x18, 0x06, - 0x60, 0x18, 0x18, 0x06, - 0x30, 0x30, 0x0C, 0x0C, - 0x30, 0x30, 0x0C, 0x0C, - 0x18, 0x60, 0x06, 0x18, - 0x18, 0x60, 0x06, 0x18, - 0x0E, 0xC0, 0x03, 0x70, - 0x0E, 0xC0, 0x03, 0x70, - 0x06, 0x80, 0x01, 0x60, - 0x06, 0x80, 0x01, 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_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, +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, -}; -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, 0x00, 0x00, }; -static constexpr Bitmap bitmap_target { - { 16, 16 }, bitmap_target_data +static constexpr Bitmap bitmap_icon_modem { + { 16, 16 }, bitmap_icon_modem_data +}; + +static constexpr uint8_t bitmap_bulb_off_data[] = { + 0x00, 0x3C, 0x00, + 0x00, 0xC3, 0x00, + 0x80, 0x00, 0x01, + 0x40, 0x00, 0x02, + 0x20, 0x00, 0x04, + 0x20, 0x00, 0x04, + 0x10, 0x00, 0x08, + 0x10, 0x42, 0x08, + 0x10, 0x42, 0x08, + 0x10, 0x24, 0x08, + 0x10, 0x24, 0x08, + 0x20, 0x24, 0x04, + 0x20, 0x2C, 0x04, + 0x40, 0x34, 0x02, + 0x80, 0x3C, 0x01, + 0x00, 0xFF, 0x00, + 0x00, 0xE3, 0x00, + 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_off { + { 24, 24 }, bitmap_bulb_off_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_notepad_data[] = { + 0x0C, 0x00, + 0x1E, 0x00, + 0x2F, 0x00, + 0x47, 0x00, + 0xE2, 0x00, + 0xD4, 0x01, + 0xB8, 0x03, + 0x70, 0x07, + 0xE0, 0x0E, + 0xC0, 0x1D, + 0x80, 0x3B, + 0x00, 0x4F, + 0x00, 0x46, + 0x00, 0x84, + 0x00, 0xD8, + 0x00, 0xE0, +}; +static constexpr Bitmap bitmap_icon_notepad { + { 16, 16 }, bitmap_icon_notepad_data }; static constexpr uint8_t bitmap_target_calibrate_data[] = { @@ -2439,6 +1709,736 @@ static constexpr Bitmap bitmap_target_calibrate { { 32, 32 }, bitmap_target_calibrate_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_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_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_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_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_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_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_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_looking_data[] = { + 0xF8, 0x01, + 0xFC, 0x03, + 0x0E, 0x07, + 0x07, 0x0E, + 0xF3, 0x0C, + 0x9F, 0x0F, + 0x9F, 0x0F, + 0xF3, 0x0C, + 0x07, 0x0E, + 0x0E, 0x07, + 0xFC, 0x1F, + 0xF8, 0x3D, + 0x00, 0x7C, + 0x00, 0xF8, + 0x00, 0xF0, + 0x00, 0x60, +}; +static constexpr Bitmap bitmap_icon_looking { + { 16, 16 }, bitmap_icon_looking_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_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_record_data[] = { + 0xC0, 0x07, + 0xF0, 0x1F, + 0xF8, 0x3F, + 0xFC, 0x7F, + 0xFC, 0x7F, + 0x66, 0xCC, + 0x56, 0xF7, + 0x66, 0xF6, + 0x56, 0xF7, + 0x56, 0xCC, + 0xFC, 0x7F, + 0xFC, 0x7F, + 0xF8, 0x3F, + 0xF0, 0x1F, + 0xC0, 0x07, + 0x00, 0x00, +}; +static constexpr Bitmap bitmap_record { + { 16, 16 }, bitmap_record_data +}; + +static constexpr uint8_t bitmap_icon_options_touch_data[] = { + 0xC7, 0xF1, + 0x97, 0xF4, + 0x27, 0xF2, + 0x8F, 0xF8, + 0x5F, 0xFD, + 0x47, 0xFD, + 0x53, 0xC1, + 0x4B, 0x9F, + 0x43, 0xB5, + 0x6F, 0xA0, + 0x2F, 0xA0, + 0x20, 0x20, + 0x60, 0x20, + 0x40, 0x10, + 0xC0, 0x1F, + 0x00, 0x00, +}; +static constexpr Bitmap bitmap_icon_options_touch { + { 16, 16 }, bitmap_icon_options_touch_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_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_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_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_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_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_btle_data[] = { + 0xE0, 0x03, + 0x30, 0x07, + 0x38, 0x0E, + 0x3C, 0x1C, + 0x24, 0x19, + 0x0C, 0x13, + 0x1C, 0x19, + 0x3C, 0x1C, + 0x3C, 0x1C, + 0x1C, 0x19, + 0x0C, 0x13, + 0x24, 0x19, + 0x3C, 0x1C, + 0x38, 0x0E, + 0x30, 0x07, + 0xE0, 0x03, +}; +static constexpr Bitmap bitmap_icon_btle { + { 16, 16 }, bitmap_icon_btle_data +}; + +static constexpr uint8_t bitmap_sd_card_error_data[] = { + 0x00, 0x00, + 0x00, 0x00, + 0xC0, 0x1F, + 0xE0, 0x1F, + 0xF0, 0x1F, + 0xF8, 0x1F, + 0xC8, 0x13, + 0x98, 0x19, + 0x38, 0x1C, + 0x78, 0x1E, + 0x38, 0x1C, + 0x98, 0x19, + 0xC8, 0x13, + 0xF8, 0x1F, + 0x00, 0x00, + 0x00, 0x00, +}; +static constexpr Bitmap bitmap_sd_card_error { + { 16, 16 }, bitmap_sd_card_error_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_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_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_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, + 0x00, 0x00, + 0x00, 0x00, +}; +static constexpr Bitmap bitmap_sd_card_unknown { + { 16, 16 }, bitmap_sd_card_unknown_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_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_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_bulb_ignore_data[] = { + 0x00, 0x3C, 0x00, + 0x00, 0xC3, 0x00, + 0x80, 0x00, 0x01, + 0x40, 0x3C, 0x02, + 0x20, 0x7E, 0x04, + 0x20, 0xE7, 0x04, + 0x10, 0xC3, 0x08, + 0x10, 0xE3, 0x08, + 0x10, 0x70, 0x08, + 0x10, 0x38, 0x08, + 0x10, 0x18, 0x08, + 0x20, 0x18, 0x04, + 0x20, 0x00, 0x04, + 0x40, 0x18, 0x02, + 0x80, 0x18, 0x01, + 0x00, 0xC3, 0x00, + 0x00, 0xFF, 0x00, + 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_ignore { + { 24, 24 }, bitmap_bulb_ignore_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_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_verify_data[] = { 0x00, 0xE0, 0x07, 0x00, 0x00, 0xFC, 0x3F, 0x00, @@ -2477,26 +2477,48 @@ static constexpr Bitmap bitmap_target_verify { { 32, 32 }, bitmap_target_verify_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 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_titlebar_image { - { 80, 16 }, bitmap_titlebar_image_data +static constexpr Bitmap bitmap_icon_new_category { + { 16, 16 }, bitmap_icon_new_category_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 }; diff --git a/firmware/application/radio.cpp b/firmware/application/radio.cpp index c4b7d5f9..bcb5b649 100644 --- a/firmware/application/radio.cpp +++ b/firmware/application/radio.cpp @@ -40,6 +40,7 @@ using namespace hackrf::one; #include "cpld_update.hpp" #include "portapack.hpp" +#include "portapack_persistent_memory.hpp" namespace radio { @@ -168,7 +169,11 @@ void set_direction(const rf::Direction new_direction) { } bool set_tuning_frequency(const rf::Frequency frequency) { - const auto tuning_config = tuning::config::create(frequency); + rf::Frequency final_frequency = frequency ; + if( portapack::persistent_memory::config_hamitup() ) { + final_frequency = frequency + portapack::persistent_memory::config_hamitup_freq(); + } + const auto tuning_config = tuning::config::create(final_frequency); if( tuning_config.is_valid() ) { first_if.disable(); diff --git a/firmware/application/ui_navigation.cpp b/firmware/application/ui_navigation.cpp index cb0feb66..12f3dae3 100644 --- a/firmware/application/ui_navigation.cpp +++ b/firmware/application/ui_navigation.cpp @@ -111,6 +111,7 @@ SystemStatusView::SystemStatusView( &button_back, &title, &button_title, + &button_hamitup, &button_speaker, &button_stealth, //&button_textentry, @@ -148,6 +149,10 @@ SystemStatusView::SystemStatusView( this->on_title(); }; + button_hamitup.on_select = [this](ImageButton&) { + this->on_hamitup(); + }; + button_speaker.on_select = [this](ImageButton&) { this->on_speaker(); }; @@ -179,6 +184,17 @@ SystemStatusView::SystemStatusView( } void SystemStatusView::refresh() { + if( portapack::persistent_memory::config_hamitup() ) + { + button_hamitup.set_foreground(Color::red()); + } + else + { + button_hamitup.set_foreground(Color::light_grey()); + } + // Retune to take hamitup change in account + receiver_model.set_tuning_frequency( portapack::persistent_memory::tuned_frequency() ); + if (!portapack::persistent_memory::config_speaker()) { button_speaker.set_foreground(Color::light_grey()); button_speaker.set_bitmap(&bitmap_icon_speaker_mute); @@ -187,6 +203,7 @@ void SystemStatusView::refresh() { else { button_speaker.hidden(true); } + if (portapack::get_antenna_bias()) { button_bias_tee.set_bitmap(&bitmap_icon_biast_on); button_bias_tee.set_foreground(ui::Color::yellow()); @@ -202,6 +219,7 @@ void SystemStatusView::refresh() { button_clock_status.set_bitmap(&bitmap_icon_clk_int); // button_bias_tee.set_foreground(ui::Color::green()); } + if(portapack::persistent_memory::clkout_enabled()) { button_clock_status.set_foreground(ui::Color::green()); } else { @@ -239,6 +257,20 @@ void SystemStatusView::set_title(const std::string new_value) { } } +void SystemStatusView::on_hamitup() { + if(!portapack::persistent_memory::config_hamitup()) + { + portapack::persistent_memory::set_config_hamitup( true ); + button_hamitup.set_foreground(Color::red()); + } + else + { + portapack::persistent_memory::set_config_hamitup( false ); + button_hamitup.set_foreground(Color::light_grey()); + } + receiver_model.set_tuning_frequency( portapack::persistent_memory::tuned_frequency() ); // Retune + } + void SystemStatusView::on_speaker() { if (!portapack::speaker_mode) { @@ -467,26 +499,26 @@ void NavigationView::focus() { /* ReceiversMenuView *****************************************************/ ReceiversMenuView::ReceiversMenuView(NavigationView& nav) { - if( portapack::persistent_memory::show_gui_return_icon() ) - { - add_items( { { "..", ui::Color::light_grey(),&bitmap_icon_previous , [&nav](){ nav.pop(); } } } ); - } - add_items( { - { "ADS-B", ui::Color::green(), &bitmap_icon_adsb, [&nav](){ nav.push(); }, }, - //{ "ACARS", ui::Color::yellow(), &bitmap_icon_adsb, [&nav](){ nav.push(); }, }, - { "AIS Boats", ui::Color::green(), &bitmap_icon_ais, [&nav](){ nav.push(); } }, - { "AFSK", ui::Color::yellow(), &bitmap_icon_modem, [&nav](){ nav.push(); } }, - { "BTLE", ui::Color::yellow(), &bitmap_icon_btle, [&nav](){ nav.push(); } }, - { "NRF", ui::Color::yellow(), &bitmap_icon_nrf, [&nav](){ nav.push(); } }, - { "Audio", ui::Color::green(), &bitmap_icon_speaker, [&nav](){ nav.push(); } }, - { "Analog TV", ui::Color::yellow(), &bitmap_icon_sstv, [&nav](){ nav.push(); } }, - { "ERT Meter", ui::Color::green(), &bitmap_icon_ert, [&nav](){ nav.push(); } }, - { "POCSAG", ui::Color::green(), &bitmap_icon_pocsag, [&nav](){ nav.push(); } }, - { "Radiosnde", ui::Color::green(), &bitmap_icon_sonde, [&nav](){ nav.push(); } }, - { "TPMS Cars", ui::Color::green(), &bitmap_icon_tpms, [&nav](){ nav.push(); } }, - { "Recon", ui::Color::green(), &bitmap_icon_scanner, [&nav](){ nav.push(); } }, - { "Level", ui::Color::green(), &bitmap_icon_options_radio, [&nav](){ nav.push(); } }, - { "APRS", ui::Color::green(), &bitmap_icon_aprs, [&nav](){ nav.push(); } } + if( portapack::persistent_memory::show_gui_return_icon() ) + { + add_items( { { "..", ui::Color::light_grey(),&bitmap_icon_previous , [&nav](){ nav.pop(); } } } ); + } + add_items( { + { "ADS-B", ui::Color::green(), &bitmap_icon_adsb, [&nav](){ nav.push(); }, }, + //{ "ACARS", ui::Color::yellow(), &bitmap_icon_adsb, [&nav](){ nav.push(); }, }, + { "AIS Boats", ui::Color::green(), &bitmap_icon_ais, [&nav](){ nav.push(); } }, + { "AFSK", ui::Color::yellow(), &bitmap_icon_modem, [&nav](){ nav.push(); } }, + { "BTLE", ui::Color::yellow(), &bitmap_icon_btle, [&nav](){ nav.push(); } }, + { "NRF", ui::Color::yellow(), &bitmap_icon_nrf, [&nav](){ nav.push(); } }, + { "Audio", ui::Color::green(), &bitmap_icon_speaker, [&nav](){ nav.push(); } }, + { "Analog TV", ui::Color::yellow(), &bitmap_icon_sstv, [&nav](){ nav.push(); } }, + { "ERT Meter", ui::Color::green(), &bitmap_icon_ert, [&nav](){ nav.push(); } }, + { "POCSAG", ui::Color::green(), &bitmap_icon_pocsag, [&nav](){ nav.push(); } }, + { "Radiosnde", ui::Color::green(), &bitmap_icon_sonde, [&nav](){ nav.push(); } }, + { "TPMS Cars", ui::Color::green(), &bitmap_icon_tpms, [&nav](){ nav.push(); } }, + { "Recon", ui::Color::green(), &bitmap_icon_scanner, [&nav](){ nav.push(); } }, + { "Level", ui::Color::green(), &bitmap_icon_options_radio, [&nav](){ nav.push(); } }, + { "APRS", ui::Color::green(), &bitmap_icon_aprs, [&nav](){ nav.push(); } } /* { "DMR", ui::Color::dark_grey(), &bitmap_icon_dmr, [&nav](){ nav.push(); } }, { "SIGFOX", ui::Color::dark_grey(), &bitmap_icon_fox, [&nav](){ nav.push(); } }, // SIGFRXView @@ -501,30 +533,29 @@ ReceiversMenuView::ReceiversMenuView(NavigationView& nav) { /* TransmittersMenuView **************************************************/ TransmittersMenuView::TransmittersMenuView(NavigationView& nav) { - if( portapack::persistent_memory::show_gui_return_icon() ) - { - add_items( { { "..", ui::Color::light_grey(),&bitmap_icon_previous , [&nav](){ nav.pop(); } } } ); - } - add_items({ - { "ADS-B [S]", ui::Color::yellow(), &bitmap_icon_adsb, [&nav](){ nav.push(); } }, - { "APRS", ui::Color::green(), &bitmap_icon_aprs, [&nav](){ nav.push(); } }, - { "BHT Xy/EP", ui::Color::green(), &bitmap_icon_bht, [&nav](){ nav.push(); } }, - { "GPS Sim", ui::Color::yellow(), &bitmap_icon_gps_sim, [&nav](){ nav.push(); } }, - { "Jammer", ui::Color::green(), &bitmap_icon_jammer, [&nav](){ nav.push(); } }, - { "Key fob", ui::Color::orange(), &bitmap_icon_keyfob, [&nav](){ nav.push(); } }, - { "LGE tool", ui::Color::yellow(), &bitmap_icon_lge, [&nav](){ nav.push(); } }, + if( portapack::persistent_memory::show_gui_return_icon() ) + { + add_items( { { "..", ui::Color::light_grey(),&bitmap_icon_previous , [&nav](){ nav.pop(); } } } ); + } + add_items({ + { "ADS-B [S]", ui::Color::yellow(), &bitmap_icon_adsb, [&nav](){ nav.push(); } }, + { "APRS", ui::Color::green(), &bitmap_icon_aprs, [&nav](){ nav.push(); } }, + { "BHT Xy/EP", ui::Color::green(), &bitmap_icon_bht, [&nav](){ nav.push(); } }, + { "GPS Sim", ui::Color::yellow(), &bitmap_icon_gps_sim, [&nav](){ nav.push(); } }, + { "Jammer", ui::Color::green(), &bitmap_icon_jammer, [&nav](){ nav.push(); } }, + { "Key fob", ui::Color::orange(), &bitmap_icon_keyfob, [&nav](){ nav.push(); } }, + { "LGE tool", ui::Color::yellow(), &bitmap_icon_lge, [&nav](){ nav.push(); } }, { "Morse", ui::Color::green(), &bitmap_icon_morse, [&nav](){ nav.push(); } }, - { "BurgerPgr", ui::Color::yellow(), &bitmap_icon_burger, [&nav](){ nav.push(); } }, + { "BurgerPgr", ui::Color::yellow(), &bitmap_icon_burger, [&nav](){ nav.push(); } }, //{ "Nuoptix DTMF", ui::Color::green(), &bitmap_icon_nuoptix, [&nav](){ nav.push(); } }, { "OOK", ui::Color::yellow(), &bitmap_icon_remote, [&nav](){ nav.push(); } }, - { "POCSAG", ui::Color::green(), &bitmap_icon_pocsag, [&nav](){ nav.push(); } }, + { "POCSAG", ui::Color::green(), &bitmap_icon_pocsag, [&nav](){ nav.push(); } }, { "RDS", ui::Color::green(), &bitmap_icon_rds, [&nav](){ nav.push(); } }, - { "Soundbrd", ui::Color::green(), &bitmap_icon_soundboard,[&nav](){ nav.push(); } }, - { "SSTV", ui::Color::green(), &bitmap_icon_sstv, [&nav](){ nav.push(); } }, - { "TEDI/LCR", ui::Color::yellow(), &bitmap_icon_lcr, [&nav](){ nav.push(); } }, + { "Soundbrd", ui::Color::green(), &bitmap_icon_soundboard,[&nav](){ nav.push(); } }, + { "SSTV", ui::Color::green(), &bitmap_icon_sstv, [&nav](){ nav.push(); } }, + { "TEDI/LCR", ui::Color::yellow(), &bitmap_icon_lcr, [&nav](){ nav.push(); } }, { "TouchTune", ui::Color::yellow(), &bitmap_icon_remote, [&nav](){ nav.push(); } }, - { "Playlist", ui::Color::yellow(), &bitmap_icon_remote, [&nav](){ nav.push(); } }, - + { "Playlist", ui::Color::yellow(), &bitmap_icon_remote, [&nav](){ nav.push(); } }, //{ "Remote", ui::Color::dark_grey(), &bitmap_icon_remote, [&nav](){ nav.push(); } }, }); } @@ -532,10 +563,10 @@ TransmittersMenuView::TransmittersMenuView(NavigationView& nav) { /* UtilitiesMenuView *****************************************************/ UtilitiesMenuView::UtilitiesMenuView(NavigationView& nav) { - if( portapack::persistent_memory::show_gui_return_icon() ) - { - add_items( { { "..", ui::Color::light_grey(),&bitmap_icon_previous , [&nav](){ nav.pop(); } } } ); - } + if( portapack::persistent_memory::show_gui_return_icon() ) + { + add_items( { { "..", ui::Color::light_grey(),&bitmap_icon_previous , [&nav](){ nav.pop(); } } } ); + } add_items({ //{ "Test app", ui::Color::dark_grey(), nullptr, [&nav](){ nav.push(); } }, { "Freq. manager", ui::Color::green(), &bitmap_icon_freqman, [&nav](){ nav.push(); } }, @@ -570,7 +601,7 @@ SystemMenuView::SystemMenuView(NavigationView& nav) { { "Transmit", ui::Color::cyan(), &bitmap_icon_transmit, [&nav](){ nav.push(); } }, { "Capture", ui::Color::red(), &bitmap_icon_capture, [&nav](){ nav.push(); } }, { "Replay", ui::Color::green(), &bitmap_icon_replay, [&nav](){ nav.push(); } }, - { "Search", ui::Color::yellow(), &bitmap_icon_search, [&nav](){ nav.push(); } }, + { "Search", ui::Color::yellow(), &bitmap_icon_search, [&nav](){ nav.push(); } }, { "Scanner", ui::Color::yellow(), &bitmap_icon_scanner, [&nav](){ nav.push(); } }, { "Microphone", ui::Color::yellow(), &bitmap_icon_microphone,[&nav](){ nav.push(); } }, { "Looking Glass", ui::Color::yellow(), &bitmap_icon_looking, [&nav](){ nav.push(); } }, diff --git a/firmware/application/ui_navigation.hpp b/firmware/application/ui_navigation.hpp index d0e3b03f..dece06e0 100644 --- a/firmware/application/ui_navigation.hpp +++ b/firmware/application/ui_navigation.hpp @@ -142,11 +142,18 @@ namespace ui Color::dark_grey()}; ImageButton button_speaker{ - {17 * 8, 0, 2 * 8, 1 * 16}, + {15 * 8, 0, 2 * 8, 1 * 16}, &bitmap_icon_speaker_mute, Color::light_grey(), Color::dark_grey()}; + ImageButton button_hamitup{ + {17 * 8, 0, 2 * 8, 1 * 16}, + &bitmap_icon_hamitup, + Color::light_grey(), + Color::dark_grey() + }; + ImageButton button_stealth{ {19 * 8, 0, 2 * 8, 1 * 16}, &bitmap_icon_stealth, @@ -187,6 +194,7 @@ namespace ui SDCardStatusView sd_card_status_view{ {28 * 8, 0 * 16, 2 * 8, 1 * 16}}; + void on_hamitup(); void on_speaker(); void on_stealth(); void on_bias_tee(); diff --git a/firmware/common/portapack_persistent_memory.cpp b/firmware/common/portapack_persistent_memory.cpp index caeb1969..7c2f39a8 100644 --- a/firmware/common/portapack_persistent_memory.cpp +++ b/firmware/common/portapack_persistent_memory.cpp @@ -288,6 +288,10 @@ struct data_t { // Recon App uint64_t recon_config; + // HamItUp (+125MHz offset by default, configurable) + bool hamitup; + int64_t hamitup_freq; + constexpr data_t() : structure_version(data_structure_version_enum::VERSION_CURRENT), tuned_frequency(tuned_frequency_reset_value), @@ -315,7 +319,9 @@ struct data_t { tone_mix(tone_mix_reset_value), hardware_config(0), - recon_config(0) + recon_config(0), + hamitup(0), + hamitup_freq(125000000) { } }; @@ -733,6 +739,17 @@ void set_recon_load_hamradios(const bool v ){ void set_recon_match_mode(const bool v ) { data->recon_config = (data->recon_config & ~0x00800000UL) | (v << 23); } - +bool config_hamitup() { + return data->hamitup; +} +void set_config_hamitup(const bool v ){ + data-> hamitup = v ; +} +int64_t config_hamitup_freq() { + return data->hamitup_freq ; +} +void set_config_hamitup_freq(const int64_t v ){ + data-> hamitup_freq = v ; +} } /* namespace persistent_memory */ } /* namespace portapack */ diff --git a/firmware/common/portapack_persistent_memory.hpp b/firmware/common/portapack_persistent_memory.hpp index 038911cb..e7141c13 100644 --- a/firmware/common/portapack_persistent_memory.hpp +++ b/firmware/common/portapack_persistent_memory.hpp @@ -151,6 +151,8 @@ uint8_t config_cpld(); void set_config_cpld(uint8_t i); bool config_splash(); +bool config_hamitup(); +int64_t config_hamitup_freq(); bool show_gui_return_icon(); bool load_app_settings(); bool save_app_settings(); @@ -167,6 +169,8 @@ void set_load_app_settings(bool v); void set_save_app_settings(bool v); void set_show_bigger_qr_code(bool v); void set_config_splash(bool v); +void set_config_hamitup(bool v); +void set_config_hamitup_freq(const int64_t v ); void set_clock_hidden(bool v); void set_clock_with_date(bool v); void set_config_login(bool v); diff --git a/firmware/graphics/icon_hamitup.png b/firmware/graphics/icon_hamitup.png new file mode 100755 index 00000000..a485db2f Binary files /dev/null and b/firmware/graphics/icon_hamitup.png differ