45 #include "freertos/FreeRTOS.h" 47 #include "driver/spi_master.h" 54 #define TFT_CASET 0x2A 55 #define TFT_RASET 0x2B 56 #define TFT_RAMWR 0x2C 57 #define TFT_MADCTL 0x36 123 void begin(SPIClass * spi, gpio_num_t DC, gpio_num_t RESX = GPIO_UNUSED, gpio_num_t CS = GPIO_UNUSED);
144 void begin(SPIClass * spi,
int DC,
int RESX = -1,
int CS = -1);
166 void begin(
int SCK,
int MOSI,
int DC,
int RESX,
int CS,
int host);
197 void setResolution(
char const * modeline,
int viewPortWidth = -1,
int viewPortHeight = -1,
bool doubleBuffered =
false);
246 void readScreen(
Rect const & rect,
RGB888 * destBuf);
251 void reset() { hardReset(); softReset(); }
278 virtual void softReset() = 0;
280 virtual void setupOrientation();
283 int getBitmapSavePixelSize() {
return 2; }
291 void sendScreenBuffer(Rect updateRect);
292 void writeCommand(uint8_t cmd);
293 void writeByte(uint8_t
data);
294 void writeWord(uint16_t
data);
295 void writeData(
void *
data,
size_t size);
300 void SPIBeginWrite();
302 void SPIWriteByte(uint8_t
data);
303 void SPIWriteWord(uint16_t
data);
304 void SPIWriteBuffer(
void *
data,
size_t size);
306 void allocViewPort();
309 static void updateTaskFunc(
void * pvParameters);
312 void setPixelAt(PixelDesc
const & pixelDesc, Rect & updateRect);
315 void clear(Rect & updateRect);
318 void drawEllipse(Size
const & size, Rect & updateRect);
320 void VScroll(
int scroll, Rect & updateRect);
322 void HScroll(
int scroll, Rect & updateRect);
325 void drawGlyph(Glyph
const & glyph, GlyphOptions glyphOptions, RGB888 penColor, RGB888 brushColor, Rect & updateRect);
331 void invertRect(Rect
const & rect, Rect & updateRect);
334 void copyRect(Rect
const & source, Rect & updateRect);
337 void swapFGBG(Rect
const & rect, Rect & updateRect);
340 void absDrawLine(
int X1,
int Y1,
int X2,
int Y2, RGB888 color);
343 void rawFillRow(
int y,
int x1,
int x2, RGB888 color);
345 void rawFillRow(
int y,
int x1,
int x2, uint16_t pattern);
347 void swapRows(
int yA,
int yB,
int x1,
int x2);
349 void rawInvertRow(
int y,
int x1,
int x2);
352 void rawDrawBitmap_Native(
int destX,
int destY, Bitmap
const * bitmap,
int X1,
int Y1,
int XCount,
int YCount);
355 void rawDrawBitmap_Mask(
int destX,
int destY, Bitmap
const * bitmap,
void * saveBackground,
int X1,
int Y1,
int XCount,
int YCount);
358 void rawDrawBitmap_RGBA2222(
int destX,
int destY, Bitmap
const * bitmap,
void * saveBackground,
int X1,
int Y1,
int XCount,
int YCount);
361 void rawDrawBitmap_RGBA8888(
int destX,
int destY, Bitmap
const * bitmap,
void * saveBackground,
int X1,
int Y1,
int XCount,
int YCount);
368 spi_host_device_t m_SPIHost;
375 spi_device_handle_t m_SPIDevHandle;
377 uint16_t * * m_viewPort;
379 int16_t m_screenWidth;
380 int16_t m_screenHeight;
384 int16_t m_viewPortWidth;
385 int16_t m_viewPortHeight;
388 int16_t m_rot0ViewPortWidth;
389 int16_t m_rot0ViewPortHeight;
392 int16_t m_controllerWidth;
393 int16_t m_controllerHeight;
396 int16_t m_rotOffsetX;
397 int16_t m_rotOffsetY;
399 TaskHandle_t m_updateTaskHandle;
401 volatile int m_updateTaskFuncSuspended;
402 volatile bool m_updateTaskRunning;
405 bool m_reverseHorizontal;
Represents a 24 bit RGB color.
void reset()
Performs display hardware and software.
int screenCol()
Gets initial left column of the viewport.
NativePixelFormat nativePixelFormat()
Represents the native pixel format used by this display.
int screenRow()
Gets initial top row of the viewport.
void resumeBackgroundPrimitiveExecution()
Resumes drawings after suspendBackgroundPrimitiveExecution().
Base abstract class for TFT drivers with SPI connection.
void setScreenRow(int value)
Set initial top row of the viewport.
void suspendBackgroundPrimitiveExecution()
Suspends drawings.
This file contains fabgl::BitmappedDisplayController definition.
void setOrientation(TFTOrientation value, bool force=false)
Set display orientation and rotation.
This file contains some utility classes and functions.
TFTOrientation
This enum defines TFT orientation.
NativePixelFormat
This enum defines the display controller native pixel format.
void setResolution(char const *modeline, int viewPortWidth=-1, int viewPortHeight=-1, bool doubleBuffered=false)
Sets TFT resolution and viewport size.
This file contains FabGL library configuration settings, like number of supported colors...
void setReverseHorizontal(bool value)
Inverts horizontal axis.
void setScreenCol(int value)
Set initial left column of the viewport.
void begin()
Initializes TFT display controller.
int getViewPortWidth()
Determines horizontal size of the viewport.
int getViewPortHeight()
Determines vertical size of the viewport.