Draw Idle Screen

This commit is contained in:
Frederik Walk 2023-07-01 10:58:15 +02:00
parent c12006287f
commit b55de1e05d
9 changed files with 181 additions and 59 deletions

2
.gitignore vendored
View File

@ -1,4 +1,6 @@
.vscode/
build/
research
*.pio.h

BIN
assets/don_l.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 546 B

BIN
assets/don_r.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 546 B

BIN
assets/drum.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 546 B

BIN
assets/drum.xcf Normal file

Binary file not shown.

Binary file not shown.

BIN
assets/ka_l.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 546 B

BIN
assets/ka_r.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 546 B

View File

@ -10,68 +10,160 @@
namespace Doncon::Peripherals {
static const std::array<uint8_t, 1154> idle_screen = {
0x42, 0x4d, 0x82, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x82, 0x00, 0x00, 0x00, 0x6c, 0x00, 0x00, 0x00, 0x80,
0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
static const std::array<uint8_t, 546> drum_bmp = {
0x42, 0x4d, 0x22, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x82, 0x00, 0x00, 0x00, 0x6c, 0x00, 0x00, 0x00, 0x34,
0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, 0x01, 0x00, 0x00,
0x23, 0x2e, 0x00, 0x00, 0x23, 0x2e, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x42, 0x47, 0x52, 0x73, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xf8,
0x01, 0xff, 0xff, 0xf0, 0x00, 0xff, 0xff, 0x87, 0xfe, 0x1f, 0xff, 0xf0, 0x00, 0xff, 0xfe, 0x7f, 0xff, 0xe7, 0xff,
0xf0, 0x00, 0xff, 0xf9, 0xff, 0xff, 0xf9, 0xff, 0xf0, 0x00, 0xff, 0xe7, 0xff, 0xff, 0xfe, 0x7f, 0xf0, 0x00, 0xff,
0xcf, 0xff, 0xff, 0xff, 0x3f, 0xf0, 0x00, 0xff, 0xbf, 0xfc, 0x03, 0xff, 0xdf, 0xf0, 0x00, 0xff, 0x7f, 0xc1, 0xf8,
0x3f, 0xef, 0xf0, 0x00, 0xfe, 0xff, 0x1f, 0xff, 0x8f, 0xf7, 0xf0, 0x00, 0xfd, 0xfe, 0x7f, 0xff, 0xe7, 0xfb, 0xf0,
0x00, 0xfb, 0xf8, 0xff, 0xff, 0xf1, 0xfd, 0xf0, 0x00, 0xf3, 0xf3, 0xff, 0xff, 0xfc, 0xfc, 0xf0, 0x00, 0xf7, 0xe7,
0xff, 0xff, 0xfe, 0x7e, 0xf0, 0x00, 0xef, 0xcf, 0xff, 0xff, 0xff, 0x3f, 0x70, 0x00, 0xef, 0xdf, 0xff, 0xff, 0xff,
0xbf, 0x70, 0x00, 0xdf, 0x9f, 0xff, 0xff, 0xff, 0x9f, 0xb0, 0x00, 0xdf, 0x3f, 0xff, 0xff, 0xff, 0xcf, 0xb0, 0x00,
0xbf, 0x7f, 0xff, 0xff, 0xff, 0xef, 0xd0, 0x00, 0xbe, 0x7f, 0xff, 0xff, 0xff, 0xe7, 0xd0, 0x00, 0xbe, 0xff, 0xff,
0xff, 0xff, 0xf7, 0xd0, 0x00, 0xbe, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xd0, 0x00, 0x7e, 0xff, 0xff, 0xff, 0xff, 0xf7,
0xe0, 0x00, 0x7c, 0xff, 0xff, 0xff, 0xff, 0xf3, 0xe0, 0x00, 0x7d, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xe0, 0x00, 0x7d,
0xff, 0xff, 0xff, 0xff, 0xfb, 0xe0, 0x00, 0x7d, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xe0, 0x00, 0x7d, 0xff, 0xff, 0xff,
0xff, 0xfb, 0xe0, 0x00, 0x7d, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xe0, 0x00, 0x7d, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xe0,
0x00, 0x7c, 0xff, 0xff, 0xff, 0xff, 0xf3, 0xe0, 0x00, 0x7e, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xe0, 0x00, 0xbe, 0xff,
0xff, 0xff, 0xff, 0xf7, 0xd0, 0x00, 0xbe, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xd0, 0x00, 0xbe, 0x7f, 0xff, 0xff, 0xff,
0xe7, 0xd0, 0x00, 0xbf, 0x7f, 0xff, 0xff, 0xff, 0xef, 0xd0, 0x00, 0xdf, 0x3f, 0xff, 0xff, 0xff, 0xcf, 0xb0, 0x00,
0xdf, 0x9f, 0xff, 0xff, 0xff, 0x9f, 0xb0, 0x00, 0xef, 0xdf, 0xff, 0xff, 0xff, 0xbf, 0x70, 0x00, 0xef, 0xcf, 0xff,
0xff, 0xff, 0x3f, 0x70, 0x00, 0xf7, 0xe7, 0xff, 0xff, 0xfe, 0x7e, 0xf0, 0x00, 0xf3, 0xf3, 0xff, 0xff, 0xfc, 0xfc,
0xf0, 0x00, 0xfb, 0xf8, 0xff, 0xff, 0xf1, 0xfd, 0xf0, 0x00, 0xfd, 0xfe, 0x7f, 0xff, 0xe7, 0xfb, 0xf0, 0x00, 0xfe,
0xff, 0x1f, 0xff, 0x8f, 0xf7, 0xf0, 0x00, 0xff, 0x7f, 0xc1, 0xf8, 0x3f, 0xef, 0xf0, 0x00, 0xff, 0xbf, 0xfc, 0x03,
0xff, 0xdf, 0xf0, 0x00, 0xff, 0xcf, 0xff, 0xff, 0xff, 0x3f, 0xf0, 0x00, 0xff, 0xe7, 0xff, 0xff, 0xfe, 0x7f, 0xf0,
0x00, 0xff, 0xf9, 0xff, 0xff, 0xf9, 0xff, 0xf0, 0x00, 0xff, 0xfe, 0x7f, 0xff, 0xe7, 0xff, 0xf0, 0x00, 0xff, 0xff,
0x87, 0xfe, 0x1f, 0xff, 0xf0, 0x00, 0xff, 0xff, 0xf8, 0x01, 0xff, 0xff, 0xf0, 0x00};
static const std::array<uint8_t, 546> don_l_bmp = {
0x42, 0x4d, 0x22, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x82, 0x00, 0x00, 0x00, 0x6c, 0x00, 0x00, 0x00, 0x34,
0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, 0x01, 0x00, 0x00,
0x23, 0x2e, 0x00, 0x00, 0x23, 0x2e, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x42, 0x47, 0x52, 0x73, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xe0, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xfe, 0x1f, 0xf8, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0xff, 0xff,
0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe7, 0xff, 0xff, 0xe7, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9f, 0xff, 0xff, 0xf9, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xfe, 0xff, 0xf0, 0x0f, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xfd, 0xff, 0x07, 0xe0, 0xff, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xfc, 0x7f,
0xfe, 0x3f, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xf9, 0xff, 0xff, 0x9f, 0xef,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xe3, 0xff, 0xff, 0xc7, 0xf7, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcf, 0xcf, 0xff, 0xff, 0xf3, 0xf3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xdf, 0x9f, 0xff, 0xff, 0xf9, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xbf, 0x3f, 0xff, 0xff, 0xfc, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0x7f,
0xff, 0xff, 0xfe, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7e, 0x7f, 0xff, 0xff, 0xfe,
0x7e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7c, 0xff, 0xff, 0xff, 0xff, 0x3e, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xbf, 0x7f, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xfe, 0xf9, 0xff, 0xff, 0xff, 0xff, 0x9f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xfe, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xdf, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfb,
0xff, 0xff, 0xff, 0xff, 0xdf, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfb, 0xff, 0xff, 0xff,
0xff, 0xdf, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xf3, 0xff, 0xff, 0xff, 0xff, 0xcf, 0xbf,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xef, 0xbf, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xef, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xfd, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xef, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd,
0xf7, 0xff, 0xff, 0xff, 0xff, 0xef, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xf7, 0xff, 0xff,
0xff, 0xff, 0xef, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xef,
0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xf3, 0xff, 0xff, 0xff, 0xff, 0xcf, 0xbf, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xfe, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xdf, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xfe, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xdf, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xf9, 0xff,
0xff, 0xff, 0xff, 0x9f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfd, 0xff, 0xff, 0xff, 0xff,
0xbf, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7c, 0xff, 0xff, 0xff, 0xff, 0x3e, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7e, 0x7f, 0xff, 0xff, 0xfe, 0x7e, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0x7f, 0xff, 0xff, 0xfe, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xbf, 0x3f, 0xff, 0xff, 0xfc, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf,
0x9f, 0xff, 0xff, 0xf9, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcf, 0xcf, 0xff, 0xff,
0xf3, 0xf3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xe3, 0xff, 0xff, 0xc7, 0xf7, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xf9, 0xff, 0xff, 0x9f, 0xef, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xfc, 0x7f, 0xfe, 0x3f, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xfd, 0xff, 0x07, 0xe0, 0xff, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xfe, 0xff, 0xf0, 0x0f, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0xff,
0xff, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9f, 0xff, 0xff, 0xf9, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe7, 0xff, 0xff, 0xe7, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0xff, 0xff, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x1f, 0xf8, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xe0, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff};
0xff, 0xff, 0xff, 0xf0, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xf0, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0xff, 0xff, 0xfe, 0x3f,
0xff, 0xff, 0xf0, 0x00, 0xff, 0xff, 0xe0, 0x3f, 0xff, 0xff, 0xf0, 0x00, 0xff, 0xff, 0x80, 0x3f, 0xff, 0xff, 0xf0,
0x00, 0xff, 0xff, 0x00, 0x3f, 0xff, 0xff, 0xf0, 0x00, 0xff, 0xfc, 0x00, 0x3f, 0xff, 0xff, 0xf0, 0x00, 0xff, 0xf8,
0x00, 0x3f, 0xff, 0xff, 0xf0, 0x00, 0xff, 0xf0, 0x00, 0x3f, 0xff, 0xff, 0xf0, 0x00, 0xff, 0xe0, 0x00, 0x3f, 0xff,
0xff, 0xf0, 0x00, 0xff, 0xe0, 0x00, 0x3f, 0xff, 0xff, 0xf0, 0x00, 0xff, 0xc0, 0x00, 0x3f, 0xff, 0xff, 0xf0, 0x00,
0xff, 0x80, 0x00, 0x3f, 0xff, 0xff, 0xf0, 0x00, 0xff, 0x80, 0x00, 0x3f, 0xff, 0xff, 0xf0, 0x00, 0xff, 0x00, 0x00,
0x3f, 0xff, 0xff, 0xf0, 0x00, 0xff, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xf0, 0x00, 0xff, 0x00, 0x00, 0x3f, 0xff, 0xff,
0xf0, 0x00, 0xff, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xf0, 0x00, 0xfe, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xf0, 0x00, 0xfe,
0x00, 0x00, 0x3f, 0xff, 0xff, 0xf0, 0x00, 0xfe, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xf0, 0x00, 0xfe, 0x00, 0x00, 0x3f,
0xff, 0xff, 0xf0, 0x00, 0xfe, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xf0, 0x00, 0xfe, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xf0,
0x00, 0xff, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xf0, 0x00, 0xff, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xf0, 0x00, 0xff, 0x00,
0x00, 0x3f, 0xff, 0xff, 0xf0, 0x00, 0xff, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xf0, 0x00, 0xff, 0x80, 0x00, 0x3f, 0xff,
0xff, 0xf0, 0x00, 0xff, 0x80, 0x00, 0x3f, 0xff, 0xff, 0xf0, 0x00, 0xff, 0xc0, 0x00, 0x3f, 0xff, 0xff, 0xf0, 0x00,
0xff, 0xe0, 0x00, 0x3f, 0xff, 0xff, 0xf0, 0x00, 0xff, 0xe0, 0x00, 0x3f, 0xff, 0xff, 0xf0, 0x00, 0xff, 0xf0, 0x00,
0x3f, 0xff, 0xff, 0xf0, 0x00, 0xff, 0xf8, 0x00, 0x3f, 0xff, 0xff, 0xf0, 0x00, 0xff, 0xfc, 0x00, 0x3f, 0xff, 0xff,
0xf0, 0x00, 0xff, 0xff, 0x00, 0x3f, 0xff, 0xff, 0xf0, 0x00, 0xff, 0xff, 0x80, 0x3f, 0xff, 0xff, 0xf0, 0x00, 0xff,
0xff, 0xe0, 0x3f, 0xff, 0xff, 0xf0, 0x00, 0xff, 0xff, 0xfe, 0x3f, 0xff, 0xff, 0xf0, 0x00, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xf0, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00};
static const std::array<uint8_t, 546> don_r_bmp = {
0x42, 0x4d, 0x22, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x82, 0x00, 0x00, 0x00, 0x6c, 0x00, 0x00, 0x00, 0x34,
0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, 0x01, 0x00, 0x00,
0x23, 0x2e, 0x00, 0x00, 0x23, 0x2e, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x42, 0x47, 0x52, 0x73, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xf0, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xf0, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0xff, 0xff, 0xff, 0xc7,
0xff, 0xff, 0xf0, 0x00, 0xff, 0xff, 0xff, 0xc0, 0x7f, 0xff, 0xf0, 0x00, 0xff, 0xff, 0xff, 0xc0, 0x1f, 0xff, 0xf0,
0x00, 0xff, 0xff, 0xff, 0xc0, 0x0f, 0xff, 0xf0, 0x00, 0xff, 0xff, 0xff, 0xc0, 0x03, 0xff, 0xf0, 0x00, 0xff, 0xff,
0xff, 0xc0, 0x01, 0xff, 0xf0, 0x00, 0xff, 0xff, 0xff, 0xc0, 0x00, 0xff, 0xf0, 0x00, 0xff, 0xff, 0xff, 0xc0, 0x00,
0x7f, 0xf0, 0x00, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x7f, 0xf0, 0x00, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x3f, 0xf0, 0x00,
0xff, 0xff, 0xff, 0xc0, 0x00, 0x1f, 0xf0, 0x00, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x1f, 0xf0, 0x00, 0xff, 0xff, 0xff,
0xc0, 0x00, 0x0f, 0xf0, 0x00, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x0f, 0xf0, 0x00, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x0f,
0xf0, 0x00, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x0f, 0xf0, 0x00, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x07, 0xf0, 0x00, 0xff,
0xff, 0xff, 0xc0, 0x00, 0x07, 0xf0, 0x00, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x07, 0xf0, 0x00, 0xff, 0xff, 0xff, 0xc0,
0x00, 0x07, 0xf0, 0x00, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x07, 0xf0, 0x00, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x07, 0xf0,
0x00, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x0f, 0xf0, 0x00, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x0f, 0xf0, 0x00, 0xff, 0xff,
0xff, 0xc0, 0x00, 0x0f, 0xf0, 0x00, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x0f, 0xf0, 0x00, 0xff, 0xff, 0xff, 0xc0, 0x00,
0x1f, 0xf0, 0x00, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x1f, 0xf0, 0x00, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x3f, 0xf0, 0x00,
0xff, 0xff, 0xff, 0xc0, 0x00, 0x7f, 0xf0, 0x00, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x7f, 0xf0, 0x00, 0xff, 0xff, 0xff,
0xc0, 0x00, 0xff, 0xf0, 0x00, 0xff, 0xff, 0xff, 0xc0, 0x01, 0xff, 0xf0, 0x00, 0xff, 0xff, 0xff, 0xc0, 0x03, 0xff,
0xf0, 0x00, 0xff, 0xff, 0xff, 0xc0, 0x0f, 0xff, 0xf0, 0x00, 0xff, 0xff, 0xff, 0xc0, 0x1f, 0xff, 0xf0, 0x00, 0xff,
0xff, 0xff, 0xc0, 0x7f, 0xff, 0xf0, 0x00, 0xff, 0xff, 0xff, 0xc7, 0xff, 0xff, 0xf0, 0x00, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xf0, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00};
static const std::array<uint8_t, 546> ka_l_bmp = {
0x42, 0x4d, 0x22, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x82, 0x00, 0x00, 0x00, 0x6c, 0x00, 0x00, 0x00, 0x34,
0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, 0x01, 0x00, 0x00,
0x23, 0x2e, 0x00, 0x00, 0x23, 0x2e, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x42, 0x47, 0x52, 0x73, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xf0, 0x00, 0xff, 0xff, 0xf8, 0x3f, 0xff, 0xff, 0xf0, 0x00, 0xff, 0xff, 0x80, 0x3f, 0xff, 0xff,
0xf0, 0x00, 0xff, 0xfe, 0x00, 0x3f, 0xff, 0xff, 0xf0, 0x00, 0xff, 0xf8, 0x00, 0x3f, 0xff, 0xff, 0xf0, 0x00, 0xff,
0xf0, 0x00, 0x3f, 0xff, 0xff, 0xf0, 0x00, 0xff, 0xc0, 0x03, 0xff, 0xff, 0xff, 0xf0, 0x00, 0xff, 0x80, 0x3f, 0xff,
0xff, 0xff, 0xf0, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0xfe, 0x01, 0xff, 0xff, 0xff, 0xff, 0xf0,
0x00, 0xfc, 0x07, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0xfc, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0xf8, 0x1f,
0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0xf0, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0xf0, 0x3f, 0xff, 0xff, 0xff,
0xff, 0xf0, 0x00, 0xe0, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0xe0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00,
0xc0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0xc1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0xc1, 0xff, 0xff,
0xff, 0xff, 0xff, 0xf0, 0x00, 0xc1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x81, 0xff, 0xff, 0xff, 0xff, 0xff,
0xf0, 0x00, 0x83, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x83, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x83,
0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x83, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x83, 0xff, 0xff, 0xff,
0xff, 0xff, 0xf0, 0x00, 0x83, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x83, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
0x00, 0x83, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x81, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0xc1, 0xff,
0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0xc1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0xc1, 0xff, 0xff, 0xff, 0xff,
0xff, 0xf0, 0x00, 0xc0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0xe0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00,
0xe0, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0xf0, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0xf0, 0x3f, 0xff,
0xff, 0xff, 0xff, 0xf0, 0x00, 0xf8, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0xfc, 0x0f, 0xff, 0xff, 0xff, 0xff,
0xf0, 0x00, 0xfc, 0x07, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0xfe, 0x01, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0xff,
0x00, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0xff, 0x80, 0x3f, 0xff, 0xff, 0xff, 0xf0, 0x00, 0xff, 0xc0, 0x03, 0xff,
0xff, 0xff, 0xf0, 0x00, 0xff, 0xf0, 0x00, 0x3f, 0xff, 0xff, 0xf0, 0x00, 0xff, 0xf8, 0x00, 0x3f, 0xff, 0xff, 0xf0,
0x00, 0xff, 0xfe, 0x00, 0x3f, 0xff, 0xff, 0xf0, 0x00, 0xff, 0xff, 0x80, 0x3f, 0xff, 0xff, 0xf0, 0x00, 0xff, 0xff,
0xf8, 0x3f, 0xff, 0xff, 0xf0, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00};
static const std::array<uint8_t, 546> ka_r_bmp = {
0x42, 0x4d, 0x22, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x82, 0x00, 0x00, 0x00, 0x6c, 0x00, 0x00, 0x00, 0x34,
0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, 0x01, 0x00, 0x00,
0x23, 0x2e, 0x00, 0x00, 0x23, 0x2e, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x42, 0x47, 0x52, 0x73, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xf0, 0x00, 0xff, 0xff, 0xff, 0xc1, 0xff, 0xff, 0xf0, 0x00, 0xff, 0xff, 0xff, 0xc0, 0x1f, 0xff,
0xf0, 0x00, 0xff, 0xff, 0xff, 0xc0, 0x07, 0xff, 0xf0, 0x00, 0xff, 0xff, 0xff, 0xc0, 0x01, 0xff, 0xf0, 0x00, 0xff,
0xff, 0xff, 0xc0, 0x00, 0xff, 0xf0, 0x00, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x3f, 0xf0, 0x00, 0xff, 0xff, 0xff, 0xff,
0xc0, 0x1f, 0xf0, 0x00, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x0f, 0xf0, 0x00, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x07, 0xf0,
0x00, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x03, 0xf0, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x03, 0xf0, 0x00, 0xff, 0xff,
0xff, 0xff, 0xff, 0x81, 0xf0, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0xf0, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
0xc0, 0xf0, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x70, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x70, 0x00,
0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x30, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x30, 0x00, 0xff, 0xff, 0xff,
0xff, 0xff, 0xf8, 0x30, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x30, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8,
0x10, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x10, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x10, 0x00, 0xff,
0xff, 0xff, 0xff, 0xff, 0xfc, 0x10, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x10, 0x00, 0xff, 0xff, 0xff, 0xff,
0xff, 0xfc, 0x10, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x10, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x10,
0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x10, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x10, 0x00, 0xff, 0xff,
0xff, 0xff, 0xff, 0xf8, 0x30, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x30, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
0xf8, 0x30, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x30, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x70, 0x00,
0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x70, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0xf0, 0x00, 0xff, 0xff, 0xff,
0xff, 0xff, 0xc0, 0xf0, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x81, 0xf0, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x03,
0xf0, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x03, 0xf0, 0x00, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x07, 0xf0, 0x00, 0xff,
0xff, 0xff, 0xff, 0xf0, 0x0f, 0xf0, 0x00, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x1f, 0xf0, 0x00, 0xff, 0xff, 0xff, 0xfc,
0x00, 0x3f, 0xf0, 0x00, 0xff, 0xff, 0xff, 0xc0, 0x00, 0xff, 0xf0, 0x00, 0xff, 0xff, 0xff, 0xc0, 0x01, 0xff, 0xf0,
0x00, 0xff, 0xff, 0xff, 0xc0, 0x07, 0xff, 0xf0, 0x00, 0xff, 0xff, 0xff, 0xc0, 0x1f, 0xff, 0xf0, 0x00, 0xff, 0xff,
0xff, 0xc1, 0xff, 0xff, 0xf0, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00};
Display::Display(const Config &config) : m_config(config), m_state(State::Idle) {
m_display.external_vcc = false;
@ -82,9 +174,37 @@ Display::Display(const Config &config) : m_config(config), m_state(State::Idle)
void Display::showIdle() { m_state = State::Idle; }
void Display::showMenu() { m_state = State::Menu; }
static std::string modeToString(usb_mode_t mode) {
switch (mode) {
case USB_MODE_XBOX360:
return "Xbox 360";
case USB_MODE_DEBUG:
return "Debug";
}
return "?";
}
void Display::drawIdleScreen() {
// Background
ssd1306_bmp_show_image(&m_display, idle_screen.data(), idle_screen.size());
// Header
std::string mode_string = modeToString(m_usb_mode) + " mode";
ssd1306_draw_string(&m_display, 0, 0, 1, mode_string.c_str());
ssd1306_draw_line(&m_display, 0, 10, 128, 10);
// Drum
ssd1306_bmp_show_image_with_offset(&m_display, drum_bmp.data(), drum_bmp.size(), 64 - 26, 12);
if (m_input_state.drum.don_left.triggered) {
ssd1306_bmp_show_image_with_offset(&m_display, don_l_bmp.data(), don_l_bmp.size(), 64 - 26, 12);
}
if (m_input_state.drum.don_right.triggered) {
ssd1306_bmp_show_image_with_offset(&m_display, don_r_bmp.data(), don_r_bmp.size(), 64 - 26, 12);
}
if (m_input_state.drum.ka_left.triggered) {
ssd1306_bmp_show_image_with_offset(&m_display, ka_l_bmp.data(), ka_l_bmp.size(), 64 - 26, 12);
}
if (m_input_state.drum.ka_right.triggered) {
ssd1306_bmp_show_image_with_offset(&m_display, ka_r_bmp.data(), ka_r_bmp.size(), 64 - 26, 12);
}
}
void Display::drawMenuScreen() {}