Toyomasa Watarai / PCF8576

Dependents:   PCF8576_GH08172_test

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers char_pattern.h Source File

char_pattern.h

00001 /***************************************************************************
00002 *  connections PCF8576 to GH08172:
00003 *
00004 *             a
00005 *         ---------
00006 *        | \  j  / |
00007 *      f |  h | k  | b   *i
00008 *        |   \|/   |
00009 *         -g-- --m-
00010 *        |   /|\   |
00011 *      e |  q | n  | c   *i
00012 *        | /  p  \ |
00013 *         ---------  *l
00014 *             d
00015 *
00016 **   definition of segments in 16 bits:
00017 *   15  14  13  12 | 11  10  9   8  |  7   6   5   4  |  3   2   1   0
00018 *   d   e   n   p  | c   m   l   i  |  f   g   h   q  |  a   b   j   k
00019 *
00020 ***************************************************************************/
00021 // segment bit masks
00022 #define SEGK    0x0001u
00023 #define SEGJ    0x0002u
00024 #define SEGB    0x0004u
00025 #define SEGA    0x0008u
00026 #define SEGQ    0x0010u
00027 #define SEGH    0x0020u
00028 #define SEGG    0x0040u
00029 #define SEGF    0x0080u
00030 #define SEGI    0x0100u
00031 #define SEGL    0x0200u
00032 #define SEGM    0x0400u
00033 #define SEGC    0x0800u
00034 #define SEGP    0x1000u
00035 #define SEGN    0x2000u
00036 #define SEGE    0x4000u
00037 #define SEGD    0x8000u
00038 
00039 const uint16_t FontMatrix[] =
00040 {
00041     0,                                                      // ' ' (space)
00042     SEGF | SEGE,                                            // ! (ugly)
00043     SEGF | SEGB,                                            // "
00044     SEGA | SEGB | SEGC | SEGD | SEGE | SEGF | SEGG |
00045     SEGH | SEGJ | SEGK | SEGM | SEGN | SEGP | SEGQ,         // #
00046     SEGA | SEGF | SEGG | SEGM | SEGC | SEGD | SEGJ | SEGP,  // $
00047     SEGF | SEGK | SEGQ | SEGC,                              // %
00048     SEGA | SEGK | SEGG | SEGE | SEGD | SEGN | SEGH,         // &
00049     SEGJ,                                                   // '
00050     SEGK | SEGN,                                            // ( (== '<')
00051     SEGH | SEGQ,                                            // ) (== '>')
00052     SEGH | SEGJ | SEGK | SEGG | SEGM | SEGQ | SEGP | SEGN,  // *
00053     SEGJ | SEGG | SEGM | SEGP,                              // +
00054     SEGP,                                                   // ,
00055     SEGG | SEGM,                                            // -
00056     SEGD,                                                   // . (== '_')
00057     SEGK | SEGQ,                                            // /
00058     SEGA | SEGB | SEGC | SEGD | SEGE | SEGF,                // 0
00059     SEGC | SEGB,                                            // 1
00060     SEGA | SEGB | SEGM | SEGG | SEGE | SEGD,                // 2
00061     SEGA | SEGB | SEGM | SEGG | SEGC | SEGD,                // 3
00062     SEGF | SEGG | SEGM | SEGB | SEGC,                       // 4
00063     SEGA | SEGF | SEGG | SEGM | SEGC | SEGD,                // 5
00064     SEGA | SEGF | SEGE | SEGD | SEGC | SEGM | SEGG,         // 6
00065     SEGA | SEGB | SEGC,                                     // 7
00066     SEGA | SEGB | SEGC | SEGD | SEGE | SEGF | SEGG | SEGM,  // 8
00067     SEGA | SEGF | SEGG | SEGM | SEGB | SEGC | SEGD,         // 9 (== 'g')
00068     SEGJ | SEGP,                                            // : (ugly)
00069     SEGJ | SEGQ,                                            // ; (ugly)
00070     SEGK | SEGN,                                            // < (== '(')
00071     SEGG | SEGM | SEGD,                                     // =
00072     SEGH | SEGQ,                                            // > (== ')')
00073     SEGA | SEGB | SEGM | SEGP,                              // ?
00074     SEGA | SEGB | SEGD | SEGE | SEGF | SEGJ | SEGM,         // @
00075     SEGE | SEGF | SEGA | SEGB | SEGC | SEGG | SEGM,         // A
00076     SEGA | SEGB | SEGC | SEGD | SEGJ | SEGP | SEGM,         // B
00077     SEGA | SEGF | SEGE | SEGD,                              // C
00078     SEGA | SEGB | SEGC | SEGD | SEGJ | SEGP,                // D
00079     SEGA | SEGF | SEGE | SEGD | SEGG | SEGM,                // E
00080     SEGA | SEGF | SEGE | SEGG | SEGM,                       // F
00081     SEGA | SEGF | SEGE | SEGD | SEGC | SEGM,                // G
00082     SEGF | SEGE | SEGG | SEGM | SEGB | SEGC,                // H
00083     SEGA | SEGJ | SEGP | SEGD,                              // I
00084     SEGB | SEGC | SEGD | SEGE,                              // J
00085     SEGF | SEGE | SEGG | SEGK | SEGN,                       // K
00086     SEGF | SEGE | SEGD,                                     // L
00087     SEGE | SEGF | SEGH | SEGK | SEGB | SEGC,                // M
00088     SEGE | SEGF | SEGH | SEGN | SEGC | SEGB,                // N
00089     SEGA | SEGB | SEGC | SEGD | SEGE | SEGF,                // O
00090     SEGE | SEGF | SEGA | SEGB | SEGG | SEGM,                // P
00091     SEGA | SEGB | SEGC | SEGD | SEGE | SEGF | SEGN,         // Q
00092     SEGE | SEGF | SEGA | SEGB | SEGG | SEGM | SEGN,         // R
00093     SEGA | SEGF | SEGG | SEGM | SEGC | SEGD,                // S
00094     SEGA | SEGJ | SEGP,                                     // T
00095     SEGF | SEGE | SEGD | SEGC | SEGB,                       // U
00096     SEGF | SEGE | SEGQ | SEGK,                              // V
00097     SEGF | SEGE | SEGQ | SEGN | SEGC | SEGB,                // W
00098     SEGH | SEGK | SEGQ | SEGN,                              // X
00099     SEGF | SEGG | SEGM | SEGB | SEGP,                       // Y
00100     SEGA | SEGK | SEGQ | SEGD,                              // Z
00101     SEGA | SEGF | SEGE | SEGD,                              // [
00102     SEGH | SEGN,                                            // backslash
00103     SEGA | SEGB | SEGC | SEGD,                              // ]
00104     SEGF | SEGH,                                            // ^
00105     SEGD,                                                   // _ (== '.')
00106     SEGH,                                                   // `
00107     SEGG | SEGM | SEGE | SEGD | SEGN,                       // a
00108     SEGF | SEGE | SEGD | SEGC | SEGG | SEGM,                // b
00109     SEGG | SEGM | SEGE | SEGD,                              // c
00110     SEGG | SEGM | SEGE | SEGD | SEGC | SEGB,                // d
00111     SEGQ | SEGG | SEGE | SEGD,                              // e
00112     SEGK | SEGG | SEGM | SEGP,                              // f
00113     SEGA | SEGF | SEGG | SEGM | SEGB | SEGC | SEGD,         // g (== '9')
00114     SEGF | SEGE | SEGG | SEGM | SEGC,                       // h
00115     SEGC,                                                   // i
00116     SEGB | SEGC | SEGN,                                     // j
00117     SEGJ | SEGP | SEGM | SEGN,                              // k
00118     SEGB | SEGC,                                            // l
00119     SEGE | SEGG | SEGM | SEGC | SEGP,                       // m
00120     SEGE | SEGG | SEGM | SEGC,                              // n
00121     SEGE | SEGG | SEGM | SEGC | SEGD,                       // o
00122     SEGF | SEGE | SEGH | SEGG,                              // p
00123     SEGB | SEGC | SEGM | SEGK,                              // q
00124     SEGE | SEGG | SEGM,                                     // r
00125     SEGM | SEGN | SEGD,                                     // s
00126     SEGJ | SEGP | SEGG | SEGM,                              // t
00127     SEGE | SEGD | SEGC,                                     // u
00128     SEGE | SEGQ,                                            // v
00129     SEGE | SEGQ | SEGN | SEGC,                              // w
00130     SEGH | SEGK | SEGN | SEGQ,                              // x
00131     SEGH | SEGK | SEGP,                                     // y
00132     SEGG | SEGQ | SEGD,                                     // z
00133     SEGK | SEGG | SEGN,                                     // {
00134     SEGJ | SEGP,                                            // |
00135     SEGH | SEGM | SEGQ,                                     // }
00136     SEGF | SEGH | SEGJ,                                     // ~
00137     SEGA | SEGB | SEGC | SEGD | SEGE | SEGF | SEGG |
00138     SEGH | SEGJ | SEGK | SEGM | SEGN | SEGP | SEGQ          // DEL (== '#')
00139 };