A lib to handle a E-Paper display from Jiaxian Displays. The lib can handle graphic and text drawing and is using external fonts. SPI interface.

Dependents:   EPD_GDE021A1_demo

This E-ink display can be found from here, Factory datasheet, Controller: SSD1606

/media/uploads/steeven/image1.jpg

Committer:
steeven
Date:
Wed Apr 15 11:16:20 2015 +0000
Revision:
0:e7a39129f419
GDE021A1 initial

Who changed what in which revision?

UserRevisionLine numberNew contents of line
steeven 0:e7a39129f419 1 #ifndef EPDGDE021A1_H_
steeven 0:e7a39129f419 2 #define EPDGDE021A1_H_
steeven 0:e7a39129f419 3
steeven 0:e7a39129f419 4 #include "mbed.h"
steeven 0:e7a39129f419 5 #include "Graphic.h"
steeven 0:e7a39129f419 6
steeven 0:e7a39129f419 7 #define GED021A1_BUF_SIZE 3096
steeven 0:e7a39129f419 8 #define GED021A1_WIDH 172
steeven 0:e7a39129f419 9 #define GED021A1_HIGHT 72
steeven 0:e7a39129f419 10 #define GED021A1_BITS 2
steeven 0:e7a39129f419 11
steeven 0:e7a39129f419 12 class EpdGDE021A1: public Graphic {
steeven 0:e7a39129f419 13
steeven 0:e7a39129f419 14 public:
steeven 0:e7a39129f419 15 EpdGDE021A1(PinName mosi = p5, PinName sclk = p7, PinName cs = p8,
steeven 0:e7a39129f419 16 PinName dc = p9, PinName reset = p10);
steeven 0:e7a39129f419 17
steeven 0:e7a39129f419 18 void setup();
steeven 0:e7a39129f419 19 void update();
steeven 0:e7a39129f419 20 void sleep();
steeven 0:e7a39129f419 21
steeven 0:e7a39129f419 22 public:
steeven 0:e7a39129f419 23 virtual ~EpdGDE021A1() {
steeven 0:e7a39129f419 24 }
steeven 0:e7a39129f419 25
steeven 0:e7a39129f419 26 protected:
steeven 0:e7a39129f419 27 void draw(unsigned char *data);
steeven 0:e7a39129f419 28 void reset();
steeven 0:e7a39129f419 29 void wait_busy();
steeven 0:e7a39129f419 30 void write_lut();
steeven 0:e7a39129f419 31 void init();
steeven 0:e7a39129f419 32 void spi_write(int cmd, unsigned char val);
steeven 0:e7a39129f419 33 void spi_cmd(unsigned char cmd);
steeven 0:e7a39129f419 34 void spi_data(unsigned char val);
steeven 0:e7a39129f419 35 SPI _spi;
steeven 0:e7a39129f419 36 DigitalOut _spi_ncs;
steeven 0:e7a39129f419 37 DigitalOut _spi_ndc;
steeven 0:e7a39129f419 38 DigitalOut _reset;
steeven 0:e7a39129f419 39 int _spi3w;
steeven 0:e7a39129f419 40
steeven 0:e7a39129f419 41 public:
steeven 0:e7a39129f419 42 unsigned char _buf[GED021A1_BUF_SIZE];
steeven 0:e7a39129f419 43 };
steeven 0:e7a39129f419 44
steeven 0:e7a39129f419 45 #endif /* EPDGDE021A1_H_ */