Add option to show an asci version of the image behind the bytearray

This commit is contained in:
javl
2026-08-15 12:22:47 +02:00
parent 606d128403
commit eb8a9c2636
12 changed files with 236 additions and 20 deletions
+25
View File
@@ -0,0 +1,25 @@
// 'test_pattern', 32x24px
0x33, 0x33, 0x00, 0xff, // . . # # . . # # . . # # . . # # . . . . . . . . # # # # # # # #
0x33, 0x33, 0x00, 0xff, // . . # # . . # # . . # # . . # # . . . . . . . . # # # # # # # #
0xcc, 0xcc, 0x00, 0xff, // # # . . # # . . # # . . # # . . . . . . . . . . # # # # # # # #
0xcc, 0xcc, 0x00, 0xff, // # # . . # # . . # # . . # # . . . . . . . . . . # # # # # # # #
0x33, 0x33, 0x00, 0xff, // . . # # . . # # . . # # . . # # . . . . . . . . # # # # # # # #
0x33, 0x33, 0x00, 0xff, // . . # # . . # # . . # # . . # # . . . . . . . . # # # # # # # #
0xcc, 0xcc, 0x00, 0xff, // # # . . # # . . # # . . # # . . . . . . . . . . # # # # # # # #
0xcc, 0xcc, 0x00, 0xff, // # # . . # # . . # # . . # # . . . . . . . . . . # # # # # # # #
0x33, 0x33, 0x00, 0xff, // . . # # . . # # . . # # . . # # . . . . . . . . # # # # # # # #
0x33, 0x33, 0x00, 0xff, // . . # # . . # # . . # # . . # # . . . . . . . . # # # # # # # #
0xcc, 0xcc, 0x00, 0xff, // # # . . # # . . # # . . # # . . . . . . . . . . # # # # # # # #
0xcc, 0xcc, 0x00, 0xff, // # # . . # # . . # # . . # # . . . . . . . . . . # # # # # # # #
0x0f, 0x0f, 0x7f, 0xff, // . . . . # # # # . . . . # # # # . # # # # # # # # # # # # # # #
0x0f, 0x0f, 0xbf, 0xff, // . . . . # # # # . . . . # # # # # . # # # # # # # # # # # # # #
0x0f, 0x0f, 0xdf, 0xff, // . . . . # # # # . . . . # # # # # # . # # # # # # # # # # # # #
0x0f, 0x0f, 0xef, 0xff, // . . . . # # # # . . . . # # # # # # # . # # # # # # # # # # # #
0x0f, 0x0f, 0xf7, 0xff, // . . . . # # # # . . . . # # # # # # # # . # # # # # # # # # # #
0x0f, 0x0f, 0xfb, 0xff, // . . . . # # # # . . . . # # # # # # # # # . # # # # # # # # # #
0x0f, 0x0f, 0xfd, 0xff, // . . . . # # # # . . . . # # # # # # # # # # . # # # # # # # # #
0x0f, 0x0f, 0xfe, 0xff, // . . . . # # # # . . . . # # # # # # # # # # # . # # # # # # # #
0x0f, 0x0f, 0xff, 0x7f, // . . . . # # # # . . . . # # # # # # # # # # # # . # # # # # # #
0x0f, 0x0f, 0xff, 0xbf, // . . . . # # # # . . . . # # # # # # # # # # # # # . # # # # # #
0x0f, 0x0f, 0xff, 0xdf, // . . . . # # # # . . . . # # # # # # # # # # # # # # . # # # # #
0x0f, 0x0f, 0xff, 0xee // . . . . # # # # . . . . # # # # # # # # # # # # # # # . # # # .
+33
View File
@@ -0,0 +1,33 @@
// 'test_pattern', 32x24px
const unsigned char epd_bitmap_test_pattern [] PROGMEM = {
0x33, 0x33, 0x00, 0xff, // . . # # . . # # . . # # . . # # . . . . . . . . # # # # # # # #
0x33, 0x33, 0x00, 0xff, // . . # # . . # # . . # # . . # # . . . . . . . . # # # # # # # #
0xcc, 0xcc, 0x00, 0xff, // # # . . # # . . # # . . # # . . . . . . . . . . # # # # # # # #
0xcc, 0xcc, 0x00, 0xff, // # # . . # # . . # # . . # # . . . . . . . . . . # # # # # # # #
0x33, 0x33, 0x00, 0xff, // . . # # . . # # . . # # . . # # . . . . . . . . # # # # # # # #
0x33, 0x33, 0x00, 0xff, // . . # # . . # # . . # # . . # # . . . . . . . . # # # # # # # #
0xcc, 0xcc, 0x00, 0xff, // # # . . # # . . # # . . # # . . . . . . . . . . # # # # # # # #
0xcc, 0xcc, 0x00, 0xff, // # # . . # # . . # # . . # # . . . . . . . . . . # # # # # # # #
0x33, 0x33, 0x00, 0xff, // . . # # . . # # . . # # . . # # . . . . . . . . # # # # # # # #
0x33, 0x33, 0x00, 0xff, // . . # # . . # # . . # # . . # # . . . . . . . . # # # # # # # #
0xcc, 0xcc, 0x00, 0xff, // # # . . # # . . # # . . # # . . . . . . . . . . # # # # # # # #
0xcc, 0xcc, 0x00, 0xff, // # # . . # # . . # # . . # # . . . . . . . . . . # # # # # # # #
0x0f, 0x0f, 0x7f, 0xff, // . . . . # # # # . . . . # # # # . # # # # # # # # # # # # # # #
0x0f, 0x0f, 0xbf, 0xff, // . . . . # # # # . . . . # # # # # . # # # # # # # # # # # # # #
0x0f, 0x0f, 0xdf, 0xff, // . . . . # # # # . . . . # # # # # # . # # # # # # # # # # # # #
0x0f, 0x0f, 0xef, 0xff, // . . . . # # # # . . . . # # # # # # # . # # # # # # # # # # # #
0x0f, 0x0f, 0xf7, 0xff, // . . . . # # # # . . . . # # # # # # # # . # # # # # # # # # # #
0x0f, 0x0f, 0xfb, 0xff, // . . . . # # # # . . . . # # # # # # # # # . # # # # # # # # # #
0x0f, 0x0f, 0xfd, 0xff, // . . . . # # # # . . . . # # # # # # # # # # . # # # # # # # # #
0x0f, 0x0f, 0xfe, 0xff, // . . . . # # # # . . . . # # # # # # # # # # # . # # # # # # # #
0x0f, 0x0f, 0xff, 0x7f, // . . . . # # # # . . . . # # # # # # # # # # # # . # # # # # # #
0x0f, 0x0f, 0xff, 0xbf, // . . . . # # # # . . . . # # # # # # # # # # # # # . # # # # # #
0x0f, 0x0f, 0xff, 0xdf, // . . . . # # # # . . . . # # # # # # # # # # # # # # . # # # # #
0x0f, 0x0f, 0xff, 0xee // . . . . # # # # . . . . # # # # # # # # # # # # # # # . # # # .
};
// Array of all bitmaps for convenience. (Total bytes used to store images in PROGMEM = 400)
const int epd_bitmap_allArray_LEN = 1;
const unsigned char* epd_bitmap_allArray[1] = {
epd_bitmap_test_pattern
};
@@ -0,0 +1,25 @@
// 'test_pattern', 32x24px
0x33, 0x33, 0x00, 0xff, // . . # # . . # # . . # # . . # # . . . . . . . . # # # # # # # #
0x33, 0x33, 0x00, 0xff, // . . # # . . # # . . # # . . # # . . . . . . . . # # # # # # # #
0xcc, 0xcc, 0x00, 0xff, // # # . . # # . . # # . . # # . . . . . . . . . . # # # # # # # #
0xcc, 0xcc, 0x00, 0xff, // # # . . # # . . # # . . # # . . . . . . . . . . # # # # # # # #
0x33, 0x33, 0x00, 0xff, // . . # # . . # # . . # # . . # # . . . . . . . . # # # # # # # #
0x33, 0x33, 0x00, 0xff, // . . # # . . # # . . # # . . # # . . . . . . . . # # # # # # # #
0xcc, 0xcc, 0x00, 0xff, // # # . . # # . . # # . . # # . . . . . . . . . . # # # # # # # #
0xcc, 0xcc, 0x00, 0xff, // # # . . # # . . # # . . # # . . . . . . . . . . # # # # # # # #
0x33, 0x33, 0x00, 0xff, // . . # # . . # # . . # # . . # # . . . . . . . . # # # # # # # #
0x33, 0x33, 0x00, 0xff, // . . # # . . # # . . # # . . # # . . . . . . . . # # # # # # # #
0xcc, 0xcc, 0x00, 0xff, // # # . . # # . . # # . . # # . . . . . . . . . . # # # # # # # #
0xcc, 0xcc, 0x00, 0xff, // # # . . # # . . # # . . # # . . . . . . . . . . # # # # # # # #
0x0f, 0x0f, 0x7f, 0xff, // . . . . # # # # . . . . # # # # . # # # # # # # # # # # # # # #
0x0f, 0x0f, 0xbf, 0xff, // . . . . # # # # . . . . # # # # # . # # # # # # # # # # # # # #
0x0f, 0x0f, 0xdf, 0xff, // . . . . # # # # . . . . # # # # # # . # # # # # # # # # # # # #
0x0f, 0x0f, 0xef, 0xff, // . . . . # # # # . . . . # # # # # # # . # # # # # # # # # # # #
0x0f, 0x0f, 0xf7, 0xff, // . . . . # # # # . . . . # # # # # # # # . # # # # # # # # # # #
0x0f, 0x0f, 0xfb, 0xff, // . . . . # # # # . . . . # # # # # # # # # . # # # # # # # # # #
0x0f, 0x0f, 0xfd, 0xff, // . . . . # # # # . . . . # # # # # # # # # # . # # # # # # # # #
0x0f, 0x0f, 0xfe, 0xff, // . . . . # # # # . . . . # # # # # # # # # # # . # # # # # # # #
0x0f, 0x0f, 0xff, 0x7f, // . . . . # # # # . . . . # # # # # # # # # # # # . # # # # # # #
0x0f, 0x0f, 0xff, 0xbf, // . . . . # # # # . . . . # # # # # # # # # # # # # . # # # # # #
0x0f, 0x0f, 0xff, 0xdf, // . . . . # # # # . . . . # # # # # # # # # # # # # # . # # # # #
0x0f, 0x0f, 0xff, 0xee // . . . . # # # # . . . . # # # # # # # # # # # # # # # . # # # .
@@ -0,0 +1,25 @@
// 'test_pattern', 32x24px
0xf800, 0x0000, 0xffff, 0xffff, 0x0000, 0x0000, 0xffff, 0xffff, 0x0000, 0x0000, 0xffff, 0xffff, 0x0000, 0x0000, 0xffff, 0xffff, 0x0000, 0x1082, 0x2104, 0x3186, 0x4228, 0x52aa, 0x632c, 0x73ae, 0x8c51, 0x9cd3, 0xad55, 0xbdd7, 0xce79, 0xdefb, 0xef7d, 0xffff, // . . # # . . # # . . # # . . # # . . . . . . . . # # # # # # # #
0x0000, 0x0000, 0xffff, 0xffff, 0x0000, 0x0000, 0xffff, 0xffff, 0x0000, 0x0000, 0xffff, 0xffff, 0x0000, 0x0000, 0xffff, 0xffff, 0x0000, 0x1082, 0x2104, 0x3186, 0x4228, 0x52aa, 0x632c, 0x73ae, 0x8c51, 0x9cd3, 0xad55, 0xbdd7, 0xce79, 0xdefb, 0xef7d, 0xffff, // . . # # . . # # . . # # . . # # . . . . . . . . # # # # # # # #
0xffff, 0xffff, 0x0000, 0x0000, 0xffff, 0xffff, 0x0000, 0x0000, 0xffff, 0xffff, 0x0000, 0x0000, 0xffff, 0xffff, 0x0000, 0x0000, 0x0000, 0x1082, 0x2104, 0x3186, 0x4228, 0x52aa, 0x632c, 0x73ae, 0x8c51, 0x9cd3, 0xad55, 0xbdd7, 0xce79, 0xdefb, 0xef7d, 0xffff, // # # . . # # . . # # . . # # . . . . . . . . . . # # # # # # # #
0xffff, 0xffff, 0x0000, 0x0000, 0xffff, 0xffff, 0x0000, 0x0000, 0xffff, 0xffff, 0x0000, 0x0000, 0xffff, 0xffff, 0x0000, 0x0000, 0x0000, 0x1082, 0x2104, 0x3186, 0x4228, 0x52aa, 0x632c, 0x73ae, 0x8c51, 0x9cd3, 0xad55, 0xbdd7, 0xce79, 0xdefb, 0xef7d, 0xffff, // # # . . # # . . # # . . # # . . . . . . . . . . # # # # # # # #
0x0000, 0x0000, 0xffff, 0xffff, 0x0000, 0x0000, 0xffff, 0xffff, 0x0000, 0x0000, 0xffff, 0xffff, 0x0000, 0x0000, 0xffff, 0xffff, 0x0000, 0x1082, 0x2104, 0x3186, 0x4228, 0x52aa, 0x632c, 0x73ae, 0x8c51, 0x9cd3, 0xad55, 0xbdd7, 0xce79, 0xdefb, 0xef7d, 0xffff, // . . # # . . # # . . # # . . # # . . . . . . . . # # # # # # # #
0x0000, 0x0000, 0xffff, 0xffff, 0x0000, 0x0000, 0xffff, 0xffff, 0x0000, 0x0000, 0xffff, 0xffff, 0x0000, 0x0000, 0xffff, 0xffff, 0x0000, 0x1082, 0x2104, 0x3186, 0x4228, 0x52aa, 0x632c, 0x73ae, 0x8c51, 0x9cd3, 0xad55, 0xbdd7, 0xce79, 0xdefb, 0xef7d, 0xffff, // . . # # . . # # . . # # . . # # . . . . . . . . # # # # # # # #
0xffff, 0xffff, 0x0000, 0x0000, 0xffff, 0xffff, 0x0000, 0x0000, 0xffff, 0xffff, 0x0000, 0x0000, 0xffff, 0xffff, 0x0000, 0x0000, 0x0000, 0x1082, 0x2104, 0x3186, 0x4228, 0x52aa, 0x632c, 0x73ae, 0x8c51, 0x9cd3, 0xad55, 0xbdd7, 0xce79, 0xdefb, 0xef7d, 0xffff, // # # . . # # . . # # . . # # . . . . . . . . . . # # # # # # # #
0xffff, 0xffff, 0x0000, 0x0000, 0xffff, 0xffff, 0x0000, 0x0000, 0xffff, 0xffff, 0x0000, 0x0000, 0xffff, 0xffff, 0x0000, 0x0000, 0x0000, 0x1082, 0x2104, 0x3186, 0x4228, 0x52aa, 0x632c, 0x73ae, 0x8c51, 0x9cd3, 0xad55, 0xbdd7, 0xce79, 0xdefb, 0xef7d, 0xffff, // # # . . # # . . # # . . # # . . . . . . . . . . # # # # # # # #
0x0000, 0x0000, 0xffff, 0xffff, 0x0000, 0x0000, 0xffff, 0xffff, 0x0000, 0x0000, 0xffff, 0xffff, 0x0000, 0x0000, 0xffff, 0xffff, 0x0000, 0x1082, 0x2104, 0x3186, 0x4228, 0x52aa, 0x632c, 0x73ae, 0x8c51, 0x9cd3, 0xad55, 0xbdd7, 0xce79, 0xdefb, 0xef7d, 0xffff, // . . # # . . # # . . # # . . # # . . . . . . . . # # # # # # # #
0x0000, 0x0000, 0xffff, 0xffff, 0x0000, 0x0000, 0xffff, 0xffff, 0x0000, 0x0000, 0xffff, 0xffff, 0x0000, 0x0000, 0xffff, 0xffff, 0x0000, 0x1082, 0x2104, 0x3186, 0x4228, 0x52aa, 0x632c, 0x73ae, 0x8c51, 0x9cd3, 0xad55, 0xbdd7, 0xce79, 0xdefb, 0xef7d, 0xffff, // . . # # . . # # . . # # . . # # . . . . . . . . # # # # # # # #
0xffff, 0xffff, 0x0000, 0x0000, 0xffff, 0xffff, 0x0000, 0x0000, 0xffff, 0xffff, 0x0000, 0x0000, 0xffff, 0xffff, 0x0000, 0x0000, 0x0000, 0x1082, 0x2104, 0x3186, 0x4228, 0x52aa, 0x632c, 0x73ae, 0x8c51, 0x9cd3, 0xad55, 0xbdd7, 0xce79, 0xdefb, 0xef7d, 0xffff, // # # . . # # . . # # . . # # . . . . . . . . . . # # # # # # # #
0xffff, 0xffff, 0x0000, 0x0000, 0xffff, 0xffff, 0x0000, 0x0000, 0xffff, 0xffff, 0x0000, 0x0000, 0xffff, 0xffff, 0x0000, 0x0000, 0x0000, 0x1082, 0x2104, 0x3186, 0x4228, 0x52aa, 0x632c, 0x73ae, 0x8c51, 0x9cd3, 0xad55, 0xbdd7, 0xce79, 0xdefb, 0xef7d, 0xffff, // # # . . # # . . # # . . # # . . . . . . . . . . # # # # # # # #
0xf800, 0xf800, 0xf800, 0xf800, 0x07e0, 0x07e0, 0x07e0, 0x07e0, 0x001f, 0x001f, 0x001f, 0x001f, 0xffff, 0xffff, 0xffff, 0xffff, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, // . . . . . . . . . . . . # # # # . # # # # # # # # # # # # # # #
0xf800, 0xf800, 0xf800, 0xf800, 0x07e0, 0x07e0, 0x07e0, 0x07e0, 0x001f, 0x001f, 0x001f, 0x001f, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, // . . . . . . . . . . . . # # # # # . # # # # # # # # # # # # # #
0xf800, 0xf800, 0xf800, 0xf800, 0x07e0, 0x07e0, 0x07e0, 0x07e0, 0x001f, 0x001f, 0x001f, 0x001f, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, // . . . . . . . . . . . . # # # # # # . # # # # # # # # # # # # #
0xf800, 0xf800, 0xf800, 0xf800, 0x07e0, 0x07e0, 0x07e0, 0x07e0, 0x001f, 0x001f, 0x001f, 0x001f, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, // . . . . . . . . . . . . # # # # # # # . # # # # # # # # # # # #
0xf800, 0xf800, 0xf800, 0xf800, 0x07e0, 0x07e0, 0x07e0, 0x07e0, 0x001f, 0x001f, 0x001f, 0x001f, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, // . . . . . . . . . . . . # # # # # # # # . # # # # # # # # # # #
0xf800, 0xf800, 0xf800, 0xf800, 0x07e0, 0x07e0, 0x07e0, 0x07e0, 0x001f, 0x001f, 0x001f, 0x001f, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, // . . . . . . . . . . . . # # # # # # # # # . # # # # # # # # # #
0xf800, 0xf800, 0xf800, 0xf800, 0x07e0, 0x07e0, 0x07e0, 0x07e0, 0x001f, 0x001f, 0x001f, 0x001f, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, // . . . . . . . . . . . . # # # # # # # # # # . # # # # # # # # #
0xf800, 0xf800, 0xf800, 0xf800, 0x07e0, 0x07e0, 0x07e0, 0x07e0, 0x001f, 0x001f, 0x001f, 0x001f, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, // . . . . . . . . . . . . # # # # # # # # # # # . # # # # # # # #
0xf800, 0xf800, 0xf800, 0xf800, 0x07e0, 0x07e0, 0x07e0, 0x07e0, 0x001f, 0x001f, 0x001f, 0x001f, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, // . . . . . . . . . . . . # # # # # # # # # # # # . # # # # # # #
0xf800, 0xf800, 0xf800, 0xf800, 0x07e0, 0x07e0, 0x07e0, 0x07e0, 0x001f, 0x001f, 0x001f, 0x001f, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, // . . . . . . . . . . . . # # # # # # # # # # # # # . # # # # # #
0xf800, 0xf800, 0xf800, 0xf800, 0x07e0, 0x07e0, 0x07e0, 0x07e0, 0x001f, 0x001f, 0x001f, 0x001f, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, // . . . . . . . . . . . . # # # # # # # # # # # # # # . # # # # #
0xf800, 0xf800, 0xf800, 0xf800, 0x07e0, 0x07e0, 0x07e0, 0x07e0, 0x001f, 0x001f, 0x001f, 0x001f, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x0000, 0xffff, 0xffff, 0xffff, 0x001f // . . . . . . . . . . . . # # # # # # # # # # # # # # # . # # # .
@@ -0,0 +1,25 @@
// 'test_pattern', 32x24px
0x00ff0000, 0x00000000, 0x00ffffff, 0x00ffffff, 0x00000000, 0x00000000, 0x00ffffff, 0x00ffffff, 0x00000000, 0x00000000, 0x00ffffff, 0x00ffffff, 0x00000000, 0x00000000, 0x00ffffff, 0x00ffffff, 0x00000000, 0x00111111, 0x00222222, 0x00333333, 0x00444444, 0x00555555, 0x00666666, 0x00777777, 0x00888888, 0x00999999, 0x00aaaaaa, 0x00bbbbbb, 0x00cccccc, 0x00dddddd, 0x00eeeeee, 0x00ffffff, // . . # # . . # # . . # # . . # # . . . . . . . . # # # # # # # #
0x00000000, 0x00000000, 0x00ffffff, 0x00ffffff, 0x00000000, 0x00000000, 0x00ffffff, 0x00ffffff, 0x00000000, 0x00000000, 0x00ffffff, 0x00ffffff, 0x00000000, 0x00000000, 0x00ffffff, 0x00ffffff, 0x00000000, 0x00111111, 0x00222222, 0x00333333, 0x00444444, 0x00555555, 0x00666666, 0x00777777, 0x00888888, 0x00999999, 0x00aaaaaa, 0x00bbbbbb, 0x00cccccc, 0x00dddddd, 0x00eeeeee, 0x00ffffff, // . . # # . . # # . . # # . . # # . . . . . . . . # # # # # # # #
0x00ffffff, 0x00ffffff, 0x00000000, 0x00000000, 0x00ffffff, 0x00ffffff, 0x00000000, 0x00000000, 0x00ffffff, 0x00ffffff, 0x00000000, 0x00000000, 0x00ffffff, 0x00ffffff, 0x00000000, 0x00000000, 0x00000000, 0x00111111, 0x00222222, 0x00333333, 0x00444444, 0x00555555, 0x00666666, 0x00777777, 0x00888888, 0x00999999, 0x00aaaaaa, 0x00bbbbbb, 0x00cccccc, 0x00dddddd, 0x00eeeeee, 0x00ffffff, // # # . . # # . . # # . . # # . . . . . . . . . . # # # # # # # #
0x00ffffff, 0x00ffffff, 0x00000000, 0x00000000, 0x00ffffff, 0x00ffffff, 0x00000000, 0x00000000, 0x00ffffff, 0x00ffffff, 0x00000000, 0x00000000, 0x00ffffff, 0x00ffffff, 0x00000000, 0x00000000, 0x00000000, 0x00111111, 0x00222222, 0x00333333, 0x00444444, 0x00555555, 0x00666666, 0x00777777, 0x00888888, 0x00999999, 0x00aaaaaa, 0x00bbbbbb, 0x00cccccc, 0x00dddddd, 0x00eeeeee, 0x00ffffff, // # # . . # # . . # # . . # # . . . . . . . . . . # # # # # # # #
0x00000000, 0x00000000, 0x00ffffff, 0x00ffffff, 0x00000000, 0x00000000, 0x00ffffff, 0x00ffffff, 0x00000000, 0x00000000, 0x00ffffff, 0x00ffffff, 0x00000000, 0x00000000, 0x00ffffff, 0x00ffffff, 0x00000000, 0x00111111, 0x00222222, 0x00333333, 0x00444444, 0x00555555, 0x00666666, 0x00777777, 0x00888888, 0x00999999, 0x00aaaaaa, 0x00bbbbbb, 0x00cccccc, 0x00dddddd, 0x00eeeeee, 0x00ffffff, // . . # # . . # # . . # # . . # # . . . . . . . . # # # # # # # #
0x00000000, 0x00000000, 0x00ffffff, 0x00ffffff, 0x00000000, 0x00000000, 0x00ffffff, 0x00ffffff, 0x00000000, 0x00000000, 0x00ffffff, 0x00ffffff, 0x00000000, 0x00000000, 0x00ffffff, 0x00ffffff, 0x00000000, 0x00111111, 0x00222222, 0x00333333, 0x00444444, 0x00555555, 0x00666666, 0x00777777, 0x00888888, 0x00999999, 0x00aaaaaa, 0x00bbbbbb, 0x00cccccc, 0x00dddddd, 0x00eeeeee, 0x00ffffff, // . . # # . . # # . . # # . . # # . . . . . . . . # # # # # # # #
0x00ffffff, 0x00ffffff, 0x00000000, 0x00000000, 0x00ffffff, 0x00ffffff, 0x00000000, 0x00000000, 0x00ffffff, 0x00ffffff, 0x00000000, 0x00000000, 0x00ffffff, 0x00ffffff, 0x00000000, 0x00000000, 0x00000000, 0x00111111, 0x00222222, 0x00333333, 0x00444444, 0x00555555, 0x00666666, 0x00777777, 0x00888888, 0x00999999, 0x00aaaaaa, 0x00bbbbbb, 0x00cccccc, 0x00dddddd, 0x00eeeeee, 0x00ffffff, // # # . . # # . . # # . . # # . . . . . . . . . . # # # # # # # #
0x00ffffff, 0x00ffffff, 0x00000000, 0x00000000, 0x00ffffff, 0x00ffffff, 0x00000000, 0x00000000, 0x00ffffff, 0x00ffffff, 0x00000000, 0x00000000, 0x00ffffff, 0x00ffffff, 0x00000000, 0x00000000, 0x00000000, 0x00111111, 0x00222222, 0x00333333, 0x00444444, 0x00555555, 0x00666666, 0x00777777, 0x00888888, 0x00999999, 0x00aaaaaa, 0x00bbbbbb, 0x00cccccc, 0x00dddddd, 0x00eeeeee, 0x00ffffff, // # # . . # # . . # # . . # # . . . . . . . . . . # # # # # # # #
0x00000000, 0x00000000, 0x00ffffff, 0x00ffffff, 0x00000000, 0x00000000, 0x00ffffff, 0x00ffffff, 0x00000000, 0x00000000, 0x00ffffff, 0x00ffffff, 0x00000000, 0x00000000, 0x00ffffff, 0x00ffffff, 0x00000000, 0x00111111, 0x00222222, 0x00333333, 0x00444444, 0x00555555, 0x00666666, 0x00777777, 0x00888888, 0x00999999, 0x00aaaaaa, 0x00bbbbbb, 0x00cccccc, 0x00dddddd, 0x00eeeeee, 0x00ffffff, // . . # # . . # # . . # # . . # # . . . . . . . . # # # # # # # #
0x00000000, 0x00000000, 0x00ffffff, 0x00ffffff, 0x00000000, 0x00000000, 0x00ffffff, 0x00ffffff, 0x00000000, 0x00000000, 0x00ffffff, 0x00ffffff, 0x00000000, 0x00000000, 0x00ffffff, 0x00ffffff, 0x00000000, 0x00111111, 0x00222222, 0x00333333, 0x00444444, 0x00555555, 0x00666666, 0x00777777, 0x00888888, 0x00999999, 0x00aaaaaa, 0x00bbbbbb, 0x00cccccc, 0x00dddddd, 0x00eeeeee, 0x00ffffff, // . . # # . . # # . . # # . . # # . . . . . . . . # # # # # # # #
0x00ffffff, 0x00ffffff, 0x00000000, 0x00000000, 0x00ffffff, 0x00ffffff, 0x00000000, 0x00000000, 0x00ffffff, 0x00ffffff, 0x00000000, 0x00000000, 0x00ffffff, 0x00ffffff, 0x00000000, 0x00000000, 0x00000000, 0x00111111, 0x00222222, 0x00333333, 0x00444444, 0x00555555, 0x00666666, 0x00777777, 0x00888888, 0x00999999, 0x00aaaaaa, 0x00bbbbbb, 0x00cccccc, 0x00dddddd, 0x00eeeeee, 0x00ffffff, // # # . . # # . . # # . . # # . . . . . . . . . . # # # # # # # #
0x00ffffff, 0x00ffffff, 0x00000000, 0x00000000, 0x00ffffff, 0x00ffffff, 0x00000000, 0x00000000, 0x00ffffff, 0x00ffffff, 0x00000000, 0x00000000, 0x00ffffff, 0x00ffffff, 0x00000000, 0x00000000, 0x00000000, 0x00111111, 0x00222222, 0x00333333, 0x00444444, 0x00555555, 0x00666666, 0x00777777, 0x00888888, 0x00999999, 0x00aaaaaa, 0x00bbbbbb, 0x00cccccc, 0x00dddddd, 0x00eeeeee, 0x00ffffff, // # # . . # # . . # # . . # # . . . . . . . . . . # # # # # # # #
0x00ff0000, 0x00ff0000, 0x00ff0000, 0x00ff0000, 0x0000ff00, 0x0000ff00, 0x0000ff00, 0x0000ff00, 0x000000ff, 0x000000ff, 0x000000ff, 0x000000ff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00000000, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, // . . . . . . . . . . . . # # # # . # # # # # # # # # # # # # # #
0x00ff0000, 0x00ff0000, 0x00ff0000, 0x00ff0000, 0x0000ff00, 0x0000ff00, 0x0000ff00, 0x0000ff00, 0x000000ff, 0x000000ff, 0x000000ff, 0x000000ff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00000000, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, // . . . . . . . . . . . . # # # # # . # # # # # # # # # # # # # #
0x00ff0000, 0x00ff0000, 0x00ff0000, 0x00ff0000, 0x0000ff00, 0x0000ff00, 0x0000ff00, 0x0000ff00, 0x000000ff, 0x000000ff, 0x000000ff, 0x000000ff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00000000, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, // . . . . . . . . . . . . # # # # # # . # # # # # # # # # # # # #
0x00ff0000, 0x00ff0000, 0x00ff0000, 0x00ff0000, 0x0000ff00, 0x0000ff00, 0x0000ff00, 0x0000ff00, 0x000000ff, 0x000000ff, 0x000000ff, 0x000000ff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00000000, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, // . . . . . . . . . . . . # # # # # # # . # # # # # # # # # # # #
0x00ff0000, 0x00ff0000, 0x00ff0000, 0x00ff0000, 0x0000ff00, 0x0000ff00, 0x0000ff00, 0x0000ff00, 0x000000ff, 0x000000ff, 0x000000ff, 0x000000ff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00000000, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, // . . . . . . . . . . . . # # # # # # # # . # # # # # # # # # # #
0x00ff0000, 0x00ff0000, 0x00ff0000, 0x00ff0000, 0x0000ff00, 0x0000ff00, 0x0000ff00, 0x0000ff00, 0x000000ff, 0x000000ff, 0x000000ff, 0x000000ff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00000000, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, // . . . . . . . . . . . . # # # # # # # # # . # # # # # # # # # #
0x00ff0000, 0x00ff0000, 0x00ff0000, 0x00ff0000, 0x0000ff00, 0x0000ff00, 0x0000ff00, 0x0000ff00, 0x000000ff, 0x000000ff, 0x000000ff, 0x000000ff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00000000, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, // . . . . . . . . . . . . # # # # # # # # # # . # # # # # # # # #
0x00ff0000, 0x00ff0000, 0x00ff0000, 0x00ff0000, 0x0000ff00, 0x0000ff00, 0x0000ff00, 0x0000ff00, 0x000000ff, 0x000000ff, 0x000000ff, 0x000000ff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00000000, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, // . . . . . . . . . . . . # # # # # # # # # # # . # # # # # # # #
0x00ff0000, 0x00ff0000, 0x00ff0000, 0x00ff0000, 0x0000ff00, 0x0000ff00, 0x0000ff00, 0x0000ff00, 0x000000ff, 0x000000ff, 0x000000ff, 0x000000ff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00000000, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, // . . . . . . . . . . . . # # # # # # # # # # # # . # # # # # # #
0x00ff0000, 0x00ff0000, 0x00ff0000, 0x00ff0000, 0x0000ff00, 0x0000ff00, 0x0000ff00, 0x0000ff00, 0x000000ff, 0x000000ff, 0x000000ff, 0x000000ff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00000000, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, // . . . . . . . . . . . . # # # # # # # # # # # # # . # # # # # #
0x00ff0000, 0x00ff0000, 0x00ff0000, 0x00ff0000, 0x0000ff00, 0x0000ff00, 0x0000ff00, 0x0000ff00, 0x000000ff, 0x000000ff, 0x000000ff, 0x000000ff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00000000, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, // . . . . . . . . . . . . # # # # # # # # # # # # # # . # # # # #
0x00ff0000, 0x00ff0000, 0x00ff0000, 0x00ff0000, 0x0000ff00, 0x0000ff00, 0x0000ff00, 0x0000ff00, 0x000000ff, 0x000000ff, 0x000000ff, 0x000000ff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00000000, 0x00ffffff, 0x00ffffff, 0x00ffffff, 0x000000ff // . . . . . . . . . . . . # # # # # # # # # # # # # # # . # # # .
+5 -5
View File
@@ -1,4 +1,4 @@
const unsigned char epd_bitmapBitmap [] PROGMEM = {
const unsigned char epd_bitmap_Bitmap [] PROGMEM = {
// 'test_pattern', 32x24px
0x33, 0x33, 0x00, 0xff, 0x33, 0x33, 0x00, 0xff, 0xcc, 0xcc, 0x00, 0xff, 0xcc, 0xcc, 0x00, 0xff,
0x33, 0x33, 0x00, 0xff, 0x33, 0x33, 0x00, 0xff, 0xcc, 0xcc, 0x00, 0xff, 0xcc, 0xcc, 0x00, 0xff,
@@ -8,12 +8,12 @@ const unsigned char epd_bitmapBitmap [] PROGMEM = {
0x0f, 0x0f, 0xff, 0x7f, 0x0f, 0x0f, 0xff, 0xbf, 0x0f, 0x0f, 0xff, 0xdf, 0x0f, 0x0f, 0xff, 0xee
};
const GFXbitmapGlyph epd_bitmapGlyphs [] PROGMEM = {
const GFXbitmapGlyph epd_bitmap_Glyphs [] PROGMEM = {
{ 0, 32, 24, 0, '0' }// 'test_pattern'
};
const GFXbitmapFont epd_bitmapFont PROGMEM = {
(uint8_t *)epd_bitmapBitmap,
(GFXbitmapGlyph *)epd_bitmapGlyphs,
const GFXbitmapFont epd_bitmap_Font PROGMEM = {
(uint8_t *)epd_bitmap_Bitmap,
(GFXbitmapGlyph *)epd_bitmap_Glyphs,
1
};
+5 -5
View File
@@ -1,4 +1,4 @@
const uint8_t epd_bitmapBitmap [] = {
const uint8_t epd_bitmap_Bitmap [] = {
// 'test_pattern', 32x24px
0x33, 0x33, 0x00, 0xff, 0x33, 0x33, 0x00, 0xff, 0xcc, 0xcc, 0x00, 0xff, 0xcc, 0xcc, 0x00, 0xff,
0x33, 0x33, 0x00, 0xff, 0x33, 0x33, 0x00, 0xff, 0xcc, 0xcc, 0x00, 0xff, 0xcc, 0xcc, 0x00, 0xff,
@@ -8,12 +8,12 @@ const uint8_t epd_bitmapBitmap [] = {
0x0f, 0x0f, 0xff, 0x7f, 0x0f, 0x0f, 0xff, 0xbf, 0x0f, 0x0f, 0xff, 0xdf, 0x0f, 0x0f, 0xff, 0xee
};
const GFXbitmapGlyph epd_bitmapGlyphs [] = {
const GFXbitmapGlyph epd_bitmap_Glyphs [] = {
{ 0, 32, 24, 0, '0' }// 'test_pattern'
};
const GFXbitmapFont epd_bitmapFont = {
(uint8_t *)epd_bitmapBitmap,
(GFXbitmapGlyph *)epd_bitmapGlyphs,
const GFXbitmapFont epd_bitmap_Font = {
(uint8_t *)epd_bitmap_Bitmap,
(GFXbitmapGlyph *)epd_bitmap_Glyphs,
1
};
+1 -1
View File
@@ -1,4 +1,4 @@
const unsigned char epd_bitmap [] PROGMEM = {
const unsigned char epd_bitmap_ [] PROGMEM = {
// 'test_pattern', 32x24px
0x33, 0x33, 0x00, 0xff, 0x33, 0x33, 0x00, 0xff, 0xcc, 0xcc, 0x00, 0xff, 0xcc, 0xcc, 0x00, 0xff,
0x33, 0x33, 0x00, 0xff, 0x33, 0x33, 0x00, 0xff, 0xcc, 0xcc, 0x00, 0xff, 0xcc, 0xcc, 0x00, 0xff,
+1 -1
View File
@@ -1,4 +1,4 @@
const uint8_t epd_bitmap [] = {
const uint8_t epd_bitmap_ [] = {
// 'test_pattern', 32x24px
0x33, 0x33, 0x00, 0xff, 0x33, 0x33, 0x00, 0xff, 0xcc, 0xcc, 0x00, 0xff, 0xcc, 0xcc, 0x00, 0xff,
0x33, 0x33, 0x00, 0xff, 0x33, 0x33, 0x00, 0xff, 0xcc, 0xcc, 0x00, 0xff, 0xcc, 0xcc, 0x00, 0xff,
+32 -1
View File
@@ -46,6 +46,8 @@ BASE_SETTINGS = {
"prefix": "0x",
"separator": ", ",
"esp32Format": False,
"bytesPerRow": 16,
"showAsciiPreview": False,
}
OUTPUT_FORMAT_IDS = {
@@ -104,6 +106,27 @@ SCENARIOS = [
("dithering_threshold_low", {"ditheringThreshold": 64}, None),
("dithering_threshold_high", {"ditheringThreshold": 200}, None),
("bitswap", {"bitswap": True}, None),
("ascii_preview", {"showAsciiPreview": True}, None),
(
"ascii_preview_bytes_per_row_ignored",
{"showAsciiPreview": True, "bytesPerRow": 3},
None,
),
(
"ascii_preview_horizontal565",
{"showAsciiPreview": True, "drawMode": "horizontal565"},
None,
),
(
"ascii_preview_horizontal888",
{"showAsciiPreview": True, "drawMode": "horizontal888"},
None,
),
(
"ascii_preview_arduino",
{"showAsciiPreview": True, "outputFormat": "arduino"},
None,
),
("remove_zeroes_commas", {"prefix": "", "separator": ""}, None),
# scale=1 (original) on a canvas larger than the image so the
# background actually shows through in the margins.
@@ -207,6 +230,8 @@ def apply_settings(page, settings):
set_checkbox(page, "#bitswap", settings["bitswap"])
page.fill("#prefix", settings["prefix"])
page.fill("#separator", settings["separator"])
page.fill("#bytesPerRow", str(settings["bytesPerRow"]))
set_checkbox(page, "#showAsciiPreview", settings["showAsciiPreview"])
# esp32Format checkbox only exists in the DOM (visible) for non-plain
# output formats; plain output has no type/PROGMEM declarations to affect.
if settings["outputFormat"] != "plain":
@@ -237,12 +262,18 @@ def roundtrip_eligible(settings):
"Paste byte array" box: other draw modes aren't supported by the parser,
bitswap mangles the byte stream with no importer to undo it, and the
parser splits bytes on commas, so a separator without one (e.g. the
empty string used to strip formatting) can't be read back."""
empty string used to strip formatting) can't be read back. showAsciiPreview
and a non-default bytesPerRow are excluded too: run_roundtrip reloads a
fresh page and never restores those two, so the re-exported text would use
default formatting and not textually match the original even though the
underlying pixel data round-trips fine."""
return (
settings["drawMode"] in ("horizontal1bit", "vertical1bit")
and settings["outputFormat"] == "plain"
and not settings["bitswap"]
and "," in settings["separator"]
and not settings["showAsciiPreview"]
and settings["bytesPerRow"] == BASE_SETTINGS["bytesPerRow"]
)