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

FreeRTOS compliant SSD1306 128x64 pixel OLED display device driver with I2C interface. More...

#include <ssd1306.h>

Inheritance diagram for rtos_SSD1306:
Inheritance graph
Collaboration diagram for rtos_SSD1306:
Collaboration graph

Public Member Functions

 rtos_SSD1306 (rtos_HW_I2C_Master *master, struct_ConfigSSD1306 device_config)
 constructor for FreeRTOS compliant SSD1306 device driver.
 
void clear_device_screen_buffer (uint8_t addressing_mode=0)
 write 0x00 directly into the device framebuffer (GDDRAM).
 
void send_clear_device_command (QueueHandle_t display_queue, SemaphoreHandle_t sending_done)
 Send a clear screen command to the display gate keeper task.
 
void show_from_display_queue (struct_DataToShow data_to_show)
 Show data from the display queue.
 
void show_render_area (uint8_t *data_buffer, struct_RenderArea display_area, uint8_t addressing_mode=0)
 when we need to show a render area with a given framebuffer
 
void fill_GDDRAM_with_pattern (uint8_t pattern, struct_RenderArea area, uint8_t addressing_mode=0)
 fill a pattern in the device framebuffer (GDDRAM). This is shown on display as soon as the GDDRAM buffer is transfered to the pixels. The pattern is a vertical byte representing 8 vertical pixels (refer to MONO_VLSB framebuffer format)
 
- Public Member Functions inherited from SSD1306
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.
 
 SSD1306 (HW_I2C_Master *master, struct_ConfigSSD1306 device_config)
 
void show (Canvas *canvas, const uint8_t anchor_x, const uint8_t anchor_y)
 
virtual void fill_pattern_and_show_GDDRAM (uint8_t pattern, struct_RenderArea area)
 fill a pattern in the device framebuffer. this make it visible as soon as the device transfer the framebuffer to the pixels. The pattern is a vertical byte representing 8 vertical pixels (refer to MONO_VLSB framebuffer format)
 
void clear_device_screen_buffer ()
 write 0x00 directly into the device framebuffer. Uses fill_pattern_and_show_GDDRAM command.
 
void set_contrast (uint8_t value)
 Set the contrast object. refer to datasheet of SSD1306 device.
 
void set_display_from_RAM ()
 Set the display from RAM object.
 
void set_all_pixel_ON ()
 Set the all pixel ON.
 
void set_inverse_color (bool inverse)
 Set the inverse color object.
 
void set_display_OFF ()
 Set the display OFF object.
 
void set_display_ON ()
 Set the display ON object.
 
void horizontal_scroll (bool on, struct_ConfigScrollSSD1306 scroll_data)
 
void vertical_scroll (bool on, struct_ConfigScrollSSD1306 scroll_data)
 
- 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

- Static Public Member Functions inherited from SSD1306
static struct_RenderArea compute_render_area (uint8_t start_col, uint8_t end_col, uint8_t start_line, uint8_t end_line)
 A static member function that converts the area we want to display into device specific parameters.
 
- 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)
 
- Protected Member Functions inherited from SSD1306
void init ()
 the master init function that calls all others
 
void init_MUX_ratio (uint8_t value)
 refer to SSD1306 data sheet for more details
 
void init_display_vertical_shift (uint8_t value)
 refer to SSD1306 data sheet for more details
 
void init_RAM_start_line (uint8_t value)
 refer to SSD1306 data sheet for more details
 
void init_SEG_scan_inverse_direction (bool inverse)
 refer to SSD1306 data sheet for more details
 
void init_COM_scan_inverse_direction (bool inverse)
 refer to SSD1306 data sheet for more details
 
void init_COM_cfg (bool sequentialCOM, bool enableCOMLRremap)
 refer to SSD1306 data sheet for more details
 
void init_clock_frequency (uint8_t divide_ratio, uint8_t frequency_factor)
 refer to SSD1306 data sheet for more details
 
void init_charge_pump_enabled (bool enabled)
 refer to SSD1306 data sheet for more details
 
void send_cmd (uint8_t cmd)
 refer to SSD1306 data sheet for more details
 
void send_cmd_list (uint8_t *cmd_list, int num)
 refer to SSD1306 data sheet for more details
 
- Protected Attributes inherited from SSD1306
HW_I2C_Masteri2c_master
 the I2C master that control the SSD1306 display
 
struct_ConfigSSD1306 device_config
 the SSD1306 device configuration
 

Detailed Description

FreeRTOS compliant SSD1306 128x64 pixel OLED display device driver with I2C interface.

Constructor & Destructor Documentation

◆ rtos_SSD1306()

rtos_SSD1306::rtos_SSD1306 ( rtos_HW_I2C_Master * master,
struct_ConfigSSD1306 device_config )

constructor for FreeRTOS compliant SSD1306 device driver.

Parameters
masterthe I2C master controller, compliant with FreeRTOS.
device_configThe configuration data of the display device.
Here is the call graph for this function:

Member Function Documentation

◆ clear_device_screen_buffer()

void rtos_SSD1306::clear_device_screen_buffer ( uint8_t addressing_mode = 0)

write 0x00 directly into the device framebuffer (GDDRAM).

Parameters
addressing_modethe way the data is written to the GDDRAM
Here is the call graph for this function:

◆ fill_GDDRAM_with_pattern()

void rtos_SSD1306::fill_GDDRAM_with_pattern ( uint8_t pattern,
struct_RenderArea area,
uint8_t addressing_mode = 0 )

fill a pattern in the device framebuffer (GDDRAM). This is shown on display as soon as the GDDRAM buffer is transfered to the pixels. The pattern is a vertical byte representing 8 vertical pixels (refer to MONO_VLSB framebuffer format)

Parameters
patternthe vertical pattern to copy in a set of 8 vertical pixel
areathe location of the area to copy the pattern
addressing_modethe way the data is written ti the GDDRAM
Here is the call graph for this function:
Here is the caller graph for this function:

◆ send_clear_device_command()

void rtos_SSD1306::send_clear_device_command ( QueueHandle_t display_queue,
SemaphoreHandle_t sending_done )

Send a clear screen command to the display gate keeper task.

Parameters
display_queueThe queue used to send data to the display gate keeper task.
sending_doneA semaphore to signal when the sending is done.

◆ show_from_display_queue()

void rtos_SSD1306::show_from_display_queue ( struct_DataToShow 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_render_area()

void rtos_SSD1306::show_render_area ( uint8_t * data_buffer,
struct_RenderArea screen_area,
uint8_t addressing_mode = 0 )
virtual

when we need to show a render area with a given framebuffer

Parameters
data_buffer
screen_area
addressing_mode

Reimplemented from SSD1306.

Here is the call graph for this function:

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