ST7789V3 1.47 Inch LCD Driver
Public API reference for the ST7789V3 display driver
Loading...
Searching...
No Matches
ST7789V3.c File Reference

This file will contain the main logic for using the ST7789V3 chips. More...

#include "ST7789V3.h"
#include <stddef.h>
#include <stdint.h>
Include dependency graph for ST7789V3.c:

Macros

#define FILLSCREEN_CHUNK_PIXELS   64U
 Number of pixels written per buffered chunk during full-screen fills.
 

Functions

void ST7789V3_init (ST7789V3_Config *config)
 Initialize the display and apply the default startup sequence.
 
int8_t SetColorMode (ST7789V3_Config *config, Color_Mode bitdepth)
 Set the controller pixel format.
 
void DISPLAYON (ST7789V3_Config *config)
 Enable display output.
 
void DISPLAYOFF (ST7789V3_Config *config)
 Disable display output.
 
void HardReset (ST7789V3_Config *config)
 Hard reset all settings to default.
 
void InvertDisplay (ST7789V3_Config *config, Inversion_Mode Inversion)
 Enable or disable display inversion.
 
int8_t SetWindow (ST7789V3_Config *config, uint16_t X_Start, uint16_t X_End, uint16_t Y_Start, uint16_t Y_End)
 Set the active drawing window on the display.
 
void SleepMode (ST7789V3_Config *config, Sleep_State sleepstate)
 Put the display into sleep mode or wake it up.
 
void FillScreen (ST7789V3_Config *config, uint32_t hexcolor)
 Fill the entire LCD with a single RGB565 color. e.g take orange convert it to 5 bit 6 bit 5 bit TODO: Make switch case for 12 bit 16, 18 bit.
 
int8_t DrawPixel (ST7789V3_Config *config, uint16_t x, uint16_t y, uint32_t hexcolor)
 Draw a single pixel using a 24-bit RGB888 input color.
 
void DrawChar (ST7789V3_Config *config, uint16_t x, uint16_t y, char user_char, uint32_t hexcolor, const FontDef *font)
 Draw a single printable ASCII character.
 
void SetRotation (ST7789V3_Config *config, Orientation orientation)
 Change the logical display rotation.
 
void DrawString (ST7789V3_Config *config, uint16_t x, uint16_t y, const char *str, uint32_t hexcolor, const FontDef *font)
 Draw a null-terminated string.
 
void DrawLine (ST7789V3_Config *config, uint16_t x0, uint16_t y0, uint16_t x1, uint16_t y1, uint32_t hexcolor)
 Draw a line between two points using Bresenham's algorithm.
 
void DrawRectangle (ST7789V3_Config *config, uint16_t x, uint16_t y, uint16_t width, uint16_t height, uint32_t hexcolor)
 Draw an unfilled rectangle outline.
 
void DrawFilledRectangle (ST7789V3_Config *config, uint16_t x, uint16_t y, uint16_t width, uint16_t height, uint32_t hexcolor)
 Draw a filled rectangle.
 
void DrawCircle (ST7789V3_Config *config, uint16_t x_center, uint16_t y_center, uint16_t radius, uint32_t hexcolor)
 Draw a circle outline using the midpoint circle algorithm.
 
void DrawFilledCircle (ST7789V3_Config *config, uint16_t x_center, uint16_t y_center, uint16_t radius, uint32_t hexcolor)
 Draw a filled circle using the midpoint circle algorithm.
 
int8_t ST7789V3_WriteBuffer_DMA (ST7789V3_Config *config, const uint8_t *buf, uint16_t len)
 Start a non-blocking DMA write of pixel data to the display.
 
void ST7789V3_DMA_Complete (ST7789V3_Config *config)
 Finish a successful DMA transfer and run the completion callback.
 
void ST7789V3_DMA_Error (ST7789V3_Config *config)
 Finish a failed DMA transfer and run the error callback.
 

Detailed Description

This file will contain the main logic for using the ST7789V3 chips.

Author
Anthony / SleepPandas