13#include <idfxx/lcd/panel>
14#include <idfxx/lcd/panel_io>
16#include <esp_lcd_ili9341.h>
44#ifdef CONFIG_COMPILER_CXX_EXCEPTIONS
74 std::shared_ptr<idfxx::lcd::panel_io> _panel_io;
ILI9341 display controller driver.
result< void > try_swap_xy(bool swap) override
Swaps the X and Y axes.
ili9341 & operator=(ili9341 &&)=delete
esp_lcd_panel_handle_t idf_handle() const override
Returns the underlying ESP-IDF handle.
result< void > try_display_on(bool on) override
Turns the display on or off.
ili9341(ili9341 &&)=delete
ili9341(const ili9341 &)=delete
static result< std::unique_ptr< ili9341 > > make(std::shared_ptr< idfxx::lcd::panel_io > panel_io, panel::config config)
Creates a new ili9341 panel.
ili9341 & operator=(const ili9341 &)=delete
ili9341(std::shared_ptr< idfxx::lcd::panel_io > panel_io, panel::config config)
Creates a new ili9341 panel.
result< void > try_mirror(bool mirrorX, bool mirrorY) override
Mirrors the display.
SPI-based panel I/O interface.
Abstract base class for LCD panels.
std::expected< T, std::error_code > result
result type wrapping a value or error code.
struct esp_lcd_panel_t * esp_lcd_panel_handle_t
Configuration structure for LCD panels.