14#include <idfxx/lcd/panel_io>
15#include <idfxx/lcd/touch>
17#include <esp_lcd_touch.h>
45#ifdef CONFIG_COMPILER_CXX_EXCEPTIONS
71 static void process_coordinates(
80 std::shared_ptr<idfxx::lcd::panel_io> _panel_io;
SPI-based panel I/O interface.
STMPE610 resistive touch controller driver.
stmpe610(stmpe610 &&)=delete
stmpe610 & operator=(const stmpe610 &)=delete
static result< std::unique_ptr< stmpe610 > > make(std::shared_ptr< idfxx::lcd::panel_io > panel_io, struct config config)
Creates a new stmpe610 touch controller.
stmpe610(const stmpe610 &)=delete
esp_lcd_touch_handle_t idf_handle() const override
Returns the underlying ESP-IDF handle.
stmpe610(std::shared_ptr< idfxx::lcd::panel_io > panel_io, struct config config)
Creates a new stmpe610 touch controller.
stmpe610 & operator=(stmpe610 &&)=delete
Abstract base class for touch controllers.
std::move_only_function< void(uint16_t *x, uint16_t *y, uint16_t *strength, uint8_t *point_num, uint8_t max_point_num)> process_coordinates_callback
Callback type for processing touch coordinates.
std::expected< T, std::error_code > result
result type wrapping a value or error code.
Configuration structure for touch controllers.
esp_lcd_touch_t * esp_lcd_touch_handle_t