|
|
|
@ -267,51 +267,102 @@ static const uint8_t ili9341_init_sequence[] = { // 0x9341 - ILI9341
|
|
|
|
|
B01111111,B11111111,B11111111,B11111110,
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
static const uint8_t buttonA[] = {
|
|
|
|
|
B01111111,B11111111,B11111111,B11111110,
|
|
|
|
|
B10000000,B00000000,B00000000,B00000001,
|
|
|
|
|
B10000000,B00000000,B00000000,B00000001,
|
|
|
|
|
B10000000,B00000000,B00000000,B00000001,
|
|
|
|
|
B10000000,B00000000,B00000000,B00000001,
|
|
|
|
|
B10000000,B01000000,B00000000,B00000001,
|
|
|
|
|
B10000000,B11100000,B00000000,B00000001,
|
|
|
|
|
B10000001,B11110000,B00000000,B00000001,
|
|
|
|
|
B10000011,B11111000,B00000000,B00000001,
|
|
|
|
|
B10000111,B11111100,B00111111,B11100001,
|
|
|
|
|
B10000000,B11100000,B00111111,B11100001,
|
|
|
|
|
B10000000,B11100000,B00000000,B00000001,
|
|
|
|
|
B10000000,B11100000,B00000000,B00000001,
|
|
|
|
|
B10000000,B11100000,B00000000,B00000001,
|
|
|
|
|
B10000000,B11100000,B00000000,B00000001,
|
|
|
|
|
B10000000,B00000000,B00000000,B00000001,
|
|
|
|
|
B10000000,B00000000,B00000000,B00000001,
|
|
|
|
|
B10000000,B00000000,B00000000,B00000001,
|
|
|
|
|
B10000000,B00000000,B00000000,B00000001,
|
|
|
|
|
B01111111,B11111111,B11111111,B11111110,
|
|
|
|
|
};
|
|
|
|
|
#if ENABLED(REVERSE_MENU_DIRECTION)
|
|
|
|
|
|
|
|
|
|
static const uint8_t buttonA[] = {
|
|
|
|
|
B01111111,B11111111,B11111111,B11111110,
|
|
|
|
|
B10000000,B00000000,B00000000,B00000001,
|
|
|
|
|
B10000000,B00000000,B00000000,B00000001,
|
|
|
|
|
B10000000,B00000000,B00000000,B00000001,
|
|
|
|
|
B10000000,B00000000,B00000000,B00000001,
|
|
|
|
|
B10000000,B11100000,B00000000,B00000001,
|
|
|
|
|
B10000000,B11100000,B00000000,B00000001,
|
|
|
|
|
B10000000,B11100000,B00000000,B00000001,
|
|
|
|
|
B10000000,B11100000,B00000000,B00000001,
|
|
|
|
|
B10000000,B11100000,B00111111,B11100001,
|
|
|
|
|
B10000111,B11111100,B00111111,B11100001,
|
|
|
|
|
B10000011,B11111000,B00000000,B00000001,
|
|
|
|
|
B10000001,B11110000,B00000000,B00000001,
|
|
|
|
|
B10000000,B11100000,B00000000,B00000001,
|
|
|
|
|
B10000000,B01000000,B00000000,B00000001,
|
|
|
|
|
B10000000,B00000000,B00000000,B00000001,
|
|
|
|
|
B10000000,B00000000,B00000000,B00000001,
|
|
|
|
|
B10000000,B00000000,B00000000,B00000001,
|
|
|
|
|
B10000000,B00000000,B00000000,B00000001,
|
|
|
|
|
B01111111,B11111111,B11111111,B11111110,
|
|
|
|
|
};
|
|
|
|
|
static const uint8_t buttonB[] = {
|
|
|
|
|
B01111111,B11111111,B11111111,B11111110,
|
|
|
|
|
B10000000,B00000000,B00000000,B00000001,
|
|
|
|
|
B10000000,B00000000,B00000000,B00000001,
|
|
|
|
|
B10000000,B00000000,B00000000,B00000001,
|
|
|
|
|
B10000000,B00000000,B00000000,B00000001,
|
|
|
|
|
B10000000,B01100000,B00000010,B00000001,
|
|
|
|
|
B10000000,B01100000,B00000111,B00000001,
|
|
|
|
|
B10000000,B01100000,B00001111,B10000001,
|
|
|
|
|
B10000000,B01100000,B00011111,B11000001,
|
|
|
|
|
B10000111,B11111110,B00111111,B11100001,
|
|
|
|
|
B10000111,B11111110,B00000111,B00000001,
|
|
|
|
|
B10000000,B01100000,B00000111,B00000001,
|
|
|
|
|
B10000000,B01100000,B00000111,B00000001,
|
|
|
|
|
B10000000,B01100000,B00000111,B00000001,
|
|
|
|
|
B10000000,B01100000,B00000111,B00000001,
|
|
|
|
|
B10000000,B00000000,B00000000,B00000001,
|
|
|
|
|
B10000000,B00000000,B00000000,B00000001,
|
|
|
|
|
B10000000,B00000000,B00000000,B00000001,
|
|
|
|
|
B10000000,B00000000,B00000000,B00000001,
|
|
|
|
|
B01111111,B11111111,B11111111,B11111110,
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
static const uint8_t buttonB[] = {
|
|
|
|
|
B01111111,B11111111,B11111111,B11111110,
|
|
|
|
|
B10000000,B00000000,B00000000,B00000001,
|
|
|
|
|
B10000000,B00000000,B00000000,B00000001,
|
|
|
|
|
B10000000,B00000000,B00000000,B00000001,
|
|
|
|
|
B10000000,B00000000,B00000000,B00000001,
|
|
|
|
|
B10000000,B01100000,B00000111,B00000001,
|
|
|
|
|
B10000000,B01100000,B00000111,B00000001,
|
|
|
|
|
B10000000,B01100000,B00000111,B00000001,
|
|
|
|
|
B10000000,B01100000,B00000111,B00000001,
|
|
|
|
|
B10000111,B11111110,B00000111,B00000001,
|
|
|
|
|
B10000111,B11111110,B00111111,B11100001,
|
|
|
|
|
B10000000,B01100000,B00011111,B11000001,
|
|
|
|
|
B10000000,B01100000,B00001111,B10000001,
|
|
|
|
|
B10000000,B01100000,B00000111,B00000001,
|
|
|
|
|
B10000000,B01100000,B00000010,B00000001,
|
|
|
|
|
B10000000,B00000000,B00000000,B00000001,
|
|
|
|
|
B10000000,B00000000,B00000000,B00000001,
|
|
|
|
|
B10000000,B00000000,B00000000,B00000001,
|
|
|
|
|
B10000000,B00000000,B00000000,B00000001,
|
|
|
|
|
B01111111,B11111111,B11111111,B11111110,
|
|
|
|
|
};
|
|
|
|
|
#else
|
|
|
|
|
|
|
|
|
|
static const uint8_t buttonA[] = {
|
|
|
|
|
B01111111,B11111111,B11111111,B11111110,
|
|
|
|
|
B10000000,B00000000,B00000000,B00000001,
|
|
|
|
|
B10000000,B00000000,B00000000,B00000001,
|
|
|
|
|
B10000000,B00000000,B00000000,B00000001,
|
|
|
|
|
B10000000,B00000000,B00000000,B00000001,
|
|
|
|
|
B10000000,B01000000,B00000000,B00000001,
|
|
|
|
|
B10000000,B11100000,B00000000,B00000001,
|
|
|
|
|
B10000001,B11110000,B00000000,B00000001,
|
|
|
|
|
B10000011,B11111000,B00000000,B00000001,
|
|
|
|
|
B10000111,B11111100,B00111111,B11100001,
|
|
|
|
|
B10000000,B11100000,B00111111,B11100001,
|
|
|
|
|
B10000000,B11100000,B00000000,B00000001,
|
|
|
|
|
B10000000,B11100000,B00000000,B00000001,
|
|
|
|
|
B10000000,B11100000,B00000000,B00000001,
|
|
|
|
|
B10000000,B11100000,B00000000,B00000001,
|
|
|
|
|
B10000000,B00000000,B00000000,B00000001,
|
|
|
|
|
B10000000,B00000000,B00000000,B00000001,
|
|
|
|
|
B10000000,B00000000,B00000000,B00000001,
|
|
|
|
|
B10000000,B00000000,B00000000,B00000001,
|
|
|
|
|
B01111111,B11111111,B11111111,B11111110,
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
static const uint8_t buttonB[] = {
|
|
|
|
|
B01111111,B11111111,B11111111,B11111110,
|
|
|
|
|
B10000000,B00000000,B00000000,B00000001,
|
|
|
|
|
B10000000,B00000000,B00000000,B00000001,
|
|
|
|
|
B10000000,B00000000,B00000000,B00000001,
|
|
|
|
|
B10000000,B00000000,B00000000,B00000001,
|
|
|
|
|
B10000000,B01100000,B00000111,B00000001,
|
|
|
|
|
B10000000,B01100000,B00000111,B00000001,
|
|
|
|
|
B10000000,B01100000,B00000111,B00000001,
|
|
|
|
|
B10000000,B01100000,B00000111,B00000001,
|
|
|
|
|
B10000111,B11111110,B00000111,B00000001,
|
|
|
|
|
B10000111,B11111110,B00111111,B11100001,
|
|
|
|
|
B10000000,B01100000,B00011111,B11000001,
|
|
|
|
|
B10000000,B01100000,B00001111,B10000001,
|
|
|
|
|
B10000000,B01100000,B00000111,B00000001,
|
|
|
|
|
B10000000,B01100000,B00000010,B00000001,
|
|
|
|
|
B10000000,B00000000,B00000000,B00000001,
|
|
|
|
|
B10000000,B00000000,B00000000,B00000001,
|
|
|
|
|
B10000000,B00000000,B00000000,B00000001,
|
|
|
|
|
B10000000,B00000000,B00000000,B00000001,
|
|
|
|
|
B01111111,B11111111,B11111111,B11111110,
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
static const uint8_t buttonC[] = {
|
|
|
|
|
B01111111,B11111111,B11111111,B11111110,
|
|
|
|
@ -369,11 +420,8 @@ static const uint8_t ili9341_init_sequence[] = { // 0x9341 - ILI9341
|
|
|
|
|
|
|
|
|
|
// Used to fill RGB565 (16bits) background
|
|
|
|
|
inline void memset2(const void *ptr, uint16_t fill, size_t cnt) {
|
|
|
|
|
uint16_t* wptr = (uint16_t*) ptr;
|
|
|
|
|
for (size_t i = 0; i < cnt; i += 2) {
|
|
|
|
|
*wptr = fill;
|
|
|
|
|
wptr++;
|
|
|
|
|
}
|
|
|
|
|
uint16_t* wptr = (uint16_t*)ptr;
|
|
|
|
|
for (size_t i = 0; i < cnt; i += 2) { *wptr = fill; wptr++; }
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static bool preinit = true;
|
|
|
|
|