NXP PCF8576 Universal LCD driver for low multiplex rates + GH08172 LCD library
Dependents: PCF8576_GH08172_test
Diff: char_pattern.h
- Revision:
- 0:e62c6477b73b
diff -r 000000000000 -r e62c6477b73b char_pattern.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/char_pattern.h Mon Mar 28 12:40:44 2016 +0000
@@ -0,0 +1,139 @@
+/***************************************************************************
+* connections PCF8576 to GH08172:
+*
+* a
+* ---------
+* | \ j / |
+* f | h | k | b *i
+* | \|/ |
+* -g-- --m-
+* | /|\ |
+* e | q | n | c *i
+* | / p \ |
+* --------- *l
+* d
+*
+** definition of segments in 16 bits:
+* 15 14 13 12 | 11 10 9 8 | 7 6 5 4 | 3 2 1 0
+* d e n p | c m l i | f g h q | a b j k
+*
+***************************************************************************/
+// segment bit masks
+#define SEGK 0x0001u
+#define SEGJ 0x0002u
+#define SEGB 0x0004u
+#define SEGA 0x0008u
+#define SEGQ 0x0010u
+#define SEGH 0x0020u
+#define SEGG 0x0040u
+#define SEGF 0x0080u
+#define SEGI 0x0100u
+#define SEGL 0x0200u
+#define SEGM 0x0400u
+#define SEGC 0x0800u
+#define SEGP 0x1000u
+#define SEGN 0x2000u
+#define SEGE 0x4000u
+#define SEGD 0x8000u
+
+const uint16_t FontMatrix[] =
+{
+ 0, // ' ' (space)
+ SEGF | SEGE, // ! (ugly)
+ SEGF | SEGB, // "
+ SEGA | SEGB | SEGC | SEGD | SEGE | SEGF | SEGG |
+ SEGH | SEGJ | SEGK | SEGM | SEGN | SEGP | SEGQ, // #
+ SEGA | SEGF | SEGG | SEGM | SEGC | SEGD | SEGJ | SEGP, // $
+ SEGF | SEGK | SEGQ | SEGC, // %
+ SEGA | SEGK | SEGG | SEGE | SEGD | SEGN | SEGH, // &
+ SEGJ, // '
+ SEGK | SEGN, // ( (== '<')
+ SEGH | SEGQ, // ) (== '>')
+ SEGH | SEGJ | SEGK | SEGG | SEGM | SEGQ | SEGP | SEGN, // *
+ SEGJ | SEGG | SEGM | SEGP, // +
+ SEGP, // ,
+ SEGG | SEGM, // -
+ SEGD, // . (== '_')
+ SEGK | SEGQ, // /
+ SEGA | SEGB | SEGC | SEGD | SEGE | SEGF, // 0
+ SEGC | SEGB, // 1
+ SEGA | SEGB | SEGM | SEGG | SEGE | SEGD, // 2
+ SEGA | SEGB | SEGM | SEGG | SEGC | SEGD, // 3
+ SEGF | SEGG | SEGM | SEGB | SEGC, // 4
+ SEGA | SEGF | SEGG | SEGM | SEGC | SEGD, // 5
+ SEGA | SEGF | SEGE | SEGD | SEGC | SEGM | SEGG, // 6
+ SEGA | SEGB | SEGC, // 7
+ SEGA | SEGB | SEGC | SEGD | SEGE | SEGF | SEGG | SEGM, // 8
+ SEGA | SEGF | SEGG | SEGM | SEGB | SEGC | SEGD, // 9 (== 'g')
+ SEGJ | SEGP, // : (ugly)
+ SEGJ | SEGQ, // ; (ugly)
+ SEGK | SEGN, // < (== '(')
+ SEGG | SEGM | SEGD, // =
+ SEGH | SEGQ, // > (== ')')
+ SEGA | SEGB | SEGM | SEGP, // ?
+ SEGA | SEGB | SEGD | SEGE | SEGF | SEGJ | SEGM, // @
+ SEGE | SEGF | SEGA | SEGB | SEGC | SEGG | SEGM, // A
+ SEGA | SEGB | SEGC | SEGD | SEGJ | SEGP | SEGM, // B
+ SEGA | SEGF | SEGE | SEGD, // C
+ SEGA | SEGB | SEGC | SEGD | SEGJ | SEGP, // D
+ SEGA | SEGF | SEGE | SEGD | SEGG | SEGM, // E
+ SEGA | SEGF | SEGE | SEGG | SEGM, // F
+ SEGA | SEGF | SEGE | SEGD | SEGC | SEGM, // G
+ SEGF | SEGE | SEGG | SEGM | SEGB | SEGC, // H
+ SEGA | SEGJ | SEGP | SEGD, // I
+ SEGB | SEGC | SEGD | SEGE, // J
+ SEGF | SEGE | SEGG | SEGK | SEGN, // K
+ SEGF | SEGE | SEGD, // L
+ SEGE | SEGF | SEGH | SEGK | SEGB | SEGC, // M
+ SEGE | SEGF | SEGH | SEGN | SEGC | SEGB, // N
+ SEGA | SEGB | SEGC | SEGD | SEGE | SEGF, // O
+ SEGE | SEGF | SEGA | SEGB | SEGG | SEGM, // P
+ SEGA | SEGB | SEGC | SEGD | SEGE | SEGF | SEGN, // Q
+ SEGE | SEGF | SEGA | SEGB | SEGG | SEGM | SEGN, // R
+ SEGA | SEGF | SEGG | SEGM | SEGC | SEGD, // S
+ SEGA | SEGJ | SEGP, // T
+ SEGF | SEGE | SEGD | SEGC | SEGB, // U
+ SEGF | SEGE | SEGQ | SEGK, // V
+ SEGF | SEGE | SEGQ | SEGN | SEGC | SEGB, // W
+ SEGH | SEGK | SEGQ | SEGN, // X
+ SEGF | SEGG | SEGM | SEGB | SEGP, // Y
+ SEGA | SEGK | SEGQ | SEGD, // Z
+ SEGA | SEGF | SEGE | SEGD, // [
+ SEGH | SEGN, // backslash
+ SEGA | SEGB | SEGC | SEGD, // ]
+ SEGF | SEGH, // ^
+ SEGD, // _ (== '.')
+ SEGH, // `
+ SEGG | SEGM | SEGE | SEGD | SEGN, // a
+ SEGF | SEGE | SEGD | SEGC | SEGG | SEGM, // b
+ SEGG | SEGM | SEGE | SEGD, // c
+ SEGG | SEGM | SEGE | SEGD | SEGC | SEGB, // d
+ SEGQ | SEGG | SEGE | SEGD, // e
+ SEGK | SEGG | SEGM | SEGP, // f
+ SEGA | SEGF | SEGG | SEGM | SEGB | SEGC | SEGD, // g (== '9')
+ SEGF | SEGE | SEGG | SEGM | SEGC, // h
+ SEGC, // i
+ SEGB | SEGC | SEGN, // j
+ SEGJ | SEGP | SEGM | SEGN, // k
+ SEGB | SEGC, // l
+ SEGE | SEGG | SEGM | SEGC | SEGP, // m
+ SEGE | SEGG | SEGM | SEGC, // n
+ SEGE | SEGG | SEGM | SEGC | SEGD, // o
+ SEGF | SEGE | SEGH | SEGG, // p
+ SEGB | SEGC | SEGM | SEGK, // q
+ SEGE | SEGG | SEGM, // r
+ SEGM | SEGN | SEGD, // s
+ SEGJ | SEGP | SEGG | SEGM, // t
+ SEGE | SEGD | SEGC, // u
+ SEGE | SEGQ, // v
+ SEGE | SEGQ | SEGN | SEGC, // w
+ SEGH | SEGK | SEGN | SEGQ, // x
+ SEGH | SEGK | SEGP, // y
+ SEGG | SEGQ | SEGD, // z
+ SEGK | SEGG | SEGN, // {
+ SEGJ | SEGP, // |
+ SEGH | SEGM | SEGQ, // }
+ SEGF | SEGH | SEGJ, // ~
+ SEGA | SEGB | SEGC | SEGD | SEGE | SEGF | SEGG |
+ SEGH | SEGJ | SEGK | SEGM | SEGN | SEGP | SEGQ // DEL (== '#')
+};
Toyomasa Watarai
NXP PCF8576 Universal LCD driver