EPD Display  1.0.0
Library and application for EPD smart displays
EPD_Display.h
Go to the documentation of this file.
1 
13 #ifndef EPD_Display_h
14 #define EPD_Display_h
15 #include <Arduino.h>
16 #include <stdint.h>
17 #include <stdio.h>
18 #include <display_helpers.h>
19 #include <DisplayCanvas.h>
20 #include <string>
21 using namespace std;
22 
23 //timer settings
25 #define uS_TO_S 1000000
26 
27 #define TIME_TO_SLEEP 20
28 
32 #define EPD_CS_PIN 15
33 #define EPD_RST_PIN 2
34 #define EPD_DC_PIN 4
35 #define EPD_BUSY_PIN 5
36 #define EPD_MOSI_PIN 23
37 #define EPD_CLK_PIN 18
38 
39 
40 #define GPIO_PIN_SET 1
41 #define GPIO_PIN_RESET 0
42 
46 #define DEV_Digital_Write(_pin, _value) digitalWrite(_pin, _value == 0? LOW:HIGH)
47 #define DEV_Digital_Read(_pin) digitalRead(_pin)
48 
52 #define DEV_Delay_ms(__xms) delay(__xms)
53 
54 /*------------------------------------------------------------------------------------------------------*/
55 
56 
60 class EPD_Display {
61 
62 private:
63  int module_init();
64  void GPIO_Config();
65 
69  virtual void reset()=0;
70  void ReadBusy();
71  void DEV_SPI_WriteByte(uint8_t data);
72 
73 public:
74  EPD_Display(uint16_t w, uint16_t h, uint16_t r, uint8_t c);
78  virtual void init()=0;
79 
83  virtual void show(DisplayCanvas *canvas, uint8_t canvas_layer)=0;
84 
85  DisplaySize_t getSize();
86  int16_t getWidth();
87  int16_t getHeight();
91  virtual void Clear()=0;
92 
96  virtual void Sleep()=0;
97 
98 
99 protected:
101  void SendCommand(uint8_t Reg);
102  void SendData(uint8_t Data);
103 };
104 
105 #endif
106 
EPD_Display::display_size
DisplaySize_t display_size
Definition: EPD_Display.h:100
DisplayCanvas
Representation of image canvas.
Definition: DisplayCanvas.h:23
display_helpers.h
Representation of the needed data structures.
DisplayCanvas.h
Representation of image canvas.
EPD_Display
E-Paper display initialization (same functions for multiple display sizes)
Definition: EPD_Display.h:60
DisplaySize_t
Display setup.
Definition: display_helpers.h:16