#include "YellowDisplay.h" #include "Cst816Touch.h" #include "YellowDisplayConstants.h" #include #include static std::shared_ptr createTouch() { // Note: GPIO 25 for reset and GPIO 21 for interrupt? auto configuration = std::make_unique( I2C_NUM_0, 240, 320 ); return std::make_shared(std::move(configuration)); } std::shared_ptr createDisplay() { auto touch = createTouch(); auto configuration = std::make_unique( TWODOTFOUR_LCD_SPI_HOST, TWODOTFOUR_LCD_PIN_CS, TWODOTFOUR_LCD_PIN_DC, TWODOTFOUR_LCD_HORIZONTAL_RESOLUTION, TWODOTFOUR_LCD_VERTICAL_RESOLUTION, touch ); configuration->mirrorX = true; configuration->backlightDutyFunction = driver::pwmbacklight::setBacklightDuty; auto display = std::make_shared(std::move(configuration)); return std::reinterpret_pointer_cast(display); }