39 #include "freertos/FreeRTOS.h" 41 #include "esp32-hal.h" 42 #include "driver/spi_master.h" 103 void begin(SPIClass * spi, gpio_num_t DC, gpio_num_t RESX = GPIO_UNUSED, gpio_num_t CS = GPIO_UNUSED);
122 void begin(SPIClass * spi,
int DC,
int RESX = -1,
int CS = -1);
143 void begin(
int SCK,
int MOSI,
int DC,
int RESX,
int CS,
int host);
161 void setResolution(
char const * modeline,
int viewPortWidth = -1,
int viewPortHeight = -1,
bool doubleBuffered =
false);
216 void readScreen(
Rect const & rect,
RGB888 * destBuf);
221 void reset() { hardReset(); softReset(); }
227 int getBitmapSavePixelSize() {
return 2; }
234 void sendScreenBuffer(Rect updateRect);
235 void writeCommand(uint8_t cmd);
236 void writeByte(uint8_t
data);
237 void writeWord(uint16_t
data);
238 void writeData(
void *
data,
size_t size);
243 void SPIBeginWrite();
245 void SPIWriteByte(uint8_t
data);
246 void SPIWriteWord(uint16_t
data);
247 void SPIWriteBuffer(
void *
data,
size_t size);
249 void allocViewPort();
252 static void updateTaskFunc(
void * pvParameters);
255 void setPixelAt(PixelDesc
const & pixelDesc, Rect & updateRect);
258 void clear(Rect & updateRect);
261 void drawEllipse(Size
const & size, Rect & updateRect);
263 void VScroll(
int scroll, Rect & updateRect);
265 void HScroll(
int scroll, Rect & updateRect);
268 void drawGlyph(Glyph
const & glyph, GlyphOptions glyphOptions, RGB888 penColor, RGB888 brushColor, Rect & updateRect);
274 void invertRect(Rect
const & rect, Rect & updateRect);
277 void copyRect(Rect
const & source, Rect & updateRect);
280 void swapFGBG(Rect
const & rect, Rect & updateRect);
283 void absDrawLine(
int X1,
int Y1,
int X2,
int Y2, RGB888 color);
286 void rawFillRow(
int y,
int x1,
int x2, RGB888 color);
288 void rawFillRow(
int y,
int x1,
int x2, uint16_t pattern);
290 void swapRows(
int yA,
int yB,
int x1,
int x2);
292 void rawInvertRow(
int y,
int x1,
int x2);
295 void rawDrawBitmap_Native(
int destX,
int destY, Bitmap
const * bitmap,
int X1,
int Y1,
int XCount,
int YCount);
298 void rawDrawBitmap_Mask(
int destX,
int destY, Bitmap
const * bitmap,
void * saveBackground,
int X1,
int Y1,
int XCount,
int YCount);
301 void rawDrawBitmap_RGBA2222(
int destX,
int destY, Bitmap
const * bitmap,
void * saveBackground,
int X1,
int Y1,
int XCount,
int YCount);
304 void rawDrawBitmap_RGBA8888(
int destX,
int destY, Bitmap
const * bitmap,
void * saveBackground,
int X1,
int Y1,
int XCount,
int YCount);
309 spi_host_device_t m_SPIHost;
316 spi_device_handle_t m_SPIDevHandle;
320 uint16_t * * m_viewPort;
321 uint16_t * * m_viewPortVisible;
323 int16_t m_screenWidth;
324 int16_t m_screenHeight;
328 int16_t m_viewPortWidth;
329 int16_t m_viewPortHeight;
331 TaskHandle_t m_updateTaskHandle;
333 volatile int m_updateTaskFuncSuspended;
334 volatile bool m_updateTaskRunning;
Represents a 24 bit RGB color.
Definition: displaycontroller.h:218
void suspendBackgroundPrimitiveExecution()
Suspends drawings.
Definition: ST7789Controller.cpp:696
int getViewPortWidth()
Determines horizontal size of the viewport.
Definition: ST7789Controller.h:173
void setScreenRow(int value)
Set initial top row of the viewport.
Definition: ST7789Controller.cpp:257
void begin(SPIClass *spi, gpio_num_t DC, gpio_num_t RESX=GPIO_UNUSED, gpio_num_t CS=GPIO_UNUSED)
Initializes ST7789 display controller with Arduino style SPIClass object.
Definition: ST7789Controller.cpp:167
This file contains fabgl::DisplayController definition.
NativePixelFormat
This enum defines the display controller native pixel format.
Definition: displaycontroller.h:402
int16_t Y1
Definition: fabutils.h:106
int getViewPortHeight()
Determines vertical size of the viewport.
Definition: ST7789Controller.h:176
int getScreenWidth()
Determines the screen width in pixels.
Definition: ST7789Controller.h:179
int screenCol()
Gets initial left column of the viewport.
Definition: ST7789Controller.h:207
uint8_t const * data
Definition: displaycontroller.h:290
This file contains some utility classes and functions.
NativePixelFormat nativePixelFormat()
Represents the native pixel format used by this display.
Definition: ST7789Controller.h:170
Definition: canvas.cpp:31
Represents a rectangle.
Definition: fabutils.h:162
int getScreenHeight()
Determines the screen height in pixels.
Definition: ST7789Controller.h:182
int16_t X2
Definition: fabutils.h:107
void resumeBackgroundPrimitiveExecution()
Resumes drawings after suspendBackgroundPrimitiveExecution().
Definition: ST7789Controller.cpp:704
void setScreenCol(int value)
Set initial left column of the viewport.
Definition: ST7789Controller.cpp:247
This file contains FabGL library configuration settings, like number of supported colors...
Display driver for ST7789 based OLED display, with SPI connection.
Definition: ST7789Controller.h:74
int16_t Y2
Definition: fabutils.h:108
void setResolution(char const *modeline, int viewPortWidth=-1, int viewPortHeight=-1, bool doubleBuffered=false)
Sets ST7789 resolution and viewport size.
Definition: ST7789Controller.cpp:214
int screenRow()
Gets initial top row of the viewport.
Definition: ST7789Controller.h:214
void reset()
Performs display hardware and software.
Definition: ST7789Controller.h:221
int16_t X1
Definition: fabutils.h:105