GUI optimalisation and bugfixes

Mute symbol added
This commit is contained in:
Sjef Verhoeven PE5PVB
2023-07-20 22:55:12 +02:00
parent 9365ebea7e
commit 3478ae08fa
9 changed files with 22517 additions and 23305 deletions
+164 -139
View File
@@ -4,9 +4,9 @@
#define MAX(x, y) ((x) < (y) ? (y) : (x))
#define MIN(X, Y) ({\
typeof (X) x_ = (X);\
typeof (Y) y_ = (Y);\
(x_ < y_) ? x_ : y_; })
typeof (X) x_ = (X);\
typeof (Y) y_ = (Y);\
(x_ < y_) ? x_ : y_; })
#define TIMER_OFFSET_TIMER (TIMER_500_TICK)
#define TIMER_BW_TIMER (TIMER_500_TICK)
@@ -96,7 +96,7 @@
// EEPROM index defines
#define EE_PRESETS_CNT 30
#define EE_CHECKBYTE_VALUE 36 // 0 ~ 255,add new entry, change for new value
#define EE_TOTAL_CNT 269
#define EE_UINT16_FREQUENCY_FM 0
#define EE_BYTE_VOLSET 4
@@ -158,159 +158,184 @@
#define EE_BYTE_SCREENSAVERSET 262
#define EE_INT16_AMLEVELOFFSET 263
#define EE_BYTE_UNIT 267
#define EE_BYTE_AF 268
#define EE_BYTE_AF 268
// End of EEPROM index defines
static const char* const unitString[] = {"dBμV", "dBf", "dBm"};
static const uint8_t TEFLogo[] PROGMEM = {
0xff, 0xff, 0xf8, 0x7f, 0xfe, 0x07, 0xff, 0xe0, 0xff, 0xff, 0xf8, 0xff, 0xff, 0x1f, 0xff, 0xe0,
0xff, 0xff, 0xf9, 0xff, 0xff, 0x1f, 0xff, 0xe0, 0xff, 0xff, 0xfb, 0xff, 0xfe, 0x3f, 0xff, 0xe0,
0xff, 0xff, 0xfb, 0xff, 0xfe, 0x3f, 0xff, 0xe0, 0x7f, 0xff, 0xf3, 0xff, 0xfe, 0x3f, 0xff, 0xe0,
0x01, 0xfc, 0x03, 0xfc, 0x00, 0x3f, 0xc0, 0x00, 0x01, 0xfc, 0x03, 0xfc, 0x00, 0x3f, 0x80, 0x00,
0x01, 0xfc, 0x03, 0xfc, 0x00, 0x3f, 0x80, 0x00, 0x01, 0xfc, 0x03, 0xff, 0xfc, 0x3f, 0xff, 0x80,
0x01, 0xfc, 0x03, 0xff, 0xfc, 0x3f, 0xff, 0xc0, 0x01, 0xfc, 0x03, 0xff, 0xfc, 0x3f, 0xff, 0xc0,
0x01, 0xfc, 0x03, 0xff, 0xfc, 0x3f, 0xff, 0xc0, 0x01, 0xfc, 0x03, 0xff, 0xfc, 0x3f, 0xff, 0xc0,
0x01, 0xfc, 0x03, 0xfc, 0x00, 0x3f, 0xc0, 0x00, 0x01, 0xfc, 0x03, 0xfc, 0x00, 0x3f, 0x80, 0x00,
0x01, 0xfc, 0x03, 0xfc, 0x00, 0x3f, 0x80, 0x00, 0x01, 0xfc, 0x03, 0xfe, 0x00, 0x3f, 0x80, 0x00,
0x01, 0xfc, 0x03, 0xff, 0xfe, 0x3f, 0x80, 0x00, 0x01, 0xfc, 0x03, 0xff, 0xfe, 0x3f, 0x80, 0x00,
0x01, 0xfc, 0x01, 0xff, 0xff, 0x3f, 0x80, 0x00, 0x01, 0xfc, 0x01, 0xff, 0xff, 0x3f, 0x80, 0x00,
0x01, 0xfc, 0x00, 0x7f, 0xff, 0x3f, 0x80, 0x00
0xff, 0xff, 0xf8, 0x7f, 0xfe, 0x07, 0xff, 0xe0, 0xff, 0xff, 0xf8, 0xff, 0xff, 0x1f, 0xff, 0xe0,
0xff, 0xff, 0xf9, 0xff, 0xff, 0x1f, 0xff, 0xe0, 0xff, 0xff, 0xfb, 0xff, 0xfe, 0x3f, 0xff, 0xe0,
0xff, 0xff, 0xfb, 0xff, 0xfe, 0x3f, 0xff, 0xe0, 0x7f, 0xff, 0xf3, 0xff, 0xfe, 0x3f, 0xff, 0xe0,
0x01, 0xfc, 0x03, 0xfc, 0x00, 0x3f, 0xc0, 0x00, 0x01, 0xfc, 0x03, 0xfc, 0x00, 0x3f, 0x80, 0x00,
0x01, 0xfc, 0x03, 0xfc, 0x00, 0x3f, 0x80, 0x00, 0x01, 0xfc, 0x03, 0xff, 0xfc, 0x3f, 0xff, 0x80,
0x01, 0xfc, 0x03, 0xff, 0xfc, 0x3f, 0xff, 0xc0, 0x01, 0xfc, 0x03, 0xff, 0xfc, 0x3f, 0xff, 0xc0,
0x01, 0xfc, 0x03, 0xff, 0xfc, 0x3f, 0xff, 0xc0, 0x01, 0xfc, 0x03, 0xff, 0xfc, 0x3f, 0xff, 0xc0,
0x01, 0xfc, 0x03, 0xfc, 0x00, 0x3f, 0xc0, 0x00, 0x01, 0xfc, 0x03, 0xfc, 0x00, 0x3f, 0x80, 0x00,
0x01, 0xfc, 0x03, 0xfc, 0x00, 0x3f, 0x80, 0x00, 0x01, 0xfc, 0x03, 0xfe, 0x00, 0x3f, 0x80, 0x00,
0x01, 0xfc, 0x03, 0xff, 0xfe, 0x3f, 0x80, 0x00, 0x01, 0xfc, 0x03, 0xff, 0xfe, 0x3f, 0x80, 0x00,
0x01, 0xfc, 0x01, 0xff, 0xff, 0x3f, 0x80, 0x00, 0x01, 0xfc, 0x01, 0xff, 0xff, 0x3f, 0x80, 0x00,
0x01, 0xfc, 0x00, 0x7f, 0xff, 0x3f, 0x80, 0x00
};
static const uint8_t RDSLogo[] PROGMEM = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, 0x00,
0x07, 0xfc, 0x00, 0x1f, 0xe8, 0x00, 0x03, 0xf8, 0x00,
0x07, 0xff, 0x00, 0x1f, 0xfc, 0x00, 0x0f, 0xfe, 0x00,
0x0f, 0xff, 0x80, 0x3f, 0xff, 0x00, 0x1f, 0xfc, 0x00,
0x0f, 0xff, 0xc0, 0x1f, 0xff, 0x00, 0x3f, 0xf8, 0x00,
0x0f, 0x8f, 0xc0, 0x3e, 0x3f, 0x80, 0x3e, 0x10, 0x00,
0x0f, 0x0f, 0x80, 0x3e, 0x0f, 0xc0, 0x3e, 0x00, 0x00,
0x1f, 0x0f, 0x80, 0x3c, 0x0f, 0x80, 0x7e, 0x00, 0x00,
0x1f, 0x0f, 0x9c, 0x7e, 0x0f, 0xce, 0x7f, 0x80, 0x00,
0x1f, 0xbf, 0x1e, 0x7c, 0x07, 0xce, 0x3f, 0xf0, 0x00,
0x1f, 0xfe, 0x1c, 0x7c, 0x0f, 0x9e, 0x3f, 0xf8, 0x00,
0x1f, 0xfc, 0x1c, 0x7c, 0x0f, 0x9c, 0x1f, 0xf8, 0x00,
0x3f, 0xf0, 0x3c, 0x78, 0x0f, 0x9c, 0x03, 0xf8, 0x00,
0x3e, 0xf8, 0x10, 0xf8, 0x1f, 0x14, 0x00, 0xf8, 0x00,
0x3e, 0xf8, 0x00, 0xf8, 0x3f, 0x00, 0x00, 0xf8, 0x00,
0x3e, 0x7c, 0x00, 0xf8, 0xfe, 0x00, 0xe1, 0xf8, 0x00,
0x3c, 0x7e, 0x00, 0xff, 0xfc, 0x00, 0xf7, 0xf0, 0x00,
0x7c, 0x7e, 0x01, 0xff, 0xf8, 0x01, 0xff, 0xe0, 0x00,
0x7c, 0x3f, 0x01, 0xff, 0xe0, 0x03, 0xff, 0xe0, 0x00,
0x7c, 0x3f, 0x01, 0xff, 0x80, 0x00, 0xff, 0x80, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
0x01, 0xfe, 0x0f, 0xf0, 0x00,
0x07, 0x03, 0xb8, 0x1c, 0x00,
0x0c, 0xfc, 0xe7, 0xe6, 0x00,
0x1b, 0x86, 0xdc, 0x3b, 0x00,
0x36, 0x79, 0xb3, 0xcd, 0x80,
0x6d, 0xff, 0x6f, 0xf6, 0xc0,
0x5b, 0xfe, 0xdf, 0xfb, 0x40,
0x57, 0xfe, 0xbf, 0xfd, 0x60,
0xd7, 0xfd, 0xbf, 0xfd, 0x60,
0xb7, 0xcd, 0x7e, 0x7d, 0xa0,
0xff, 0x85, 0x7c, 0x3f, 0xe0,
0xff, 0x85, 0x7c, 0x3f, 0xe0,
0xfa, 0x4d, 0x7e, 0x4b, 0xe0,
0xf9, 0x3b, 0x7f, 0xd3, 0xe0,
0x7d, 0x86, 0xfc, 0x37, 0xc0,
0x7e, 0x7d, 0xfb, 0xcf, 0xc0,
0x7f, 0x03, 0xf8, 0x1f, 0xc0,
0x3f, 0xff, 0xff, 0xff, 0x80,
0x1f, 0xff, 0xff, 0xff, 0x00,
0x0f, 0xff, 0xff, 0xfe, 0x00,
0x07, 0xff, 0xbf, 0xfc, 0x00,
0x01, 0xfe, 0x0f, 0xf0, 0x00
};
static const uint8_t Speaker[] PROGMEM = {
0x00, 0x00, 0x00, 0x00,
0x00, 0x18, 0x00, 0x00,
0x00, 0x38, 0x00, 0x00,
0x00, 0xf8, 0x00, 0x00,
0x01, 0xf8, 0x00, 0x00,
0xff, 0xf8, 0x00, 0x00,
0xff, 0xf8, 0x40, 0x80,
0xff, 0xf8, 0xe1, 0xc0,
0xff, 0xf8, 0x73, 0x80,
0xff, 0xf8, 0x3f, 0x00,
0xff, 0xf8, 0x1e, 0x00,
0xff, 0xf8, 0x1e, 0x00,
0xff, 0xf8, 0x3f, 0x00,
0xff, 0xf8, 0x73, 0x80,
0xff, 0xf8, 0xe1, 0xc0,
0xff, 0xf8, 0x40, 0x80,
0xff, 0xf8, 0x00, 0x00,
0x01, 0xf8, 0x00, 0x00,
0x00, 0xf8, 0x00, 0x00,
0x00, 0x38, 0x00, 0x00,
0x00, 0x18, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00
};
static const uint8_t WiFi1[] PROGMEM = {
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x08, 0x00, 0x00,
0x00, 0x3c, 0x00, 0x00,
0x00, 0x1c, 0x00, 0x00,
0x00, 0x18, 0x00, 0x00
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x08, 0x00, 0x00,
0x00, 0x3c, 0x00, 0x00,
0x00, 0x1c, 0x00, 0x00,
0x00, 0x18, 0x00, 0x00
};
static const uint8_t WiFi2[] PROGMEM = {
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x38, 0x00, 0x00,
0x00, 0xff, 0x00, 0x00,
0x01, 0xff, 0x80, 0x00,
0x03, 0xff, 0x80, 0x00,
0x03, 0xe7, 0x80, 0x00,
0x01, 0x83, 0x80, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x18, 0x00, 0x00,
0x00, 0x3c, 0x00, 0x00,
0x00, 0x3c, 0x00, 0x00,
0x00, 0x18, 0x00, 0x00
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x38, 0x00, 0x00,
0x00, 0xff, 0x00, 0x00,
0x01, 0xff, 0x80, 0x00,
0x03, 0xff, 0x80, 0x00,
0x03, 0xe7, 0x80, 0x00,
0x01, 0x83, 0x80, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x18, 0x00, 0x00,
0x00, 0x3c, 0x00, 0x00,
0x00, 0x3c, 0x00, 0x00,
0x00, 0x18, 0x00, 0x00
};
static const uint8_t WiFi3[] PROGMEM = {
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x7f, 0x00, 0x00,
0x01, 0x80, 0xc0, 0x00,
0x02, 0x00, 0x20, 0x00,
0x04, 0x7e, 0x10, 0x00,
0x09, 0x80, 0x88, 0x00,
0x03, 0x00, 0x48, 0x00,
0x0c, 0x00, 0x20, 0x00,
0x04, 0x3e, 0x10, 0x00,
0x00, 0xc1, 0x00, 0x00,
0x01, 0x00, 0xc0, 0x00,
0x01, 0x36, 0x40, 0x00,
0x01, 0x43, 0x80, 0x00,
0x00, 0x80, 0x80, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x1c, 0x00, 0x00,
0x00, 0x04, 0x00, 0x00,
0x00, 0x10, 0x00, 0x00,
0x00, 0x08, 0x00, 0x00
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x7f, 0x00, 0x00,
0x01, 0x80, 0xc0, 0x00,
0x02, 0x00, 0x20, 0x00,
0x04, 0x7e, 0x10, 0x00,
0x09, 0x80, 0x88, 0x00,
0x03, 0x00, 0x48, 0x00,
0x0c, 0x00, 0x20, 0x00,
0x04, 0x3e, 0x10, 0x00,
0x00, 0xc1, 0x00, 0x00,
0x01, 0x00, 0xc0, 0x00,
0x01, 0x36, 0x40, 0x00,
0x01, 0x43, 0x80, 0x00,
0x00, 0x80, 0x80, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x1c, 0x00, 0x00,
0x00, 0x04, 0x00, 0x00,
0x00, 0x10, 0x00, 0x00,
0x00, 0x08, 0x00, 0x00
};
static const uint8_t WiFi4[] PROGMEM = {
0x00, 0xff, 0x80, 0x00,
0x03, 0xff, 0xe0, 0x00,
0x0f, 0xff, 0xf8, 0x00,
0x1f, 0xff, 0xfc, 0x00,
0x3f, 0xc1, 0xfe, 0x00,
0x7e, 0x00, 0x3f, 0x80,
0xfc, 0x00, 0x0f, 0x80,
0xf0, 0x7f, 0x07, 0x80,
0x61, 0xff, 0xc3, 0x80,
0x63, 0xff, 0xe1, 0x00,
0x07, 0xff, 0xf0, 0x00,
0x0f, 0xc0, 0xf8, 0x00,
0x0f, 0x00, 0x7c, 0x00,
0x0e, 0x00, 0x38, 0x00,
0x04, 0x3e, 0x08, 0x00,
0x00, 0x7f, 0x80, 0x00,
0x01, 0xff, 0xc0, 0x00,
0x01, 0xff, 0xc0, 0x00,
0x00, 0xe1, 0xc0, 0x00,
0x00, 0x80, 0x80, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x1c, 0x00, 0x00,
0x00, 0x1e, 0x00, 0x00,
0x00, 0x1c, 0x00, 0x00,
0x00, 0x08, 0x00, 0x00
0x00, 0xff, 0x80, 0x00,
0x03, 0xff, 0xe0, 0x00,
0x0f, 0xff, 0xf8, 0x00,
0x1f, 0xff, 0xfc, 0x00,
0x3f, 0xc1, 0xfe, 0x00,
0x7e, 0x00, 0x3f, 0x80,
0xfc, 0x00, 0x0f, 0x80,
0xf0, 0x7f, 0x07, 0x80,
0x61, 0xff, 0xc3, 0x80,
0x63, 0xff, 0xe1, 0x00,
0x07, 0xff, 0xf0, 0x00,
0x0f, 0xc0, 0xf8, 0x00,
0x0f, 0x00, 0x7c, 0x00,
0x0e, 0x00, 0x38, 0x00,
0x04, 0x3e, 0x08, 0x00,
0x00, 0x7f, 0x80, 0x00,
0x01, 0xff, 0xc0, 0x00,
0x01, 0xff, 0xc0, 0x00,
0x00, 0xe1, 0xc0, 0x00,
0x00, 0x80, 0x80, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x1c, 0x00, 0x00,
0x00, 0x1e, 0x00, 0x00,
0x00, 0x1c, 0x00, 0x00,
0x00, 0x08, 0x00, 0x00
};