EPD Display  1.0.0
Library and application for EPD smart displays
display_helpers.h
Go to the documentation of this file.
1 
7 #ifndef Display_helpers_h
8 #define Display_helpers_h
9 
10 #include <stdio.h>
11 #include <stdint.h>
12 
16 typedef struct {
17  uint16_t width;
18  uint16_t height;
19  uint16_t rotate;
20  uint16_t mirror;
21  uint8_t num_canvas;
22  uint8_t design; //display size : 2,4,7
24 
28 typedef struct {
29  uint8_t *Image;
30  uint16_t Width;
31  uint16_t Height;
32  uint16_t WidthMemory;
33  uint16_t HeightMemory;
34  uint16_t Color;
35  uint16_t Rotate;
36  uint16_t Mirror;
37  uint16_t WidthByte;
38  uint16_t HeightByte;
39  uint16_t Scale;
40 } PAINT;
41 
45 typedef struct _tFont
46 {
47  const uint8_t *table;
48  uint16_t Width;
49  uint16_t Height;
50 
51 } sFONT;
52 
53 
54 extern sFONT Font24;
55 extern sFONT Font20;
56 extern sFONT Font16;
57 extern sFONT Font12;
58 extern sFONT Font8;
59 
63 #define ROTATE_0 0
64 #define ROTATE_90 90
65 #define ROTATE_180 180
66 #define ROTATE_270 270
67 
71 typedef enum {
72  MIRROR_NONE = 0x00,
75  MIRROR_ORIGIN = 0x03,
76 } MIRROR_IMAGE;
77 #define MIRROR_IMAGE_DFT MIRROR_NONE
78 
82 #define WHITE 0xFF
83 #define BLACK 0x00
84 #define RED BLACK
85 
86 #define IMAGE_BACKGROUND WHITE
87 #define FONT_FOREGROUND BLACK
88 #define FONT_BACKGROUND WHITE
89 
90 //4 Gray level
91 #define GRAY1 0x03 //Blackest
92 #define GRAY2 0x02
93 #define GRAY3 0x01 //gray
94 #define GRAY4 0x00 //white
95 
98 typedef enum {
99  DOT_PIXEL_1X1 = 1, // 1 x 1
100  DOT_PIXEL_2X2 , // 2 X 2
101  DOT_PIXEL_3X3 , // 3 X 3
102  DOT_PIXEL_4X4 , // 4 X 4
103  DOT_PIXEL_5X5 , // 5 X 5
104  DOT_PIXEL_6X6 , // 6 X 6
105  DOT_PIXEL_7X7 , // 7 X 7
106  DOT_PIXEL_8X8 , // 8 X 8
107 } DOT_PIXEL;
108 #define DOT_PIXEL_DFT DOT_PIXEL_1X1 //Default dot pilex
109 
113 typedef enum {
114  DOT_FILL_AROUND = 1, // dot pixel 1 x 1
115  DOT_FILL_RIGHTUP , // dot pixel 2 X 2
116 } DOT_STYLE;
117 #define DOT_STYLE_DFT DOT_FILL_AROUND //Default dot pilex
118 
122 typedef enum {
125 } LINE_STYLE;
126 
130 typedef enum {
133 } DRAW_FILL;
134 
138 typedef struct {
139  uint16_t Year; //0000
140  uint8_t Month; //1 - 12
141  uint8_t Day; //1 - 30
142  uint8_t Hour; //0 - 23
143  uint8_t Min; //0 - 59
144  uint8_t Sec; //0 - 59
145 } PAINT_TIME;
146 
147 
151 #define ARRAY_LEN 255
152 
153 #define PANEL_SETTING 0x00
154 #define POWER_SETTING 0x01
155 #define POWER_OFF 0x02
156 #define POWER_OFF_SEQUENCE_SETTING 0x03
157 #define POWER_ON 0x04
158 #define POWER_ON_MEASURE 0x05
159 #define BOOSTER_SOFT_START 0x06
160 #define DEEP_SLEEP 0x07
161 #define DATA_START_TRANSMISSION_1 0x10
162 #define DATA_STOP 0x11
163 #define DISPLAY_REFRESH 0x12
164 #define DATA_START_TRANSMISSION_2 0x13
165 #define PARTIAL_DATA_START_TRANSMISSION_1 0x14
166 #define PARTIAL_DATA_START_TRANSMISSION_2 0x15
167 #define PARTIAL_DISPLAY_REFRESH 0x16
168 
169 #define LUT_FOR_VCOM 0x20
170 #define LUT_COLOR_1 0x21
171 #define LUT_COLOR_2 0x22
172 #define LUT_COLOR_3_1 0x23
173 #define LUT_COLOR_3_2 0x24
174 #define LUT_COLOR_4_1 0x25
175 #define LUT_COLOR_4_2 0x26
176 #define LUT_COLOR_4_3 0x27
177 #define LUT_COLOR_4_4 0x28
178 #define LUT_XON 0x29
179 #define PLL_CONTROL 0x30
180 
181 #define TEMPERATURE_SENSOR_COMMAND 0x40
182 #define TEMPERATURE_SENSOR_CALIBRATION 0x41
183 #define TEMPERATURE_SENSOR_WRITE 0x42
184 #define TEMPERATURE_SENSOR_READ 0x43
185 #define SET_RAM_X_ADDRESS_START_END_POSITION 0x44
186 #define SET_RAM_Y_ADDRESS_START_END_POSITION 0x45
187 #define SET_RAM_X_ADDRESS_COUNTER 0x4E
188 #define SET_RAM_Y_ADDRESS_COUNTER 0x4F
189 
190 #define VCOM_AND_DATA_INTERVAL_SETTING 0x50
191 #define LOW_POWER_DETECTION 0x51
192 #define TCON_SETTING 0x60
193 #define TCON_RESOLUTION 0x61
194 #define SOURCE_AND_GATE_START_SETTING 0x62
195 #define GET_STATUS 0x71
196 #define AUTO_MEASURE_VCOM 0x80
197 #define VCOM_VALUE 0x81
198 #define VCM_DC_SETTING_REGISTER 0x82
199 #define PARTIAL_WINDOW 0x90
200 #define PARTIAL_IN 0x91
201 #define PARTIAL_OUT 0x92
202 #define PROGRAM_MODE 0xA0
203 #define ACTIVE_PROGRAM 0xA1
204 #define READ_OTP_DATA 0xA2
205 #define POWER_SAVING 0xE3
206 #define TERMINATE_FRAME_READ_WRITE 0xFF
207 
208 
209 #endif
DOT_PIXEL_5X5
@ DOT_PIXEL_5X5
Definition: display_helpers.h:103
PAINT::HeightByte
uint16_t HeightByte
Definition: display_helpers.h:38
DOT_PIXEL_8X8
@ DOT_PIXEL_8X8
Definition: display_helpers.h:106
PAINT::Height
uint16_t Height
Definition: display_helpers.h:31
LINE_STYLE_DOTTED
@ LINE_STYLE_DOTTED
Definition: display_helpers.h:124
_tFont::Height
uint16_t Height
Definition: display_helpers.h:49
PAINT::WidthByte
uint16_t WidthByte
Definition: display_helpers.h:37
PAINT_TIME::Min
uint8_t Min
Definition: display_helpers.h:143
PAINT::Mirror
uint16_t Mirror
Definition: display_helpers.h:36
MIRROR_NONE
@ MIRROR_NONE
Definition: display_helpers.h:72
_tFont::Width
uint16_t Width
Definition: display_helpers.h:48
DRAW_FILL
DRAW_FILL
Definition: display_helpers.h:130
PAINT::Image
uint8_t * Image
Definition: display_helpers.h:29
PAINT
Paint Struct.
Definition: display_helpers.h:28
DOT_PIXEL_1X1
@ DOT_PIXEL_1X1
Definition: display_helpers.h:99
PAINT_TIME::Hour
uint8_t Hour
Definition: display_helpers.h:142
DisplaySize_t::height
uint16_t height
Definition: display_helpers.h:18
DOT_PIXEL_3X3
@ DOT_PIXEL_3X3
Definition: display_helpers.h:101
DisplaySize_t::num_canvas
uint8_t num_canvas
Definition: display_helpers.h:21
sFONT
Definition: fonts.h:56
PAINT_TIME::Year
uint16_t Year
Definition: display_helpers.h:139
_tFont
Font struct.
Definition: display_helpers.h:45
Font24
sFONT Font24
Definition: font24.cpp:2520
LINE_STYLE
LINE_STYLE
Definition: display_helpers.h:122
Font12
sFONT Font12
Definition: font12.cpp:1381
DOT_PIXEL_2X2
@ DOT_PIXEL_2X2
Definition: display_helpers.h:100
PAINT_TIME::Month
uint8_t Month
Definition: display_helpers.h:140
DisplaySize_t::width
uint16_t width
Definition: display_helpers.h:17
PAINT_TIME
Definition: display_helpers.h:138
PAINT::Color
uint16_t Color
Definition: display_helpers.h:34
Font20
sFONT Font20
Definition: font20.cpp:2141
DisplaySize_t::design
uint8_t design
Definition: display_helpers.h:22
sFONT
struct _tFont sFONT
Font struct.
PAINT_TIME::Day
uint8_t Day
Definition: display_helpers.h:141
PAINT::Rotate
uint16_t Rotate
Definition: display_helpers.h:35
DOT_PIXEL_4X4
@ DOT_PIXEL_4X4
Definition: display_helpers.h:102
MIRROR_VERTICAL
@ MIRROR_VERTICAL
Definition: display_helpers.h:74
Font8
sFONT Font8
Definition: font8.cpp:1001
PAINT::WidthMemory
uint16_t WidthMemory
Definition: display_helpers.h:32
MIRROR_IMAGE
MIRROR_IMAGE
Definition: display_helpers.h:71
MIRROR_HORIZONTAL
@ MIRROR_HORIZONTAL
Definition: display_helpers.h:73
Font16
sFONT Font16
Definition: font16.cpp:1761
DOT_FILL_RIGHTUP
@ DOT_FILL_RIGHTUP
Definition: display_helpers.h:115
DOT_PIXEL_6X6
@ DOT_PIXEL_6X6
Definition: display_helpers.h:104
PAINT::HeightMemory
uint16_t HeightMemory
Definition: display_helpers.h:33
_tFont::table
const uint8_t * table
Definition: display_helpers.h:47
DisplaySize_t::rotate
uint16_t rotate
Definition: display_helpers.h:19
DRAW_FILL_EMPTY
@ DRAW_FILL_EMPTY
Definition: display_helpers.h:131
DOT_STYLE
DOT_STYLE
Definition: display_helpers.h:113
PAINT::Scale
uint16_t Scale
Definition: display_helpers.h:39
DOT_FILL_AROUND
@ DOT_FILL_AROUND
Definition: display_helpers.h:114
MIRROR_ORIGIN
@ MIRROR_ORIGIN
Definition: display_helpers.h:75
DOT_PIXEL_7X7
@ DOT_PIXEL_7X7
Definition: display_helpers.h:105
DRAW_FILL_FULL
@ DRAW_FILL_FULL
Definition: display_helpers.h:132
PAINT::Width
uint16_t Width
Definition: display_helpers.h:30
DisplaySize_t::mirror
uint16_t mirror
Definition: display_helpers.h:20
DisplaySize_t
Display setup.
Definition: display_helpers.h:16
DOT_PIXEL
DOT_PIXEL
Definition: display_helpers.h:98
PAINT_TIME::Sec
uint8_t Sec
Definition: display_helpers.h:144
LINE_STYLE_SOLID
@ LINE_STYLE_SOLID
Definition: display_helpers.h:123