#pragma once #include #include #include #include class Jd9165Display final : public EspLcdDisplayV2 { esp_lcd_dsi_bus_handle_t mipiDsiBus = nullptr; esp_ldo_channel_handle_t ldoChannel = nullptr; bool createMipiDsiBus(); protected: bool createIoHandle(esp_lcd_panel_io_handle_t& ioHandle) override; esp_lcd_panel_dev_config_t createPanelConfig(std::shared_ptr espLcdConfiguration, gpio_num_t resetPin) override; bool createPanelHandle(esp_lcd_panel_io_handle_t ioHandle, const esp_lcd_panel_dev_config_t& panelConfig, esp_lcd_panel_handle_t& panelHandle) override; bool useDsiPanel() const override { return true; } lvgl_port_display_dsi_cfg_t getLvglPortDisplayDsiConfig(esp_lcd_panel_io_handle_t /*ioHandle*/, esp_lcd_panel_handle_t /*panelHandle*/) override; public: Jd9165Display( const std::shared_ptr& configuration ) : EspLcdDisplayV2(configuration) {} ~Jd9165Display() override; std::string getName() const override { return "JD9165"; } std::string getDescription() const override { return "JD9165 MIPI-DSI 1024x600 display"; } };