7#ifdef USE_ESP32_VARIANT_ESP32P4
16#include "esp_lcd_panel_ops.h"
17#include "esp_lcd_panel_io.h"
19#include "esp_lcd_mipi_dsi.h"
113 const uint16_t rgb565 = display::ColorUtil::color_to_565(color);
int int int const uint8_t ColorOrder ColorBitness bitness
int int int const uint8_t ColorOrder ColorBitness bool int int y_offset
int int int const uint8_t ColorOrder ColorBitness bool int int int x_pad
int int int const uint8_t * ptr
int int int const uint8_t ColorOrder ColorBitness bool big_endian
int int int const uint8_t ColorOrder ColorBitness bool int x_offset
DisplayRotation rotation_
void mark_dirty_(int x_start, int y_start, int w, int h)
display::ColorBitness color_depth_
uint16_t hsync_front_porch_
esp_lcd_panel_handle_t handle_
int get_height_internal() override
uint16_t hsync_pulse_width_
esp_lcd_panel_io_handle_t io_handle_
uint16_t vsync_front_porch_
uint16_t to_panel_565_(Color color) const
Pack a colour as the 565 value the panel's byte order expects in memory.
int get_width_internal() override
void draw_pixel_at(int x, int y, Color color) override
void set_init_sequence(const uint8_t *init_sequence, size_t len)
void set_vsync_front_porch(uint16_t vsync_front_porch)
std::vector< GPIOPin * > enable_pins_
void write_to_display_(int x_start, int y_start, int w, int h, const uint8_t *ptr, int x_offset, int y_offset, int x_pad)
void set_model(const char *model)
void set_reset_pin(GPIOPin *reset_pin)
void set_big_endian(bool big_endian)
void draw_pixels_internal(int x_start, int y_start, int w, int h, const uint8_t *ptr, display::ColorBitness bitness, bool big_endian, int x_offset, int y_offset, int x_pad) override
SemaphoreHandle_t io_lock_
uint16_t vsync_back_porch_
void smark_failed(const LogString *message, esp_err_t err)
void set_vsync_pulse_width(uint16_t vsync_pulse_width)
void set_pclk_frequency(float pclk_frequency)
esp_lcd_dsi_bus_handle_t bus_handle_
void fill(Color color) override
void set_vsync_back_porch(uint16_t vsync_back_porch)
int get_height() override
const uint8_t * init_sequence_
void set_hsync_front_porch(uint16_t hsync_front_porch)
void set_enable_pins(std::vector< GPIOPin * > enable_pins)
void set_invert_colors(bool invert_colors)
void flush_dirty_()
Send the region touched since the last flush to the panel.
void dump_config() override
size_t init_sequence_len_
uint16_t hsync_back_porch_
void set_hsync_pulse_width(uint16_t hsync_pulse_width)
display::DisplayType get_display_type() override
void rotate_(int &x, int &y) const
void set_lanes(uint8_t lanes)
MipiDsi(size_t width, size_t height, display::ColorBitness color_depth, uint8_t pixel_mode)
uint16_t vsync_pulse_width_
void set_hsync_back_porch(uint16_t hsync_back_porch)
void set_lane_bit_rate(float lane_bit_rate)
const LogString * message
@ DISPLAY_ROTATION_0_DEGREES
@ DISPLAY_ROTATION_270_DEGREES
@ DISPLAY_ROTATION_180_DEGREES
@ DISPLAY_ROTATION_90_DEGREES
const uint8_t MADCTL_YFLIP
ESPHOME_LOG_TAG(TAG, "display.mipi_dsi")
const uint8_t MADCTL_XFLIP
const uint8_t SW_RESET_CMD
constexpr T convert_big_endian(T val)
Convert a value between host byte order and big endian (most significant byte first) order.