E-Paper Device (EPD) based MiniNote module, powered by mbed on LPC1114FBD48. Shared in public domain with enclosure in 3D step format, hardware interface compatible with microBUS interface. Anyone can contribute on this project.
E-Badge MiniNote Project on mbed/NXP LPC1114 platform
- About E-Badge MiniNote Project
- E-Badge Firmware Design
- Enclosure ID in 3D step format
- Python utilities
- Demo applications
- New applications with cloud server
- make mbed looks Arduino compatible
- debug in Keil, shared with mbed
- make it bigger with more memory
- make it smaller with mini connector
- make it stronger with mikroBUS
- Make it pretty with line art
- Developement Status Update
SSD1606/ssd1606.cpp@2:bb9f154ea2f4, 2014-06-09 (annotated)
- Committer:
- allankliu
- Date:
- Mon Jun 09 11:01:38 2014 +0000
- Revision:
- 2:bb9f154ea2f4
- Parent:
- 0:33994cfad0c2
- Child:
- 3:1fa000d4da94
Fixed software SPI, reduce memory usage with 1K5 framebuffer and lightweight I2C NVMEM _24LCXXX lib.The code can be fited into LPC1114/2xx devices.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
allankliu | 2:bb9f154ea2f4 | 1 | /* |
allankliu | 2:bb9f154ea2f4 | 2 | * Code ported from EDP-MSP430 and IAR-STM32-SK |
allankliu | 2:bb9f154ea2f4 | 3 | * Allan K Liu |
allankliu | 2:bb9f154ea2f4 | 4 | */ |
allankliu | 2:bb9f154ea2f4 | 5 | |
allankliu | 0:33994cfad0c2 | 6 | #include "mbed.h" |
allankliu | 0:33994cfad0c2 | 7 | #include "ssd1606.h" |
allankliu | 2:bb9f154ea2f4 | 8 | //#include "font.h" |
allankliu | 2:bb9f154ea2f4 | 9 | #include "rom_image.h" |
allankliu | 2:bb9f154ea2f4 | 10 | #include "rom_font.h" |
allankliu | 0:33994cfad0c2 | 11 | |
allankliu | 0:33994cfad0c2 | 12 | #include <stdarg.h> |
allankliu | 0:33994cfad0c2 | 13 | |
allankliu | 0:33994cfad0c2 | 14 | const unsigned char init_data[]={ |
allankliu | 0:33994cfad0c2 | 15 | 0x82,0x00,0x00,0x00,0xAA,0x00,0x00,0x00, |
allankliu | 0:33994cfad0c2 | 16 | 0xAA,0xAA,0x00,0x00,0xAA,0xAA,0xAA,0x00, |
allankliu | 0:33994cfad0c2 | 17 | 0x55,0xAA,0xAA,0x00,0x55,0x55,0x55,0x55, |
allankliu | 0:33994cfad0c2 | 18 | 0xAA,0xAA,0xAA,0xAA,0x55,0x55,0x55,0x55, |
allankliu | 0:33994cfad0c2 | 19 | 0xAA,0xAA,0xAA,0xAA,0x15,0x15,0x15,0x15, |
allankliu | 0:33994cfad0c2 | 20 | 0x05,0x05,0x05,0x05,0x01,0x01,0x01,0x01, |
allankliu | 0:33994cfad0c2 | 21 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
allankliu | 0:33994cfad0c2 | 22 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
allankliu | 0:33994cfad0c2 | 23 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
allankliu | 0:33994cfad0c2 | 24 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
allankliu | 0:33994cfad0c2 | 25 | 0x41,0x45,0xF1,0xFF,0x5F,0x55,0x01,0x00, |
allankliu | 0:33994cfad0c2 | 26 | 0x00,0x00,}; |
allankliu | 0:33994cfad0c2 | 27 | |
allankliu | 0:33994cfad0c2 | 28 | |
allankliu | 2:bb9f154ea2f4 | 29 | SSD1606::SSD1606(PinName cs, PinName rst, PinName dc, PinName busy, PinName data, PinName clk) |
allankliu | 2:bb9f154ea2f4 | 30 | : _cs(cs), |
allankliu | 2:bb9f154ea2f4 | 31 | _reset(rst), |
allankliu | 2:bb9f154ea2f4 | 32 | _dc(dc), |
allankliu | 2:bb9f154ea2f4 | 33 | _busy(busy), |
allankliu | 2:bb9f154ea2f4 | 34 | _data(data), |
allankliu | 2:bb9f154ea2f4 | 35 | _clk(clk) |
allankliu | 0:33994cfad0c2 | 36 | { |
allankliu | 2:bb9f154ea2f4 | 37 | _cursor_x = 0; |
allankliu | 2:bb9f154ea2f4 | 38 | _cursor_y = 0; |
allankliu | 2:bb9f154ea2f4 | 39 | _cs = DigitalOut(cs); |
allankliu | 2:bb9f154ea2f4 | 40 | _reset = DigitalOut(rst); |
allankliu | 2:bb9f154ea2f4 | 41 | _dc = DigitalOut(dc); |
allankliu | 2:bb9f154ea2f4 | 42 | _busy = DigitalIn(busy); |
allankliu | 2:bb9f154ea2f4 | 43 | _data = DigitalOut(data); |
allankliu | 2:bb9f154ea2f4 | 44 | _clk = DigitalOut(clk); |
allankliu | 0:33994cfad0c2 | 45 | } |
allankliu | 0:33994cfad0c2 | 46 | |
allankliu | 0:33994cfad0c2 | 47 | void SSD1606::reset() |
allankliu | 0:33994cfad0c2 | 48 | { |
allankliu | 0:33994cfad0c2 | 49 | _reset = 1; |
allankliu | 2:bb9f154ea2f4 | 50 | wait_ms(1); |
allankliu | 0:33994cfad0c2 | 51 | _reset = 0; |
allankliu | 2:bb9f154ea2f4 | 52 | wait_ms(5); |
allankliu | 0:33994cfad0c2 | 53 | _reset = 1; |
allankliu | 2:bb9f154ea2f4 | 54 | wait_ms(5); |
allankliu | 2:bb9f154ea2f4 | 55 | } |
allankliu | 2:bb9f154ea2f4 | 56 | |
allankliu | 2:bb9f154ea2f4 | 57 | void SSD1606::read_busy() |
allankliu | 2:bb9f154ea2f4 | 58 | { |
allankliu | 2:bb9f154ea2f4 | 59 | while(_busy==1){ |
allankliu | 2:bb9f154ea2f4 | 60 | wait_ms(1); |
allankliu | 2:bb9f154ea2f4 | 61 | } |
allankliu | 0:33994cfad0c2 | 62 | } |
allankliu | 0:33994cfad0c2 | 63 | |
allankliu | 0:33994cfad0c2 | 64 | void SSD1606::initialize() |
allankliu | 0:33994cfad0c2 | 65 | { |
allankliu | 0:33994cfad0c2 | 66 | reset(); |
allankliu | 0:33994cfad0c2 | 67 | _send_command(0x10); |
allankliu | 0:33994cfad0c2 | 68 | _send_data(0x00); |
allankliu | 0:33994cfad0c2 | 69 | #ifdef MODE3 |
allankliu | 0:33994cfad0c2 | 70 | _send_command(0x11); |
allankliu | 0:33994cfad0c2 | 71 | _send_data(0x03); |
allankliu | 0:33994cfad0c2 | 72 | _send_command(0x44); |
allankliu | 0:33994cfad0c2 | 73 | _send_data(0x00); |
allankliu | 0:33994cfad0c2 | 74 | _send_data(0x11); |
allankliu | 0:33994cfad0c2 | 75 | _send_command(0x45); |
allankliu | 0:33994cfad0c2 | 76 | _send_data(0x00); |
allankliu | 0:33994cfad0c2 | 77 | _send_data(0xAB); |
allankliu | 0:33994cfad0c2 | 78 | _send_command(0x4E); |
allankliu | 0:33994cfad0c2 | 79 | _send_data(0x00); |
allankliu | 0:33994cfad0c2 | 80 | _send_command(0x4F); |
allankliu | 0:33994cfad0c2 | 81 | _send_data(0x00); |
allankliu | 0:33994cfad0c2 | 82 | #endif |
allankliu | 0:33994cfad0c2 | 83 | #ifdef MODE2 |
allankliu | 0:33994cfad0c2 | 84 | _send_command(0x11); |
allankliu | 0:33994cfad0c2 | 85 | _send_data(0x02); |
allankliu | 0:33994cfad0c2 | 86 | _send_command(0x44); |
allankliu | 0:33994cfad0c2 | 87 | _send_data(0x11); |
allankliu | 0:33994cfad0c2 | 88 | _send_data(0x00); |
allankliu | 0:33994cfad0c2 | 89 | _send_command(0x45); |
allankliu | 0:33994cfad0c2 | 90 | _send_data(0x00); |
allankliu | 0:33994cfad0c2 | 91 | _send_data(0xAB); |
allankliu | 0:33994cfad0c2 | 92 | _send_command(0x4E); |
allankliu | 0:33994cfad0c2 | 93 | _send_data(0x11); |
allankliu | 0:33994cfad0c2 | 94 | _send_command(0x4F); |
allankliu | 0:33994cfad0c2 | 95 | _send_data(0x00); |
allankliu | 0:33994cfad0c2 | 96 | #endif |
allankliu | 0:33994cfad0c2 | 97 | #ifdef MODE1 |
allankliu | 0:33994cfad0c2 | 98 | _send_command(0x11); |
allankliu | 0:33994cfad0c2 | 99 | _send_data(0x01); |
allankliu | 0:33994cfad0c2 | 100 | _send_command(0x44); |
allankliu | 0:33994cfad0c2 | 101 | _send_data(0x00); |
allankliu | 0:33994cfad0c2 | 102 | _send_data(0x11); |
allankliu | 0:33994cfad0c2 | 103 | _send_command(0x45); |
allankliu | 0:33994cfad0c2 | 104 | _send_data(0xAB); |
allankliu | 0:33994cfad0c2 | 105 | _send_data(0x00); |
allankliu | 0:33994cfad0c2 | 106 | _send_command(0x4E); |
allankliu | 0:33994cfad0c2 | 107 | _send_data(0x00); |
allankliu | 0:33994cfad0c2 | 108 | _send_command(0x4F); |
allankliu | 0:33994cfad0c2 | 109 | _send_data(0xAB); |
allankliu | 0:33994cfad0c2 | 110 | #endif |
allankliu | 0:33994cfad0c2 | 111 | #ifdef MODE0 |
allankliu | 0:33994cfad0c2 | 112 | _send_command(0x11); |
allankliu | 0:33994cfad0c2 | 113 | _send_data(0x00); |
allankliu | 0:33994cfad0c2 | 114 | _send_command(0x44); |
allankliu | 0:33994cfad0c2 | 115 | _send_data(0x11); |
allankliu | 0:33994cfad0c2 | 116 | _send_data(0x00); |
allankliu | 0:33994cfad0c2 | 117 | _send_command(0x45); |
allankliu | 0:33994cfad0c2 | 118 | _send_data(0xAB); |
allankliu | 0:33994cfad0c2 | 119 | _send_data(0x00); |
allankliu | 0:33994cfad0c2 | 120 | _send_command(0x4E); |
allankliu | 0:33994cfad0c2 | 121 | _send_data(0x11); |
allankliu | 0:33994cfad0c2 | 122 | _send_command(0x4F); |
allankliu | 0:33994cfad0c2 | 123 | _send_data(0xAB); |
allankliu | 0:33994cfad0c2 | 124 | #endif |
allankliu | 0:33994cfad0c2 | 125 | _send_command(0xF0); |
allankliu | 0:33994cfad0c2 | 126 | _send_data(0x1F); |
allankliu | 0:33994cfad0c2 | 127 | _send_command(0x21); |
allankliu | 0:33994cfad0c2 | 128 | _send_data(0x03); |
allankliu | 0:33994cfad0c2 | 129 | _send_command(0x2C); |
allankliu | 0:33994cfad0c2 | 130 | _send_data(0xA0); |
allankliu | 0:33994cfad0c2 | 131 | _send_command(0x3C); |
allankliu | 0:33994cfad0c2 | 132 | _send_data(0x63); |
allankliu | 0:33994cfad0c2 | 133 | _send_command(0x22); |
allankliu | 0:33994cfad0c2 | 134 | _send_data(0xC4); |
allankliu | 0:33994cfad0c2 | 135 | |
allankliu | 0:33994cfad0c2 | 136 | set_lut(); |
allankliu | 0:33994cfad0c2 | 137 | } |
allankliu | 0:33994cfad0c2 | 138 | |
allankliu | 2:bb9f154ea2f4 | 139 | |
allankliu | 0:33994cfad0c2 | 140 | |
allankliu | 0:33994cfad0c2 | 141 | void SSD1606::rom_image(const unsigned char *bitmap) |
allankliu | 0:33994cfad0c2 | 142 | { |
allankliu | 2:bb9f154ea2f4 | 143 | int i=0; |
allankliu | 0:33994cfad0c2 | 144 | _send_command(0x24); |
allankliu | 0:33994cfad0c2 | 145 | |
allankliu | 0:33994cfad0c2 | 146 | for (i=0; i <3096; i++) |
allankliu | 0:33994cfad0c2 | 147 | _send_data(bitmap[i]); |
allankliu | 0:33994cfad0c2 | 148 | |
allankliu | 0:33994cfad0c2 | 149 | _send_command(0x20); |
allankliu | 2:bb9f154ea2f4 | 150 | wait_ms(1); |
allankliu | 2:bb9f154ea2f4 | 151 | read_busy(); |
allankliu | 0:33994cfad0c2 | 152 | } |
allankliu | 0:33994cfad0c2 | 153 | |
allankliu | 2:bb9f154ea2f4 | 154 | void SSD1606::update(void) |
allankliu | 0:33994cfad0c2 | 155 | { |
allankliu | 2:bb9f154ea2f4 | 156 | int i = 0; |
allankliu | 2:bb9f154ea2f4 | 157 | _send_command(0x24); |
allankliu | 2:bb9f154ea2f4 | 158 | |
allankliu | 2:bb9f154ea2f4 | 159 | for (i=0; i<3096; i++) |
allankliu | 2:bb9f154ea2f4 | 160 | //_send_data(_screen[i]); |
allankliu | 2:bb9f154ea2f4 | 161 | //_send_data(buf[i]); |
allankliu | 2:bb9f154ea2f4 | 162 | |
allankliu | 2:bb9f154ea2f4 | 163 | wait_ms(1); |
allankliu | 2:bb9f154ea2f4 | 164 | read_busy(); |
allankliu | 0:33994cfad0c2 | 165 | } |
allankliu | 0:33994cfad0c2 | 166 | |
allankliu | 2:bb9f154ea2f4 | 167 | /* Hardware Switch off Power Supply for EPD mode (MOSFET) |
allankliu | 2:bb9f154ea2f4 | 168 | */ |
allankliu | 0:33994cfad0c2 | 169 | void SSD1606::off() |
allankliu | 0:33994cfad0c2 | 170 | { |
allankliu | 0:33994cfad0c2 | 171 | } |
allankliu | 0:33994cfad0c2 | 172 | |
allankliu | 2:bb9f154ea2f4 | 173 | void SSD1606::deepsleep() |
allankliu | 2:bb9f154ea2f4 | 174 | { |
allankliu | 2:bb9f154ea2f4 | 175 | } |
allankliu | 2:bb9f154ea2f4 | 176 | |
allankliu | 0:33994cfad0c2 | 177 | void SSD1606::sleep() |
allankliu | 0:33994cfad0c2 | 178 | { |
allankliu | 0:33994cfad0c2 | 179 | _send_command(0x10); |
allankliu | 0:33994cfad0c2 | 180 | _send_data(0x01); |
allankliu | 0:33994cfad0c2 | 181 | } |
allankliu | 0:33994cfad0c2 | 182 | |
allankliu | 2:bb9f154ea2f4 | 183 | void SSD1606::wake() |
allankliu | 2:bb9f154ea2f4 | 184 | { |
allankliu | 2:bb9f154ea2f4 | 185 | _send_command(0x10); |
allankliu | 2:bb9f154ea2f4 | 186 | _send_data(0x00); |
allankliu | 2:bb9f154ea2f4 | 187 | } |
allankliu | 2:bb9f154ea2f4 | 188 | |
allankliu | 0:33994cfad0c2 | 189 | void SSD1606::set_command_between_images() |
allankliu | 0:33994cfad0c2 | 190 | { |
allankliu | 0:33994cfad0c2 | 191 | _send_command(0x22); |
allankliu | 0:33994cfad0c2 | 192 | _send_data(0xC7); |
allankliu | 0:33994cfad0c2 | 193 | _send_command(0x21); |
allankliu | 0:33994cfad0c2 | 194 | _send_data(0x03); |
allankliu | 0:33994cfad0c2 | 195 | } |
allankliu | 0:33994cfad0c2 | 196 | |
allankliu | 0:33994cfad0c2 | 197 | void SSD1606::clear() |
allankliu | 0:33994cfad0c2 | 198 | { |
allankliu | 2:bb9f154ea2f4 | 199 | for (int i=0; i<FRAMEBUF_SIZE; i++) |
allankliu | 2:bb9f154ea2f4 | 200 | _send_data(0xFF); |
allankliu | 0:33994cfad0c2 | 201 | _cursor_x = 0; |
allankliu | 0:33994cfad0c2 | 202 | _cursor_y = 0; |
allankliu | 0:33994cfad0c2 | 203 | } |
allankliu | 0:33994cfad0c2 | 204 | |
allankliu | 2:bb9f154ea2f4 | 205 | void SSD1606::_vspi_write(unsigned char value) |
allankliu | 2:bb9f154ea2f4 | 206 | { |
allankliu | 2:bb9f154ea2f4 | 207 | for (int i=0; i<8; i++) |
allankliu | 2:bb9f154ea2f4 | 208 | { |
allankliu | 2:bb9f154ea2f4 | 209 | if(value & 0x80) |
allankliu | 2:bb9f154ea2f4 | 210 | { |
allankliu | 2:bb9f154ea2f4 | 211 | _data = 1; |
allankliu | 2:bb9f154ea2f4 | 212 | }else{ |
allankliu | 2:bb9f154ea2f4 | 213 | _data = 0; |
allankliu | 2:bb9f154ea2f4 | 214 | } |
allankliu | 2:bb9f154ea2f4 | 215 | _data = _data<<1; |
allankliu | 2:bb9f154ea2f4 | 216 | _clk = 1; |
allankliu | 2:bb9f154ea2f4 | 217 | wait_us(SPI_BUS_DELAY); |
allankliu | 2:bb9f154ea2f4 | 218 | _clk = 0; |
allankliu | 2:bb9f154ea2f4 | 219 | } |
allankliu | 2:bb9f154ea2f4 | 220 | } |
allankliu | 2:bb9f154ea2f4 | 221 | |
allankliu | 0:33994cfad0c2 | 222 | void SSD1606::_send_command(unsigned char code) |
allankliu | 0:33994cfad0c2 | 223 | { |
allankliu | 2:bb9f154ea2f4 | 224 | _cs = 1; wait_us(SPI_BUS_DELAY); |
allankliu | 2:bb9f154ea2f4 | 225 | _cs = 0; wait_us(SPI_BUS_DELAY); // Maybe _cs set low before _dc set low? |
allankliu | 2:bb9f154ea2f4 | 226 | _clk = 0; wait_us(SPI_BUS_DELAY); |
allankliu | 2:bb9f154ea2f4 | 227 | _dc = 0; wait_us(SPI_BUS_DELAY); |
allankliu | 2:bb9f154ea2f4 | 228 | |
allankliu | 2:bb9f154ea2f4 | 229 | //_spi.write(code); |
allankliu | 2:bb9f154ea2f4 | 230 | _vspi_write(code); |
allankliu | 2:bb9f154ea2f4 | 231 | wait_us(SPI_BUS_DELAY); |
allankliu | 2:bb9f154ea2f4 | 232 | _cs = 1; wait_us(SPI_BUS_DELAY); |
allankliu | 0:33994cfad0c2 | 233 | } |
allankliu | 0:33994cfad0c2 | 234 | |
allankliu | 0:33994cfad0c2 | 235 | void SSD1606::_send_data(unsigned char value) |
allankliu | 0:33994cfad0c2 | 236 | { |
allankliu | 2:bb9f154ea2f4 | 237 | _cs = 1; wait_us(SPI_BUS_DELAY); |
allankliu | 2:bb9f154ea2f4 | 238 | _cs = 0; wait_us(SPI_BUS_DELAY); |
allankliu | 2:bb9f154ea2f4 | 239 | _clk = 0; wait_us(SPI_BUS_DELAY); |
allankliu | 2:bb9f154ea2f4 | 240 | _dc = 1; wait_us(SPI_BUS_DELAY); // Maybe _cs set low before _dc set high? |
allankliu | 2:bb9f154ea2f4 | 241 | //_spi.write(value); |
allankliu | 2:bb9f154ea2f4 | 242 | _vspi_write(value); |
allankliu | 2:bb9f154ea2f4 | 243 | wait_us(SPI_BUS_DELAY); |
allankliu | 2:bb9f154ea2f4 | 244 | _cs = 1; wait_us(SPI_BUS_DELAY); |
allankliu | 0:33994cfad0c2 | 245 | } |
allankliu | 0:33994cfad0c2 | 246 | |
allankliu | 0:33994cfad0c2 | 247 | void SSD1606::set_lut(void) |
allankliu | 0:33994cfad0c2 | 248 | { |
allankliu | 0:33994cfad0c2 | 249 | unsigned char i; |
allankliu | 0:33994cfad0c2 | 250 | _send_command(0x32); |
allankliu | 0:33994cfad0c2 | 251 | for(i=0; i<90; i++) |
allankliu | 0:33994cfad0c2 | 252 | { |
allankliu | 0:33994cfad0c2 | 253 | _send_data(init_data[i]); |
allankliu | 0:33994cfad0c2 | 254 | } |
allankliu | 0:33994cfad0c2 | 255 | } |
allankliu | 2:bb9f154ea2f4 | 256 | |
allankliu | 2:bb9f154ea2f4 | 257 | void SSD1606::_draw_pattern(unsigned char value, unsigned int pix) |
allankliu | 2:bb9f154ea2f4 | 258 | { |
allankliu | 2:bb9f154ea2f4 | 259 | int i = 0; |
allankliu | 2:bb9f154ea2f4 | 260 | unsigned char x, y; |
allankliu | 2:bb9f154ea2f4 | 261 | for (x=0; x<SSD1606_LCDHEIGHT; x++) |
allankliu | 2:bb9f154ea2f4 | 262 | { |
allankliu | 2:bb9f154ea2f4 | 263 | for (y=0; y<SSD1606_LCDWIDTH; y++) |
allankliu | 2:bb9f154ea2f4 | 264 | { |
allankliu | 2:bb9f154ea2f4 | 265 | i++; |
allankliu | 2:bb9f154ea2f4 | 266 | if (i<pix) |
allankliu | 2:bb9f154ea2f4 | 267 | _send_data(value); |
allankliu | 2:bb9f154ea2f4 | 268 | else |
allankliu | 2:bb9f154ea2f4 | 269 | _send_data(0xFF); |
allankliu | 2:bb9f154ea2f4 | 270 | } |
allankliu | 2:bb9f154ea2f4 | 271 | } |
allankliu | 2:bb9f154ea2f4 | 272 | } |
allankliu | 2:bb9f154ea2f4 | 273 | |
allankliu | 2:bb9f154ea2f4 | 274 | void SSD1606::test_image(unsigned char idx) |
allankliu | 2:bb9f154ea2f4 | 275 | { |
allankliu | 2:bb9f154ea2f4 | 276 | switch(idx){ |
allankliu | 2:bb9f154ea2f4 | 277 | case TEST_GREY1: |
allankliu | 2:bb9f154ea2f4 | 278 | break; |
allankliu | 2:bb9f154ea2f4 | 279 | case TEST_GREY2: |
allankliu | 2:bb9f154ea2f4 | 280 | break; |
allankliu | 2:bb9f154ea2f4 | 281 | case TEST_BLK: |
allankliu | 2:bb9f154ea2f4 | 282 | break; |
allankliu | 2:bb9f154ea2f4 | 283 | case TEST_WHT: |
allankliu | 2:bb9f154ea2f4 | 284 | clear(); |
allankliu | 2:bb9f154ea2f4 | 285 | break; |
allankliu | 2:bb9f154ea2f4 | 286 | case TEST_HALF: |
allankliu | 2:bb9f154ea2f4 | 287 | break; |
allankliu | 2:bb9f154ea2f4 | 288 | case TEST_STRIP1: |
allankliu | 2:bb9f154ea2f4 | 289 | break; |
allankliu | 2:bb9f154ea2f4 | 290 | case TEST_STRIP2: |
allankliu | 2:bb9f154ea2f4 | 291 | break; |
allankliu | 2:bb9f154ea2f4 | 292 | default: |
allankliu | 2:bb9f154ea2f4 | 293 | break; |
allankliu | 2:bb9f154ea2f4 | 294 | } |
allankliu | 2:bb9f154ea2f4 | 295 | } |
allankliu | 2:bb9f154ea2f4 | 296 | |
allankliu | 2:bb9f154ea2f4 | 297 | |
allankliu | 2:bb9f154ea2f4 | 298 | void SSD1606::set_font(unsigned char *font, unsigned char width) |
allankliu | 2:bb9f154ea2f4 | 299 | { |
allankliu | 2:bb9f154ea2f4 | 300 | } |