idfxx 1.0.0
Modern C++23 components for ESP-IDF
Loading...
Searching...
No Matches
idfxx::lcd::ili9341 Class Reference

ILI9341 display controller driver. More...

Inheritance diagram for idfxx::lcd::ili9341:
idfxx::lcd::panel

Public Member Functions

 ili9341 (std::shared_ptr< idfxx::lcd::panel_io > panel_io, panel::config config)
 Creates a new ili9341 panel.
 
 ~ili9341 ()
 
 ili9341 (const ili9341 &)=delete
 
ili9341operator= (const ili9341 &)=delete
 
 ili9341 (ili9341 &&)=delete
 
ili9341operator= (ili9341 &&)=delete
 
esp_lcd_panel_handle_t idf_handle () const override
 Returns the underlying ESP-IDF handle.
 
result< void > try_swap_xy (bool swap) override
 Swaps the X and Y axes.
 
result< void > try_mirror (bool mirrorX, bool mirrorY) override
 Mirrors the display.
 
result< void > try_display_on (bool on) override
 Turns the display on or off.
 
- Public Member Functions inherited from idfxx::lcd::panel
virtual ~panel ()=default
 
virtual void swap_xy (bool swap)
 Swaps the X and Y axes.
 
virtual void mirror (bool mirrorX, bool mirrorY)
 Mirrors the display.
 
virtual void display_on (bool on)
 Turns the display on or off.
 

Static Public Member Functions

static result< std::unique_ptr< ili9341 > > make (std::shared_ptr< idfxx::lcd::panel_io > panel_io, panel::config config)
 Creates a new ili9341 panel.
 

Detailed Description

ILI9341 display controller driver.

Driver for ILI9341-based LCD displays (typically 240x320 resolution).

Definition at line 31 of file ili9341.hpp.

Constructor & Destructor Documentation

◆ ili9341() [1/3]

idfxx::lcd::ili9341::ili9341 ( std::shared_ptr< idfxx::lcd::panel_io panel_io,
panel::config  config 
)
explicit

Creates a new ili9341 panel.

Parameters
panel_ioThe panel I/O interface.
configpanel configuration.
Note
Only available when CONFIG_COMPILER_CXX_EXCEPTIONS is enabled in menuconfig.
Exceptions
std::system_erroron error.

◆ ~ili9341()

idfxx::lcd::ili9341::~ili9341 ( )

◆ ili9341() [2/3]

idfxx::lcd::ili9341::ili9341 ( const ili9341 )
delete

◆ ili9341() [3/3]

idfxx::lcd::ili9341::ili9341 ( ili9341 &&  )
delete

Member Function Documentation

◆ idf_handle()

esp_lcd_panel_handle_t idfxx::lcd::ili9341::idf_handle ( ) const
overridevirtual

Returns the underlying ESP-IDF handle.

Implements idfxx::lcd::panel.

◆ make()

static result< std::unique_ptr< ili9341 > > idfxx::lcd::ili9341::make ( std::shared_ptr< idfxx::lcd::panel_io panel_io,
panel::config  config 
)
static

Creates a new ili9341 panel.

Parameters
panel_ioThe panel I/O interface.
configpanel configuration.
Returns
The new ili9341, or an error.

◆ operator=() [1/2]

ili9341 & idfxx::lcd::ili9341::operator= ( const ili9341 )
delete

◆ operator=() [2/2]

ili9341 & idfxx::lcd::ili9341::operator= ( ili9341 &&  )
delete

◆ try_display_on()

result< void > idfxx::lcd::ili9341::try_display_on ( bool  on)
overridevirtual

Turns the display on or off.

Parameters
ontrue to turn on, false to turn off.
Returns
Success, or an error.

Implements idfxx::lcd::panel.

◆ try_mirror()

result< void > idfxx::lcd::ili9341::try_mirror ( bool  mirrorX,
bool  mirrorY 
)
overridevirtual

Mirrors the display.

Parameters
mirrorXtrue to mirror horizontally.
mirrorYtrue to mirror vertically.
Returns
Success, or an error.

Implements idfxx::lcd::panel.

◆ try_swap_xy()

result< void > idfxx::lcd::ili9341::try_swap_xy ( bool  swap)
overridevirtual

Swaps the X and Y axes.

Parameters
swaptrue to swap, false for normal.
Returns
Success, or an error.

Implements idfxx::lcd::panel.


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