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.

Dependencies:   mbed _24LCXXX

E-Badge MiniNote Project on mbed/NXP LPC1114 platform

Committer:
allankliu
Date:
Sun Jun 01 00:47:23 2014 +0000
Revision:
0:33994cfad0c2
Child:
2:bb9f154ea2f4
Initial version, reuse code from lpc1114uart, ssd1306, previous code spd2706 and others.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
allankliu 0:33994cfad0c2 1 #ifndef __SSD1606_H__
allankliu 0:33994cfad0c2 2 #define __SSD1606_H__
allankliu 0:33994cfad0c2 3
allankliu 0:33994cfad0c2 4 class SSD1606
allankliu 0:33994cfad0c2 5 {
allankliu 0:33994cfad0c2 6 public:
allankliu 0:33994cfad0c2 7 SSD1606(PinName cs, PinName rs, PinName dc, PinName clk, PinName busy, PinName data);
allankliu 0:33994cfad0c2 8 void reset();
allankliu 0:33994cfad0c2 9 void initialize();
allankliu 0:33994cfad0c2 10 void update();
allankliu 0:33994cfad0c2 11 void off();
allankliu 0:33994cfad0c2 12 void on();
allankliu 0:33994cfad0c2 13 void sleep();
allankliu 0:33994cfad0c2 14 void wake();
allankliu 0:33994cfad0c2 15 void set_inverse();
allankliu 0:33994cfad0c2 16 void set_lut();
allankliu 0:33994cfad0c2 17 void set_command_between_images();
allankliu 0:33994cfad0c2 18 void set_display_start_line(unsigned char val);
allankliu 0:33994cfad0c2 19 void nop();
allankliu 0:33994cfad0c2 20 void set_charge_pump_enable(unsigned char enable);
allankliu 0:33994cfad0c2 21 void clear();
allankliu 0:33994cfad0c2 22 void set_pixel(int x, int y);
allankliu 0:33994cfad0c2 23 void clear_pixel(int x, int y);
allankliu 0:33994cfad0c2 24 void set_font(unsigned char *font, unsigned char width);
allankliu 0:33994cfad0c2 25 void set_double_height_text(unsigned int double_height);
allankliu 0:33994cfad0c2 26 void putc(unsigned char c);
allankliu 0:33994cfad0c2 27 void printf(const char *format,...);
allankliu 0:33994cfad0c2 28 unsigned char is_busy(void);
allankliu 0:33994cfad0c2 29 void rom_image(const unsigned char *bitmap);
allankliu 0:33994cfad0c2 30
allankliu 0:33994cfad0c2 31 private:
allankliu 0:33994cfad0c2 32 SPI _spi;
allankliu 0:33994cfad0c2 33 DigitalOut _cs, _reset, _dc;
allankliu 0:33994cfad0c2 34 DigitalIn _busy;
allankliu 0:33994cfad0c2 35 unsigned char _screen[3096];
allankliu 0:33994cfad0c2 36 int _cursor_x, _cursor_y;
allankliu 0:33994cfad0c2 37
allankliu 0:33994cfad0c2 38 void _send_command(unsigned char code);
allankliu 0:33994cfad0c2 39 void _send_data(unsigned char value);
allankliu 0:33994cfad0c2 40
allankliu 0:33994cfad0c2 41 unsigned char *_console_font_data;
allankliu 0:33994cfad0c2 42 unsigned int _console_font_width;
allankliu 0:33994cfad0c2 43 unsigned int _double_height_text;
allankliu 0:33994cfad0c2 44 };
allankliu 0:33994cfad0c2 45
allankliu 0:33994cfad0c2 46 /*
allankliu 0:33994cfad0c2 47 The width/height parameters depend on different vendor. The max is 180x128
allankliu 0:33994cfad0c2 48 http://www.solomon-systech.com.cn/cn/product/advanced-display/bistable-display-driver-controller/
allankliu 0:33994cfad0c2 49 */
allankliu 0:33994cfad0c2 50 #define SSD1606_LCDWIDTH 172
allankliu 0:33994cfad0c2 51 #define SSD1606_LCDHEIGHT 72
allankliu 0:33994cfad0c2 52
allankliu 0:33994cfad0c2 53 #endif