C++ DevKit
C++ set of OOP library
Loading...
Searching...
No Matches
rtos_ST7735 Class Reference

RTOS version of the ST7735 display device. More...

#include <st7735.h>

Inheritance diagram for rtos_ST7735:
Inheritance graph
Collaboration diagram for rtos_ST7735:
Collaboration graph

Public Member Functions

 rtos_ST7735 (rtos_HW_SPI_Master *spi, struct_ConfigST7735 device_config)
 Construct a new rtos_ST7735 object.
 
void show_from_display_queue (struct_WidgetDataToGateKeeper data_to_show)
 Show data from the display queue.
 
void show_widget (rtos_Widget *widget)
 Show the widget on the display device.
 
void show (Canvas *canvas, const uint8_t anchor_x, const uint8_t anchor_y)
 A pure virtual member function. It transfers the pixel buffer to the a part of display screen buffer starting at the (anchor_x, anchor_y) coordinates of the screen , expressed in pixel. This method takes into account the specific addressing scheme and memory structure of the actual display device.
 
void clear_device_screen_buffer ()
 Clear the device screen buffer.
 
void check_rtos_display_device_compatibility (struct_ConfigGraphicWidget framebuffer_cfg, CanvasFormat canvas_format)
 Check the compatibility of the framebuffer configuration with the display device physical limitations.
 
- Public Member Functions inherited from ST7735
 ST7735 (HW_SPI_Master *spi, struct_ConfigST7735 device_config)
 Construct a new ST7735 object.
 
void set_rotation_and_color (struct_ConfigST7735 device_config)
 set the actual position of the display
 
void set_display_ON ()
 Set the display ON object.
 
void set_display_OFF ()
 Set the display OFF object.
 
void enable_sleep (bool enable)
 turn the display in sleep mode on/off
 
void check_display_device_compatibility (struct_ConfigGraphicWidget framebuffer_cfg, CanvasFormat canvas_format)
 A pure virtual member function. Each device must implement this method and check the compatibility of the widget parameter with the its physical limitations.
 
virtual void clear_device_screen_buffer (ColorIndex color_index=ColorIndex::BLACK)
 fill the internal ST7735 screen buffer with the given color. Default to BLACK, clear the internal buffer
 
- Public Member Functions inherited from GraphicDisplayDevice
 GraphicDisplayDevice (size_t screen_width, size_t screen_height)
 Construct a new Display Device object.
 
virtual ~GraphicDisplayDevice ()
 Destroy the Display Device object.
 

Additional Inherited Members

- Public Attributes inherited from GraphicDisplayDevice
size_t TFT_panel_width_in_pixel
 the physical width of the screen (in pixel)
 
size_t TFT_panel_height_in_pixel
 the physical height of the screen (in pixel)
 
- Public Attributes inherited from rtos_DisplayDevice
SemaphoreHandle_t display_device_mutex
 the mutex to protect the display device access
 
- Protected Member Functions inherited from ST7735
void enable_command_pin (bool enable)
 enable or disable the command mode (DC pin low or high)
 
void hardware_reset ()
 hardware reset of the ST7735 device
 
void init_pins ()
 initialize pins for the ST7735 device
 
void device_wakeup ()
 wake up the device from sleep mode
 
void config_frame_rate_control ()
 config framerate control
 
void config_inversion_control ()
 config display inversion control
 
void config_power_control ()
 config power control
 
void config_gamma ()
 column row address set CASET , [0x00,0x01,0x00, width-1] RASET , [0x00,0x01,0x00, height-1] we start column 1
 
void set_normal_mode ()
 _set display normal ON NORON , sleep 10ms
 
void config_device_specific_size_and_offsets (struct_ConfigST7735 device_config)
 config specific device size and offsets
 
void send_cmd (uint8_t cmd)
 send a command to the ST7735 device
 
void send_cmd_list (uint8_t *cmd, size_t len)
 send a list of command to the ST7735 device
 
void send_buffer (uint8_t *buffer, size_t buffer_len)
 send a buffer of data to the ST7735 device
 
void set_backlight (bool on)
 set the backlight of the display
 
void soft_reset ()
 perform a software reset of the display
 
void set_RAM_write_addresses (uint8_t start_x, uint8_t start_y, size_t width, size_t height)
 set the RAM write addresses for the display
 
- Protected Attributes inherited from ST7735
HW_SPI_Masterspi
 SPI driver associated with the display.
 
uint dc_pin
 the GPIO connected to the Data/Command_ input
 
uint backlight_pin
 the GPIO connected to the backlight input
 
uint hw_reset_pin
 the GPIO connected to the hardware reset input
 
uint8_t ST7735_device_column_offset {0}
 the column offset for the ST7735 device
 
uint8_t ST7735_device_row_offset {0}
 the row offset for the ST7735 device
 
uint8_t TFT_panel_start_x {0}
 the x starting position of the TFT panel within the ST7735 memory
 
uint8_t TFT_panel_start_y {0}
 the y starting position of the TFT panel within the ST7735 memory
 
bool rgb_order
 a flag that indicates if the color order is RGB (true) or BGR (false)
 

Detailed Description

RTOS version of the ST7735 display device.

Constructor & Destructor Documentation

◆ rtos_ST7735()

rtos_ST7735::rtos_ST7735 ( rtos_HW_SPI_Master * spi,
struct_ConfigST7735 device_config )

Construct a new rtos_ST7735 object.

init for "red tab" version of display ... I don't know why _ wake up_ harware_reset SW_reset, sleep 150us SLPOUT, sleep 150us Frame rate control FRMCTR1 , [0x01, 0x2C, 0x2D] fastest refresh, 6 lines front, 3 lines back FRMCTR2 , [0x01, 0x2C, 0x2D] FRMCTR3 , [0x01, 0x2c, 0x2d, 0x01, 0x2c, 0x2d], sleep 10us display inversion control INVCTR , [0x07] power control PWCTR1 , [0xA2,0x02,0x84] PWCTR2 , [0xC5] VGH = 14.7V, VGL = -7.35V PWCTR3 , [0x0A, 0x00] opamp current small, boost frequency PWCTR4 , [0x8A, 0x2A] opamp current small, boost frequency PWCTR5 , [0x8A, 0xEE] opamp current small, boost frequency VMCTR1 , [0x0E] set rotation and color ---> MADCTL , [rotation and RBG] [0xC8]

Parameters
spithe rtos_HW_SPI_Master associated driver
device_configthe device configuration file

COLMOD , [0x05] column row address set ---> CASET , [0x00,0x0_0_,0x00, width-1] ---> RASET , [0x00,0x0_0_,0x00, height-1]

gamma ---> GMCTRP1 , [0x0f, 0x1a, 0x0f, 0x18, 0x2f, 0x28, 0x20, 0x22, 0x1f, 0x1b, 0x23, 0x37, 0x00, 0x07, 0x02, 0x10] ---> GMCTRN1 , [0x0f, 0x1b, 0x0f, 0x17, 0x33, 0x2c, 0x29, 0x2e, 0x30, 0x30, 0x39, 0x3f, 0x00, 0x07, 0x03, 0x10] _set display normal ON ---> DISPON NORON , sleep 10us

Here is the call graph for this function:

Member Function Documentation

◆ check_rtos_display_device_compatibility()

void rtos_ST7735::check_rtos_display_device_compatibility ( struct_ConfigGraphicWidget framebuffer_cfg,
CanvasFormat canvas_format )
virtual

Check the compatibility of the framebuffer configuration with the display device physical limitations.

Parameters
framebuffer_cfgthe widget configuration data
canvas_formatthe format of the canvas

Implements rtos_GraphicDisplayDevice.

Here is the call graph for this function:

◆ clear_device_screen_buffer()

void rtos_ST7735::clear_device_screen_buffer ( )
virtual

Clear the device screen buffer.

Implements rtos_DisplayDevice.

Here is the call graph for this function:

◆ show()

void rtos_ST7735::show ( Canvas * canvas,
const uint8_t anchor_x,
const uint8_t anchor_y )
virtual

A pure virtual member function. It transfers the pixel buffer to the a part of display screen buffer starting at the (anchor_x, anchor_y) coordinates of the screen , expressed in pixel. This method takes into account the specific addressing scheme and memory structure of the actual display device.

Parameters
canvasa pointer to the canvas that contains the buffer to be displayed
anchor_xthe x(horizontal) starting position of the frame within the display screen,(in pixel)
anchor_ythe y(vertical) starting position of the frame within the display screen,(in pixel)

Reimplemented from ST7735.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ show_from_display_queue()

void rtos_ST7735::show_from_display_queue ( struct_WidgetDataToGateKeeper data_to_show)

Show data from the display queue.

Parameters
data_to_showThe data to display.
Here is the call graph for this function:

◆ show_widget()

void rtos_ST7735::show_widget ( rtos_Widget * widget)
virtual

Show the widget on the display device.

Parameters
widgetthe widget to show

Implements rtos_DisplayDevice.

Here is the call graph for this function:

The documentation for this class was generated from the following files: