ePaper_EXT3_Basic_Library Reference Manual  501
Library for Pervasive Displays EXT3 - Basic level
Screen_EPD_EXT3.h
Go to the documentation of this file.
1 
31 // SDK
32 #if defined(ENERGIA) // LaunchPad specific
33 #include "Energia.h"
34 #else // Arduino general
35 #include "Arduino.h"
36 #endif // end IDE
37 
38 // Configuration
39 #include "hV_Configuration.h"
40 
41 #if (hV_CONFIGURATION_RELEASE < 507)
42 #error Required hV_CONFIGURATION_RELEASE 507
43 #endif // hV_CONFIGURATION_RELEASE
44 
45 #ifndef SCREEN_EPD_EXT3_RELEASE
46 #define SCREEN_EPD_EXT3_RELEASE 507
50 
51 // Other libraries
52 #include "SPI.h"
53 #include "hV_Screen_Buffer.h"
54 
55 #if (hV_SCREEN_BUFFER_RELEASE < 507)
56 #error Required hV_SCREEN_BUFFER_RELEASE 507
57 #endif // hV_SCREEN_BUFFER_RELEASE
58 
59 
60 // Objects
61 //
62 
75 class Screen_EPD_EXT3 final : public hV_Screen_Buffer
76 {
77  public:
84  Screen_EPD_EXT3(eScreen_EPD_EXT3_t eScreen_EPD_EXT3, pins_t board);
85 
91  void begin();
92 
97  String WhoAmI();
98 
104  void clear(uint16_t colour = myColours.white);
105 
110  void invert(bool flag);
111 
116  void flush();
117 
126  void point(uint16_t x1, uint16_t y1, uint16_t colour);
127 
136  uint16_t readPixel(uint16_t x1, uint16_t y1);
137 
142  uint8_t getRefreshTime();
143 
149 
150  protected:
152 
161  void _reset(uint32_t ms1, uint32_t ms2, uint32_t ms3, uint32_t ms4, uint32_t ms5);
162 
163  // * Virtual =0 compulsory functions
164  // Screen-specific
172  void _sendIndexData(uint8_t index, const uint8_t * data, uint32_t size);
173 
181  void _sendIndexDataMaster(uint8_t index, const uint8_t * data, uint32_t size);
182 
189  void _sendIndexDataSlave(uint8_t index, const uint8_t * data, uint32_t size);
190 
191  // Orientation
196  void _setOrientation(uint8_t orientation) ; // compulsory
197 
204  bool _orientCoordinates(uint16_t & x, uint16_t & y); // compulsory
205 
206  // Position
207 
208  // Write and Read
215  void _setPoint(uint16_t x1, uint16_t y1, uint16_t colour);
216 
223  uint16_t _getPoint(uint16_t x1, uint16_t y1);
224 
231  uint32_t _getZ(uint16_t x1, uint16_t y1);
232 
237  void _waitBusy();
238 
239  // Touch
240  // No touch
241 
242  // Energy
243  // No energy
244 
245  // * Other functions specific to the screen
246 
247  // Screen independent variables
248  uint8_t * _newImage;
249  bool _invert;
250  uint16_t _widthScreen, _heightScreen;
251 
252  // Screen dependent variables
253  pins_t _pin;
254  uint8_t _codeSize;
255  uint8_t _codeType;
256  uint16_t _widthBuffer, _heightBuffer, _depthBuffer, _numberBuffer;
257  uint32_t _sizePageColour, _sizeFrame;
258  uint8_t _refreshTime;
260 };
261 
262 #endif // SCREEN_EPD_EXT3_RELEASE
font_s getFontDetails()
Get the details of the selected font.
Definition: Screen_EPD_EXT3.cpp:1216
static const uint16_t white
white
Definition: hV_Colours565.h:54
void begin()
Initialisation.
Definition: Screen_EPD_EXT3.cpp:54
Configuration of the options for Pervasive Displays Library Suite.
Board configuration structure.
Definition: hV_Configuration.h:140
Class Generic LCD with buffer class library.
hV_Colours565 myColours
Instantiated object.
Definition: hV_Colours565.cpp:25
Class for Pervasive Displays iTC BWR screens.
Definition: Screen_EPD_EXT3.h:75
Structure for font.
Definition: hV_Font.h:90
Screen_EPD_EXT3(eScreen_EPD_EXT3_t eScreen_EPD_EXT3, pins_t board)
Constructor with default pins.
Definition: Screen_EPD_EXT3.cpp:46
Generic class for buffered LCD.
Definition: hV_Screen_Buffer.h:56
void point(uint16_t x1, uint16_t y1, uint16_t colour)
Draw pixel.
Definition: Screen_EPD_EXT3.cpp:1085
#define eScreen_EPD_EXT3_t
Definition: hV_Configuration.h:61
void invert(bool flag)
Invert screen.
Definition: Screen_EPD_EXT3.cpp:890
uint8_t getRefreshTime()
Screen refresh time for the BWR screens.
Definition: Screen_EPD_EXT3.cpp:1211
void clear(uint16_t colour=myColours.white)
Clear the screen.
Definition: Screen_EPD_EXT3.cpp:828
void flush()
Update the display, global update.
Definition: Screen_EPD_EXT3.cpp:371
uint16_t readPixel(uint16_t x1, uint16_t y1)
Read pixel colour.
Definition: Screen_EPD_EXT3.cpp:1090
String WhoAmI()
Who Am I.
Definition: Screen_EPD_EXT3.cpp:345