- `DisplayDevice` improvements related `DisplayDriver` - Replaced incorrect usage of `spiBusHandle` with `spiHostDevice` in all SPI display devices - Disabled `DisplayDriver` support for RGB displays for now - Updated `GraphicsDemo` project for the above changes - TactilityC improvements: - created `tt_hal_device_find()` - created `tt_hal_display_*` - created `tt_hal_touch_*` - created `tt_lvgl_*` - export `tt_app_*` calls
38 lines
1.2 KiB
C++
38 lines
1.2 KiB
C++
#pragma once
|
|
|
|
#include <Tactility/Mutex.h>
|
|
|
|
#include <EspLcdDisplay.h>
|
|
#include <lvgl.h>
|
|
|
|
class CydDisplay final : public EspLcdDisplay {
|
|
|
|
std::shared_ptr<tt::hal::touch::TouchDevice> _Nullable touchDevice;
|
|
|
|
bool createIoHandle(esp_lcd_panel_io_handle_t& outHandle) override;
|
|
|
|
bool createPanelHandle(esp_lcd_panel_io_handle_t ioHandle, esp_lcd_panel_handle_t& panelHandle) override;
|
|
|
|
lvgl_port_display_cfg_t getLvglPortDisplayConfig(esp_lcd_panel_io_handle_t ioHandle, esp_lcd_panel_handle_t panelHandle) override;
|
|
|
|
bool isRgbPanel() const override { return true; }
|
|
|
|
lvgl_port_display_rgb_cfg_t getLvglPortDisplayRgbConfig(esp_lcd_panel_io_handle_t ioHandle, esp_lcd_panel_handle_t panelHandle) override;
|
|
|
|
public:
|
|
|
|
CydDisplay() : EspLcdDisplay(std::make_shared<tt::Mutex>(tt::Mutex::Type::Recursive)) {}
|
|
|
|
std::string getName() const override { return "ST7701S"; }
|
|
|
|
std::string getDescription() const override { return "ST7701S RGB display"; }
|
|
|
|
std::shared_ptr<tt::hal::touch::TouchDevice> _Nullable getTouchDevice() override;
|
|
|
|
void setBacklightDuty(uint8_t backlightDuty) override;
|
|
|
|
bool supportsBacklightDuty() const override { return true; }
|
|
};
|
|
|
|
std::shared_ptr<tt::hal::display::DisplayDevice> createDisplay();
|