epaper

Dependencies:   mbed epd1in54b

Committer:
matalo
Date:
Fri Mar 26 19:21:03 2021 +0000
Revision:
0:ce17c9929fc2
e

Who changed what in which revision?

UserRevisionLine numberNew contents of line
matalo 0:ce17c9929fc2 1 #include "mbed.h"
matalo 0:ce17c9929fc2 2 #include "epd1in54b.h"
matalo 0:ce17c9929fc2 3 // Control
matalo 0:ce17c9929fc2 4 PinName rst;
matalo 0:ce17c9929fc2 5 PinName dc;
matalo 0:ce17c9929fc2 6 PinName busy;
matalo 0:ce17c9929fc2 7 // SPI communication
matalo 0:ce17c9929fc2 8 PinName mosi;
matalo 0:ce17c9929fc2 9 PinName miso;
matalo 0:ce17c9929fc2 10 PinName sclk;
matalo 0:ce17c9929fc2 11 PinName cs;
matalo 0:ce17c9929fc2 12
matalo 0:ce17c9929fc2 13 DigitalOut myled(LED1);
matalo 0:ce17c9929fc2 14
matalo 0:ce17c9929fc2 15 unsigned char frame_black[EPD_HEIGHT*EPD_WIDTH/8];
matalo 0:ce17c9929fc2 16 unsigned char frame_red[EPD_HEIGHT*EPD_WIDTH/8];
matalo 0:ce17c9929fc2 17
matalo 0:ce17c9929fc2 18
matalo 0:ce17c9929fc2 19 int main() {
matalo 0:ce17c9929fc2 20 mosi = p5;
matalo 0:ce17c9929fc2 21 miso = p6;
matalo 0:ce17c9929fc2 22 sclk = p7;
matalo 0:ce17c9929fc2 23 cs = p8;
matalo 0:ce17c9929fc2 24 rst = p9;
matalo 0:ce17c9929fc2 25 dc = p10;
matalo 0:ce17c9929fc2 26 busy = p11;
matalo 0:ce17c9929fc2 27
matalo 0:ce17c9929fc2 28 memset(frame_black, 0xFF, sizeof(unsigned char)*EPD_HEIGHT*EPD_WIDTH/8);
matalo 0:ce17c9929fc2 29 memset(frame_red, 0xFF, sizeof(unsigned char)*EPD_HEIGHT*EPD_WIDTH/8);
matalo 0:ce17c9929fc2 30
matalo 0:ce17c9929fc2 31 Epd epd = Epd(mosi, miso, sclk, cs, dc, rst, busy);
matalo 0:ce17c9929fc2 32 if (epd.Init() != 0){
matalo 0:ce17c9929fc2 33 return -1;
matalo 0:ce17c9929fc2 34 }
matalo 0:ce17c9929fc2 35
matalo 0:ce17c9929fc2 36 /* Draw something to the frame buffer */
matalo 0:ce17c9929fc2 37 // For simplicity, the arguments are explicit numerical coordinates
matalo 0:ce17c9929fc2 38 epd.DrawRectangle(frame_black, 10, 60, 50, 110, COLORED);
matalo 0:ce17c9929fc2 39 epd.DrawLine(frame_black, 10, 60, 50, 110, COLORED);
matalo 0:ce17c9929fc2 40 epd.DrawLine(frame_black, 50, 60, 10, 110, COLORED);
matalo 0:ce17c9929fc2 41 epd.DrawCircle(frame_black, 120, 80, 30, COLORED);
matalo 0:ce17c9929fc2 42 epd.DrawFilledRectangle(frame_red, 10, 130, 50, 180, COLORED);
matalo 0:ce17c9929fc2 43 epd.DrawFilledRectangle(frame_red, 0, 6, 200, 26, COLORED);
matalo 0:ce17c9929fc2 44 epd.DrawFilledCircle(frame_red, 120, 150, 30, COLORED);
matalo 0:ce17c9929fc2 45
matalo 0:ce17c9929fc2 46 /*Write strings to the buffer */
matalo 0:ce17c9929fc2 47 epd.DrawStringAt(frame_black, 30, 30, "e-Paper Demo", &Font16, COLORED);
matalo 0:ce17c9929fc2 48 epd.DrawStringAt(frame_red, 28, 10, "Hello world!", &Font16, UNCOLORED);
matalo 0:ce17c9929fc2 49
matalo 0:ce17c9929fc2 50 // display images
matalo 0:ce17c9929fc2 51 epd.DisplayFrame(frame_black, frame_red);
matalo 0:ce17c9929fc2 52 //epd.DisplayFrame(IMAGE_BLACK, IMAGE_RED);
matalo 0:ce17c9929fc2 53 epd.Sleep();
matalo 0:ce17c9929fc2 54
matalo 0:ce17c9929fc2 55
matalo 0:ce17c9929fc2 56 while(1) {
matalo 0:ce17c9929fc2 57 myled = 1;
matalo 0:ce17c9929fc2 58 wait(0.5);
matalo 0:ce17c9929fc2 59 myled = 0;
matalo 0:ce17c9929fc2 60 wait(0.5);
matalo 0:ce17c9929fc2 61 }
matalo 0:ce17c9929fc2 62 }