A collection of Analog Devices drivers for the mbed platform
For additional information check out the mbed page of the Analog Devices wiki: https://wiki.analog.com/resources/tools-software/mbed-drivers-all
libraries/EVAL_ADXL362_ARDZ/lcd.cpp@21:a8023e5e97be, 2016-05-17 (annotated)
- Committer:
- Adrian Suciu
- Date:
- Tue May 17 18:15:28 2016 +0300
- Revision:
- 21:a8023e5e97be
Created EVAL_ADXL362_ARDZ component and restructured code around it
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Adrian Suciu |
21:a8023e5e97be | 1 | /** |
Adrian Suciu |
21:a8023e5e97be | 2 | ****************************************************************************** |
Adrian Suciu |
21:a8023e5e97be | 3 | * @file Lcd.c |
Adrian Suciu |
21:a8023e5e97be | 4 | * @brief Source file for ST7565R LCD control. |
Adrian Suciu |
21:a8023e5e97be | 5 | * @author ADI |
Adrian Suciu |
21:a8023e5e97be | 6 | * @date March 2016 |
Adrian Suciu |
21:a8023e5e97be | 7 | * |
Adrian Suciu |
21:a8023e5e97be | 8 | ******************************************************************************* |
Adrian Suciu |
21:a8023e5e97be | 9 | * Copyright 2015(c) Analog Devices, Inc. |
Adrian Suciu |
21:a8023e5e97be | 10 | * |
Adrian Suciu |
21:a8023e5e97be | 11 | * All rights reserved. |
Adrian Suciu |
21:a8023e5e97be | 12 | * |
Adrian Suciu |
21:a8023e5e97be | 13 | * Redistribution and use in source and binary forms, with or without modification, |
Adrian Suciu |
21:a8023e5e97be | 14 | * are permitted provided that the following conditions are met: |
Adrian Suciu |
21:a8023e5e97be | 15 | * - Redistributions of source code must retain the above copyright |
Adrian Suciu |
21:a8023e5e97be | 16 | * notice, this list of conditions and the following disclaimer. |
Adrian Suciu |
21:a8023e5e97be | 17 | * - Redistributions in binary form must reproduce the above copyright |
Adrian Suciu |
21:a8023e5e97be | 18 | * notice, this list of conditions and the following disclaimer in |
Adrian Suciu |
21:a8023e5e97be | 19 | * the documentation and/or other materials provided with the |
Adrian Suciu |
21:a8023e5e97be | 20 | * distribution. |
Adrian Suciu |
21:a8023e5e97be | 21 | * - Neither the name of Analog Devices, Inc. nor the names of its |
Adrian Suciu |
21:a8023e5e97be | 22 | * contributors may be used to endorse or promote products derived |
Adrian Suciu |
21:a8023e5e97be | 23 | * from this software without specific prior written permission. |
Adrian Suciu |
21:a8023e5e97be | 24 | * - The use of this software may or may not infringe the patent rights |
Adrian Suciu |
21:a8023e5e97be | 25 | * of one or more patent holders. This license does not release you |
Adrian Suciu |
21:a8023e5e97be | 26 | * from the requirement that you obtain separate licenses from these |
Adrian Suciu |
21:a8023e5e97be | 27 | * patent holders to use this software. |
Adrian Suciu |
21:a8023e5e97be | 28 | * - Use of the software either in source or binary form, must be run |
Adrian Suciu |
21:a8023e5e97be | 29 | * on or directly connected to an Analog Devices Inc. component. |
Adrian Suciu |
21:a8023e5e97be | 30 | * |
Adrian Suciu |
21:a8023e5e97be | 31 | * THIS SOFTWARE IS PROVIDED BY ANALOG DEVICES "AS IS" AND ANY EXPRESS OR IMPLIED |
Adrian Suciu |
21:a8023e5e97be | 32 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, NON-INFRINGEMENT, MERCHANTABILITY |
Adrian Suciu |
21:a8023e5e97be | 33 | * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. |
Adrian Suciu |
21:a8023e5e97be | 34 | * IN NO EVENT SHALL ANALOG DEVICES BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
Adrian Suciu |
21:a8023e5e97be | 35 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, |
Adrian Suciu |
21:a8023e5e97be | 36 | * INTELLECTUAL PROPERTY RIGHTS, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
Adrian Suciu |
21:a8023e5e97be | 37 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND |
Adrian Suciu |
21:a8023e5e97be | 38 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
Adrian Suciu |
21:a8023e5e97be | 39 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS |
Adrian Suciu |
21:a8023e5e97be | 40 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
Adrian Suciu |
21:a8023e5e97be | 41 | * |
Adrian Suciu |
21:a8023e5e97be | 42 | ******************************************************************************* |
Adrian Suciu |
21:a8023e5e97be | 43 | **/ |
Adrian Suciu |
21:a8023e5e97be | 44 | |
Adrian Suciu |
21:a8023e5e97be | 45 | /******************************************************************************/ |
Adrian Suciu |
21:a8023e5e97be | 46 | /***************************** Include Files **********************************/ |
Adrian Suciu |
21:a8023e5e97be | 47 | /******************************************************************************/ |
Adrian Suciu |
21:a8023e5e97be | 48 | #include "../EVAL_ADXL362_ARDZ/lcd.h" |
Adrian Suciu |
21:a8023e5e97be | 49 | |
Adrian Suciu |
21:a8023e5e97be | 50 | #include "mbed.h" |
Adrian Suciu |
21:a8023e5e97be | 51 | |
Adrian Suciu |
21:a8023e5e97be | 52 | |
Adrian Suciu |
21:a8023e5e97be | 53 | |
Adrian Suciu |
21:a8023e5e97be | 54 | Lcd::Lcd(PinName rst_pin, PinName a0_pin, PinName bl_pin, |
Adrian Suciu |
21:a8023e5e97be | 55 | PinName cs_pin, PinName MOSI, |
Adrian Suciu |
21:a8023e5e97be | 56 | PinName MISO, PinName SCK) : |
Adrian Suciu |
21:a8023e5e97be | 57 | |
Adrian Suciu |
21:a8023e5e97be | 58 | rst(rst_pin), a0(a0_pin), bl(bl_pin), cs(cs_pin), lcd_spi(MOSI, MISO, SCK) |
Adrian Suciu |
21:a8023e5e97be | 59 | { |
Adrian Suciu |
21:a8023e5e97be | 60 | rst = 1; |
Adrian Suciu |
21:a8023e5e97be | 61 | } |
Adrian Suciu |
21:a8023e5e97be | 62 | |
Adrian Suciu |
21:a8023e5e97be | 63 | /** |
Adrian Suciu |
21:a8023e5e97be | 64 | @brief Initialization of LCD screen |
Adrian Suciu |
21:a8023e5e97be | 65 | @return none |
Adrian Suciu |
21:a8023e5e97be | 66 | **/ |
Adrian Suciu |
21:a8023e5e97be | 67 | |
Adrian Suciu |
21:a8023e5e97be | 68 | void Lcd::write_cmd(uint8_t cmd) |
Adrian Suciu |
21:a8023e5e97be | 69 | { |
Adrian Suciu |
21:a8023e5e97be | 70 | cs = 0; |
Adrian Suciu |
21:a8023e5e97be | 71 | a0 = 0; |
Adrian Suciu |
21:a8023e5e97be | 72 | lcd_spi.write(cmd); |
Adrian Suciu |
21:a8023e5e97be | 73 | cs = 1; |
Adrian Suciu |
21:a8023e5e97be | 74 | } |
Adrian Suciu |
21:a8023e5e97be | 75 | |
Adrian Suciu |
21:a8023e5e97be | 76 | void Lcd::write_data(uint8_t data) |
Adrian Suciu |
21:a8023e5e97be | 77 | { |
Adrian Suciu |
21:a8023e5e97be | 78 | cs = 0; |
Adrian Suciu |
21:a8023e5e97be | 79 | a0 = 1; |
Adrian Suciu |
21:a8023e5e97be | 80 | lcd_spi.write(data); |
Adrian Suciu |
21:a8023e5e97be | 81 | cs = 1; |
Adrian Suciu |
21:a8023e5e97be | 82 | } |
Adrian Suciu |
21:a8023e5e97be | 83 | |
Adrian Suciu |
21:a8023e5e97be | 84 | void Lcd::bl_enable() |
Adrian Suciu |
21:a8023e5e97be | 85 | { |
Adrian Suciu |
21:a8023e5e97be | 86 | bl = 1; |
Adrian Suciu |
21:a8023e5e97be | 87 | } |
Adrian Suciu |
21:a8023e5e97be | 88 | |
Adrian Suciu |
21:a8023e5e97be | 89 | void Lcd::bl_disable() |
Adrian Suciu |
21:a8023e5e97be | 90 | { |
Adrian Suciu |
21:a8023e5e97be | 91 | bl = 0; |
Adrian Suciu |
21:a8023e5e97be | 92 | } |
Adrian Suciu |
21:a8023e5e97be | 93 | |
Adrian Suciu |
21:a8023e5e97be | 94 | void Lcd::init(void) |
Adrian Suciu |
21:a8023e5e97be | 95 | { |
Adrian Suciu |
21:a8023e5e97be | 96 | |
Adrian Suciu |
21:a8023e5e97be | 97 | write_cmd(CMD_DISPLAY_OFF); |
Adrian Suciu |
21:a8023e5e97be | 98 | write_cmd(CMD_SET_BIAS_7); |
Adrian Suciu |
21:a8023e5e97be | 99 | write_cmd(CMD_SET_ADC_NORMAL); |
Adrian Suciu |
21:a8023e5e97be | 100 | write_cmd(CMD_SET_COM_REVERSE); |
Adrian Suciu |
21:a8023e5e97be | 101 | write_cmd((CMD_SET_RESISTOR_RATIO | 0x02)); |
Adrian Suciu |
21:a8023e5e97be | 102 | write_cmd(CMD_SET_VOLUME_FIRST); |
Adrian Suciu |
21:a8023e5e97be | 103 | write_cmd((CMD_SET_VOLUME_SECOND | 0x04)); |
Adrian Suciu |
21:a8023e5e97be | 104 | write_cmd((CMD_SET_POWER_CONTROL | 0x07)); |
Adrian Suciu |
21:a8023e5e97be | 105 | fill_pages(0, 8, 0x00); |
Adrian Suciu |
21:a8023e5e97be | 106 | |
Adrian Suciu |
21:a8023e5e97be | 107 | } |
Adrian Suciu |
21:a8023e5e97be | 108 | |
Adrian Suciu |
21:a8023e5e97be | 109 | /** |
Adrian Suciu |
21:a8023e5e97be | 110 | @brief Displays a string at the specified position for with 5x7 font size. |
Adrian Suciu |
21:a8023e5e97be | 111 | @return none |
Adrian Suciu |
21:a8023e5e97be | 112 | **/ |
Adrian Suciu |
21:a8023e5e97be | 113 | void Lcd::display_string(uint8_t ui8row, uint8_t ui8col, int8_t *pi8str) |
Adrian Suciu |
21:a8023e5e97be | 114 | { |
Adrian Suciu |
21:a8023e5e97be | 115 | uint8_t ui8x; |
Adrian Suciu |
21:a8023e5e97be | 116 | uint8_t ui8i; |
Adrian Suciu |
21:a8023e5e97be | 117 | uint8_t ui8ch; |
Adrian Suciu |
21:a8023e5e97be | 118 | uint8_t ui8data; |
Adrian Suciu |
21:a8023e5e97be | 119 | |
Adrian Suciu |
21:a8023e5e97be | 120 | ui8ch = 0; |
Adrian Suciu |
21:a8023e5e97be | 121 | ui8x = ui8col; |
Adrian Suciu |
21:a8023e5e97be | 122 | |
Adrian Suciu |
21:a8023e5e97be | 123 | while ((pi8str[ui8ch] != 0) && (ui8col < LCD_COLUMNS)) { |
Adrian Suciu |
21:a8023e5e97be | 124 | set_cursor(ui8row, ui8x); /* Set cursor position */ |
Adrian Suciu |
21:a8023e5e97be | 125 | |
Adrian Suciu |
21:a8023e5e97be | 126 | for (ui8i = 0; ui8i < 5; ui8i++) { /* Symbol matrix column loop */ |
Adrian Suciu |
21:a8023e5e97be | 127 | ui8data = pui8font5x7[pi8str[ui8ch] - OFFS_ASCII][ui8i]; |
Adrian Suciu |
21:a8023e5e97be | 128 | |
Adrian Suciu |
21:a8023e5e97be | 129 | write_data(ui8data); |
Adrian Suciu |
21:a8023e5e97be | 130 | } |
Adrian Suciu |
21:a8023e5e97be | 131 | |
Adrian Suciu |
21:a8023e5e97be | 132 | ui8x += 6; /* Increase column counter with 6 pixels */ |
Adrian Suciu |
21:a8023e5e97be | 133 | ui8ch++; /* Increment counter */ |
Adrian Suciu |
21:a8023e5e97be | 134 | } |
Adrian Suciu |
21:a8023e5e97be | 135 | write_cmd(CMD_DISPLAY_ON); |
Adrian Suciu |
21:a8023e5e97be | 136 | |
Adrian Suciu |
21:a8023e5e97be | 137 | } |
Adrian Suciu |
21:a8023e5e97be | 138 | |
Adrian Suciu |
21:a8023e5e97be | 139 | /** |
Adrian Suciu |
21:a8023e5e97be | 140 | @brief Displays a symbol (8 x width) at the specified position on the LCD. |
Adrian Suciu |
21:a8023e5e97be | 141 | @param ui8row - row number |
Adrian Suciu |
21:a8023e5e97be | 142 | @param ui8col - column number |
Adrian Suciu |
21:a8023e5e97be | 143 | @param ui8width - symbol width |
Adrian Suciu |
21:a8023e5e97be | 144 | @param pui8symbol - symbol to display |
Adrian Suciu |
21:a8023e5e97be | 145 | @return none |
Adrian Suciu |
21:a8023e5e97be | 146 | **/ |
Adrian Suciu |
21:a8023e5e97be | 147 | |
Adrian Suciu |
21:a8023e5e97be | 148 | void Lcd::display_symbol(uint8_t ui8row, uint8_t ui8col, uint8_t ui8width, |
Adrian Suciu |
21:a8023e5e97be | 149 | const uint8_t *pui8symbol) |
Adrian Suciu |
21:a8023e5e97be | 150 | { |
Adrian Suciu |
21:a8023e5e97be | 151 | uint8_t ui8i; |
Adrian Suciu |
21:a8023e5e97be | 152 | uint8_t ui8data; |
Adrian Suciu |
21:a8023e5e97be | 153 | |
Adrian Suciu |
21:a8023e5e97be | 154 | set_cursor(ui8row, ui8col); /* Set cursor position */ |
Adrian Suciu |
21:a8023e5e97be | 155 | for (ui8i = 0; ui8i < ui8width; ui8i++) { /* Symbol matrix column loop */ |
Adrian Suciu |
21:a8023e5e97be | 156 | ui8data = pui8symbol[ui8i]; |
Adrian Suciu |
21:a8023e5e97be | 157 | write_data(ui8data); |
Adrian Suciu |
21:a8023e5e97be | 158 | } |
Adrian Suciu |
21:a8023e5e97be | 159 | write_cmd(CMD_DISPLAY_ON); |
Adrian Suciu |
21:a8023e5e97be | 160 | } |
Adrian Suciu |
21:a8023e5e97be | 161 | |
Adrian Suciu |
21:a8023e5e97be | 162 | /** |
Adrian Suciu |
21:a8023e5e97be | 163 | @brief Fills the selected LCD pages with the data specified. |
Adrian Suciu |
21:a8023e5e97be | 164 | @param ui8start - start element |
Adrian Suciu |
21:a8023e5e97be | 165 | @param ui8num - elements numbers to fill |
Adrian Suciu |
21:a8023e5e97be | 166 | @param ui8Data - data to fill |
Adrian Suciu |
21:a8023e5e97be | 167 | @return none |
Adrian Suciu |
21:a8023e5e97be | 168 | **/ |
Adrian Suciu |
21:a8023e5e97be | 169 | |
Adrian Suciu |
21:a8023e5e97be | 170 | void Lcd::fill_pages(uint8_t ui8start, uint8_t ui8num, uint8_t ui8Data) |
Adrian Suciu |
21:a8023e5e97be | 171 | { |
Adrian Suciu |
21:a8023e5e97be | 172 | |
Adrian Suciu |
21:a8023e5e97be | 173 | uint8_t ui8p; |
Adrian Suciu |
21:a8023e5e97be | 174 | uint8_t ui8c; |
Adrian Suciu |
21:a8023e5e97be | 175 | |
Adrian Suciu |
21:a8023e5e97be | 176 | for (ui8p = ui8start; ui8p < (ui8start + ui8num); ui8p++) { |
Adrian Suciu |
21:a8023e5e97be | 177 | set_cursor(ui8p, 0); |
Adrian Suciu |
21:a8023e5e97be | 178 | |
Adrian Suciu |
21:a8023e5e97be | 179 | for (ui8c = 0; ui8c < LCD_COLUMNS; ui8c++) { |
Adrian Suciu |
21:a8023e5e97be | 180 | write_data(ui8Data); |
Adrian Suciu |
21:a8023e5e97be | 181 | } |
Adrian Suciu |
21:a8023e5e97be | 182 | } |
Adrian Suciu |
21:a8023e5e97be | 183 | |
Adrian Suciu |
21:a8023e5e97be | 184 | write_cmd(CMD_DISPLAY_ON); |
Adrian Suciu |
21:a8023e5e97be | 185 | } |
Adrian Suciu |
21:a8023e5e97be | 186 | |
Adrian Suciu |
21:a8023e5e97be | 187 | /** |
Adrian Suciu |
21:a8023e5e97be | 188 | @brief Sets the start line of the LCD. |
Adrian Suciu |
21:a8023e5e97be | 189 | @param ui8line - line to start with |
Adrian Suciu |
21:a8023e5e97be | 190 | @return none |
Adrian Suciu |
21:a8023e5e97be | 191 | **/ |
Adrian Suciu |
21:a8023e5e97be | 192 | |
Adrian Suciu |
21:a8023e5e97be | 193 | void Lcd::set_line(uint8_t ui8line) |
Adrian Suciu |
21:a8023e5e97be | 194 | { |
Adrian Suciu |
21:a8023e5e97be | 195 | |
Adrian Suciu |
21:a8023e5e97be | 196 | uint8_t ui8Cmd; |
Adrian Suciu |
21:a8023e5e97be | 197 | ui8Cmd = CMD_SET_DISP_START_LINE | (ui8line & 0x3F); /* Set start line */ |
Adrian Suciu |
21:a8023e5e97be | 198 | write_cmd(ui8Cmd); |
Adrian Suciu |
21:a8023e5e97be | 199 | |
Adrian Suciu |
21:a8023e5e97be | 200 | } |
Adrian Suciu |
21:a8023e5e97be | 201 | |
Adrian Suciu |
21:a8023e5e97be | 202 | |
Adrian Suciu |
21:a8023e5e97be | 203 | /** |
Adrian Suciu |
21:a8023e5e97be | 204 | @brief Sets the cursor position at which data will be written. |
Adrian Suciu |
21:a8023e5e97be | 205 | @param ui8PA - page number |
Adrian Suciu |
21:a8023e5e97be | 206 | @param ui8CA - column number |
Adrian Suciu |
21:a8023e5e97be | 207 | @return none |
Adrian Suciu |
21:a8023e5e97be | 208 | **/ |
Adrian Suciu |
21:a8023e5e97be | 209 | |
Adrian Suciu |
21:a8023e5e97be | 210 | void Lcd::set_cursor(uint8_t ui8PA, uint8_t ui8CA) |
Adrian Suciu |
21:a8023e5e97be | 211 | { |
Adrian Suciu |
21:a8023e5e97be | 212 | uint8_t ui8Cmd; |
Adrian Suciu |
21:a8023e5e97be | 213 | |
Adrian Suciu |
21:a8023e5e97be | 214 | ui8Cmd = 0xB0 | (ui8PA & 0x0F); /* Set page address */ |
Adrian Suciu |
21:a8023e5e97be | 215 | write_cmd(ui8Cmd); |
Adrian Suciu |
21:a8023e5e97be | 216 | |
Adrian Suciu |
21:a8023e5e97be | 217 | ui8Cmd = ui8CA & 0x0F; /* Set column address LSB CA[3:0] */ |
Adrian Suciu |
21:a8023e5e97be | 218 | write_cmd(ui8Cmd); |
Adrian Suciu |
21:a8023e5e97be | 219 | |
Adrian Suciu |
21:a8023e5e97be | 220 | ui8Cmd = 0x10 | (ui8CA >> 4); /* Set column address MSB CA[7:4] */ |
Adrian Suciu |
21:a8023e5e97be | 221 | write_cmd(ui8Cmd); |
Adrian Suciu |
21:a8023e5e97be | 222 | } |
Adrian Suciu |
21:a8023e5e97be | 223 | |
Adrian Suciu |
21:a8023e5e97be | 224 | |
Adrian Suciu |
21:a8023e5e97be | 225 | const uint8_t Lcd::pui8Rec8x8[8] = { |
Adrian Suciu |
21:a8023e5e97be | 226 | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF |
Adrian Suciu |
21:a8023e5e97be | 227 | }; |
Adrian Suciu |
21:a8023e5e97be | 228 | const uint8_t Lcd::pui8RecInv8x8[8] = { |
Adrian Suciu |
21:a8023e5e97be | 229 | 0xFF, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0xFF |
Adrian Suciu |
21:a8023e5e97be | 230 | }; |
Adrian Suciu |
21:a8023e5e97be | 231 | |
Adrian Suciu |
21:a8023e5e97be | 232 | const uint8_t Lcd::pui8font5x7[96][5] = { |
Adrian Suciu |
21:a8023e5e97be | 233 | {0x00, 0x00, 0x00, 0x00, 0x00}, /* 32 */ |
Adrian Suciu |
21:a8023e5e97be | 234 | {0x00, 0x00, 0x4F, 0x00, 0x00}, /* ! 33 */ |
Adrian Suciu |
21:a8023e5e97be | 235 | {0x00, 0x07, 0x00, 0x07, 0x00}, /* " 34 */ |
Adrian Suciu |
21:a8023e5e97be | 236 | {0x14, 0x7F, 0x14, 0x7F, 0x14}, /* # 35 */ |
Adrian Suciu |
21:a8023e5e97be | 237 | {0x24, 0x2A, 0x7F, 0x2A, 0x12}, /* $ 36 */ |
Adrian Suciu |
21:a8023e5e97be | 238 | {0x23, 0x13, 0x08, 0x64, 0x62}, /* % 37 */ |
Adrian Suciu |
21:a8023e5e97be | 239 | {0x36, 0x49, 0x55, 0x22, 0x50}, /* & 38 */ |
Adrian Suciu |
21:a8023e5e97be | 240 | {0x00, 0x05, 0x03, 0x00, 0x00}, /* ' 39 */ |
Adrian Suciu |
21:a8023e5e97be | 241 | {0x00, 0x1C, 0x22, 0x41, 0x00}, /* ( 40 */ |
Adrian Suciu |
21:a8023e5e97be | 242 | {0x00, 0x41, 0x22, 0x1C, 0x00}, /* ) 41 */ |
Adrian Suciu |
21:a8023e5e97be | 243 | {0x14, 0x08, 0x3E, 0x08, 0x14}, /* * 42 */ |
Adrian Suciu |
21:a8023e5e97be | 244 | {0x08, 0x08, 0x3E, 0x08, 0x08}, /* + 43 */ |
Adrian Suciu |
21:a8023e5e97be | 245 | {0x00, 0x50, 0x30, 0x00, 0x00}, /* , 44 */ |
Adrian Suciu |
21:a8023e5e97be | 246 | {0x08, 0x08, 0x08, 0x08, 0x08}, /* - 45 */ |
Adrian Suciu |
21:a8023e5e97be | 247 | {0x00, 0x60, 0x60, 0x00, 0x00}, /* . 46 */ |
Adrian Suciu |
21:a8023e5e97be | 248 | {0x20, 0x10, 0x08, 0x04, 0x02}, /* / 47 */ |
Adrian Suciu |
21:a8023e5e97be | 249 | {0x3E, 0x51, 0x49, 0x45, 0x3E}, /* 0 48 */ |
Adrian Suciu |
21:a8023e5e97be | 250 | {0x00, 0x42, 0x7F, 0x40, 0x00}, /* 1 49 */ |
Adrian Suciu |
21:a8023e5e97be | 251 | {0x42, 0x61, 0x51, 0x49, 0x46}, /* 2 50 */ |
Adrian Suciu |
21:a8023e5e97be | 252 | {0x21, 0x41, 0x45, 0x4B, 0x31}, /* 3 51 */ |
Adrian Suciu |
21:a8023e5e97be | 253 | {0x18, 0x14, 0x12, 0x7F, 0x10}, /* 4 52 */ |
Adrian Suciu |
21:a8023e5e97be | 254 | {0x27, 0x45, 0x45, 0x45, 0x39}, /* 5 53 */ |
Adrian Suciu |
21:a8023e5e97be | 255 | {0x3C, 0x4A, 0x49, 0x49, 0x30}, /* 6 54 */ |
Adrian Suciu |
21:a8023e5e97be | 256 | {0x01, 0x71, 0x09, 0x05, 0x03}, /* 7 55 */ |
Adrian Suciu |
21:a8023e5e97be | 257 | {0x36, 0x49, 0x49, 0x49, 0x36}, /* 8 56 */ |
Adrian Suciu |
21:a8023e5e97be | 258 | {0x06, 0x49, 0x49, 0x29, 0x1E}, /* 9 57 */ |
Adrian Suciu |
21:a8023e5e97be | 259 | {0x36, 0x36, 0x00, 0x00, 0x00}, /* : 58 */ |
Adrian Suciu |
21:a8023e5e97be | 260 | {0x56, 0x36, 0x00, 0x00, 0x00}, /* ; 59 */ |
Adrian Suciu |
21:a8023e5e97be | 261 | {0x08, 0x14, 0x22, 0x41, 0x00}, /* < 60 */ |
Adrian Suciu |
21:a8023e5e97be | 262 | {0x14, 0x14, 0x14, 0x14, 0x14}, /* = 61 */ |
Adrian Suciu |
21:a8023e5e97be | 263 | {0x00, 0x41, 0x22, 0x14, 0x08}, /* > 62 */ |
Adrian Suciu |
21:a8023e5e97be | 264 | {0x02, 0x01, 0x51, 0x09, 0x06}, /* ? 63 */ |
Adrian Suciu |
21:a8023e5e97be | 265 | {0x30, 0x49, 0x79, 0x41, 0x3E}, /* @ 64 */ |
Adrian Suciu |
21:a8023e5e97be | 266 | {0x7E, 0x11, 0x11, 0x11, 0x7E}, /* A 65 */ |
Adrian Suciu |
21:a8023e5e97be | 267 | {0x7F, 0x49, 0x49, 0x49, 0x36}, /* B 66 */ |
Adrian Suciu |
21:a8023e5e97be | 268 | {0x3E, 0x41, 0x41, 0x41, 0x22}, /* C 67 */ |
Adrian Suciu |
21:a8023e5e97be | 269 | {0x7F, 0x41, 0x41, 0x22, 0x1C}, /* D 68 */ |
Adrian Suciu |
21:a8023e5e97be | 270 | {0x7F, 0x49, 0x49, 0x49, 0x41}, /* E 69 */ |
Adrian Suciu |
21:a8023e5e97be | 271 | {0x7F, 0x09, 0x09, 0x09, 0x01}, /* F 70 */ |
Adrian Suciu |
21:a8023e5e97be | 272 | {0x3E, 0x41, 0x49, 0x49, 0x7A}, /* G 71 */ |
Adrian Suciu |
21:a8023e5e97be | 273 | {0x7F, 0x08, 0x08, 0x08, 0x7F}, /* H 72 */ |
Adrian Suciu |
21:a8023e5e97be | 274 | {0x00, 0x41, 0x7F, 0x41, 0x00}, /* I 73 */ |
Adrian Suciu |
21:a8023e5e97be | 275 | {0x20, 0x40, 0x41, 0x3F, 0x01}, /* J 74 */ |
Adrian Suciu |
21:a8023e5e97be | 276 | {0x7F, 0x08, 0x14, 0x22, 0x41}, /* K 75 */ |
Adrian Suciu |
21:a8023e5e97be | 277 | {0x7F, 0x40, 0x40, 0x40, 0x40}, /* L 76 */ |
Adrian Suciu |
21:a8023e5e97be | 278 | {0x7F, 0x02, 0x0C, 0x02, 0x7F}, /* M 77 */ |
Adrian Suciu |
21:a8023e5e97be | 279 | {0x7F, 0x04, 0x08, 0x10, 0x7F}, /* N 78 */ |
Adrian Suciu |
21:a8023e5e97be | 280 | {0x3E, 0x41, 0x41, 0x41, 0x3E}, /* O 79 */ |
Adrian Suciu |
21:a8023e5e97be | 281 | {0x7F, 0x09, 0x09, 0x09, 0x06}, /* P 80 */ |
Adrian Suciu |
21:a8023e5e97be | 282 | {0x3E, 0x41, 0x51, 0x21, 0x5E}, /* Q 81 */ |
Adrian Suciu |
21:a8023e5e97be | 283 | {0x7F, 0x09, 0x19, 0x29, 0x46}, /* R 82 */ |
Adrian Suciu |
21:a8023e5e97be | 284 | {0x46, 0x49, 0x49, 0x49, 0x31}, /* S 83 */ |
Adrian Suciu |
21:a8023e5e97be | 285 | {0x01, 0x01, 0x7F, 0x01, 0x01}, /* T 84 */ |
Adrian Suciu |
21:a8023e5e97be | 286 | {0x3F, 0x40, 0x40, 0x40, 0x3F}, /* U 85 */ |
Adrian Suciu |
21:a8023e5e97be | 287 | {0x1F, 0x20, 0x40, 0x20, 0x1F}, /* V 86 */ |
Adrian Suciu |
21:a8023e5e97be | 288 | {0x3F, 0x40, 0x30, 0x40, 0x3F}, /* W 87 */ |
Adrian Suciu |
21:a8023e5e97be | 289 | {0x63, 0x14, 0x08, 0x14, 0x63}, /* X 88 */ |
Adrian Suciu |
21:a8023e5e97be | 290 | {0x07, 0x08, 0x70, 0x08, 0x07}, /* Y 89 */ |
Adrian Suciu |
21:a8023e5e97be | 291 | {0x61, 0x51, 0x49, 0x45, 0x43}, /* Z 90 */ |
Adrian Suciu |
21:a8023e5e97be | 292 | {0x00, 0x7F, 0x41, 0x41, 0x00}, /* [ 91 */ |
Adrian Suciu |
21:a8023e5e97be | 293 | {0x02, 0x04, 0x08, 0x10, 0x20}, /* \ 92 */ |
Adrian Suciu |
21:a8023e5e97be | 294 | {0x00, 0x41, 0x41, 0x7F, 0x00}, /* ] 93 */ |
Adrian Suciu |
21:a8023e5e97be | 295 | {0x04, 0x02, 0x01, 0x02, 0x04}, /* ^ 94 */ |
Adrian Suciu |
21:a8023e5e97be | 296 | {0x40, 0x40, 0x40, 0x40, 0x40}, /* _ 95 */ |
Adrian Suciu |
21:a8023e5e97be | 297 | {0x00, 0x01, 0x02, 0x04, 0x00}, /* ` 96 */ |
Adrian Suciu |
21:a8023e5e97be | 298 | {0x20, 0x54, 0x54, 0x54, 0x78}, /* a 97 */ |
Adrian Suciu |
21:a8023e5e97be | 299 | {0x7F, 0x50, 0x48, 0x48, 0x30}, /* b 98 */ |
Adrian Suciu |
21:a8023e5e97be | 300 | {0x38, 0x44, 0x44, 0x44, 0x20}, /* c 99 */ |
Adrian Suciu |
21:a8023e5e97be | 301 | {0x38, 0x44, 0x44, 0x48, 0x7F}, /* d 100 */ |
Adrian Suciu |
21:a8023e5e97be | 302 | {0x38, 0x54, 0x54, 0x54, 0x18}, /* e 101 */ |
Adrian Suciu |
21:a8023e5e97be | 303 | {0x08, 0x7E, 0x09, 0x01, 0x02}, /* f 102 */ |
Adrian Suciu |
21:a8023e5e97be | 304 | {0x0C, 0x52, 0x52, 0x52, 0x3E}, /* g 103 */ |
Adrian Suciu |
21:a8023e5e97be | 305 | {0x7F, 0x08, 0x04, 0x04, 0x78}, /* h 104 */ |
Adrian Suciu |
21:a8023e5e97be | 306 | {0x00, 0x44, 0x7D, 0x40, 0x00}, /* i 105 */ |
Adrian Suciu |
21:a8023e5e97be | 307 | {0x20, 0x40, 0x44, 0x3D, 0x00}, /* j 106 */ |
Adrian Suciu |
21:a8023e5e97be | 308 | {0x7F, 0x10, 0x28, 0x44, 0x00}, /* k 107 */ |
Adrian Suciu |
21:a8023e5e97be | 309 | {0x00, 0x41, 0x7F, 0x40, 0x00}, /* l 108 */ |
Adrian Suciu |
21:a8023e5e97be | 310 | {0x78, 0x04, 0x18, 0x04, 0x78}, /* m 109 */ |
Adrian Suciu |
21:a8023e5e97be | 311 | {0x7C, 0x08, 0x04, 0x04, 0x78}, /* n 110 */ |
Adrian Suciu |
21:a8023e5e97be | 312 | {0x38, 0x44, 0x44, 0x44, 0x38}, /* o 111 */ |
Adrian Suciu |
21:a8023e5e97be | 313 | {0x7C, 0x14, 0x14, 0x14, 0x08}, /* p 112 */ |
Adrian Suciu |
21:a8023e5e97be | 314 | {0x08, 0x14, 0x14, 0x18, 0x7C}, /* q 113 */ |
Adrian Suciu |
21:a8023e5e97be | 315 | {0x7C, 0x08, 0x04, 0x04, 0x08}, /* r 114 */ |
Adrian Suciu |
21:a8023e5e97be | 316 | {0x48, 0x54, 0x54, 0x54, 0x20}, /* s 115 */ |
Adrian Suciu |
21:a8023e5e97be | 317 | {0x04, 0x3F, 0x44, 0x40, 0x20}, /* t 116 */ |
Adrian Suciu |
21:a8023e5e97be | 318 | {0x3C, 0x40, 0x40, 0x20, 0x7C}, /* u 117 */ |
Adrian Suciu |
21:a8023e5e97be | 319 | {0x1C, 0x20, 0x40, 0x20, 0x1C}, /* v 118 */ |
Adrian Suciu |
21:a8023e5e97be | 320 | {0x3C, 0x40, 0x30, 0x40, 0x3C}, /* w 119 */ |
Adrian Suciu |
21:a8023e5e97be | 321 | {0x44, 0x28, 0x10, 0x28, 0x44}, /* x 120 */ |
Adrian Suciu |
21:a8023e5e97be | 322 | {0x0C, 0x50, 0x50, 0x50, 0x3C}, /* y 121 */ |
Adrian Suciu |
21:a8023e5e97be | 323 | {0x44, 0x64, 0x54, 0x4C, 0x44}, /* z 122 */ |
Adrian Suciu |
21:a8023e5e97be | 324 | {0x00, 0x08, 0x36, 0x41, 0x00}, /* { 123 */ |
Adrian Suciu |
21:a8023e5e97be | 325 | {0x00, 0x00, 0x7F, 0x00, 0x00}, /* | 124 */ |
Adrian Suciu |
21:a8023e5e97be | 326 | {0x00, 0x41, 0x36, 0x08, 0x00}, /* } 125 */ |
Adrian Suciu |
21:a8023e5e97be | 327 | {0x0C, 0x02, 0x0C, 0x10, 0x0C}, /* ~ 126 */ |
Adrian Suciu |
21:a8023e5e97be | 328 | {0x00, 0x00, 0x00, 0x00, 0x00} /* 127 */ |
Adrian Suciu |
21:a8023e5e97be | 329 | }; |