3D Graphics Engine for ESP32
 
Loading...
Searching...
No Matches
driver_ek79007.hpp
Go to the documentation of this file.
1
33
34#pragma once
35
36#include "driver_lcd.hpp"
37
38
39namespace Ragot
40{
48 class DriverEK79007 : public DriverLCD
49 {
50 public:
51
56
62 ~DriverEK79007() override;
63
74 esp_err_t init(gpio_num_t reset_pin, gpio_num_t bk_pin) override;
75
84 esp_err_t deinit() override;
85
96 esp_err_t set_pixel(uint32_t x, uint32_t y, uint32_t color) override {return ESP_FAIL;};
97
107 esp_err_t send_frame_buffer(const void * frame_buffer) override;
108
120 IRAM_ATTR bool refresh_frame_buffer( esp_lcd_panel_handle_t panel, esp_lcd_dpi_panel_event_data_t * edata, void * user_ctx);
121
122 private:
132
133 private:
140
148 void bsp_init_lcd_backlight(gpio_num_t bk_pin);
149
150 public:
156 SemaphoreHandle_t refresh_semaphore;
157 };
158}
DriverEK79007()
Default constructor for the DriverEK79007 class.
Definition driver_ek79007.cpp:60
esp_err_t set_pixel(uint32_t x, uint32_t y, uint32_t color) override
Sets a pixel at the specified coordinates to the given color.
Definition driver_ek79007.hpp:96
void bsp_init_lcd_backlight(gpio_num_t bk_pin)
Initializes the LCD backlight.
Definition driver_ek79007.cpp:254
uint32_t hsync_front_porch
Horizontal front porch, number of pixel clock between the end of active data and the next hsync.
Definition driver_ek79007.hpp:126
esp_err_t deinit() override
Deinitializes the EK79007 LCD panel driver.
Definition driver_ek79007.cpp:182
esp_err_t send_frame_buffer(const void *frame_buffer) override
Sends a frame buffer to the EK79007 LCD panel.
Definition driver_ek79007.cpp:199
uint8_t mipi_lane_num
Number of MIPI DSI lanes used for the panel.
Definition driver_ek79007.hpp:130
uint32_t vsync_front_porch
Vertical front porch, number of invalid lines between the end of frame and the next vsync.
Definition driver_ek79007.hpp:129
uint32_t vsync_back_porch
Vertical back porch, number of invalid lines between vsync and start of frame.
Definition driver_ek79007.hpp:128
uint32_t vsync_pulse_width
Vertical sync width, in number of lines.
Definition driver_ek79007.hpp:127
~DriverEK79007() override
Destructor for the DriverEK79007 class.
Definition driver_ek79007.cpp:65
uint16_t mipi_dsi_max_data_rate_mbps
Maximum data rate of MIPI DSI in Mbps.
Definition driver_ek79007.hpp:131
uint32_t hsync_back_porch
Horizontal back porch, number of pixel clock between hsync and start of line active data.
Definition driver_ek79007.hpp:125
esp_err_t init(gpio_num_t reset_pin, gpio_num_t bk_pin) override
Initializes the EK79007 LCD panel driver.
Definition driver_ek79007.cpp:70
SemaphoreHandle_t refresh_semaphore
Refresh semaphore for synchronizing frame buffer updates.
Definition driver_ek79007.hpp:156
IRAM_ATTR bool refresh_frame_buffer(esp_lcd_panel_handle_t panel, esp_lcd_dpi_panel_event_data_t *edata, void *user_ctx)
Refreshes the frame buffer for the EK79007 LCD panel.
Definition driver_ek79007.cpp:266
uint32_t hsync_pulse_width
Horizontal sync width, in pixel clock.
Definition driver_ek79007.hpp:124
uint16_t panel_clk_freq_mhz
Horizontal pixel clock frequency in MHz.
Definition driver_ek79007.hpp:123
void bsp_enable_dsi_phy_power()
Enables the MIPI DSI PHY power.
Definition driver_ek79007.cpp:243
DriverLCD()=default
Default constructor for the DriverLCD class.
This file defines the DriverLCD class, which serves as a base class for LCD drivers in the Ragot engi...
Definition Assets.cpp:39