diff --git a/firmware/application/bitmap.hpp b/firmware/application/bitmap.hpp index bba7d1a94..b61e3d559 100644 --- a/firmware/application/bitmap.hpp +++ b/firmware/application/bitmap.hpp @@ -11,7 +11,7 @@ * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License @@ -20,6 +20,8 @@ * Boston, MA 02110-1301, USA. */ +// This file was generated by make_bitmap.py + #ifndef __BITMAP_HPP__ #define __BITMAP_HPP__ @@ -27,101 +29,6 @@ namespace ui { -// Use firmware/tools/make_bitmap.py ! - -static constexpr uint8_t bitmap_previous_data[] = { - 0x00, 0x00, - 0x00, 0x00, - 0xE0, 0x03, - 0x10, 0x03, - 0x88, 0x01, - 0xC4, 0x00, - 0xE2, 0x3F, - 0x01, 0x20, - 0x01, 0x20, - 0xE3, 0x3F, - 0xC6, 0x3F, - 0x8C, 0x00, - 0x18, 0x01, - 0xF0, 0x03, - 0xE0, 0x03, - 0x00, 0x00, -}; - -static constexpr Bitmap bitmap_previous { - { 16, 16 }, bitmap_previous_data -}; - - -static constexpr uint8_t bitmap_icon_adsb_data[] = { - 0x80, 0x01, - 0xC0, 0x03, - 0xC0, 0x03, - 0xC0, 0x03, - 0xC0, 0x03, - 0xE8, 0x17, - 0xFA, 0x5F, - 0xFE, 0x7F, - 0xFF, 0xFF, - 0xC7, 0xE3, - 0xC0, 0x03, - 0xC0, 0x03, - 0xC0, 0x03, - 0xE0, 0x07, - 0xF8, 0x1F, - 0x38, 0x1C, -}; - -static constexpr Bitmap bitmap_icon_adsb { - { 16, 16 }, bitmap_icon_adsb_data -}; - -static constexpr uint8_t bitmap_icon_ais_data[] = { - 0x00, 0x01, - 0x80, 0x01, - 0xC0, 0x0D, - 0xC0, 0x3D, - 0xE0, 0x3D, - 0xF0, 0x7D, - 0xF8, 0x7D, - 0xF8, 0x7D, - 0xFC, 0x7D, - 0xFE, 0x7D, - 0x00, 0x00, - 0xF8, 0x3F, - 0xF8, 0x1F, - 0xFB, 0xCF, - 0x00, 0x00, - 0x00, 0x00, -}; - -static constexpr Bitmap bitmap_icon_ais { - { 16, 16 }, bitmap_icon_ais_data -}; - -static constexpr uint8_t bitmap_icon_audiotx_data[] = { - 0x00, 0x70, - 0x00, 0x7F, - 0xC0, 0x4F, - 0xC0, 0x60, - 0x40, 0x5E, - 0xC0, 0x41, - 0x40, 0x40, - 0x40, 0x40, - 0x40, 0x40, - 0x40, 0x70, - 0x70, 0x7C, - 0x7C, 0x7E, - 0x7E, 0x3E, - 0x3E, 0x1C, - 0x1C, 0x00, - 0x00, 0x00, -}; - -static constexpr Bitmap bitmap_icon_audiotx { - { 16, 16 }, bitmap_icon_audiotx_data -}; - static constexpr uint8_t bitmap_icon_bht_data[] = { 0x00, 0x00, 0xE0, 0x07, @@ -140,308 +47,184 @@ static constexpr uint8_t bitmap_icon_bht_data[] = { 0x06, 0x00, 0x00, 0x00, }; - static constexpr Bitmap bitmap_icon_bht { { 16, 16 }, bitmap_icon_bht_data }; -static constexpr uint8_t bitmap_icon_capture_data[] = { - 0xEF, 0x29, - 0xEF, 0x69, - 0xEF, 0xE9, - 0xEF, 0xE9, - 0xEF, 0xEF, - 0x1F, 0xF0, - 0xFF, 0xFF, - 0xFF, 0xFF, - 0x03, 0xC0, - 0xFB, 0xDF, - 0x0B, 0xD9, - 0xFB, 0xDF, - 0x4B, 0xDE, - 0xFB, 0xDF, - 0x03, 0xC0, - 0xFE, 0x7F, -}; - -static constexpr Bitmap bitmap_icon_capture { - { 16, 16 }, bitmap_icon_capture_data -}; - -static constexpr uint8_t bitmap_icon_closecall_data[] = { - 0x00, 0x00, - 0x00, 0x10, - 0x00, 0x38, - 0x00, 0x7C, - 0x00, 0x00, - 0x3E, 0x00, - 0xE3, 0x00, - 0x80, 0x01, - 0x1C, 0x03, - 0x22, 0x02, - 0x41, 0x06, - 0x88, 0x04, - 0x9C, 0x04, - 0x88, 0x04, - 0x41, 0x06, - 0x22, 0x02, -}; - -static constexpr Bitmap bitmap_icon_closecall { - { 16, 16 }, bitmap_icon_closecall_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, +static constexpr uint8_t bitmap_icon_sd_data[] = { 0x00, 0x00, 0x00, 0x00, - 0xBB, 0x6D, - 0x2A, 0x49, - 0x2A, 0x49, - 0x3A, 0x49, + 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_codetx { - { 16, 16 }, bitmap_icon_codetx_data +static constexpr Bitmap bitmap_icon_sd { + { 16, 16 }, bitmap_icon_sd_data }; -static constexpr uint8_t bitmap_icon_ert_data[] = { +static constexpr uint8_t bitmap_sd_card_error_data[] = { 0x00, 0x00, 0x00, 0x00, - 0x77, 0x77, - 0x55, 0x41, - 0x75, 0x77, - 0x55, 0x44, - 0x55, 0x44, - 0x77, 0x77, - 0x00, 0x00, - 0x20, 0x04, - 0x02, 0x26, - 0x04, 0x12, - 0x00, 0x03, - 0x80, 0x01, - 0xC3, 0x61, - 0x80, 0x00, -}; - -static constexpr Bitmap bitmap_icon_ert { - { 16, 16 }, bitmap_icon_ert_data -}; - -static constexpr uint8_t bitmap_icon_foxhunt_data[] = { - 0x18, 0x18, - 0x28, 0x14, - 0x68, 0x16, - 0x68, 0x16, + 0xC0, 0x1F, + 0xE0, 0x1F, + 0xF0, 0x1F, + 0xF8, 0x1F, 0xC8, 0x13, - 0x88, 0x11, - 0x04, 0x20, - 0x24, 0x24, - 0x22, 0x44, - 0x01, 0x80, - 0x06, 0x60, 0x98, 0x19, - 0x20, 0x04, - 0x40, 0x02, - 0x80, 0x01, + 0x38, 0x1C, + 0x78, 0x1E, + 0x38, 0x1C, + 0x98, 0x19, + 0xC8, 0x13, + 0xF8, 0x1F, + 0x00, 0x00, 0x00, 0x00, }; - -static constexpr Bitmap bitmap_icon_foxhunt { - { 16, 16 }, bitmap_icon_foxhunt_data +static constexpr Bitmap bitmap_sd_card_error { + { 16, 16 }, bitmap_sd_card_error_data }; -static constexpr uint8_t bitmap_icon_hackrf_data[] = { - 0x80, 0x00, - 0xC0, 0x01, - 0xE0, 0x03, - 0x80, 0x00, - 0x80, 0x0E, - 0x90, 0x0E, - 0xB8, 0x0E, - 0x90, 0x04, - 0x90, 0x02, - 0xA0, 0x01, - 0xC0, 0x00, - 0x80, 0x00, - 0xC0, 0x01, - 0xE0, 0x03, - 0xE0, 0x03, - 0xC0, 0x01, +static constexpr uint8_t bitmap_icon_unistroke_data[] = { + 0x33, 0xC0, + 0x33, 0x00, + 0xB3, 0xCD, + 0xB3, 0xDF, + 0xB3, 0xD9, + 0xB3, 0xD9, + 0x9E, 0xD9, + 0x00, 0x00, + 0x00, 0x00, + 0x0C, 0x1C, + 0x06, 0x3E, + 0x06, 0x67, + 0xCE, 0x43, + 0xFC, 0x01, + 0x78, 0x40, + 0x00, 0x00, +}; +static constexpr Bitmap bitmap_icon_unistroke { + { 16, 16 }, bitmap_icon_unistroke_data }; -static constexpr Bitmap bitmap_icon_hackrf { - { 16, 16 }, bitmap_icon_hackrf_data -}; - -static constexpr uint8_t bitmap_icon_jammer_data[] = { - 0xA6, 0x2C, - 0x73, 0x47, - 0x2E, 0xB9, - 0x55, 0xD7, - 0x7E, 0xAE, - 0xD3, 0x45, - 0xCA, 0xBA, - 0x71, 0x15, - 0xDA, 0xBE, - 0xF5, 0xAB, - 0xAD, 0x98, - 0x48, 0x77, - 0xAD, 0xCA, - 0x58, 0x7D, - 0xBF, 0xAF, - 0x5A, 0x65, -}; - -static constexpr Bitmap bitmap_icon_jammer { - { 16, 16 }, bitmap_icon_jammer_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_microphone_data[] = { +static constexpr uint8_t bitmap_icon_adsb_data[] = { + 0x80, 0x01, + 0xC0, 0x03, + 0xC0, 0x03, + 0xC0, 0x03, + 0xC0, 0x03, + 0xE8, 0x17, + 0xFA, 0x5F, + 0xFE, 0x7F, + 0xFF, 0xFF, + 0xC7, 0xE3, + 0xC0, 0x03, + 0xC0, 0x03, 0xC0, 0x03, - 0x60, 0x05, - 0xB0, 0x0A, - 0x50, 0x0D, - 0xB0, 0x0E, - 0x60, 0x05, 0xE0, 0x07, - 0x20, 0x04, - 0x20, 0x04, - 0xE0, 0x04, - 0xE0, 0x04, - 0xC0, 0x02, - 0x40, 0x02, - 0x40, 0x02, - 0x40, 0x02, - 0xC0, 0x03, + 0xF8, 0x1F, + 0x38, 0x1C, +}; +static constexpr Bitmap bitmap_icon_adsb { + { 16, 16 }, bitmap_icon_adsb_data }; -static constexpr Bitmap bitmap_icon_microphone { - { 16, 16 }, bitmap_icon_microphone_data -}; - -static constexpr uint8_t bitmap_icon_morse_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, - 0x18, 0x00, - 0x18, 0x00, - 0x18, 0x00, - 0x0C, 0x00, - 0x0C, 0x00, - 0x0C, 0x00, - 0x0C, 0x1F, - 0x06, 0x1F, - 0x06, 0x00, - 0x66, 0xC0, - 0x66, 0xC0, - 0x03, 0x00, - 0x03, 0x00, - 0x03, 0x00, 0x00, 0x00, }; - -static constexpr Bitmap bitmap_icon_morse { - { 16, 16 }, bitmap_icon_morse_data +static constexpr Bitmap bitmap_sd_card_unknown { + { 16, 16 }, bitmap_sd_card_unknown_data }; -static constexpr uint8_t bitmap_icon_nordic_data[] = { +static constexpr uint8_t bitmap_icon_stealth_data[] = { 0x00, 0x00, - 0x18, 0x18, - 0x26, 0x6C, - 0xC1, 0x8E, - 0x07, 0x8F, - 0x1F, 0x8C, - 0x3F, 0x80, - 0xFF, 0x80, - 0xFF, 0x83, - 0xFF, 0x87, - 0xEF, 0x9F, - 0x8F, 0xFF, - 0x4F, 0xFF, - 0x2E, 0x7C, - 0x18, 0x18, 0x00, 0x00, -}; - -static constexpr Bitmap bitmap_icon_nordic { - { 16, 16 }, bitmap_icon_nordic_data -}; - -static constexpr uint8_t bitmap_icon_numbers_data[] = { - 0x00, 0x00, - 0x68, 0x1B, - 0x48, 0x09, - 0x48, 0x1A, - 0x48, 0x5B, + 0x30, 0x1C, + 0xFC, 0x3F, + 0xFE, 0x7F, + 0xFE, 0x7F, + 0xC6, 0x63, + 0x86, 0x61, + 0xCE, 0x73, + 0xFC, 0x3F, + 0x7C, 0x3E, + 0x38, 0x1C, + 0x08, 0x00, + 0x08, 0x00, 0x08, 0x00, - 0x14, 0x00, - 0x1C, 0x00, - 0x14, 0x00, - 0x14, 0x00, - 0x1C, 0x00, - 0x14, 0x00, - 0x22, 0x00, - 0x3E, 0x00, - 0x22, 0x00, 0x00, 0x00, }; - -static constexpr Bitmap bitmap_icon_numbers { - { 16, 16 }, bitmap_icon_numbers_data +static constexpr Bitmap bitmap_icon_stealth { + { 16, 16 }, bitmap_icon_stealth_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, +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, - 0xF8, 0x1F, - 0xF8, 0x1F, - 0xFC, 0x3F, - 0xFC, 0x3F, + 0xF0, 0x0F, + 0xC0, 0x03, + 0x00, 0x00, + 0x00, 0x00, +}; +static constexpr Bitmap bitmap_icon_sleep { + { 16, 16 }, bitmap_icon_sleep_data }; -static constexpr Bitmap bitmap_icon_nuoptix { - { 16, 16 }, bitmap_icon_nuoptix_data +static constexpr uint8_t bitmap_icon_speaker_data[] = { + 0x00, 0x00, + 0x00, 0x20, + 0x00, 0x30, + 0x00, 0x38, + 0x00, 0x3C, + 0xDC, 0x3E, + 0xDC, 0x3F, + 0xDC, 0x3F, + 0xDC, 0x3F, + 0xDC, 0x3F, + 0xDC, 0x3E, + 0x00, 0x3C, + 0x00, 0x38, + 0x00, 0x30, + 0x00, 0x20, + 0x00, 0x00, +}; +static constexpr Bitmap bitmap_icon_speaker { + { 16, 16 }, bitmap_icon_speaker_data }; static constexpr uint8_t bitmap_icon_playdead_data[] = { @@ -462,11 +245,288 @@ static constexpr uint8_t bitmap_icon_playdead_data[] = { 0x04, 0x20, 0xF8, 0x1F, }; - static constexpr Bitmap bitmap_icon_playdead { { 16, 16 }, bitmap_icon_playdead_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_record_data[] = { + 0x00, 0x00, + 0x00, 0x00, + 0xC0, 0x03, + 0xF0, 0x0F, + 0xF8, 0x1F, + 0x18, 0x1C, + 0x9C, 0x39, + 0x9C, 0x39, + 0x1C, 0x3C, + 0x9C, 0x3C, + 0x98, 0x19, + 0xF8, 0x1F, + 0xF0, 0x0F, + 0xC0, 0x03, + 0x00, 0x00, + 0x00, 0x00, +}; +static constexpr Bitmap bitmap_record { + { 16, 16 }, bitmap_record_data +}; + +static constexpr uint8_t bitmap_icon_ais_data[] = { + 0x00, 0x01, + 0x80, 0x01, + 0xC0, 0x0D, + 0xC0, 0x3D, + 0xE0, 0x3D, + 0xF0, 0x7D, + 0xF8, 0x7D, + 0xF8, 0x7D, + 0xFC, 0x7D, + 0xFE, 0x7D, + 0x00, 0x00, + 0xF8, 0x3F, + 0xF8, 0x1F, + 0xFB, 0xCF, + 0x00, 0x00, + 0x00, 0x00, +}; +static constexpr Bitmap bitmap_icon_ais { + { 16, 16 }, bitmap_icon_ais_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_closecall_data[] = { + 0x00, 0x00, + 0x00, 0x10, + 0x00, 0x38, + 0x00, 0x7C, + 0x00, 0x00, + 0x3E, 0x00, + 0xE3, 0x00, + 0x80, 0x01, + 0x1C, 0x03, + 0x22, 0x02, + 0x41, 0x06, + 0x88, 0x04, + 0x9C, 0x04, + 0x88, 0x04, + 0x41, 0x06, + 0x22, 0x02, +}; +static constexpr Bitmap bitmap_icon_closecall { + { 16, 16 }, bitmap_icon_closecall_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_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_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_more_data[] = { + 0x18, + 0x18, + 0x18, + 0x18, + 0xFF, + 0x7E, + 0x3C, + 0x18, +}; +static constexpr Bitmap bitmap_more { + { 8, 8 }, bitmap_more_data +}; + +static constexpr uint8_t bitmap_icon_whistle_data[] = { + 0x00, 0x00, + 0x60, 0x00, + 0xFC, 0x01, + 0xFF, 0x03, + 0xFF, 0x0F, + 0xF9, 0x11, + 0x66, 0x30, + 0x88, 0x3C, + 0x10, 0x7F, + 0x10, 0x7E, + 0x08, 0x7C, + 0x08, 0x7C, + 0x10, 0x3C, + 0x20, 0x0E, + 0xC0, 0x03, + 0x00, 0x00, +}; +static constexpr Bitmap bitmap_icon_whistle { + { 16, 16 }, bitmap_icon_whistle_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_microphone_data[] = { + 0xC0, 0x03, + 0x60, 0x05, + 0xB0, 0x0A, + 0x50, 0x0D, + 0xB0, 0x0E, + 0x60, 0x05, + 0xE0, 0x07, + 0x20, 0x04, + 0x20, 0x04, + 0xE0, 0x04, + 0xE0, 0x04, + 0xC0, 0x02, + 0x40, 0x02, + 0x40, 0x02, + 0x40, 0x02, + 0xC0, 0x03, +}; +static constexpr Bitmap bitmap_icon_microphone { + { 16, 16 }, bitmap_icon_microphone_data +}; + +static constexpr uint8_t bitmap_icon_numbers_data[] = { + 0x00, 0x00, + 0x68, 0x1B, + 0x48, 0x09, + 0x48, 0x1A, + 0x48, 0x5B, + 0x08, 0x00, + 0x14, 0x00, + 0x1C, 0x00, + 0x14, 0x00, + 0x14, 0x00, + 0x1C, 0x00, + 0x14, 0x00, + 0x22, 0x00, + 0x3E, 0x00, + 0x22, 0x00, + 0x00, 0x00, +}; +static constexpr Bitmap bitmap_icon_numbers { + { 16, 16 }, bitmap_icon_numbers_data +}; + static constexpr uint8_t bitmap_icon_rds_data[] = { 0x00, 0x00, 0x00, 0x00, @@ -485,12 +545,55 @@ static constexpr uint8_t bitmap_icon_rds_data[] = { 0x00, 0x00, 0x00, 0x00, }; - static constexpr Bitmap bitmap_icon_rds { { 16, 16 }, bitmap_icon_rds_data }; -static constexpr uint8_t bitmap_icon_receiver_data[] = { +static constexpr uint8_t bitmap_icon_nordic_data[] = { + 0x00, 0x00, + 0x18, 0x18, + 0x26, 0x6C, + 0xC1, 0x8E, + 0x07, 0x8F, + 0x1F, 0x8C, + 0x3F, 0x80, + 0xFF, 0x80, + 0xFF, 0x83, + 0xFF, 0x87, + 0xEF, 0x9F, + 0x8F, 0xFF, + 0x4F, 0xFF, + 0x2E, 0x7C, + 0x18, 0x18, + 0x00, 0x00, +}; +static constexpr Bitmap bitmap_icon_nordic { + { 16, 16 }, bitmap_icon_nordic_data +}; + +static constexpr uint8_t bitmap_icon_previous_data[] = { + 0x00, 0x00, + 0x00, 0x00, + 0xE0, 0x03, + 0x10, 0x03, + 0x88, 0x01, + 0xC4, 0x00, + 0xE2, 0x3F, + 0x01, 0x20, + 0x01, 0x20, + 0xE3, 0x3F, + 0xC6, 0x3F, + 0x8C, 0x00, + 0x18, 0x01, + 0xF0, 0x03, + 0xE0, 0x03, + 0x00, 0x00, +}; +static constexpr Bitmap bitmap_icon_previous { + { 16, 16 }, bitmap_icon_previous_data +}; + +static constexpr uint8_t bitmap_icon_receivers_data[] = { 0xC0, 0x07, 0x30, 0x18, 0x10, 0x10, @@ -508,9 +611,156 @@ static constexpr uint8_t bitmap_icon_receiver_data[] = { 0xE0, 0x00, 0x00, 0x00, }; +static constexpr Bitmap bitmap_icon_receivers { + { 16, 16 }, bitmap_icon_receivers_data +}; -static constexpr Bitmap bitmap_icon_receiver { - { 16, 16 }, bitmap_icon_receiver_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_stop_data[] = { + 0x00, 0x00, + 0x00, 0x00, + 0xFC, 0x3F, + 0xFC, 0x3F, + 0xFC, 0x3F, + 0xFC, 0x3F, + 0xFC, 0x3F, + 0xFC, 0x3F, + 0xFC, 0x3F, + 0xFC, 0x3F, + 0xFC, 0x3F, + 0xFC, 0x3F, + 0xFC, 0x3F, + 0xFC, 0x3F, + 0x00, 0x00, + 0x00, 0x00, +}; +static constexpr Bitmap bitmap_stop { + { 16, 16 }, bitmap_stop_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_target_calibrate_data[] = { + 0x02, 0x00, 0x00, 0x40, + 0x07, 0x00, 0x00, 0xE0, + 0x0E, 0x00, 0x00, 0x70, + 0x1C, 0x00, 0x00, 0x38, + 0x38, 0x00, 0x00, 0x1C, + 0x70, 0x00, 0x00, 0x0E, + 0xE0, 0x00, 0x00, 0x07, + 0xC0, 0x01, 0x80, 0x03, + 0x80, 0x03, 0xC0, 0x01, + 0x00, 0x07, 0xE0, 0x00, + 0x00, 0x0E, 0x70, 0x00, + 0x00, 0x1C, 0x38, 0x00, + 0x00, 0x38, 0x1C, 0x00, + 0x00, 0x70, 0x0E, 0x00, + 0x00, 0xE0, 0x07, 0x00, + 0x00, 0xC0, 0x03, 0x00, + 0x00, 0xC0, 0x03, 0x00, + 0x00, 0xE0, 0x07, 0x00, + 0x00, 0x70, 0x0E, 0x00, + 0x00, 0x38, 0x1C, 0x00, + 0x00, 0x1C, 0x38, 0x00, + 0x00, 0x0E, 0x70, 0x00, + 0x00, 0x07, 0xE0, 0x00, + 0x80, 0x03, 0xC0, 0x01, + 0xC0, 0x01, 0x80, 0x03, + 0xE0, 0x00, 0x00, 0x07, + 0x70, 0x00, 0x00, 0x0E, + 0x38, 0x00, 0x00, 0x1C, + 0x1C, 0x00, 0x00, 0x38, + 0x0E, 0x00, 0x00, 0x70, + 0x07, 0x00, 0x00, 0xE0, + 0x02, 0x00, 0x00, 0x40, +}; +static constexpr Bitmap bitmap_target_calibrate { + { 32, 32 }, bitmap_target_calibrate_data +}; + +static constexpr uint8_t bitmap_icon_tpms_data[] = { + 0xE0, 0x07, + 0xF8, 0x1A, + 0x78, 0x10, + 0x3C, 0x20, + 0x34, 0x27, + 0x9A, 0x4C, + 0x96, 0x6C, + 0xBA, 0x4C, + 0x96, 0x6C, + 0xB2, 0x4C, + 0x92, 0x4E, + 0x24, 0x27, + 0x24, 0x20, + 0x48, 0x10, + 0xD8, 0x1A, + 0xE0, 0x07, +}; +static constexpr Bitmap bitmap_icon_tpms { + { 16, 16 }, bitmap_icon_tpms_data +}; + +static constexpr uint8_t bitmap_icon_hackrf_data[] = { + 0x80, 0x00, + 0xC0, 0x01, + 0xE0, 0x03, + 0x80, 0x00, + 0x80, 0x0E, + 0x90, 0x0E, + 0xB8, 0x0E, + 0x90, 0x04, + 0x90, 0x02, + 0xA0, 0x01, + 0xC0, 0x00, + 0x80, 0x00, + 0xC0, 0x01, + 0xE0, 0x03, + 0xE0, 0x03, + 0xC0, 0x01, +}; +static constexpr Bitmap bitmap_icon_hackrf { + { 16, 16 }, bitmap_icon_hackrf_data }; static constexpr uint8_t bitmap_icon_remote_data[] = { @@ -531,11 +781,120 @@ static constexpr uint8_t bitmap_icon_remote_data[] = { 0x10, 0x08, 0xE0, 0x07, }; - static constexpr Bitmap bitmap_icon_remote { { 16, 16 }, bitmap_icon_remote_data }; +static constexpr uint8_t bitmap_icon_camera_data[] = { + 0x00, 0x00, + 0x00, 0x00, + 0x00, 0x00, + 0xCC, 0x03, + 0xE8, 0x07, + 0xFC, 0x3F, + 0x3C, 0x3C, + 0x9C, 0x39, + 0xDC, 0x3B, + 0xDC, 0x3B, + 0x9C, 0x39, + 0x3C, 0x3C, + 0xFC, 0x3F, + 0x00, 0x00, + 0x00, 0x00, + 0x00, 0x00, +}; +static constexpr Bitmap bitmap_icon_camera { + { 16, 16 }, bitmap_icon_camera_data +}; + +static constexpr uint8_t bitmap_icon_ert_data[] = { + 0x00, 0x00, + 0x00, 0x00, + 0x77, 0x77, + 0x55, 0x41, + 0x75, 0x77, + 0x55, 0x44, + 0x55, 0x44, + 0x77, 0x77, + 0x00, 0x00, + 0x20, 0x04, + 0x02, 0x26, + 0x04, 0x12, + 0x00, 0x03, + 0x80, 0x01, + 0xC3, 0x61, + 0x80, 0x00, +}; +static constexpr Bitmap bitmap_icon_ert { + { 16, 16 }, bitmap_icon_ert_data +}; + +static constexpr uint8_t bitmap_icon_keyboard_data[] = { + 0x00, 0x00, + 0x00, 0x00, + 0x00, 0x00, + 0xF0, 0x1F, + 0x18, 0x11, + 0x18, 0x11, + 0x18, 0x11, + 0xFC, 0x7F, + 0x46, 0x44, + 0x46, 0x44, + 0x46, 0x44, + 0xFE, 0x7F, + 0xFE, 0x3F, + 0x00, 0x00, + 0x00, 0x00, + 0x00, 0x00, +}; +static constexpr Bitmap bitmap_icon_keyboard { + { 16, 16 }, bitmap_icon_keyboard_data +}; + +static constexpr uint8_t bitmap_icon_capture_data[] = { + 0xEF, 0x29, + 0xEF, 0x69, + 0xEF, 0xE9, + 0xEF, 0xE9, + 0xEF, 0xEF, + 0x1F, 0xF0, + 0xFF, 0xFF, + 0xFF, 0xFF, + 0x03, 0xC0, + 0xFB, 0xDF, + 0x0B, 0xD9, + 0xFB, 0xDF, + 0x4B, 0xDE, + 0xFB, 0xDF, + 0x03, 0xC0, + 0xFE, 0x7F, +}; +static constexpr Bitmap bitmap_icon_capture { + { 16, 16 }, bitmap_icon_capture_data +}; + +static constexpr uint8_t bitmap_icon_morse_data[] = { + 0x00, 0x00, + 0x18, 0x00, + 0x18, 0x00, + 0x18, 0x00, + 0x0C, 0x00, + 0x0C, 0x00, + 0x0C, 0x00, + 0x0C, 0x1F, + 0x06, 0x1F, + 0x06, 0x00, + 0x66, 0xC0, + 0x66, 0xC0, + 0x03, 0x00, + 0x03, 0x00, + 0x03, 0x00, + 0x00, 0x00, +}; +static constexpr Bitmap bitmap_icon_morse { + { 16, 16 }, bitmap_icon_morse_data +}; + static constexpr uint8_t bitmap_icon_replay_data[] = { 0x00, 0x00, 0xC0, 0x07, @@ -554,7 +913,6 @@ static constexpr uint8_t bitmap_icon_replay_data[] = { 0x80, 0x03, 0x00, 0x00, }; - static constexpr Bitmap bitmap_icon_replay { { 16, 16 }, bitmap_icon_replay_data }; @@ -577,404 +935,93 @@ static constexpr uint8_t bitmap_icon_soundboard_data[] = { 0x00, 0x00, 0x00, 0x00, }; - static constexpr Bitmap bitmap_icon_soundboard { { 16, 16 }, bitmap_icon_soundboard_data }; -static constexpr uint8_t bitmap_icon_tpms_data[] = { - 0xE0, 0x07, - 0xF8, 0x1A, - 0x78, 0x10, - 0x3C, 0x20, - 0x34, 0x27, - 0x9A, 0x4C, - 0x96, 0x6C, - 0xBA, 0x4C, - 0x96, 0x6C, - 0xB2, 0x4C, - 0x92, 0x4E, - 0x24, 0x27, - 0x24, 0x20, - 0x48, 0x10, - 0xD8, 0x1A, - 0xE0, 0x07, -}; - -static constexpr Bitmap bitmap_icon_tpms { - { 16, 16 }, bitmap_icon_tpms_data -}; - -static constexpr uint8_t bitmap_icon_whistle_data[] = { - 0x00, 0x00, - 0x60, 0x00, - 0xFC, 0x01, - 0xFF, 0x03, - 0xFF, 0x0F, - 0xF9, 0x11, - 0x66, 0x30, - 0x88, 0x3C, - 0x10, 0x7F, - 0x10, 0x7E, - 0x08, 0x7C, - 0x08, 0x7C, - 0x10, 0x3C, - 0x20, 0x0E, - 0xC0, 0x03, - 0x00, 0x00, -}; - -static constexpr Bitmap bitmap_icon_whistle { - { 16, 16 }, bitmap_icon_whistle_data -}; - -static constexpr uint8_t bitmap_stealth_data[] = { - 0x00, 0x00, - 0x00, 0x00, - 0xE0, 0x07, - 0xF8, 0x1F, - 0xFC, 0x3F, - 0xFC, 0x3F, - 0xE4, 0x27, - 0xC4, 0x23, - 0xEC, 0x37, - 0x7C, 0x3E, - 0x7C, 0x1E, - 0x2C, 0x0C, - 0x0C, 0x00, - 0x0C, 0x00, - 0x0C, 0x00, - 0x00, 0x00 -}; - -static constexpr Bitmap bitmap_stealth { - { 16, 16 }, bitmap_stealth_data -}; - -static constexpr uint8_t bitmap_speaker_data[] = { - 0x00, 0x00, - 0x00, 0x20, - 0x00, 0x30, - 0x00, 0x38, - 0x00, 0x3C, - 0xDC, 0x3E, - 0xDC, 0x3F, - 0xDC, 0x3F, - 0xDC, 0x3F, - 0xDC, 0x3F, - 0xDC, 0x3E, - 0x00, 0x3C, - 0x00, 0x38, - 0x00, 0x30, - 0x00, 0x20, - 0x00, 0x00 -}; - -static constexpr Bitmap bitmap_speaker { - { 16, 16 }, bitmap_speaker_data -}; - -static constexpr uint8_t bitmap_more_data[] = { - 0x18, - 0x18, - 0x18, - 0x18, - 0xFF, - 0x7E, - 0x3C, - 0x18, -}; - -static constexpr Bitmap bitmap_more { - { 8, 8 }, bitmap_more_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_keyboard_data[] = { - 0x00, 0x00, - 0x00, 0x00, - 0x00, 0x00, - 0x00, 0x00, - 0xF0, 0x1F, - 0x10, 0x11, - 0x10, 0x11, - 0x10, 0x11, - 0xFC, 0x7F, - 0x44, 0x44, - 0x44, 0x44, - 0x44, 0x44, - 0xFC, 0x7F, - 0x00, 0x00, - 0x00, 0x00, - 0x00, 0x00, -}; - -static constexpr Bitmap bitmap_keyboard { - { 16, 16 }, bitmap_keyboard_data -}; - -static constexpr uint8_t bitmap_unistroke_data[] = { - 0x33, 0xC0, - 0x33, 0x00, - 0xB3, 0xCD, - 0xB3, 0xDF, - 0xB3, 0xD9, - 0xB3, 0xD9, - 0x9E, 0xD9, - 0x00, 0x00, - 0x00, 0x00, - 0x00, 0x1C, - 0x06, 0x3E, - 0x06, 0x67, - 0xCE, 0x43, - 0xFC, 0x01, - 0x78, 0x40, - 0x00, 0x00 -}; - -static constexpr Bitmap bitmap_unistroke { - { 16, 16 }, bitmap_unistroke_data -}; - -static constexpr uint8_t bitmap_record_data[] = { - 0x00, 0x00, - 0x00, 0x00, - 0xc0, 0x03, - 0xf0, 0x0f, - 0xf8, 0x1f, - 0xf8, 0x1f, - 0xfc, 0x3f, - 0xfc, 0x3f, - 0xfc, 0x3f, - 0xfc, 0x3f, - 0xf8, 0x1f, - 0xf8, 0x1f, - 0xf0, 0x0f, - 0xc0, 0x03, - 0x00, 0x00, - 0x00, 0x00, -}; - -static constexpr Bitmap bitmap_record { - { 16, 16 }, bitmap_record_data -}; - -static constexpr uint8_t bitmap_stop_data[] = { - 0x00, 0x00, - 0x00, 0x00, - 0xfc, 0x3f, - 0xfc, 0x3f, - 0xfc, 0x3f, - 0xfc, 0x3f, - 0xfc, 0x3f, - 0xfc, 0x3f, - 0xfc, 0x3f, - 0xfc, 0x3f, - 0xfc, 0x3f, - 0xfc, 0x3f, - 0xfc, 0x3f, - 0xfc, 0x3f, - 0x00, 0x00, - 0x00, 0x00, -}; - -static constexpr Bitmap bitmap_stop { - { 16, 16 }, bitmap_stop_data -}; - -static constexpr uint8_t bitmap_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_sleep { - { 16, 16 }, bitmap_sleep_data -}; - -static constexpr uint8_t bitmap_camera_data[] = { - 0x00, 0x00, - 0x00, 0x00, - 0x00, 0x00, - 0xcc, 0x03, - 0xe8, 0x07, - 0xfc, 0x3f, - 0x3c, 0x3c, - 0x9c, 0x39, - 0xdc, 0x3b, - 0xdc, 0x3b, - 0x9c, 0x39, - 0x3c, 0x3c, - 0xfc, 0x3f, - 0x00, 0x00, - 0x00, 0x00, - 0x00, 0x00, -}; - -static constexpr Bitmap bitmap_camera { - { 16, 16 }, bitmap_camera_data -}; - -static constexpr uint8_t bitmap_sd_card_ok_data[] = { - 0x00, 0x00, 0x00, 0x00, 0xe0, 0x1f, 0xf0, 0x1f, - 0xf8, 0x1f, 0xf8, 0x1f, 0xf8, 0x1f, 0xf8, 0x1f, - 0xf8, 0x1f, 0xf8, 0x1f, 0xf8, 0x1f, 0xf8, 0x1f, - 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, 0xe0, 0x1f, 0xf0, 0x1f, - 0x38, 0x1c, 0x98, 0x19, 0xf8, 0x19, 0xf8, 0x1c, - 0x78, 0x1e, 0x78, 0x1e, 0xf8, 0x1f, 0x78, 0x1e, - 0xf8, 0x1f, 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_sd_card_error_data[] = { - 0x00, 0x00, 0x00, 0x00, 0xe0, 0x1f, 0xf0, 0x1f, - 0xf8, 0x1f, 0xd8, 0x1b, 0x98, 0x19, 0x38, 0x1c, - 0x78, 0x1e, 0x38, 0x1c, 0x98, 0x19, 0xd8, 0x1b, - 0xf8, 0x1f, 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_target_calibrate_data[] = { - 0x02, 0x00, 0x00, 0x40, - 0x07, 0x00, 0x00, 0xe0, - 0x0e, 0x00, 0x00, 0x70, - 0x1c, 0x00, 0x00, 0x38, - - 0x38, 0x00, 0x00, 0x1c, - 0x70, 0x00, 0x00, 0x0e, - 0xe0, 0x00, 0x00, 0x07, - 0xc0, 0x01, 0x80, 0x03, - - 0x80, 0x03, 0xc0, 0x01, - 0x00, 0x07, 0xe0, 0x00, - 0x00, 0x0e, 0x70, 0x00, - 0x00, 0x1c, 0x38, 0x00, - - 0x00, 0x38, 0x1c, 0x00, - 0x00, 0x30, 0x0c, 0x00, - 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, - - 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, - 0x00, 0x30, 0x0c, 0x00, - 0x00, 0x38, 0x1c, 0x00, - - 0x00, 0x1c, 0x38, 0x00, - 0x00, 0x0e, 0x70, 0x00, - 0x00, 0x07, 0xe0, 0x00, - 0x80, 0x03, 0xc0, 0x01, - - 0xc0, 0x01, 0x80, 0x03, - 0xe0, 0x00, 0x00, 0x07, - 0x70, 0x00, 0x00, 0x0e, - 0x38, 0x00, 0x00, 0x1c, - - 0x1c, 0x00, 0x00, 0x38, - 0x0e, 0x00, 0x00, 0x70, - 0x07, 0x00, 0x00, 0xe0, - 0x02, 0x00, 0x00, 0x40, -}; - -static constexpr Bitmap bitmap_target_calibrate { - { 32, 32 }, bitmap_target_calibrate_data -}; - static constexpr uint8_t bitmap_target_verify_data[] = { - 0x00, 0xe0, 0x07, 0x00, - 0x00, 0xfc, 0x3f, 0x00, - 0x00, 0x1f, 0xf8, 0x00, - 0xc0, 0x03, 0xc0, 0x03, - - 0xe0, 0x00, 0x00, 0x07, - 0x70, 0x00, 0x00, 0x0e, - 0x38, 0x00, 0x00, 0x1c, - 0x18, 0x00, 0x00, 0x18, - - 0x0c, 0x00, 0x00, 0x30, - 0x0c, 0x00, 0x00, 0x30, - 0x06, 0x00, 0x00, 0x60, - 0x06, 0x00, 0x00, 0x60, - - 0x06, 0x00, 0x00, 0x60, - 0x03, 0x80, 0x01, 0xc0, - 0x03, 0x80, 0x01, 0xc0, - 0x03, 0xe0, 0x07, 0xc0, - - 0x03, 0xe0, 0x07, 0xc0, - 0x03, 0x80, 0x01, 0xc0, - 0x03, 0x80, 0x01, 0xc0, - 0x06, 0x00, 0x00, 0x60, - - 0x06, 0x00, 0x00, 0x60, - 0x06, 0x00, 0x00, 0x60, - 0x0c, 0x00, 0x00, 0x30, - 0x0c, 0x00, 0x00, 0x30, - - 0x18, 0x00, 0x00, 0x18, - 0x38, 0x00, 0x00, 0x1c, - 0x70, 0x00, 0x00, 0x0e, - 0xe0, 0x00, 0x00, 0x07, - - 0xc0, 0x03, 0xc0, 0x03, - 0x00, 0x1f, 0xf8, 0x00, - 0x00, 0xfc, 0x3f, 0x00, - 0x00, 0xe0, 0x07, 0x00, + 0x00, 0xE0, 0x07, 0x00, + 0x00, 0xFC, 0x3F, 0x00, + 0x00, 0x1F, 0xF8, 0x00, + 0xC0, 0x03, 0xC0, 0x03, + 0xE0, 0x00, 0x00, 0x07, + 0x70, 0x00, 0x00, 0x0E, + 0x38, 0x00, 0x00, 0x1C, + 0x18, 0x00, 0x00, 0x18, + 0x0C, 0x00, 0x00, 0x30, + 0x0C, 0x00, 0x00, 0x30, + 0x06, 0x00, 0x00, 0x60, + 0x06, 0x00, 0x00, 0x60, + 0x06, 0x00, 0x00, 0x60, + 0x03, 0x80, 0x01, 0xC0, + 0x03, 0x80, 0x01, 0xC0, + 0x03, 0xE0, 0x07, 0xC0, + 0x03, 0xE0, 0x07, 0xC0, + 0x03, 0x80, 0x01, 0xC0, + 0x03, 0x80, 0x01, 0xC0, + 0x06, 0x00, 0x00, 0x60, + 0x06, 0x00, 0x00, 0x60, + 0x06, 0x00, 0x00, 0x60, + 0x0C, 0x00, 0x00, 0x30, + 0x0C, 0x00, 0x00, 0x30, + 0x18, 0x00, 0x00, 0x18, + 0x38, 0x00, 0x00, 0x1C, + 0x70, 0x00, 0x00, 0x0E, + 0xE0, 0x00, 0x00, 0x07, + 0xC0, 0x03, 0xC0, 0x03, + 0x00, 0x1F, 0xF8, 0x00, + 0x00, 0xFC, 0x3F, 0x00, + 0x00, 0xE0, 0x07, 0x00, }; - static constexpr Bitmap bitmap_target_verify { { 32, 32 }, bitmap_target_verify_data }; +static constexpr uint8_t bitmap_icon_audiotx_data[] = { + 0x00, 0x70, + 0x00, 0x7F, + 0xC0, 0x4F, + 0xC0, 0x60, + 0x40, 0x5E, + 0xC0, 0x41, + 0x40, 0x40, + 0x40, 0x40, + 0x40, 0x40, + 0x40, 0x70, + 0x70, 0x7C, + 0x7C, 0x7E, + 0x7E, 0x3E, + 0x3E, 0x1C, + 0x1C, 0x00, + 0x00, 0x00, +}; +static constexpr Bitmap bitmap_icon_audiotx { + { 16, 16 }, bitmap_icon_audiotx_data +}; + +static constexpr uint8_t bitmap_icon_jammer_data[] = { + 0xA6, 0x2C, + 0x73, 0x47, + 0x2E, 0xB9, + 0x55, 0xD7, + 0x7E, 0xAE, + 0xD3, 0x45, + 0xCA, 0xBA, + 0x71, 0x15, + 0xDA, 0xBE, + 0xF5, 0xAB, + 0xAD, 0x98, + 0x48, 0x77, + 0xAD, 0xCA, + 0x58, 0x7D, + 0xBF, 0xAF, + 0x5A, 0x65, +}; +static constexpr Bitmap bitmap_icon_jammer { + { 16, 16 }, bitmap_icon_jammer_data +}; + + } /* namespace ui */ #endif/*__BITMAP_HPP__*/ diff --git a/firmware/application/ui_alphanum.hpp b/firmware/application/ui_alphanum.hpp index 74f5f91d1..92f73d93a 100644 --- a/firmware/application/ui_alphanum.hpp +++ b/firmware/application/ui_alphanum.hpp @@ -71,7 +71,7 @@ private: { 8, 0, 232, 16 } }; - std::array buttons; + std::array buttons { }; Button button_lowercase { { 21 * 8, 270, 32, 24 }, diff --git a/firmware/application/ui_bht_tx.hpp b/firmware/application/ui_bht_tx.hpp index 8bee501c4..93509e453 100644 --- a/firmware/application/ui_bht_tx.hpp +++ b/firmware/application/ui_bht_tx.hpp @@ -98,7 +98,7 @@ private: }; Image bmp_speaker { { 204, 8, 16, 16 }, - &bitmap_speaker, + &bitmap_icon_speaker, ui::Color::white(), ui::Color::black() }; diff --git a/firmware/application/ui_navigation.cpp b/firmware/application/ui_navigation.cpp index 1e8f50fe3..f862bfb5a 100644 --- a/firmware/application/ui_navigation.cpp +++ b/firmware/application/ui_navigation.cpp @@ -88,9 +88,9 @@ SystemStatusView::SystemStatusView() { title.set_style(&style_systemstatus); if (!portapack::persistent_memory::ui_config_textentry()) - button_textentry.set_bitmap(&bitmap_keyboard); + button_textentry.set_bitmap(&bitmap_icon_keyboard); else - button_textentry.set_bitmap(&bitmap_unistroke); + button_textentry.set_bitmap(&bitmap_icon_unistroke); if (portapack::persistent_memory::stealth_mode()) button_stealth.set_foreground(ui::Color::green()); @@ -152,9 +152,9 @@ void SystemStatusView::on_textentry() { portapack::persistent_memory::set_config_textentry(cfg ^ 1); if (!cfg) - button_textentry.set_bitmap(&bitmap_unistroke); + button_textentry.set_bitmap(&bitmap_icon_unistroke); else - button_textentry.set_bitmap(&bitmap_keyboard); + button_textentry.set_bitmap(&bitmap_icon_keyboard); } void SystemStatusView::on_camera() { @@ -292,7 +292,7 @@ ReceiverMenuView::ReceiverMenuView(NavigationView& nav) { { "CCIR", ui::Color::grey(), nullptr, [&nav](){ nav.push(); } }, { "Nordic/BTLE", ui::Color::grey(), &bitmap_icon_nordic, [&nav](){ nav.push(); } }, { "POCSAG", ui::Color::cyan(), nullptr, [&nav](){ nav.push(); } }, - { "SIGFOX", ui::Color::grey(), &bitmap_icon_foxhunt, [&nav](){ nav.push(); } }, // SIGFRXView + { "SIGFOX", ui::Color::grey(), &bitmap_icon_fox, [&nav](){ nav.push(); } }, // SIGFRXView { "Transponders", ui::Color::green(), nullptr, [&nav](){ nav.push(); } }, } }); on_left = [&nav](){ nav.pop(); }; @@ -351,7 +351,7 @@ void SystemMenuView::hackrf_mode(NavigationView& nav) { SystemMenuView::SystemMenuView(NavigationView& nav) { add_items<12>({ { { "Play dead", ui::Color::red(), &bitmap_icon_playdead, [&nav](){ nav.push(); } }, - { "Receivers", ui::Color::cyan(), &bitmap_icon_receiver, [&nav](){ nav.push(); } }, + { "Receivers", ui::Color::cyan(), &bitmap_icon_receivers, [&nav](){ nav.push(); } }, { "Capture", ui::Color::cyan(), &bitmap_icon_capture, [&nav](){ nav.push(); } }, //CaptureAppView { "Replay", ui::Color::grey(), &bitmap_icon_replay, [&nav](){ nav.push(); } }, { "Code transmitters", ui::Color::green(), &bitmap_icon_codetx, [&nav](){ nav.push(); } }, diff --git a/firmware/application/ui_navigation.hpp b/firmware/application/ui_navigation.hpp index 28bfecbf6..942f62fd7 100644 --- a/firmware/application/ui_navigation.hpp +++ b/firmware/application/ui_navigation.hpp @@ -72,7 +72,7 @@ private: ImageButton button_back { { 2, 0 * 16, 16, 16 }, - &bitmap_previous, + &bitmap_icon_previous, Color::white(), Color::dark_grey() }; @@ -84,28 +84,28 @@ private: ImageButton button_stealth { { 152, 0, 2 * 8, 1 * 16 }, - &bitmap_stealth, + &bitmap_icon_stealth, Color::light_grey(), Color::dark_grey() }; ImageButton button_textentry { { 170, 0, 2 * 8, 1 * 16 }, - &bitmap_unistroke, + &bitmap_icon_unistroke, Color::white(), Color::dark_grey() }; ImageButton button_camera { { 188, 0, 2 * 8, 1 * 16 }, - &bitmap_camera, + &bitmap_icon_camera, Color::white(), Color::dark_grey() }; ImageButton button_sleep { { 206, 0, 2 * 8, 1 * 16 }, - &bitmap_sleep, + &bitmap_icon_sleep, Color::white(), Color::dark_grey() }; diff --git a/firmware/graphics/PP_ADSB.png b/firmware/graphics/icon_adsb.png similarity index 100% rename from firmware/graphics/PP_ADSB.png rename to firmware/graphics/icon_adsb.png diff --git a/firmware/graphics/PP_AIS.png b/firmware/graphics/icon_ais.png similarity index 100% rename from firmware/graphics/PP_AIS.png rename to firmware/graphics/icon_ais.png diff --git a/firmware/graphics/PP_AUDIOTX.png b/firmware/graphics/icon_audiotx.png similarity index 100% rename from firmware/graphics/PP_AUDIOTX.png rename to firmware/graphics/icon_audiotx.png diff --git a/firmware/graphics/PP_BHT.png b/firmware/graphics/icon_bht.png similarity index 100% rename from firmware/graphics/PP_BHT.png rename to firmware/graphics/icon_bht.png diff --git a/firmware/graphics/icon_camera.png b/firmware/graphics/icon_camera.png new file mode 100644 index 000000000..9b10509f5 Binary files /dev/null and b/firmware/graphics/icon_camera.png differ diff --git a/firmware/graphics/PP_CAPTURE.png b/firmware/graphics/icon_capture.png similarity index 100% rename from firmware/graphics/PP_CAPTURE.png rename to firmware/graphics/icon_capture.png diff --git a/firmware/graphics/PP_CLOSECALL.png b/firmware/graphics/icon_closecall.png similarity index 100% rename from firmware/graphics/PP_CLOSECALL.png rename to firmware/graphics/icon_closecall.png diff --git a/firmware/graphics/PP_CODETX.png b/firmware/graphics/icon_codetx.png similarity index 100% rename from firmware/graphics/PP_CODETX.png rename to firmware/graphics/icon_codetx.png diff --git a/firmware/graphics/PP_ERT.png b/firmware/graphics/icon_ert.png similarity index 100% rename from firmware/graphics/PP_ERT.png rename to firmware/graphics/icon_ert.png diff --git a/firmware/graphics/PP_FOXHUNT.png b/firmware/graphics/icon_fox.png similarity index 100% rename from firmware/graphics/PP_FOXHUNT.png rename to firmware/graphics/icon_fox.png diff --git a/firmware/graphics/PP_HACKRF.png b/firmware/graphics/icon_hackrf.png similarity index 100% rename from firmware/graphics/PP_HACKRF.png rename to firmware/graphics/icon_hackrf.png diff --git a/firmware/graphics/PP_JAMMER.png b/firmware/graphics/icon_jammer.png similarity index 100% rename from firmware/graphics/PP_JAMMER.png rename to firmware/graphics/icon_jammer.png diff --git a/firmware/graphics/icon_keyboard.png b/firmware/graphics/icon_keyboard.png new file mode 100644 index 000000000..aec982956 Binary files /dev/null and b/firmware/graphics/icon_keyboard.png differ diff --git a/firmware/graphics/PP_LCR.png b/firmware/graphics/icon_lcr.png similarity index 100% rename from firmware/graphics/PP_LCR.png rename to firmware/graphics/icon_lcr.png diff --git a/firmware/graphics/PP_MICROPHONE.png b/firmware/graphics/icon_microphone.png similarity index 100% rename from firmware/graphics/PP_MICROPHONE.png rename to firmware/graphics/icon_microphone.png diff --git a/firmware/graphics/PP_MORSE.png b/firmware/graphics/icon_morse.png similarity index 100% rename from firmware/graphics/PP_MORSE.png rename to firmware/graphics/icon_morse.png diff --git a/firmware/graphics/PP_NORDIC.png b/firmware/graphics/icon_nordic.png similarity index 100% rename from firmware/graphics/PP_NORDIC.png rename to firmware/graphics/icon_nordic.png diff --git a/firmware/graphics/PP_NUMBERS.png b/firmware/graphics/icon_numbers.png similarity index 100% rename from firmware/graphics/PP_NUMBERS.png rename to firmware/graphics/icon_numbers.png diff --git a/firmware/graphics/PP_NUOPTIX.png b/firmware/graphics/icon_nuoptix.png similarity index 100% rename from firmware/graphics/PP_NUOPTIX.png rename to firmware/graphics/icon_nuoptix.png diff --git a/firmware/graphics/PP_PLAYDEAD.png b/firmware/graphics/icon_playdead.png similarity index 100% rename from firmware/graphics/PP_PLAYDEAD.png rename to firmware/graphics/icon_playdead.png diff --git a/firmware/graphics/icon_pocsag.png b/firmware/graphics/icon_pocsag.png new file mode 100644 index 000000000..d59ca1068 Binary files /dev/null and b/firmware/graphics/icon_pocsag.png differ diff --git a/firmware/graphics/PREVIOUS.png b/firmware/graphics/icon_previous.png similarity index 100% rename from firmware/graphics/PREVIOUS.png rename to firmware/graphics/icon_previous.png diff --git a/firmware/graphics/PP_RDS.png b/firmware/graphics/icon_rds.png similarity index 100% rename from firmware/graphics/PP_RDS.png rename to firmware/graphics/icon_rds.png diff --git a/firmware/graphics/PP_RECEIVER.png b/firmware/graphics/icon_receivers.png similarity index 100% rename from firmware/graphics/PP_RECEIVER.png rename to firmware/graphics/icon_receivers.png diff --git a/firmware/graphics/PP_REMOTE.png b/firmware/graphics/icon_remote.png similarity index 100% rename from firmware/graphics/PP_REMOTE.png rename to firmware/graphics/icon_remote.png diff --git a/firmware/graphics/PP_REPLAY.png b/firmware/graphics/icon_replay.png similarity index 100% rename from firmware/graphics/PP_REPLAY.png rename to firmware/graphics/icon_replay.png diff --git a/firmware/graphics/icon_script.png b/firmware/graphics/icon_script.png new file mode 100644 index 000000000..39203dd10 Binary files /dev/null and b/firmware/graphics/icon_script.png differ diff --git a/firmware/graphics/icon_sd.png b/firmware/graphics/icon_sd.png new file mode 100644 index 000000000..7662a822f Binary files /dev/null and b/firmware/graphics/icon_sd.png differ diff --git a/firmware/graphics/icon_sleep.png b/firmware/graphics/icon_sleep.png new file mode 100644 index 000000000..c3b1b519b Binary files /dev/null and b/firmware/graphics/icon_sleep.png differ diff --git a/firmware/graphics/PP_SOUNDBOARD.png b/firmware/graphics/icon_soundboard.png similarity index 100% rename from firmware/graphics/PP_SOUNDBOARD.png rename to firmware/graphics/icon_soundboard.png diff --git a/firmware/graphics/icon_speaker.png b/firmware/graphics/icon_speaker.png new file mode 100644 index 000000000..049266d19 Binary files /dev/null and b/firmware/graphics/icon_speaker.png differ diff --git a/firmware/graphics/icon_stealth.png b/firmware/graphics/icon_stealth.png new file mode 100644 index 000000000..d7874e20c Binary files /dev/null and b/firmware/graphics/icon_stealth.png differ diff --git a/firmware/graphics/PP_TPMS.png b/firmware/graphics/icon_tpms.png similarity index 100% rename from firmware/graphics/PP_TPMS.png rename to firmware/graphics/icon_tpms.png diff --git a/firmware/graphics/icon_unistroke.png b/firmware/graphics/icon_unistroke.png new file mode 100644 index 000000000..6629d47dd Binary files /dev/null and b/firmware/graphics/icon_unistroke.png differ diff --git a/firmware/graphics/PP_WHISTLE.png b/firmware/graphics/icon_whistle.png similarity index 100% rename from firmware/graphics/PP_WHISTLE.png rename to firmware/graphics/icon_whistle.png diff --git a/firmware/graphics/more.png b/firmware/graphics/more.png new file mode 100644 index 000000000..9a96ee75a Binary files /dev/null and b/firmware/graphics/more.png differ diff --git a/firmware/graphics/record.png b/firmware/graphics/record.png new file mode 100644 index 000000000..c44509902 Binary files /dev/null and b/firmware/graphics/record.png differ diff --git a/firmware/graphics/rssipwm.png b/firmware/graphics/rssipwm.png new file mode 100644 index 000000000..54b3d1734 Binary files /dev/null and b/firmware/graphics/rssipwm.png differ diff --git a/firmware/graphics/sd_card_error.png b/firmware/graphics/sd_card_error.png new file mode 100644 index 000000000..44d737eb7 Binary files /dev/null and b/firmware/graphics/sd_card_error.png differ diff --git a/firmware/graphics/sd_card_ok.png b/firmware/graphics/sd_card_ok.png new file mode 100644 index 000000000..1d671eaab Binary files /dev/null and b/firmware/graphics/sd_card_ok.png differ diff --git a/firmware/graphics/sd_card_unknown.png b/firmware/graphics/sd_card_unknown.png new file mode 100644 index 000000000..77daee8b9 Binary files /dev/null and b/firmware/graphics/sd_card_unknown.png differ diff --git a/firmware/graphics/stop.png b/firmware/graphics/stop.png new file mode 100644 index 000000000..1a72cb054 Binary files /dev/null and b/firmware/graphics/stop.png differ diff --git a/firmware/graphics/target_calibrate.png b/firmware/graphics/target_calibrate.png new file mode 100644 index 000000000..c40c481c6 Binary files /dev/null and b/firmware/graphics/target_calibrate.png differ diff --git a/firmware/graphics/target_verify.png b/firmware/graphics/target_verify.png new file mode 100644 index 000000000..45ec0aafc Binary files /dev/null and b/firmware/graphics/target_verify.png differ diff --git a/firmware/portapack-h1-havoc.bin b/firmware/portapack-h1-havoc.bin index c7d10eef0..045590194 100644 Binary files a/firmware/portapack-h1-havoc.bin and b/firmware/portapack-h1-havoc.bin differ diff --git a/firmware/tools/make_bitmap.py b/firmware/tools/make_bitmap.py index 42cfaed9d..e5f4f21cf 100644 --- a/firmware/tools/make_bitmap.py +++ b/firmware/tools/make_bitmap.py @@ -21,51 +21,95 @@ import sys import struct from PIL import Image +from os import listdir +from os import path usage_message = """ -1BPP PortaPack bitmap generator +1BPP PortaPack bitmap.hpp generator -Usage: +Usage: """ -if len(sys.argv) < 3: +if len(sys.argv) < 1: print(usage_message) sys.exit(-1) -c = 0 -data = 0 +def convert_png(file): + c = 0 + data = 0 -im = Image.open(sys.argv[2]) -rgb_im = im.convert('RGBA') + im = Image.open(file) + rgb_im = im.convert('RGBA') -if rgb_im.size[0] % 8 or rgb_im.size[1] % 8: - print('Bitmap size isn\'t a multiple of 8') - sys.exit(-1) + if rgb_im.size[0] % 8 or rgb_im.size[1] % 8: + print(file + ": Size isn\'t a multiple of 8") + sys.exit(-1) -name = sys.argv[1] + name = path.basename(file).split(".")[0].lower(); -print "static constexpr uint8_t bitmap_" + name + "_data[] = {" -print ' ', # Tab + f.write("static constexpr uint8_t bitmap_" + name + "_data[] = {\n") + f.write(' ') # Tab -for i in range(rgb_im.size[0]): - for j in range(rgb_im.size[1]): - r, g, b, a = rgb_im.getpixel((j, i)) - - data >>= 1 - - if r > 127 and g > 127 and b > 127 and a > 127: - data += 128 - - if j % 8 == 7: - print "0x%0.2X," % data, - data = 0 + for i in range(rgb_im.size[1]): + for j in range(rgb_im.size[0]): + r, g, b, a = rgb_im.getpixel((j, i)) + + data >>= 1 + + if r > 127 and g > 127 and b > 127 and a > 127: + data += 128 + + if j % 8 == 7: + f.write("0x%0.2X, " % data) + data = 0 - print '' - if i < rgb_im.size[0] - 1: - print ' ', # Tab + f.write("\n") + if i < rgb_im.size[0] - 1: + f.write(' ') # Tab -print "};" -print '' -print "static constexpr Bitmap bitmap_" + name + " {" -print " { " + str(rgb_im.size[0]) + ", " + str(rgb_im.size[1]) + " }, bitmap_" + name+ "_data" -print "};" + f.write("};\n") + f.write("static constexpr Bitmap bitmap_" + name + " {\n") + f.write(" { " + str(rgb_im.size[0]) + ", " + str(rgb_im.size[1]) + " }, bitmap_" + name+ "_data\n") + f.write("};\n\n") + return + +count = 0 + +f = open('bitmap.hpp', 'w') +f.write("/*\n") +f.write(" * Copyright (C) 2015 Jared Boone, ShareBrained Technology, Inc.\n") +f.write(" * Copyright (C) 2016 Furrtek\n") +f.write(" *\n") +f.write(" * This file is part of PortaPack.\n") +f.write(" *\n") +f.write(" * This program is free software; you can redistribute it and/or modify\n") +f.write(" * it under the terms of the GNU General Public License as published by\n") +f.write(" * the Free Software Foundation; either version 2, or (at your option)\n") +f.write(" * any later version.\n") +f.write(" *\n") +f.write(" * This program is distributed in the hope that it will be useful,\n") +f.write(" * but WITHOUT ANY WARRANTY; without even the implied warranty of\n") +f.write(" * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n") +f.write(" * GNU General Public License for more details.\n") +f.write(" *\n") +f.write(" * You should have received a copy of the GNU General Public License\n") +f.write(" * along with this program; see the file COPYING. If not, write to\n") +f.write(" * the Free Software Foundation, Inc., 51 Franklin Street,\n") +f.write(" * Boston, MA 02110-1301, USA.\n") +f.write(" */\n\n") +f.write("// This file was generated by make_bitmap.py\n\n") +f.write("#ifndef __BITMAP_HPP__\n") +f.write("#define __BITMAP_HPP__\n\n") +f.write("#include \"ui.hpp\"\n\n") +f.write("namespace ui {\n\n") + +for file in listdir(sys.argv[1]): + if file.endswith(".png"): + convert_png(sys.argv[1] + file) + count += 1 + +f.write("\n") +f.write("} /* namespace ui */\n\n") +f.write("#endif/*__BITMAP_HPP__*/\n") + +print "Converted " + str(count) + " files"