![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
epaper
main.cpp@0:ce17c9929fc2, 2021-03-26 (annotated)
- Committer:
- matalo
- Date:
- Fri Mar 26 19:21:03 2021 +0000
- Revision:
- 0:ce17c9929fc2
e
Who changed what in which revision?
User | Revision | Line number | New 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 | } |