diff options
author | WanderingGlitch <wandering.glitch+git@gmail.com> | 2016-07-01 19:38:46 -0500 |
---|---|---|
committer | WanderingGlitch <wandering.glitch+git@gmail.com> | 2016-07-01 20:36:50 -0500 |
commit | 16c3423c520e588f54bbe8e145388ef1ea8c2ed2 (patch) | |
tree | 295cc2c13a716a4d46d6d985b8562e0b171c674b | |
parent | 6a62efabb0b048a6f2f1d74870fccbd634e281d3 (diff) |
Adding the unoptimized text drawing code
100 files changed, 1552 insertions, 0 deletions
diff --git a/laser-tag software/CMakeLists.txt b/laser-tag software/CMakeLists.txt index e88e8ae..1861b60 100755 --- a/laser-tag software/CMakeLists.txt +++ b/laser-tag software/CMakeLists.txt @@ -100,6 +100,7 @@ ADD_EXECUTABLE(hello_world "${ProjDirPath}/../KSDK_1.2.0/platform/drivers/src/spi/fsl_spi_dma_irq.c"
"${ProjDirPath}/main.c"
"${ProjDirPath}/epaper.c"
+ "${ProjDirPath}/text.c"
)
SET_TARGET_PROPERTIES(hello_world PROPERTIES OUTPUT_NAME "hello_world.elf")
diff --git a/laser-tag software/images/alphabet/ascii0x20.xbm b/laser-tag software/images/alphabet/ascii0x20.xbm new file mode 100644 index 0000000..3f6eea0 --- /dev/null +++ b/laser-tag software/images/alphabet/ascii0x20.xbm @@ -0,0 +1,5 @@ +#define ascii0x20_width 5 +#define ascii0x20_height 22 +static unsigned char ascii0x20_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; diff --git a/laser-tag software/images/alphabet/ascii0x21.xbm b/laser-tag software/images/alphabet/ascii0x21.xbm new file mode 100755 index 0000000..c23b9aa --- /dev/null +++ b/laser-tag software/images/alphabet/ascii0x21.xbm @@ -0,0 +1,5 @@ +#define ascii0x21_width 7
+#define ascii0x21_height 22
+static unsigned char ascii0x21_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
+ 0x18, 0x18, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00 };
diff --git a/laser-tag software/images/alphabet/ascii0x22.xbm b/laser-tag software/images/alphabet/ascii0x22.xbm new file mode 100755 index 0000000..8a0629f --- /dev/null +++ b/laser-tag software/images/alphabet/ascii0x22.xbm @@ -0,0 +1,5 @@ +#define ascii0x22_width 8
+#define ascii0x22_height 22
+static unsigned char ascii0x22_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x36, 0x36, 0x36, 0x36, 0x36, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
diff --git a/laser-tag software/images/alphabet/ascii0x23.xbm b/laser-tag software/images/alphabet/ascii0x23.xbm new file mode 100755 index 0000000..d36ec0e --- /dev/null +++ b/laser-tag software/images/alphabet/ascii0x23.xbm @@ -0,0 +1,7 @@ +#define ascii0x23_width 15
+#define ascii0x23_height 22
+static unsigned char ascii0x23_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x04,
+ 0x80, 0x04, 0x40, 0x02, 0x40, 0x02, 0xf8, 0x1f, 0x40, 0x02, 0x60, 0x03,
+ 0x20, 0x01, 0xfc, 0x0f, 0x20, 0x01, 0x20, 0x01, 0x90, 0x00, 0x90, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
diff --git a/laser-tag software/images/alphabet/ascii0x24.xbm b/laser-tag software/images/alphabet/ascii0x24.xbm new file mode 100755 index 0000000..4c84a16 --- /dev/null +++ b/laser-tag software/images/alphabet/ascii0x24.xbm @@ -0,0 +1,7 @@ +#define ascii0x24_width 11
+#define ascii0x24_height 22
+static unsigned char ascii0x24_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00,
+ 0x20, 0x00, 0xf8, 0x03, 0xfc, 0x03, 0x26, 0x00, 0x26, 0x00, 0x2e, 0x00,
+ 0xf8, 0x00, 0xa0, 0x03, 0x20, 0x03, 0x22, 0x03, 0xfe, 0x01, 0xfc, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x00, 0x00 };
diff --git a/laser-tag software/images/alphabet/ascii0x25.xbm b/laser-tag software/images/alphabet/ascii0x25.xbm new file mode 100755 index 0000000..bbc3cf4 --- /dev/null +++ b/laser-tag software/images/alphabet/ascii0x25.xbm @@ -0,0 +1,9 @@ +#define ascii0x25_width 19
+#define ascii0x25_height 22
+static unsigned char ascii0x25_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3c, 0x30, 0x00, 0x26, 0x10, 0x00, 0x66, 0x18, 0x00,
+ 0x66, 0x0c, 0x00, 0x66, 0x04, 0x00, 0x66, 0xe6, 0x01, 0x66, 0x32, 0x03,
+ 0x3c, 0x33, 0x03, 0x00, 0x31, 0x03, 0x80, 0x31, 0x03, 0xc0, 0x30, 0x03,
+ 0x40, 0x20, 0x03, 0x60, 0xe0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
diff --git a/laser-tag software/images/alphabet/ascii0x26.xbm b/laser-tag software/images/alphabet/ascii0x26.xbm new file mode 100755 index 0000000..876b204 --- /dev/null +++ b/laser-tag software/images/alphabet/ascii0x26.xbm @@ -0,0 +1,7 @@ +#define ascii0x26_width 13
+#define ascii0x26_height 22
+static unsigned char ascii0x26_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x00,
+ 0xfc, 0x00, 0xcc, 0x00, 0xcc, 0x00, 0x4c, 0x00, 0x38, 0x06, 0x6c, 0x06,
+ 0xc4, 0x06, 0x86, 0x07, 0x06, 0x03, 0x8e, 0x07, 0xfc, 0x0d, 0x78, 0x18,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
diff --git a/laser-tag software/images/alphabet/ascii0x27.xbm b/laser-tag software/images/alphabet/ascii0x27.xbm new file mode 100755 index 0000000..97cb120 --- /dev/null +++ b/laser-tag software/images/alphabet/ascii0x27.xbm @@ -0,0 +1,5 @@ +#define ascii0x27_width 5
+#define ascii0x27_height 22
+static unsigned char ascii0x27_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x06, 0x06, 0x06, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
diff --git a/laser-tag software/images/alphabet/ascii0x28.xbm b/laser-tag software/images/alphabet/ascii0x28.xbm new file mode 100755 index 0000000..75c17b6 --- /dev/null +++ b/laser-tag software/images/alphabet/ascii0x28.xbm @@ -0,0 +1,5 @@ +#define ascii0x28_width 8
+#define ascii0x28_height 22
+static unsigned char ascii0x28_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x30, 0x18, 0x08, 0x0c, 0x0c, 0x06, 0x06, 0x06,
+ 0x06, 0x06, 0x06, 0x06, 0x06, 0x0c, 0x0c, 0x08, 0x18, 0x30 };
diff --git a/laser-tag software/images/alphabet/ascii0x29.xbm b/laser-tag software/images/alphabet/ascii0x29.xbm new file mode 100755 index 0000000..a04e9fe --- /dev/null +++ b/laser-tag software/images/alphabet/ascii0x29.xbm @@ -0,0 +1,5 @@ +#define ascii0x29_width 8
+#define ascii0x29_height 22
+static unsigned char ascii0x29_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x06, 0x0c, 0x08, 0x18, 0x18, 0x30, 0x30, 0x30,
+ 0x30, 0x30, 0x30, 0x30, 0x30, 0x18, 0x18, 0x0c, 0x0c, 0x06 };
diff --git a/laser-tag software/images/alphabet/ascii0x2a.xbm b/laser-tag software/images/alphabet/ascii0x2a.xbm new file mode 100755 index 0000000..27b9cdb --- /dev/null +++ b/laser-tag software/images/alphabet/ascii0x2a.xbm @@ -0,0 +1,7 @@ +#define ascii0x2a_width 11
+#define ascii0x2a_height 22
+static unsigned char ascii0x2a_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x22, 0x02,
+ 0xac, 0x01, 0x70, 0x00, 0x70, 0x00, 0xac, 0x01, 0x22, 0x02, 0x20, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
diff --git a/laser-tag software/images/alphabet/ascii0x2b.xbm b/laser-tag software/images/alphabet/ascii0x2b.xbm new file mode 100755 index 0000000..84df8f5 --- /dev/null +++ b/laser-tag software/images/alphabet/ascii0x2b.xbm @@ -0,0 +1,7 @@ +#define ascii0x2b_width 15
+#define ascii0x2b_height 22
+static unsigned char ascii0x2b_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01,
+ 0xfc, 0x3f, 0xfc, 0x3f, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01,
+ 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
diff --git a/laser-tag software/images/alphabet/ascii0x2c.xbm b/laser-tag software/images/alphabet/ascii0x2c.xbm new file mode 100755 index 0000000..b893751 --- /dev/null +++ b/laser-tag software/images/alphabet/ascii0x2c.xbm @@ -0,0 +1,5 @@ +#define ascii0x2c_width 7
+#define ascii0x2c_height 22
+static unsigned char ascii0x2c_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x1c, 0x0c, 0x0c, 0x04, 0x06, 0x06, 0x00 };
diff --git a/laser-tag software/images/alphabet/ascii0x2d.xbm b/laser-tag software/images/alphabet/ascii0x2d.xbm new file mode 100755 index 0000000..2f3aca3 --- /dev/null +++ b/laser-tag software/images/alphabet/ascii0x2d.xbm @@ -0,0 +1,5 @@ +#define ascii0x2d_width 8
+#define ascii0x2d_height 22
+static unsigned char ascii0x2d_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e,
+ 0x3e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
diff --git a/laser-tag software/images/alphabet/ascii0x2e.xbm b/laser-tag software/images/alphabet/ascii0x2e.xbm new file mode 100755 index 0000000..cd990fe --- /dev/null +++ b/laser-tag software/images/alphabet/ascii0x2e.xbm @@ -0,0 +1,5 @@ +#define ascii0x2e_width 7
+#define ascii0x2e_height 22
+static unsigned char ascii0x2e_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x0c, 0x0c, 0x0c, 0x00, 0x00, 0x00, 0x00 };
diff --git a/laser-tag software/images/alphabet/ascii0x2f.xbm b/laser-tag software/images/alphabet/ascii0x2f.xbm new file mode 100755 index 0000000..7d9a697 --- /dev/null +++ b/laser-tag software/images/alphabet/ascii0x2f.xbm @@ -0,0 +1,5 @@ +#define ascii0x2f_width 8
+#define ascii0x2f_height 22
+static unsigned char ascii0x2f_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0xc0, 0x60, 0x60, 0x60, 0x30, 0x30, 0x30, 0x18,
+ 0x18, 0x18, 0x0c, 0x0c, 0x0c, 0x06, 0x06, 0x06, 0x03, 0x00 };
diff --git a/laser-tag software/images/alphabet/ascii0x30.xbm b/laser-tag software/images/alphabet/ascii0x30.xbm new file mode 100755 index 0000000..a2452f8 --- /dev/null +++ b/laser-tag software/images/alphabet/ascii0x30.xbm @@ -0,0 +1,7 @@ +#define ascii0x30_width 11
+#define ascii0x30_height 22
+static unsigned char ascii0x30_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00,
+ 0xfc, 0x01, 0x8c, 0x01, 0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 0x06, 0x03,
+ 0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 0x8c, 0x01, 0xfc, 0x01, 0xf8, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
diff --git a/laser-tag software/images/alphabet/ascii0x31.xbm b/laser-tag software/images/alphabet/ascii0x31.xbm new file mode 100755 index 0000000..1dcb7a9 --- /dev/null +++ b/laser-tag software/images/alphabet/ascii0x31.xbm @@ -0,0 +1,7 @@ +#define ascii0x31_width 11
+#define ascii0x31_height 22
+static unsigned char ascii0x31_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00,
+ 0x70, 0x00, 0x7c, 0x00, 0x7c, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00,
+ 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0xfc, 0x03, 0xfc, 0x03,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
diff --git a/laser-tag software/images/alphabet/ascii0x32.xbm b/laser-tag software/images/alphabet/ascii0x32.xbm new file mode 100755 index 0000000..4a3c3d4 --- /dev/null +++ b/laser-tag software/images/alphabet/ascii0x32.xbm @@ -0,0 +1,7 @@ +#define ascii0x32_width 11
+#define ascii0x32_height 22
+static unsigned char ascii0x32_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0x00,
+ 0xfe, 0x00, 0xc2, 0x01, 0x80, 0x01, 0x80, 0x01, 0xc0, 0x00, 0xc0, 0x00,
+ 0x60, 0x00, 0x30, 0x00, 0x1c, 0x00, 0x06, 0x00, 0xfe, 0x03, 0xfe, 0x03,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
diff --git a/laser-tag software/images/alphabet/ascii0x33.xbm b/laser-tag software/images/alphabet/ascii0x33.xbm new file mode 100755 index 0000000..7589630 --- /dev/null +++ b/laser-tag software/images/alphabet/ascii0x33.xbm @@ -0,0 +1,7 @@ +#define ascii0x33_width 11
+#define ascii0x33_height 22
+static unsigned char ascii0x33_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x00,
+ 0xfe, 0x01, 0x82, 0x03, 0x00, 0x03, 0x80, 0x01, 0xf0, 0x00, 0xf0, 0x01,
+ 0x80, 0x03, 0x00, 0x03, 0x00, 0x03, 0x82, 0x03, 0xfe, 0x01, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
diff --git a/laser-tag software/images/alphabet/ascii0x34.xbm b/laser-tag software/images/alphabet/ascii0x34.xbm new file mode 100755 index 0000000..1928e77 --- /dev/null +++ b/laser-tag software/images/alphabet/ascii0x34.xbm @@ -0,0 +1,7 @@ +#define ascii0x34_width 11
+#define ascii0x34_height 22
+static unsigned char ascii0x34_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01,
+ 0xc0, 0x01, 0xe0, 0x01, 0xf0, 0x01, 0xb8, 0x01, 0x9c, 0x01, 0x8e, 0x01,
+ 0xfe, 0x07, 0xfe, 0x07, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
diff --git a/laser-tag software/images/alphabet/ascii0x35.xbm b/laser-tag software/images/alphabet/ascii0x35.xbm new file mode 100755 index 0000000..303cc0a --- /dev/null +++ b/laser-tag software/images/alphabet/ascii0x35.xbm @@ -0,0 +1,7 @@ +#define ascii0x35_width 11
+#define ascii0x35_height 22
+static unsigned char ascii0x35_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x03,
+ 0xf8, 0x03, 0x18, 0x00, 0x18, 0x00, 0x18, 0x00, 0xf8, 0x00, 0xf8, 0x01,
+ 0x80, 0x03, 0x00, 0x03, 0x00, 0x03, 0x84, 0x03, 0xfc, 0x01, 0xf8, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
diff --git a/laser-tag software/images/alphabet/ascii0x36.xbm b/laser-tag software/images/alphabet/ascii0x36.xbm new file mode 100755 index 0000000..cf1e7aa --- /dev/null +++ b/laser-tag software/images/alphabet/ascii0x36.xbm @@ -0,0 +1,7 @@ +#define ascii0x36_width 11
+#define ascii0x36_height 22
+static unsigned char ascii0x36_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x01,
+ 0xf8, 0x01, 0x1c, 0x00, 0x0c, 0x00, 0x06, 0x00, 0xf6, 0x00, 0xfe, 0x01,
+ 0x86, 0x03, 0x06, 0x03, 0x06, 0x03, 0x8c, 0x03, 0xfc, 0x01, 0xf8, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
diff --git a/laser-tag software/images/alphabet/ascii0x37.xbm b/laser-tag software/images/alphabet/ascii0x37.xbm new file mode 100755 index 0000000..f3002b7 --- /dev/null +++ b/laser-tag software/images/alphabet/ascii0x37.xbm @@ -0,0 +1,7 @@ +#define ascii0x37_width 11
+#define ascii0x37_height 22
+static unsigned char ascii0x37_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x03,
+ 0xfe, 0x03, 0x00, 0x03, 0x80, 0x01, 0xc0, 0x01, 0xc0, 0x00, 0xe0, 0x00,
+ 0x60, 0x00, 0x70, 0x00, 0x30, 0x00, 0x38, 0x00, 0x18, 0x00, 0x1c, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
diff --git a/laser-tag software/images/alphabet/ascii0x38.xbm b/laser-tag software/images/alphabet/ascii0x38.xbm new file mode 100755 index 0000000..984acc4 --- /dev/null +++ b/laser-tag software/images/alphabet/ascii0x38.xbm @@ -0,0 +1,7 @@ +#define ascii0x38_width 11
+#define ascii0x38_height 22
+static unsigned char ascii0x38_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00,
+ 0xfc, 0x01, 0x8e, 0x03, 0x06, 0x03, 0x0e, 0x03, 0xbc, 0x01, 0xfc, 0x00,
+ 0x84, 0x01, 0x06, 0x03, 0x06, 0x03, 0x8e, 0x03, 0xfc, 0x01, 0xf8, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
diff --git a/laser-tag software/images/alphabet/ascii0x39.xbm b/laser-tag software/images/alphabet/ascii0x39.xbm new file mode 100755 index 0000000..d507a51 --- /dev/null +++ b/laser-tag software/images/alphabet/ascii0x39.xbm @@ -0,0 +1,7 @@ +#define ascii0x39_width 11
+#define ascii0x39_height 22
+static unsigned char ascii0x39_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00,
+ 0xfc, 0x01, 0x8e, 0x01, 0x06, 0x03, 0x06, 0x03, 0x0e, 0x03, 0xfc, 0x03,
+ 0xf8, 0x03, 0x00, 0x03, 0x80, 0x01, 0xc0, 0x01, 0xfc, 0x00, 0x3c, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
diff --git a/laser-tag software/images/alphabet/ascii0x3a.xbm b/laser-tag software/images/alphabet/ascii0x3a.xbm new file mode 100755 index 0000000..d1720c9 --- /dev/null +++ b/laser-tag software/images/alphabet/ascii0x3a.xbm @@ -0,0 +1,5 @@ +#define ascii0x3a_width 8
+#define ascii0x3a_height 22
+static unsigned char ascii0x3a_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x18, 0x00,
+ 0x00, 0x00, 0x00, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00 };
diff --git a/laser-tag software/images/alphabet/ascii0x3b.xbm b/laser-tag software/images/alphabet/ascii0x3b.xbm new file mode 100755 index 0000000..5ad8289 --- /dev/null +++ b/laser-tag software/images/alphabet/ascii0x3b.xbm @@ -0,0 +1,5 @@ +#define ascii0x3b_width 8
+#define ascii0x3b_height 22
+static unsigned char ascii0x3b_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x18, 0x00,
+ 0x00, 0x00, 0x00, 0x38, 0x18, 0x18, 0x08, 0x0c, 0x0c, 0x00 };
diff --git a/laser-tag software/images/alphabet/ascii0x3c.xbm b/laser-tag software/images/alphabet/ascii0x3c.xbm new file mode 100755 index 0000000..68bdf2f --- /dev/null +++ b/laser-tag software/images/alphabet/ascii0x3c.xbm @@ -0,0 +1,7 @@ +#define ascii0x3c_width 15
+#define ascii0x3c_height 22
+static unsigned char ascii0x3c_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x0c, 0x00, 0x0f, 0xc0, 0x03, 0xf0, 0x00, 0x3c, 0x00,
+ 0x3c, 0x00, 0xf0, 0x00, 0xc0, 0x03, 0x00, 0x0f, 0x00, 0x0c, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
diff --git a/laser-tag software/images/alphabet/ascii0x3d.xbm b/laser-tag software/images/alphabet/ascii0x3d.xbm new file mode 100755 index 0000000..e17ffc9 --- /dev/null +++ b/laser-tag software/images/alphabet/ascii0x3d.xbm @@ -0,0 +1,7 @@ +#define ascii0x3d_width 15
+#define ascii0x3d_height 22
+static unsigned char ascii0x3d_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x0f, 0xfc, 0x0f,
+ 0x00, 0x00, 0x00, 0x00, 0xfc, 0x0f, 0xfc, 0x0f, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
diff --git a/laser-tag software/images/alphabet/ascii0x3e.xbm b/laser-tag software/images/alphabet/ascii0x3e.xbm new file mode 100755 index 0000000..0288c69 --- /dev/null +++ b/laser-tag software/images/alphabet/ascii0x3e.xbm @@ -0,0 +1,7 @@ +#define ascii0x3e_width 15
+#define ascii0x3e_height 22
+static unsigned char ascii0x3e_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x0c, 0x00, 0x3c, 0x00, 0xf0, 0x00, 0xc0, 0x03, 0x00, 0x0f,
+ 0x00, 0x0f, 0xc0, 0x03, 0xf0, 0x00, 0x3c, 0x00, 0x0c, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
diff --git a/laser-tag software/images/alphabet/ascii0x3f.xbm b/laser-tag software/images/alphabet/ascii0x3f.xbm new file mode 100755 index 0000000..2aa7b83 --- /dev/null +++ b/laser-tag software/images/alphabet/ascii0x3f.xbm @@ -0,0 +1,7 @@ +#define ascii0x3f_width 10
+#define ascii0x3f_height 22
+static unsigned char ascii0x3f_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00,
+ 0x7e, 0x00, 0xe2, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0x60, 0x00, 0x30, 0x00,
+ 0x18, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x18, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
diff --git a/laser-tag software/images/alphabet/ascii0x40.xbm b/laser-tag software/images/alphabet/ascii0x40.xbm new file mode 100755 index 0000000..962b323 --- /dev/null +++ b/laser-tag software/images/alphabet/ascii0x40.xbm @@ -0,0 +1,9 @@ +#define ascii0x40_width 18
+#define ascii0x40_height 22
+static unsigned char ascii0x40_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x80, 0x1f, 0x00, 0x60, 0x30, 0x00, 0x30, 0x60, 0x00,
+ 0x18, 0xdf, 0x00, 0x98, 0x99, 0x00, 0xcc, 0x98, 0x01, 0xcc, 0x98, 0x01,
+ 0xcc, 0x98, 0x01, 0xcc, 0x98, 0x01, 0xcc, 0x98, 0x01, 0x98, 0x9d, 0x00,
+ 0x98, 0xfb, 0x00, 0x30, 0x00, 0x00, 0xe0, 0x10, 0x00, 0x80, 0x1f, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
diff --git a/laser-tag software/images/alphabet/ascii0x41.xbm b/laser-tag software/images/alphabet/ascii0x41.xbm new file mode 100755 index 0000000..f62f6bc --- /dev/null +++ b/laser-tag software/images/alphabet/ascii0x41.xbm @@ -0,0 +1,7 @@ +#define ascii0x41_width 12
+#define ascii0x41_height 22
+static unsigned char ascii0x41_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00,
+ 0xf0, 0x00, 0xf0, 0x00, 0xf0, 0x00, 0x98, 0x01, 0x98, 0x01, 0x0c, 0x03,
+ 0x0c, 0x03, 0xfc, 0x03, 0xfe, 0x07, 0x06, 0x06, 0x06, 0x06, 0x03, 0x0c,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
diff --git a/laser-tag software/images/alphabet/ascii0x42.xbm b/laser-tag software/images/alphabet/ascii0x42.xbm new file mode 100755 index 0000000..49588bd --- /dev/null +++ b/laser-tag software/images/alphabet/ascii0x42.xbm @@ -0,0 +1,7 @@ +#define ascii0x42_width 12
+#define ascii0x42_height 22
+static unsigned char ascii0x42_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x01,
+ 0xfc, 0x03, 0x0c, 0x03, 0x0c, 0x03, 0x8c, 0x01, 0xfc, 0x01, 0xfc, 0x03,
+ 0x0c, 0x07, 0x0c, 0x06, 0x0c, 0x06, 0x0c, 0x07, 0xfc, 0x03, 0xfc, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
diff --git a/laser-tag software/images/alphabet/ascii0x43.xbm b/laser-tag software/images/alphabet/ascii0x43.xbm new file mode 100755 index 0000000..59d9d58 --- /dev/null +++ b/laser-tag software/images/alphabet/ascii0x43.xbm @@ -0,0 +1,7 @@ +#define ascii0x43_width 13
+#define ascii0x43_height 22
+static unsigned char ascii0x43_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x07,
+ 0xf8, 0x0f, 0x1c, 0x08, 0x0c, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00,
+ 0x06, 0x00, 0x06, 0x00, 0x0c, 0x00, 0x1c, 0x08, 0xf8, 0x0f, 0xe0, 0x03,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
diff --git a/laser-tag software/images/alphabet/ascii0x44.xbm b/laser-tag software/images/alphabet/ascii0x44.xbm new file mode 100755 index 0000000..4ad3860 --- /dev/null +++ b/laser-tag software/images/alphabet/ascii0x44.xbm @@ -0,0 +1,7 @@ +#define ascii0x44_width 14
+#define ascii0x44_height 22
+static unsigned char ascii0x44_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x01,
+ 0xfc, 0x07, 0x0c, 0x0f, 0x0c, 0x0c, 0x0c, 0x18, 0x0c, 0x18, 0x0c, 0x18,
+ 0x0c, 0x18, 0x0c, 0x18, 0x0c, 0x0c, 0x0c, 0x0e, 0xfc, 0x07, 0xfc, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
diff --git a/laser-tag software/images/alphabet/ascii0x45.xbm b/laser-tag software/images/alphabet/ascii0x45.xbm new file mode 100755 index 0000000..7b167ec --- /dev/null +++ b/laser-tag software/images/alphabet/ascii0x45.xbm @@ -0,0 +1,7 @@ +#define ascii0x45_width 11
+#define ascii0x45_height 22
+static unsigned char ascii0x45_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x03,
+ 0xfc, 0x03, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0xfc, 0x03, 0xfc, 0x03,
+ 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0xfc, 0x03, 0xfc, 0x03,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
diff --git a/laser-tag software/images/alphabet/ascii0x46.xbm b/laser-tag software/images/alphabet/ascii0x46.xbm new file mode 100755 index 0000000..c078d02 --- /dev/null +++ b/laser-tag software/images/alphabet/ascii0x46.xbm @@ -0,0 +1,7 @@ +#define ascii0x46_width 10
+#define ascii0x46_height 22
+static unsigned char ascii0x46_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x03,
+ 0xfc, 0x03, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0xfc, 0x01, 0xfc, 0x01,
+ 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
diff --git a/laser-tag software/images/alphabet/ascii0x47.xbm b/laser-tag software/images/alphabet/ascii0x47.xbm new file mode 100755 index 0000000..8ad2d2a --- /dev/null +++ b/laser-tag software/images/alphabet/ascii0x47.xbm @@ -0,0 +1,7 @@ +#define ascii0x47_width 14
+#define ascii0x47_height 22
+static unsigned char ascii0x47_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x07,
+ 0xf8, 0x1f, 0x1c, 0x18, 0x0c, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x1f,
+ 0x06, 0x1f, 0x06, 0x18, 0x0c, 0x18, 0x1c, 0x18, 0xf8, 0x1f, 0xe0, 0x07,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
diff --git a/laser-tag software/images/alphabet/ascii0x48.xbm b/laser-tag software/images/alphabet/ascii0x48.xbm new file mode 100755 index 0000000..6b110b6 --- /dev/null +++ b/laser-tag software/images/alphabet/ascii0x48.xbm @@ -0,0 +1,7 @@ +#define ascii0x48_width 14
+#define ascii0x48_height 22
+static unsigned char ascii0x48_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x0c,
+ 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0xfc, 0x0f, 0xfc, 0x0f,
+ 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
diff --git a/laser-tag software/images/alphabet/ascii0x49.xbm b/laser-tag software/images/alphabet/ascii0x49.xbm new file mode 100755 index 0000000..4bb4792 --- /dev/null +++ b/laser-tag software/images/alphabet/ascii0x49.xbm @@ -0,0 +1,5 @@ +#define ascii0x49_width 8
+#define ascii0x49_height 22
+static unsigned char ascii0x49_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x7e, 0x18, 0x18, 0x18, 0x18, 0x18,
+ 0x18, 0x18, 0x18, 0x18, 0x7e, 0x7e, 0x00, 0x00, 0x00, 0x00 };
diff --git a/laser-tag software/images/alphabet/ascii0x4a.xbm b/laser-tag software/images/alphabet/ascii0x4a.xbm new file mode 100755 index 0000000..1244094 --- /dev/null +++ b/laser-tag software/images/alphabet/ascii0x4a.xbm @@ -0,0 +1,5 @@ +#define ascii0x4a_width 8
+#define ascii0x4a_height 22
+static unsigned char ascii0x4a_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x3e, 0x30, 0x30, 0x30, 0x30, 0x30,
+ 0x30, 0x30, 0x30, 0x38, 0x1f, 0x0f, 0x00, 0x00, 0x00, 0x00 };
diff --git a/laser-tag software/images/alphabet/ascii0x4b.xbm b/laser-tag software/images/alphabet/ascii0x4b.xbm new file mode 100755 index 0000000..d78acc8 --- /dev/null +++ b/laser-tag software/images/alphabet/ascii0x4b.xbm @@ -0,0 +1,7 @@ +#define ascii0x4b_width 12
+#define ascii0x4b_height 22
+static unsigned char ascii0x4b_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x0e,
+ 0x0c, 0x07, 0x8c, 0x03, 0xcc, 0x01, 0xec, 0x00, 0x6c, 0x00, 0x7c, 0x00,
+ 0xfc, 0x00, 0xcc, 0x00, 0x8c, 0x01, 0x0c, 0x03, 0x0c, 0x07, 0x0c, 0x0e,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
diff --git a/laser-tag software/images/alphabet/ascii0x4c.xbm b/laser-tag software/images/alphabet/ascii0x4c.xbm new file mode 100755 index 0000000..6cfbcd6 --- /dev/null +++ b/laser-tag software/images/alphabet/ascii0x4c.xbm @@ -0,0 +1,7 @@ +#define ascii0x4c_width 10
+#define ascii0x4c_height 22
+static unsigned char ascii0x4c_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00,
+ 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00,
+ 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0xfc, 0x03, 0xfc, 0x03,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
diff --git a/laser-tag software/images/alphabet/ascii0x4d.xbm b/laser-tag software/images/alphabet/ascii0x4d.xbm new file mode 100755 index 0000000..bf58e81 --- /dev/null +++ b/laser-tag software/images/alphabet/ascii0x4d.xbm @@ -0,0 +1,7 @@ +#define ascii0x4d_width 15
+#define ascii0x4d_height 22
+static unsigned char ascii0x4d_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x1c,
+ 0x1c, 0x1c, 0x3c, 0x1e, 0x2c, 0x1a, 0x6c, 0x1a, 0x4c, 0x19, 0xcc, 0x19,
+ 0xcc, 0x19, 0x8c, 0x18, 0x0c, 0x18, 0x0c, 0x18, 0x0c, 0x18, 0x0c, 0x18,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
diff --git a/laser-tag software/images/alphabet/ascii0x4e.xbm b/laser-tag software/images/alphabet/ascii0x4e.xbm new file mode 100755 index 0000000..de63e39 --- /dev/null +++ b/laser-tag software/images/alphabet/ascii0x4e.xbm @@ -0,0 +1,7 @@ +#define ascii0x4e_width 13
+#define ascii0x4e_height 22
+static unsigned char ascii0x4e_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x06,
+ 0x1c, 0x06, 0x3c, 0x06, 0x2c, 0x06, 0x6c, 0x06, 0x4c, 0x06, 0x4c, 0x06,
+ 0xcc, 0x06, 0x8c, 0x06, 0x8c, 0x07, 0x0c, 0x07, 0x0c, 0x07, 0x0c, 0x07,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
diff --git a/laser-tag software/images/alphabet/ascii0x4f.xbm b/laser-tag software/images/alphabet/ascii0x4f.xbm new file mode 100755 index 0000000..9aa90c1 --- /dev/null +++ b/laser-tag software/images/alphabet/ascii0x4f.xbm @@ -0,0 +1,7 @@ +#define ascii0x4f_width 14
+#define ascii0x4f_height 22
+static unsigned char ascii0x4f_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x03,
+ 0xf8, 0x07, 0x1c, 0x0e, 0x0c, 0x0c, 0x06, 0x18, 0x06, 0x18, 0x06, 0x18,
+ 0x06, 0x18, 0x06, 0x18, 0x0c, 0x0c, 0x1c, 0x0e, 0xf8, 0x07, 0xf0, 0x03,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
diff --git a/laser-tag software/images/alphabet/ascii0x50.xbm b/laser-tag software/images/alphabet/ascii0x50.xbm new file mode 100755 index 0000000..988bc92 --- /dev/null +++ b/laser-tag software/images/alphabet/ascii0x50.xbm @@ -0,0 +1,7 @@ +#define ascii0x50_width 11
+#define ascii0x50_height 22
+static unsigned char ascii0x50_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x00,
+ 0xfc, 0x01, 0x8c, 0x03, 0x0c, 0x03, 0x0c, 0x03, 0x8c, 0x03, 0xfc, 0x01,
+ 0xfc, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
diff --git a/laser-tag software/images/alphabet/ascii0x51.xbm b/laser-tag software/images/alphabet/ascii0x51.xbm new file mode 100755 index 0000000..15a08af --- /dev/null +++ b/laser-tag software/images/alphabet/ascii0x51.xbm @@ -0,0 +1,7 @@ +#define ascii0x51_width 14
+#define ascii0x51_height 22
+static unsigned char ascii0x51_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x03,
+ 0xf8, 0x07, 0x1c, 0x0e, 0x0c, 0x0c, 0x06, 0x18, 0x06, 0x18, 0x06, 0x18,
+ 0x06, 0x18, 0x06, 0x18, 0x0c, 0x0c, 0x1c, 0x0e, 0xf8, 0x07, 0xf0, 0x03,
+ 0x00, 0x03, 0x00, 0x1f, 0x00, 0x1e, 0x00, 0x00 };
diff --git a/laser-tag software/images/alphabet/ascii0x52.xbm b/laser-tag software/images/alphabet/ascii0x52.xbm new file mode 100755 index 0000000..895c0f0 --- /dev/null +++ b/laser-tag software/images/alphabet/ascii0x52.xbm @@ -0,0 +1,7 @@ +#define ascii0x52_width 13
+#define ascii0x52_height 22
+static unsigned char ascii0x52_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x01,
+ 0xfc, 0x03, 0x0c, 0x07, 0x0c, 0x06, 0x0c, 0x06, 0x0c, 0x07, 0xfc, 0x03,
+ 0xfc, 0x00, 0x8c, 0x01, 0x8c, 0x03, 0x0c, 0x07, 0x0c, 0x0e, 0x0c, 0x1c,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
diff --git a/laser-tag software/images/alphabet/ascii0x53.xbm b/laser-tag software/images/alphabet/ascii0x53.xbm new file mode 100755 index 0000000..ff38a37 --- /dev/null +++ b/laser-tag software/images/alphabet/ascii0x53.xbm @@ -0,0 +1,7 @@ +#define ascii0x53_width 12
+#define ascii0x53_height 22
+static unsigned char ascii0x53_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x01,
+ 0xfc, 0x03, 0x0e, 0x02, 0x06, 0x00, 0x06, 0x00, 0x3c, 0x00, 0xf8, 0x01,
+ 0x80, 0x07, 0x00, 0x06, 0x00, 0x06, 0x02, 0x07, 0xfe, 0x03, 0xfc, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
diff --git a/laser-tag software/images/alphabet/ascii0x54.xbm b/laser-tag software/images/alphabet/ascii0x54.xbm new file mode 100755 index 0000000..05a6c04 --- /dev/null +++ b/laser-tag software/images/alphabet/ascii0x54.xbm @@ -0,0 +1,7 @@ +#define ascii0x54_width 12
+#define ascii0x54_height 22
+static unsigned char ascii0x54_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x0f,
+ 0xff, 0x0f, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00,
+ 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
diff --git a/laser-tag software/images/alphabet/ascii0x55.xbm b/laser-tag software/images/alphabet/ascii0x55.xbm new file mode 100755 index 0000000..7c3bd67 --- /dev/null +++ b/laser-tag software/images/alphabet/ascii0x55.xbm @@ -0,0 +1,7 @@ +#define ascii0x55_width 13
+#define ascii0x55_height 22
+static unsigned char ascii0x55_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x06,
+ 0x0c, 0x06, 0x0c, 0x06, 0x0c, 0x06, 0x0c, 0x06, 0x0c, 0x06, 0x0c, 0x06,
+ 0x0c, 0x06, 0x0c, 0x06, 0x0c, 0x06, 0x1c, 0x07, 0xf8, 0x03, 0xf0, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
diff --git a/laser-tag software/images/alphabet/ascii0x56.xbm b/laser-tag software/images/alphabet/ascii0x56.xbm new file mode 100755 index 0000000..f8634ea --- /dev/null +++ b/laser-tag software/images/alphabet/ascii0x56.xbm @@ -0,0 +1,7 @@ +#define ascii0x56_width 12
+#define ascii0x56_height 22
+static unsigned char ascii0x56_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x0c,
+ 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x0c, 0x03, 0x0c, 0x03, 0x1c, 0x03,
+ 0x98, 0x01, 0x98, 0x01, 0xf0, 0x00, 0xf0, 0x00, 0xf0, 0x00, 0x60, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
diff --git a/laser-tag software/images/alphabet/ascii0x57.xbm b/laser-tag software/images/alphabet/ascii0x57.xbm new file mode 100755 index 0000000..4f86b97 --- /dev/null +++ b/laser-tag software/images/alphabet/ascii0x57.xbm @@ -0,0 +1,9 @@ +#define ascii0x57_width 18
+#define ascii0x57_height 22
+static unsigned char ascii0x57_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x06, 0x83, 0x01, 0x06, 0x83, 0x01, 0x0c, 0xc7, 0x00,
+ 0x8c, 0xc7, 0x00, 0x8c, 0xc4, 0x00, 0x8c, 0xc4, 0x00, 0x98, 0x4c, 0x00,
+ 0xd8, 0x6c, 0x00, 0x58, 0x68, 0x00, 0x58, 0x68, 0x00, 0x70, 0x38, 0x00,
+ 0x70, 0x38, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
diff --git a/laser-tag software/images/alphabet/ascii0x58.xbm b/laser-tag software/images/alphabet/ascii0x58.xbm new file mode 100755 index 0000000..f3d121c --- /dev/null +++ b/laser-tag software/images/alphabet/ascii0x58.xbm @@ -0,0 +1,7 @@ +#define ascii0x58_width 12
+#define ascii0x58_height 22
+static unsigned char ascii0x58_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x07,
+ 0x0c, 0x03, 0x98, 0x01, 0x98, 0x01, 0xf0, 0x00, 0xf0, 0x00, 0x60, 0x00,
+ 0xf0, 0x00, 0xf0, 0x00, 0x98, 0x01, 0x98, 0x01, 0x0c, 0x03, 0x0e, 0x07,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
diff --git a/laser-tag software/images/alphabet/ascii0x59.xbm b/laser-tag software/images/alphabet/ascii0x59.xbm new file mode 100755 index 0000000..5d11c9d --- /dev/null +++ b/laser-tag software/images/alphabet/ascii0x59.xbm @@ -0,0 +1,7 @@ +#define ascii0x59_width 12
+#define ascii0x59_height 22
+static unsigned char ascii0x59_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x0e,
+ 0x06, 0x06, 0x0c, 0x03, 0x9c, 0x03, 0x98, 0x01, 0xf0, 0x00, 0xf0, 0x00,
+ 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
diff --git a/laser-tag software/images/alphabet/ascii0x5a.xbm b/laser-tag software/images/alphabet/ascii0x5a.xbm new file mode 100755 index 0000000..d7a7696 --- /dev/null +++ b/laser-tag software/images/alphabet/ascii0x5a.xbm @@ -0,0 +1,7 @@ +#define ascii0x5a_width 12
+#define ascii0x5a_height 22
+static unsigned char ascii0x5a_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x07,
+ 0xfe, 0x07, 0x00, 0x07, 0x80, 0x03, 0xc0, 0x01, 0xc0, 0x00, 0x60, 0x00,
+ 0x30, 0x00, 0x38, 0x00, 0x1c, 0x00, 0x0e, 0x00, 0xfe, 0x07, 0xfe, 0x07,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
diff --git a/laser-tag software/images/alphabet/ascii0x5b.xbm b/laser-tag software/images/alphabet/ascii0x5b.xbm new file mode 100755 index 0000000..eda8bba --- /dev/null +++ b/laser-tag software/images/alphabet/ascii0x5b.xbm @@ -0,0 +1,5 @@ +#define ascii0x5b_width 8
+#define ascii0x5b_height 22
+static unsigned char ascii0x5b_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x7c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c,
+ 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x7c, 0x00 };
diff --git a/laser-tag software/images/alphabet/ascii0x5c.xbm b/laser-tag software/images/alphabet/ascii0x5c.xbm new file mode 100755 index 0000000..3ad133f --- /dev/null +++ b/laser-tag software/images/alphabet/ascii0x5c.xbm @@ -0,0 +1,7 @@ +#define ascii0x5c_width 9
+#define ascii0x5c_height 22
+static unsigned char ascii0x5c_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x0c, 0x00,
+ 0x0c, 0x00, 0x0c, 0x00, 0x18, 0x00, 0x18, 0x00, 0x18, 0x00, 0x30, 0x00,
+ 0x30, 0x00, 0x30, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0xc0, 0x00,
+ 0xc0, 0x00, 0xc0, 0x00, 0x80, 0x01, 0x00, 0x00 };
diff --git a/laser-tag software/images/alphabet/ascii0x5d.xbm b/laser-tag software/images/alphabet/ascii0x5d.xbm new file mode 100755 index 0000000..6d49b7e --- /dev/null +++ b/laser-tag software/images/alphabet/ascii0x5d.xbm @@ -0,0 +1,5 @@ +#define ascii0x5d_width 8
+#define ascii0x5d_height 22
+static unsigned char ascii0x5d_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x7c, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
+ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x7c, 0x00 };
diff --git a/laser-tag software/images/alphabet/ascii0x5e.xbm b/laser-tag software/images/alphabet/ascii0x5e.xbm new file mode 100755 index 0000000..72f764e --- /dev/null +++ b/laser-tag software/images/alphabet/ascii0x5e.xbm @@ -0,0 +1,7 @@ +#define ascii0x5e_width 15
+#define ascii0x5e_height 22
+static unsigned char ascii0x5e_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00,
+ 0xc0, 0x01, 0x60, 0x03, 0x30, 0x06, 0x10, 0x04, 0x18, 0x0c, 0x0c, 0x18,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
diff --git a/laser-tag software/images/alphabet/ascii0x5f.xbm b/laser-tag software/images/alphabet/ascii0x5f.xbm new file mode 100755 index 0000000..1f8d25b --- /dev/null +++ b/laser-tag software/images/alphabet/ascii0x5f.xbm @@ -0,0 +1,7 @@ +#define ascii0x5f_width 11
+#define ascii0x5f_height 22
+static unsigned char ascii0x5f_bits[] = {
+ 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, 0xff, 0x07, 0x00, 0x00 };
diff --git a/laser-tag software/images/alphabet/ascii0x60.xbm b/laser-tag software/images/alphabet/ascii0x60.xbm new file mode 100755 index 0000000..e93d3ab --- /dev/null +++ b/laser-tag software/images/alphabet/ascii0x60.xbm @@ -0,0 +1,7 @@ +#define ascii0x60_width 11
+#define ascii0x60_height 22
+static unsigned char ascii0x60_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x30, 0x00,
+ 0x60, 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 };
diff --git a/laser-tag software/images/alphabet/ascii0x61.xbm b/laser-tag software/images/alphabet/ascii0x61.xbm new file mode 100755 index 0000000..38c1f40 --- /dev/null +++ b/laser-tag software/images/alphabet/ascii0x61.xbm @@ -0,0 +1,7 @@ +#define ascii0x61_width 11
+#define ascii0x61_height 22
+static unsigned char ascii0x61_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x7e, 0x00, 0xfe, 0x00, 0x80, 0x01, 0xf8, 0x01,
+ 0xfe, 0x01, 0x87, 0x01, 0x83, 0x01, 0xc3, 0x01, 0xfe, 0x01, 0xbc, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
diff --git a/laser-tag software/images/alphabet/ascii0x62.xbm b/laser-tag software/images/alphabet/ascii0x62.xbm new file mode 100755 index 0000000..97e23d8 --- /dev/null +++ b/laser-tag software/images/alphabet/ascii0x62.xbm @@ -0,0 +1,7 @@ +#define ascii0x62_width 11
+#define ascii0x62_height 22
+static unsigned char ascii0x62_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00,
+ 0x06, 0x00, 0x06, 0x00, 0xf6, 0x00, 0xfe, 0x01, 0x8e, 0x03, 0x06, 0x03,
+ 0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 0x86, 0x01, 0xfe, 0x01, 0xfe, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
diff --git a/laser-tag software/images/alphabet/ascii0x63.xbm b/laser-tag software/images/alphabet/ascii0x63.xbm new file mode 100755 index 0000000..bd9e7e1 --- /dev/null +++ b/laser-tag software/images/alphabet/ascii0x63.xbm @@ -0,0 +1,7 @@ +#define ascii0x63_width 9
+#define ascii0x63_height 22
+static unsigned char ascii0x63_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x78, 0x00, 0xfe, 0x00, 0x86, 0x00, 0x03, 0x00,
+ 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x87, 0x00, 0xfe, 0x00, 0x7c, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
diff --git a/laser-tag software/images/alphabet/ascii0x64.xbm b/laser-tag software/images/alphabet/ascii0x64.xbm new file mode 100755 index 0000000..8a15fc6 --- /dev/null +++ b/laser-tag software/images/alphabet/ascii0x64.xbm @@ -0,0 +1,7 @@ +#define ascii0x64_width 11
+#define ascii0x64_height 22
+static unsigned char ascii0x64_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x80, 0x01,
+ 0x80, 0x01, 0x80, 0x01, 0xfc, 0x01, 0xfe, 0x01, 0x86, 0x01, 0x83, 0x01,
+ 0x83, 0x01, 0x83, 0x01, 0x83, 0x01, 0xc7, 0x01, 0xfe, 0x01, 0xbc, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
diff --git a/laser-tag software/images/alphabet/ascii0x65.xbm b/laser-tag software/images/alphabet/ascii0x65.xbm new file mode 100755 index 0000000..62296ee --- /dev/null +++ b/laser-tag software/images/alphabet/ascii0x65.xbm @@ -0,0 +1,7 @@ +#define ascii0x65_width 11
+#define ascii0x65_height 22
+static unsigned char ascii0x65_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0xfe, 0x01, 0x86, 0x03, 0x03, 0x03,
+ 0xff, 0x03, 0xff, 0x03, 0x03, 0x00, 0x06, 0x02, 0xfe, 0x03, 0xf8, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
diff --git a/laser-tag software/images/alphabet/ascii0x66.xbm b/laser-tag software/images/alphabet/ascii0x66.xbm new file mode 100755 index 0000000..f525f59 --- /dev/null +++ b/laser-tag software/images/alphabet/ascii0x66.xbm @@ -0,0 +1,5 @@ +#define ascii0x66_width 6
+#define ascii0x66_height 22
+static unsigned char ascii0x66_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x3c, 0x3c, 0x06, 0x06, 0x1f, 0x1f, 0x06, 0x06,
+ 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00 };
diff --git a/laser-tag software/images/alphabet/ascii0x67.xbm b/laser-tag software/images/alphabet/ascii0x67.xbm new file mode 100755 index 0000000..ccdd4d2 --- /dev/null +++ b/laser-tag software/images/alphabet/ascii0x67.xbm @@ -0,0 +1,7 @@ +#define ascii0x67_width 11
+#define ascii0x67_height 22
+static unsigned char ascii0x67_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xfc, 0x01, 0xfe, 0x01, 0x86, 0x01, 0x83, 0x01,
+ 0x83, 0x01, 0x83, 0x01, 0x83, 0x01, 0xc7, 0x01, 0xfe, 0x01, 0xbc, 0x01,
+ 0x80, 0x01, 0xc0, 0x01, 0xfe, 0x00, 0x7e, 0x00 };
diff --git a/laser-tag software/images/alphabet/ascii0x68.xbm b/laser-tag software/images/alphabet/ascii0x68.xbm new file mode 100755 index 0000000..e88fb10 --- /dev/null +++ b/laser-tag software/images/alphabet/ascii0x68.xbm @@ -0,0 +1,7 @@ +#define ascii0x68_width 11
+#define ascii0x68_height 22
+static unsigned char ascii0x68_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00,
+ 0x06, 0x00, 0x06, 0x00, 0xf6, 0x00, 0xfe, 0x01, 0xce, 0x01, 0x86, 0x01,
+ 0x86, 0x01, 0x86, 0x01, 0x86, 0x01, 0x86, 0x01, 0x86, 0x01, 0x86, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
diff --git a/laser-tag software/images/alphabet/ascii0x69.xbm b/laser-tag software/images/alphabet/ascii0x69.xbm new file mode 100755 index 0000000..75b1e64 --- /dev/null +++ b/laser-tag software/images/alphabet/ascii0x69.xbm @@ -0,0 +1,5 @@ +#define ascii0x69_width 5
+#define ascii0x69_height 22
+static unsigned char ascii0x69_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x00, 0x06, 0x06, 0x06, 0x06,
+ 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00 };
diff --git a/laser-tag software/images/alphabet/ascii0x6a.xbm b/laser-tag software/images/alphabet/ascii0x6a.xbm new file mode 100755 index 0000000..ec6b1aa --- /dev/null +++ b/laser-tag software/images/alphabet/ascii0x6a.xbm @@ -0,0 +1,5 @@ +#define ascii0x6a_width 7
+#define ascii0x6a_height 22
+static unsigned char ascii0x6a_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x1e, 0x1e, 0x18, 0x18,
+ 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x0f, 0x0f };
diff --git a/laser-tag software/images/alphabet/ascii0x6b.xbm b/laser-tag software/images/alphabet/ascii0x6b.xbm new file mode 100755 index 0000000..6b0c0c5 --- /dev/null +++ b/laser-tag software/images/alphabet/ascii0x6b.xbm @@ -0,0 +1,7 @@ +#define ascii0x6b_width 11
+#define ascii0x6b_height 22
+static unsigned char ascii0x6b_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00,
+ 0x06, 0x00, 0x06, 0x00, 0x06, 0x03, 0x86, 0x01, 0xc6, 0x00, 0x66, 0x00,
+ 0x36, 0x00, 0x7e, 0x00, 0xe6, 0x00, 0xc6, 0x01, 0x86, 0x03, 0x06, 0x07,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
diff --git a/laser-tag software/images/alphabet/ascii0x6c.xbm b/laser-tag software/images/alphabet/ascii0x6c.xbm new file mode 100755 index 0000000..24a387d --- /dev/null +++ b/laser-tag software/images/alphabet/ascii0x6c.xbm @@ -0,0 +1,5 @@ +#define ascii0x6c_width 5
+#define ascii0x6c_height 22
+static unsigned char ascii0x6c_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
+ 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00 };
diff --git a/laser-tag software/images/alphabet/ascii0x6d.xbm b/laser-tag software/images/alphabet/ascii0x6d.xbm new file mode 100755 index 0000000..2285f30 --- /dev/null +++ b/laser-tag software/images/alphabet/ascii0x6d.xbm @@ -0,0 +1,9 @@ +#define ascii0x6d_width 18
+#define ascii0x6d_height 22
+static unsigned char ascii0x6d_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xec, 0x79, 0x00, 0xfc, 0xff, 0x00, 0x1c, 0xe7, 0x00, 0x0c, 0xc3, 0x00,
+ 0x0c, 0xc3, 0x00, 0x0c, 0xc3, 0x00, 0x0c, 0xc3, 0x00, 0x0c, 0xc3, 0x00,
+ 0x0c, 0xc3, 0x00, 0x0c, 0xc3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
diff --git a/laser-tag software/images/alphabet/ascii0x6e.xbm b/laser-tag software/images/alphabet/ascii0x6e.xbm new file mode 100755 index 0000000..3ac6474 --- /dev/null +++ b/laser-tag software/images/alphabet/ascii0x6e.xbm @@ -0,0 +1,7 @@ +#define ascii0x6e_width 11
+#define ascii0x6e_height 22
+static unsigned char ascii0x6e_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xf6, 0x00, 0xfe, 0x01, 0xce, 0x01, 0x86, 0x01,
+ 0x86, 0x01, 0x86, 0x01, 0x86, 0x01, 0x86, 0x01, 0x86, 0x01, 0x86, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
diff --git a/laser-tag software/images/alphabet/ascii0x6f.xbm b/laser-tag software/images/alphabet/ascii0x6f.xbm new file mode 100755 index 0000000..f9ac972 --- /dev/null +++ b/laser-tag software/images/alphabet/ascii0x6f.xbm @@ -0,0 +1,7 @@ +#define ascii0x6f_width 11
+#define ascii0x6f_height 22
+static unsigned char ascii0x6f_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x78, 0x00, 0xfe, 0x01, 0x86, 0x01, 0x03, 0x03,
+ 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x86, 0x01, 0xfe, 0x01, 0x78, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
diff --git a/laser-tag software/images/alphabet/ascii0x70.xbm b/laser-tag software/images/alphabet/ascii0x70.xbm new file mode 100755 index 0000000..56c5c7c --- /dev/null +++ b/laser-tag software/images/alphabet/ascii0x70.xbm @@ -0,0 +1,7 @@ +#define ascii0x70_width 11
+#define ascii0x70_height 22
+static unsigned char ascii0x70_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xf6, 0x00, 0xfe, 0x01, 0x8e, 0x03, 0x06, 0x03,
+ 0x06, 0x03, 0x06, 0x03, 0x06, 0x03, 0x86, 0x01, 0xfe, 0x01, 0xfe, 0x00,
+ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00 };
diff --git a/laser-tag software/images/alphabet/ascii0x71.xbm b/laser-tag software/images/alphabet/ascii0x71.xbm new file mode 100755 index 0000000..ddd13c8 --- /dev/null +++ b/laser-tag software/images/alphabet/ascii0x71.xbm @@ -0,0 +1,7 @@ +#define ascii0x71_width 11
+#define ascii0x71_height 22
+static unsigned char ascii0x71_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xfc, 0x01, 0xfe, 0x01, 0x86, 0x01, 0x83, 0x01,
+ 0x83, 0x01, 0x83, 0x01, 0x83, 0x01, 0xc7, 0x01, 0xfe, 0x01, 0xbc, 0x01,
+ 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01 };
diff --git a/laser-tag software/images/alphabet/ascii0x72.xbm b/laser-tag software/images/alphabet/ascii0x72.xbm new file mode 100755 index 0000000..f0b5b01 --- /dev/null +++ b/laser-tag software/images/alphabet/ascii0x72.xbm @@ -0,0 +1,5 @@ +#define ascii0x72_width 8
+#define ascii0x72_height 22
+static unsigned char ascii0x72_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe6, 0xfe, 0x0e, 0x06,
+ 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00 };
diff --git a/laser-tag software/images/alphabet/ascii0x73.xbm b/laser-tag software/images/alphabet/ascii0x73.xbm new file mode 100755 index 0000000..c64460b --- /dev/null +++ b/laser-tag software/images/alphabet/ascii0x73.xbm @@ -0,0 +1,7 @@ +#define ascii0x73_width 9
+#define ascii0x73_height 22
+static unsigned char ascii0x73_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x7e, 0x00, 0xff, 0x00, 0x83, 0x00, 0x03, 0x00,
+ 0x3e, 0x00, 0x78, 0x00, 0xc0, 0x00, 0xc1, 0x00, 0xff, 0x00, 0x7e, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
diff --git a/laser-tag software/images/alphabet/ascii0x74.xbm b/laser-tag software/images/alphabet/ascii0x74.xbm new file mode 100755 index 0000000..3fa3072 --- /dev/null +++ b/laser-tag software/images/alphabet/ascii0x74.xbm @@ -0,0 +1,5 @@ +#define ascii0x74_width 7
+#define ascii0x74_height 22
+static unsigned char ascii0x74_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x06, 0x7f, 0x7f, 0x06, 0x06,
+ 0x06, 0x06, 0x06, 0x0e, 0x7e, 0x7c, 0x00, 0x00, 0x00, 0x00 };
diff --git a/laser-tag software/images/alphabet/ascii0x75.xbm b/laser-tag software/images/alphabet/ascii0x75.xbm new file mode 100755 index 0000000..af2b1ac --- /dev/null +++ b/laser-tag software/images/alphabet/ascii0x75.xbm @@ -0,0 +1,7 @@ +#define ascii0x75_width 11
+#define ascii0x75_height 22
+static unsigned char ascii0x75_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x86, 0x01, 0x86, 0x01, 0x86, 0x01, 0x86, 0x01,
+ 0x86, 0x01, 0x86, 0x01, 0x86, 0x01, 0xce, 0x01, 0xfe, 0x01, 0xbc, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
diff --git a/laser-tag software/images/alphabet/ascii0x76.xbm b/laser-tag software/images/alphabet/ascii0x76.xbm new file mode 100755 index 0000000..798ffbc --- /dev/null +++ b/laser-tag software/images/alphabet/ascii0x76.xbm @@ -0,0 +1,7 @@ +#define ascii0x76_width 11
+#define ascii0x76_height 22
+static unsigned char ascii0x76_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x06, 0x03, 0x8c, 0x01, 0x8c, 0x01, 0x8c, 0x01,
+ 0x98, 0x00, 0xd8, 0x00, 0xd8, 0x00, 0x70, 0x00, 0x70, 0x00, 0x20, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
diff --git a/laser-tag software/images/alphabet/ascii0x77.xbm b/laser-tag software/images/alphabet/ascii0x77.xbm new file mode 100755 index 0000000..0e29b46 --- /dev/null +++ b/laser-tag software/images/alphabet/ascii0x77.xbm @@ -0,0 +1,7 @@ +#define ascii0x77_width 15
+#define ascii0x77_height 22
+static unsigned char ascii0x77_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x86, 0x30, 0xc6, 0x31, 0xcc, 0x11, 0x4c, 0x19,
+ 0x6c, 0x1b, 0x2c, 0x1a, 0x28, 0x0a, 0x38, 0x0e, 0x38, 0x0e, 0x18, 0x0c,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
diff --git a/laser-tag software/images/alphabet/ascii0x78.xbm b/laser-tag software/images/alphabet/ascii0x78.xbm new file mode 100755 index 0000000..5e45f08 --- /dev/null +++ b/laser-tag software/images/alphabet/ascii0x78.xbm @@ -0,0 +1,7 @@ +#define ascii0x78_width 11
+#define ascii0x78_height 22
+static unsigned char ascii0x78_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x8e, 0x03, 0x8c, 0x01, 0xd8, 0x00, 0x70, 0x00,
+ 0x70, 0x00, 0x70, 0x00, 0xf0, 0x00, 0xd8, 0x00, 0x8c, 0x01, 0x8e, 0x03,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
diff --git a/laser-tag software/images/alphabet/ascii0x79.xbm b/laser-tag software/images/alphabet/ascii0x79.xbm new file mode 100755 index 0000000..91d9b9a --- /dev/null +++ b/laser-tag software/images/alphabet/ascii0x79.xbm @@ -0,0 +1,7 @@ +#define ascii0x79_width 11
+#define ascii0x79_height 22
+static unsigned char ascii0x79_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x06, 0x03, 0x8c, 0x01, 0x8c, 0x01, 0x8c, 0x01,
+ 0xd8, 0x00, 0xd8, 0x00, 0x78, 0x00, 0x70, 0x00, 0x70, 0x00, 0x20, 0x00,
+ 0x30, 0x00, 0x30, 0x00, 0x18, 0x00, 0x18, 0x00 };
diff --git a/laser-tag software/images/alphabet/ascii0x7a.xbm b/laser-tag software/images/alphabet/ascii0x7a.xbm new file mode 100755 index 0000000..6105bc9 --- /dev/null +++ b/laser-tag software/images/alphabet/ascii0x7a.xbm @@ -0,0 +1,7 @@ +#define ascii0x7a_width 9
+#define ascii0x7a_height 22
+static unsigned char ascii0x7a_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xfe, 0x00, 0xfe, 0x00, 0xc0, 0x00, 0x60, 0x00,
+ 0x30, 0x00, 0x18, 0x00, 0x0c, 0x00, 0x06, 0x00, 0xfe, 0x00, 0xfe, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
diff --git a/laser-tag software/images/alphabet/ascii0x7b.xbm b/laser-tag software/images/alphabet/ascii0x7b.xbm new file mode 100755 index 0000000..c3ef00b --- /dev/null +++ b/laser-tag software/images/alphabet/ascii0x7b.xbm @@ -0,0 +1,7 @@ +#define ascii0x7b_width 11
+#define ascii0x7b_height 22
+static unsigned char ascii0x7b_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0xc0, 0x00,
+ 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x30, 0x00,
+ 0x1c, 0x00, 0x30, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00,
+ 0x60, 0x00, 0xc0, 0x00, 0x80, 0x03, 0x00, 0x00 };
diff --git a/laser-tag software/images/alphabet/ascii0x7c.xbm b/laser-tag software/images/alphabet/ascii0x7c.xbm new file mode 100755 index 0000000..79b6998 --- /dev/null +++ b/laser-tag software/images/alphabet/ascii0x7c.xbm @@ -0,0 +1,5 @@ +#define ascii0x7c_width 8
+#define ascii0x7c_height 22
+static unsigned char ascii0x7c_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
+ 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x00 };
diff --git a/laser-tag software/images/alphabet/ascii0x7d.xbm b/laser-tag software/images/alphabet/ascii0x7d.xbm new file mode 100755 index 0000000..b7c10e6 --- /dev/null +++ b/laser-tag software/images/alphabet/ascii0x7d.xbm @@ -0,0 +1,7 @@ +#define ascii0x7d_width 11
+#define ascii0x7d_height 22
+static unsigned char ascii0x7d_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x18, 0x00,
+ 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x60, 0x00,
+ 0xc0, 0x01, 0x60, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00,
+ 0x30, 0x00, 0x18, 0x00, 0x0e, 0x00, 0x00, 0x00 };
diff --git a/laser-tag software/images/alphabet/ascii0x7e.xbm b/laser-tag software/images/alphabet/ascii0x7e.xbm new file mode 100755 index 0000000..4a35f98 --- /dev/null +++ b/laser-tag software/images/alphabet/ascii0x7e.xbm @@ -0,0 +1,7 @@ +#define ascii0x7e_width 15
+#define ascii0x7e_height 22
+static unsigned char ascii0x7e_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x18, 0x78, 0x18,
+ 0x9c, 0x1c, 0x0c, 0x0f, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
diff --git a/laser-tag software/images/create_images_from_font.py b/laser-tag software/images/create_images_from_font.py new file mode 100644 index 0000000..36d6522 --- /dev/null +++ b/laser-tag software/images/create_images_from_font.py @@ -0,0 +1,124 @@ + +from gimpfu import gimp +from gimpfu import pdb + +from gimpfu import main +from gimpfu import register + +from gimpfu import INDEXED +from gimpfu import PIXELS +from gimpfu import PF_FONT +from gimpfu import PF_SPINNER +from gimpfu import PF_STRING + +from os.path import join + +def create_base_alphabet(font, font_size, directory_base): + suffix = '.xbm' + for c_gen, c_prefix in ( (map(chr, xrange(ord('A'), ord('Z')+1)), 'upper'), + (map(chr, xrange(ord('a'), ord('z')+1)), 'lower'), + (map(chr, xrange(ord('0'), ord('9')+1)), 'number'), ): + for c in c_gen: + prefix = '%s%c' % (c_prefix, c) + filename = '%s%s' % (prefix, suffix) + + image = gimp.Image(1, 1, INDEXED) + image.disable_undo() + + # necessary ? + pdb.gimp_context_push() + + gimp.set_foreground( (0.0, 0.0, 0.0) ) + + x = y = border = 0 + layer = pdb.gimp_text_fontname(image, None, x, y, c, border, True, font_size, PIXELS, font) + + image.resize(layer.width, layer.height, 0, 0) + + filepath = join(directory_base, filename) + pdb.gimp_file_save(image, layer, filepath, '?') + #pdb.file_xbm_save(RUN_NONINTERACTIVE, image, None, filename, filepath, '', 0, 0, 0) + # find out how to properly call file_xbm_save so we can avoid this crap + with open(filepath, 'r+b') as file_h: + lines = file_h.readlines() + file_h.seek(0) + for line in lines: + if '_' in line: + if '_hot' not in line: + file_h.write(line.replace('_', prefix+'_')) + else: + file_h.write(line) + file_h.truncate() + + pdb.gimp_image_delete(image) + + # necessary ? + pdb.gimp_context_pop() + +import string +def create_base_alphabet(font, font_size, directory_base): + suffix = '.xbm' + for c in string.printable: + # Only need the first guard to prevent \x0b and \x0c, but meh + if not ' ' <= c <= '\x7f': + continue + prefix = 'ascii0x%02x' % ord(c) + filename = '%s%s' % (prefix, suffix) + + image = gimp.Image(1, 1, INDEXED) + image.disable_undo() + + # necessary ? + pdb.gimp_context_push() + + gimp.set_foreground( (0.0, 0.0, 0.0) ) + + x = y = border = 0 + layer = pdb.gimp_text_fontname(image, None, x, y, c, border, True, font_size, PIXELS, font) + + if layer is None: + print 'Failed to handle %r' % c + + else: + image.resize(layer.width, layer.height, 0, 0) + + filepath = join(directory_base, filename) + pdb.gimp_file_save(image, layer, filepath, '?') + #pdb.file_xbm_save(RUN_NONINTERACTIVE, image, None, filename, filepath, '', 0, 0, 0) + # find out how to properly call file_xbm_save so we can avoid this section + with open(filepath, 'r+b') as file_h: + lines = file_h.readlines() + file_h.seek(0) + for line in lines: + if '_' in line: + if '_hot' not in line: + file_h.write(line.replace('_', prefix+'_')) + else: + file_h.write(line) + file_h.truncate() + + pdb.gimp_image_delete(image) + + # necessary ? + pdb.gimp_context_pop() + +register( + "create_base_alphabet", + "Create the base alphabet XBMs for a given font/size", + "Create the base alphabet XBMs for a given font/size", + "WanderingGlitch", + "WanderingGlitch", + "2016", + "Create base alphabet", + "", + [ + (PF_FONT, "font", "Font face", "Ariel"), + (PF_SPINNER, "font_size", "Font Size", 18, (10, 100, 1)), + (PF_STRING, "string", "Directory base", ""), + ], + [], + create_base_alphabet, +) + +main() + diff --git a/laser-tag software/main.c b/laser-tag software/main.c index d861d5e..de48d95 100755 --- a/laser-tag software/main.c +++ b/laser-tag software/main.c @@ -30,6 +30,7 @@ */ #include "epaper.h" +#include "text.h" #include "fsl_clock_manager.h" #include "fsl_cmp_driver.h" #include "fsl_dac_driver.h" diff --git a/laser-tag software/text.c b/laser-tag software/text.c new file mode 100644 index 0000000..6637c62 --- /dev/null +++ b/laser-tag software/text.c @@ -0,0 +1,780 @@ + +#include "text.h" + +#define LINES_PER_DISPLAY (128) +#define BYTES_PER_SCAN (128 / 4 / 2) +#define BYTES_PER_LINE (232 / 8) + + +#include "images/alphabet/ascii0x20.xbm" +#include "images/alphabet/ascii0x21.xbm" +#include "images/alphabet/ascii0x22.xbm" +#include "images/alphabet/ascii0x23.xbm" +#include "images/alphabet/ascii0x24.xbm" +#include "images/alphabet/ascii0x25.xbm" +#include "images/alphabet/ascii0x26.xbm" +#include "images/alphabet/ascii0x27.xbm" +#include "images/alphabet/ascii0x28.xbm" +#include "images/alphabet/ascii0x29.xbm" +#include "images/alphabet/ascii0x2a.xbm" +#include "images/alphabet/ascii0x2b.xbm" +#include "images/alphabet/ascii0x2c.xbm" +#include "images/alphabet/ascii0x2d.xbm" +#include "images/alphabet/ascii0x2e.xbm" +#include "images/alphabet/ascii0x2f.xbm" +#include "images/alphabet/ascii0x30.xbm" +#include "images/alphabet/ascii0x31.xbm" +#include "images/alphabet/ascii0x32.xbm" +#include "images/alphabet/ascii0x33.xbm" +#include "images/alphabet/ascii0x34.xbm" +#include "images/alphabet/ascii0x35.xbm" +#include "images/alphabet/ascii0x36.xbm" +#include "images/alphabet/ascii0x37.xbm" +#include "images/alphabet/ascii0x38.xbm" +#include "images/alphabet/ascii0x39.xbm" +#include "images/alphabet/ascii0x3a.xbm" +#include "images/alphabet/ascii0x3b.xbm" +#include "images/alphabet/ascii0x3c.xbm" +#include "images/alphabet/ascii0x3d.xbm" +#include "images/alphabet/ascii0x3e.xbm" +#include "images/alphabet/ascii0x3f.xbm" +#include "images/alphabet/ascii0x40.xbm" +#include "images/alphabet/ascii0x41.xbm" +#include "images/alphabet/ascii0x42.xbm" +#include "images/alphabet/ascii0x43.xbm" +#include "images/alphabet/ascii0x44.xbm" +#include "images/alphabet/ascii0x45.xbm" +#include "images/alphabet/ascii0x46.xbm" +#include "images/alphabet/ascii0x47.xbm" +#include "images/alphabet/ascii0x48.xbm" +#include "images/alphabet/ascii0x49.xbm" +#include "images/alphabet/ascii0x4a.xbm" +#include "images/alphabet/ascii0x4b.xbm" +#include "images/alphabet/ascii0x4c.xbm" +#include "images/alphabet/ascii0x4d.xbm" +#include "images/alphabet/ascii0x4e.xbm" +#include "images/alphabet/ascii0x4f.xbm" +#include "images/alphabet/ascii0x50.xbm" +#include "images/alphabet/ascii0x51.xbm" +#include "images/alphabet/ascii0x52.xbm" +#include "images/alphabet/ascii0x53.xbm" +#include "images/alphabet/ascii0x54.xbm" +#include "images/alphabet/ascii0x55.xbm" +#include "images/alphabet/ascii0x56.xbm" +#include "images/alphabet/ascii0x57.xbm" +#include "images/alphabet/ascii0x58.xbm" +#include "images/alphabet/ascii0x59.xbm" +#include "images/alphabet/ascii0x5a.xbm" +#include "images/alphabet/ascii0x5b.xbm" +#include "images/alphabet/ascii0x5c.xbm" +#include "images/alphabet/ascii0x5d.xbm" +#include "images/alphabet/ascii0x5e.xbm" +#include "images/alphabet/ascii0x5f.xbm" +#include "images/alphabet/ascii0x60.xbm" +#include "images/alphabet/ascii0x61.xbm" +#include "images/alphabet/ascii0x62.xbm" +#include "images/alphabet/ascii0x63.xbm" +#include "images/alphabet/ascii0x64.xbm" +#include "images/alphabet/ascii0x65.xbm" +#include "images/alphabet/ascii0x66.xbm" +#include "images/alphabet/ascii0x67.xbm" +#include "images/alphabet/ascii0x68.xbm" +#include "images/alphabet/ascii0x69.xbm" +#include "images/alphabet/ascii0x6a.xbm" +#include "images/alphabet/ascii0x6b.xbm" +#include "images/alphabet/ascii0x6c.xbm" +#include "images/alphabet/ascii0x6d.xbm" +#include "images/alphabet/ascii0x6e.xbm" +#include "images/alphabet/ascii0x6f.xbm" +#include "images/alphabet/ascii0x70.xbm" +#include "images/alphabet/ascii0x71.xbm" +#include "images/alphabet/ascii0x72.xbm" +#include "images/alphabet/ascii0x73.xbm" +#include "images/alphabet/ascii0x74.xbm" +#include "images/alphabet/ascii0x75.xbm" +#include "images/alphabet/ascii0x76.xbm" +#include "images/alphabet/ascii0x77.xbm" +#include "images/alphabet/ascii0x78.xbm" +#include "images/alphabet/ascii0x79.xbm" +#include "images/alphabet/ascii0x7a.xbm" +#include "images/alphabet/ascii0x7b.xbm" +#include "images/alphabet/ascii0x7c.xbm" +#include "images/alphabet/ascii0x7d.xbm" +#include "images/alphabet/ascii0x7e.xbm" + +#if (ascii0x41_width > EPAPER_WIDTH) || (ascii0x41_width == 0) +#error "Invalid character width" +#endif +#if (ascii0x41_height > EPAPER_HEIGHT) || (ascii0x41_height == 0) +#error "Invalid character height" +#endif + +#if ascii0x21_height != ascii0x41_height +#error "Only fixed-height fonts are currently supported, ascii0x21 is thus invalid" +#endif +#if ascii0x22_height != ascii0x41_height +#error "Only fixed-height fonts are currently supported, ascii0x22 is thus invalid" +#endif +#if ascii0x23_height != ascii0x41_height +#error "Only fixed-height fonts are currently supported, ascii0x23 is thus invalid" +#endif +#if ascii0x24_height != ascii0x41_height +#error "Only fixed-height fonts are currently supported, ascii0x24 is thus invalid" +#endif +#if ascii0x25_height != ascii0x41_height +#error "Only fixed-height fonts are currently supported, ascii0x25 is thus invalid" +#endif +#if ascii0x26_height != ascii0x41_height +#error "Only fixed-height fonts are currently supported, ascii0x26 is thus invalid" +#endif +#if ascii0x27_height != ascii0x41_height +#error "Only fixed-height fonts are currently supported, ascii0x27 is thus invalid" +#endif +#if ascii0x28_height != ascii0x41_height +#error "Only fixed-height fonts are currently supported, ascii0x28 is thus invalid" +#endif +#if ascii0x29_height != ascii0x41_height +#error "Only fixed-height fonts are currently supported, ascii0x29 is thus invalid" +#endif +#if ascii0x2a_height != ascii0x41_height +#error "Only fixed-height fonts are currently supported, ascii0x2a is thus invalid" +#endif +#if ascii0x2b_height != ascii0x41_height +#error "Only fixed-height fonts are currently supported, ascii0x2b is thus invalid" +#endif +#if ascii0x2c_height != ascii0x41_height +#error "Only fixed-height fonts are currently supported, ascii0x2c is thus invalid" +#endif +#if ascii0x2d_height != ascii0x41_height +#error "Only fixed-height fonts are currently supported, ascii0x2d is thus invalid" +#endif +#if ascii0x2e_height != ascii0x41_height +#error "Only fixed-height fonts are currently supported, ascii0x2e is thus invalid" +#endif +#if ascii0x2f_height != ascii0x41_height +#error "Only fixed-height fonts are currently supported, ascii0x2f is thus invalid" +#endif +#if ascii0x30_height != ascii0x41_height +#error "Only fixed-height fonts are currently supported, ascii0x30 is thus invalid" +#endif +#if ascii0x31_height != ascii0x41_height +#error "Only fixed-height fonts are currently supported, ascii0x31 is thus invalid" +#endif +#if ascii0x32_height != ascii0x41_height +#error "Only fixed-height fonts are currently supported, ascii0x32 is thus invalid" +#endif +#if ascii0x33_height != ascii0x41_height +#error "Only fixed-height fonts are currently supported, ascii0x33 is thus invalid" +#endif +#if ascii0x34_height != ascii0x41_height +#error "Only fixed-height fonts are currently supported, ascii0x34 is thus invalid" +#endif +#if ascii0x35_height != ascii0x41_height +#error "Only fixed-height fonts are currently supported, ascii0x35 is thus invalid" +#endif +#if ascii0x36_height != ascii0x41_height +#error "Only fixed-height fonts are currently supported, ascii0x36 is thus invalid" +#endif +#if ascii0x37_height != ascii0x41_height +#error "Only fixed-height fonts are currently supported, ascii0x37 is thus invalid" +#endif +#if ascii0x38_height != ascii0x41_height +#error "Only fixed-height fonts are currently supported, ascii0x38 is thus invalid" +#endif +#if ascii0x39_height != ascii0x41_height +#error "Only fixed-height fonts are currently supported, ascii0x39 is thus invalid" +#endif +#if ascii0x3a_height != ascii0x41_height +#error "Only fixed-height fonts are currently supported, ascii0x3a is thus invalid" +#endif +#if ascii0x3b_height != ascii0x41_height +#error "Only fixed-height fonts are currently supported, ascii0x3b is thus invalid" +#endif +#if ascii0x3c_height != ascii0x41_height +#error "Only fixed-height fonts are currently supported, ascii0x3c is thus invalid" +#endif +#if ascii0x3d_height != ascii0x41_height +#error "Only fixed-height fonts are currently supported, ascii0x3d is thus invalid" +#endif +#if ascii0x3e_height != ascii0x41_height +#error "Only fixed-height fonts are currently supported, ascii0x3e is thus invalid" +#endif +#if ascii0x3f_height != ascii0x41_height +#error "Only fixed-height fonts are currently supported, ascii0x3f is thus invalid" +#endif +#if ascii0x40_height != ascii0x41_height +#error "Only fixed-height fonts are currently supported, ascii0x40 is thus invalid" +#endif +#if ascii0x41_height != ascii0x41_height +#error "Only fixed-height fonts are currently supported, ascii0x41 is thus invalid" +#endif +#if ascii0x42_height != ascii0x41_height +#error "Only fixed-height fonts are currently supported, ascii0x42 is thus invalid" +#endif +#if ascii0x43_height != ascii0x41_height +#error "Only fixed-height fonts are currently supported, ascii0x43 is thus invalid" +#endif +#if ascii0x44_height != ascii0x41_height +#error "Only fixed-height fonts are currently supported, ascii0x44 is thus invalid" +#endif +#if ascii0x45_height != ascii0x41_height +#error "Only fixed-height fonts are currently supported, ascii0x45 is thus invalid" +#endif +#if ascii0x46_height != ascii0x41_height +#error "Only fixed-height fonts are currently supported, ascii0x46 is thus invalid" +#endif +#if ascii0x47_height != ascii0x41_height +#error "Only fixed-height fonts are currently supported, ascii0x47 is thus invalid" +#endif +#if ascii0x48_height != ascii0x41_height +#error "Only fixed-height fonts are currently supported, ascii0x48 is thus invalid" +#endif +#if ascii0x49_height != ascii0x41_height +#error "Only fixed-height fonts are currently supported, ascii0x49 is thus invalid" +#endif +#if ascii0x4a_height != ascii0x41_height +#error "Only fixed-height fonts are currently supported, ascii0x4a is thus invalid" +#endif +#if ascii0x4b_height != ascii0x41_height +#error "Only fixed-height fonts are currently supported, ascii0x4b is thus invalid" +#endif +#if ascii0x4c_height != ascii0x41_height +#error "Only fixed-height fonts are currently supported, ascii0x4c is thus invalid" +#endif +#if ascii0x4d_height != ascii0x41_height +#error "Only fixed-height fonts are currently supported, ascii0x4d is thus invalid" +#endif +#if ascii0x4e_height != ascii0x41_height +#error "Only fixed-height fonts are currently supported, ascii0x4e is thus invalid" +#endif +#if ascii0x4f_height != ascii0x41_height +#error "Only fixed-height fonts are currently supported, ascii0x4f is thus invalid" +#endif +#if ascii0x50_height != ascii0x41_height +#error "Only fixed-height fonts are currently supported, ascii0x50 is thus invalid" +#endif +#if ascii0x51_height != ascii0x41_height +#error "Only fixed-height fonts are currently supported, ascii0x51 is thus invalid" +#endif +#if ascii0x52_height != ascii0x41_height +#error "Only fixed-height fonts are currently supported, ascii0x52 is thus invalid" +#endif +#if ascii0x53_height != ascii0x41_height +#error "Only fixed-height fonts are currently supported, ascii0x53 is thus invalid" +#endif +#if ascii0x54_height != ascii0x41_height +#error "Only fixed-height fonts are currently supported, ascii0x54 is thus invalid" +#endif +#if ascii0x55_height != ascii0x41_height +#error "Only fixed-height fonts are currently supported, ascii0x55 is thus invalid" +#endif +#if ascii0x56_height != ascii0x41_height +#error "Only fixed-height fonts are currently supported, ascii0x56 is thus invalid" +#endif +#if ascii0x57_height != ascii0x41_height +#error "Only fixed-height fonts are currently supported, ascii0x57 is thus invalid" +#endif +#if ascii0x58_height != ascii0x41_height +#error "Only fixed-height fonts are currently supported, ascii0x58 is thus invalid" +#endif +#if ascii0x59_height != ascii0x41_height +#error "Only fixed-height fonts are currently supported, ascii0x59 is thus invalid" +#endif +#if ascii0x5a_height != ascii0x41_height +#error "Only fixed-height fonts are currently supported, ascii0x5a is thus invalid" +#endif +#if ascii0x5b_height != ascii0x41_height +#error "Only fixed-height fonts are currently supported, ascii0x5b is thus invalid" +#endif +#if ascii0x5c_height != ascii0x41_height +#error "Only fixed-height fonts are currently supported, ascii0x5c is thus invalid" +#endif +#if ascii0x5d_height != ascii0x41_height +#error "Only fixed-height fonts are currently supported, ascii0x5d is thus invalid" +#endif +#if ascii0x5e_height != ascii0x41_height +#error "Only fixed-height fonts are currently supported, ascii0x5e is thus invalid" +#endif +#if ascii0x5f_height != ascii0x41_height +#error "Only fixed-height fonts are currently supported, ascii0x5f is thus invalid" +#endif +#if ascii0x60_height != ascii0x41_height +#error "Only fixed-height fonts are currently supported, ascii0x60 is thus invalid" +#endif +#if ascii0x61_height != ascii0x41_height +#error "Only fixed-height fonts are currently supported, ascii0x61 is thus invalid" +#endif +#if ascii0x62_height != ascii0x41_height +#error "Only fixed-height fonts are currently supported, ascii0x62 is thus invalid" +#endif +#if ascii0x63_height != ascii0x41_height +#error "Only fixed-height fonts are currently supported, ascii0x63 is thus invalid" +#endif +#if ascii0x64_height != ascii0x41_height +#error "Only fixed-height fonts are currently supported, ascii0x64 is thus invalid" +#endif +#if ascii0x65_height != ascii0x41_height +#error "Only fixed-height fonts are currently supported, ascii0x65 is thus invalid" +#endif +#if ascii0x66_height != ascii0x41_height +#error "Only fixed-height fonts are currently supported, ascii0x66 is thus invalid" +#endif +#if ascii0x67_height != ascii0x41_height +#error "Only fixed-height fonts are currently supported, ascii0x67 is thus invalid" +#endif +#if ascii0x68_height != ascii0x41_height +#error "Only fixed-height fonts are currently supported, ascii0x68 is thus invalid" +#endif +#if ascii0x69_height != ascii0x41_height +#error "Only fixed-height fonts are currently supported, ascii0x69 is thus invalid" +#endif +#if ascii0x6a_height != ascii0x41_height +#error "Only fixed-height fonts are currently supported, ascii0x6a is thus invalid" +#endif +#if ascii0x6b_height != ascii0x41_height +#error "Only fixed-height fonts are currently supported, ascii0x6b is thus invalid" +#endif +#if ascii0x6c_height != ascii0x41_height +#error "Only fixed-height fonts are currently supported, ascii0x6c is thus invalid" +#endif +#if ascii0x6d_height != ascii0x41_height +#error "Only fixed-height fonts are currently supported, ascii0x6d is thus invalid" +#endif +#if ascii0x6e_height != ascii0x41_height +#error "Only fixed-height fonts are currently supported, ascii0x6e is thus invalid" +#endif +#if ascii0x6f_height != ascii0x41_height +#error "Only fixed-height fonts are currently supported, ascii0x6f is thus invalid" +#endif +#if ascii0x70_height != ascii0x41_height +#error "Only fixed-height fonts are currently supported, ascii0x70 is thus invalid" +#endif +#if ascii0x71_height != ascii0x41_height +#error "Only fixed-height fonts are currently supported, ascii0x71 is thus invalid" +#endif +#if ascii0x72_height != ascii0x41_height +#error "Only fixed-height fonts are currently supported, ascii0x72 is thus invalid" +#endif +#if ascii0x73_height != ascii0x41_height +#error "Only fixed-height fonts are currently supported, ascii0x73 is thus invalid" +#endif +#if ascii0x74_height != ascii0x41_height +#error "Only fixed-height fonts are currently supported, ascii0x74 is thus invalid" +#endif +#if ascii0x75_height != ascii0x41_height +#error "Only fixed-height fonts are currently supported, ascii0x75 is thus invalid" +#endif +#if ascii0x76_height != ascii0x41_height +#error "Only fixed-height fonts are currently supported, ascii0x76 is thus invalid" +#endif +#if ascii0x77_height != ascii0x41_height +#error "Only fixed-height fonts are currently supported, ascii0x77 is thus invalid" +#endif +#if ascii0x78_height != ascii0x41_height +#error "Only fixed-height fonts are currently supported, ascii0x78 is thus invalid" +#endif +#if ascii0x79_height != ascii0x41_height +#error "Only fixed-height fonts are currently supported, ascii0x79 is thus invalid" +#endif +#if ascii0x7a_height != ascii0x41_height +#error "Only fixed-height fonts are currently supported, ascii0x7a is thus invalid" +#endif +#if ascii0x7b_height != ascii0x41_height +#error "Only fixed-height fonts are currently supported, ascii0x7b is thus invalid" +#endif +#if ascii0x7c_height != ascii0x41_height +#error "Only fixed-height fonts are currently supported, ascii0x7c is thus invalid" +#endif +#if ascii0x7d_height != ascii0x41_height +#error "Only fixed-height fonts are currently supported, ascii0x7d is thus invalid" +#endif +#if ascii0x7e_height != ascii0x41_height +#error "Only fixed-height fonts are currently supported, ascii0x7e is thus invalid" +#endif + +#define CHARACTER_HEIGHT ascii0x41_height +#define HEIGHT_SPACING 0 +#define WIDTH_SPACING 4 + +/* Create a space, based on an 'i' */ +//#define ascii0x20_width ascii0x69_width +//static const uint8_t ascii0x20_bits[ascii0x20_width] = { 0 }; + +static const uint8_t *alphabet_bits[] = { + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + ascii0x20_bits, + ascii0x21_bits, + ascii0x22_bits, + ascii0x23_bits, + ascii0x24_bits, + ascii0x25_bits, + ascii0x26_bits, + ascii0x27_bits, + ascii0x28_bits, + ascii0x29_bits, + ascii0x2a_bits, + ascii0x2b_bits, + ascii0x2c_bits, + ascii0x2d_bits, + ascii0x2e_bits, + ascii0x2f_bits, + ascii0x30_bits, + ascii0x31_bits, + ascii0x32_bits, + ascii0x33_bits, + ascii0x34_bits, + ascii0x35_bits, + ascii0x36_bits, + ascii0x37_bits, + ascii0x38_bits, + ascii0x39_bits, + ascii0x3a_bits, + ascii0x3b_bits, + ascii0x3c_bits, + ascii0x3d_bits, + ascii0x3e_bits, + ascii0x3f_bits, + ascii0x40_bits, + ascii0x41_bits, + ascii0x42_bits, + ascii0x43_bits, + ascii0x44_bits, + ascii0x45_bits, + ascii0x46_bits, + ascii0x47_bits, + ascii0x48_bits, + ascii0x49_bits, + ascii0x4a_bits, + ascii0x4b_bits, + ascii0x4c_bits, + ascii0x4d_bits, + ascii0x4e_bits, + ascii0x4f_bits, + ascii0x50_bits, + ascii0x51_bits, + ascii0x52_bits, + ascii0x53_bits, + ascii0x54_bits, + ascii0x55_bits, + ascii0x56_bits, + ascii0x57_bits, + ascii0x58_bits, + ascii0x59_bits, + ascii0x5a_bits, + ascii0x5b_bits, + ascii0x5c_bits, + ascii0x5d_bits, + ascii0x5e_bits, + ascii0x5f_bits, + ascii0x60_bits, + ascii0x61_bits, + ascii0x62_bits, + ascii0x63_bits, + ascii0x64_bits, + ascii0x65_bits, + ascii0x66_bits, + ascii0x67_bits, + ascii0x68_bits, + ascii0x69_bits, + ascii0x6a_bits, + ascii0x6b_bits, + ascii0x6c_bits, + ascii0x6d_bits, + ascii0x6e_bits, + ascii0x6f_bits, + ascii0x70_bits, + ascii0x71_bits, + ascii0x72_bits, + ascii0x73_bits, + ascii0x74_bits, + ascii0x75_bits, + ascii0x76_bits, + ascii0x77_bits, + ascii0x78_bits, + ascii0x79_bits, + ascii0x7a_bits, + ascii0x7b_bits, + ascii0x7c_bits, + ascii0x7d_bits, + ascii0x7e_bits, + NULL, +}; + +#define ALIGN_WIDTH(x) ((x+7)/8) +#define GET_BLOCK2(x) (x/8) +#define GET_BLOCK(x) ((x)>>3) +static const uint8_t alphabet_bit_width[] = { + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + ascii0x20_width, + ascii0x21_width, + ascii0x22_width, + ascii0x23_width, + ascii0x24_width, + ascii0x25_width, + ascii0x26_width, + ascii0x27_width, + ascii0x28_width, + ascii0x29_width, + ascii0x2a_width, + ascii0x2b_width, + ascii0x2c_width, + ascii0x2d_width, + ascii0x2e_width, + ascii0x2f_width, + ascii0x30_width, + ascii0x31_width, + ascii0x32_width, + ascii0x33_width, + ascii0x34_width, + ascii0x35_width, + ascii0x36_width, + ascii0x37_width, + ascii0x38_width, + ascii0x39_width, + ascii0x3a_width, + ascii0x3b_width, + ascii0x3c_width, + ascii0x3d_width, + ascii0x3e_width, + ascii0x3f_width, + ascii0x40_width, + ascii0x41_width, + ascii0x42_width, + ascii0x43_width, + ascii0x44_width, + ascii0x45_width, + ascii0x46_width, + ascii0x47_width, + ascii0x48_width, + ascii0x49_width, + ascii0x4a_width, + ascii0x4b_width, + ascii0x4c_width, + ascii0x4d_width, + ascii0x4e_width, + ascii0x4f_width, + ascii0x50_width, + ascii0x51_width, + ascii0x52_width, + ascii0x53_width, + ascii0x54_width, + ascii0x55_width, + ascii0x56_width, + ascii0x57_width, + ascii0x58_width, + ascii0x59_width, + ascii0x5a_width, + ascii0x5b_width, + ascii0x5c_width, + ascii0x5d_width, + ascii0x5e_width, + ascii0x5f_width, + ascii0x60_width, + ascii0x61_width, + ascii0x62_width, + ascii0x63_width, + ascii0x64_width, + ascii0x65_width, + ascii0x66_width, + ascii0x67_width, + ascii0x68_width, + ascii0x69_width, + ascii0x6a_width, + ascii0x6b_width, + ascii0x6c_width, + ascii0x6d_width, + ascii0x6e_width, + ascii0x6f_width, + ascii0x70_width, + ascii0x71_width, + ascii0x72_width, + ascii0x73_width, + ascii0x74_width, + ascii0x75_width, + ascii0x76_width, + ascii0x77_width, + ascii0x78_width, + ascii0x79_width, + ascii0x7a_width, + ascii0x7b_width, + ascii0x7c_width, + ascii0x7d_width, + ascii0x7e_width, + 0, +}; + +#define alphabet_byte_width(x) ALIGN_WIDTH(alphabet_bit_width[x]) + +/* a truthy result indicates that *pimage is safe to use */ +/* otherwise, pimage must be reinitialized */ +uint8_t text_to_image(const char* ptext, uint8_t length, uint8_t *pimage, uint8_t offset_x, uint8_t offset_y, uint8_t upper_x, uint8_t upper_y) { + /* Check input properly when you're thinking clearly */ + if (upper_x > EPAPER_WIDTH) { + printf("1\n"); + return 0; + } + if (upper_y > EPAPER_HEIGHT) { + printf("2\n"); + return 0; + } + + if ((uint16_t)offset_x + ascii0x41_width > upper_x) { + printf("3\n"); + return 0; + } + if ((uint16_t)offset_y + CHARACTER_HEIGHT + HEIGHT_SPACING > upper_y) { + printf("4\n"); + return 0; + } + + if (length == 0) { + return 0; + } + + // Easier to let the compiler handle offsets + uint8_t (*ppimage)[EPAPER_HEIGHT][ALIGN_WIDTH(EPAPER_WIDTH)] = (void*)pimage; + + /* Now replace the image */ + { + printf("performing a write\n"); + uint32_t x = offset_x; + uint32_t y = offset_y; + uint8_t last_line = 0; + uint8_t temp = 0; + // Block == byte that contains the 8 values + // Cell == bit within a block + uint8_t image_cell, char_cell; + uint32_t image_block; + uint32_t char_block; + for (uint32_t i = 0; i < length; i++) { + uint8_t c = ptext[i]; + + if (c == 0) { + length = i; + break; + } + if ((uint8_t)c > 0x80) { + printf("Char violation %02x\n", c); + return 0; + } + + + const uint8_t (*pchar)[CHARACTER_HEIGHT][alphabet_byte_width(c)] = (void*)alphabet_bits[c]; + + // Wrap to next line + if (x + alphabet_bit_width[c] >= upper_x) { + // Last line but we have more data, can't fulfill + if (last_line) { + printf("More writing requested but already hit end\n"); + return 0; + } + + x = offset_x; + y += CHARACTER_HEIGHT + HEIGHT_SPACING; + } + + if (y >= upper_y) { + printf("Bounds violation y WITHIN REPLACER\n"); + return 0; + } + + if (y + CHARACTER_HEIGHT >= upper_y) { + printf("Bounds violation y WITHIN REPLACER\n"); + return 0; + } + + if (y + CHARACTER_HEIGHT + HEIGHT_SPACING >= upper_y) { + last_line = 1; + } + + printf("writing %c (x=%04d) starting at x=%04d, y=%04d\n", c, alphabet_bit_width[c], x, y); + for (uint8_t yi = 0; yi < CHARACTER_HEIGHT; yi++) { + if (x + alphabet_bit_width[c] >= upper_x) { + printf("Bounds violation x+abw WITHIN REPLACER\n"); + return 0; + } + for (uint8_t xi = 0; xi < alphabet_bit_width[c]; xi++) { + image_block = GET_BLOCK(x + xi); + image_cell = ((x + xi) % 8); + char_block = GET_BLOCK(xi); + char_cell = (xi % 8); + printf(" x=%02d, xi=%02d ib=%04d, ic=%04d cb=%04d, cc=%04d\n", x, xi, image_block, image_cell, char_block, char_cell); + + temp = (*ppimage)[y+yi][image_block]; + temp &= ((uint8_t)-1) ^ (1<<image_cell); + temp |= (((*pchar)[yi][char_block] >> char_cell) & 1) << image_cell; + + (*ppimage)[y+yi][image_block] = temp; + } + } + + x += alphabet_bit_width[c]; + x += WIDTH_SPACING; + } + } + + return 1; +} + diff --git a/laser-tag software/text.h b/laser-tag software/text.h new file mode 100644 index 0000000..a1363d1 --- /dev/null +++ b/laser-tag software/text.h @@ -0,0 +1,19 @@ +#ifndef _TEXT_H_ +#define _TEXT_H_ + +#include <stdint.h> + +#define EPAPER_WIDTH 232 +#define EPAPER_HEIGHT 128 + +#ifndef GLITCHDEBUG +#define printf(...) +#endif + +#ifndef NULL +#define NULL ((void*)0) +#endif + +uint8_t text_to_image(const char* ptext, uint8_t length, uint8_t *pimage, uint8_t offset_x, uint8_t offset_y, uint8_t upper_x, uint8_t upper_y); + +#endif |