#pragma once #include #include "esp_err.h" #include "platform.h" #ifdef __cplusplus extern "C" { #endif /* * LCD 直接驱动的内部接口。 * 面板初始化、渲染任务及 SPI 访问均由本模块独占;platform facade 只做参数透传, * 不复制驱动状态。停止接口采用有界等待,presentation 请求在返回前完成深拷贝。 */ esp_err_t lcd_direct_init_device(void); esp_err_t lcd_direct_set_backlight_brightness(uint8_t brightness_percent); void lcd_direct_start_render_loop(void); esp_err_t lcd_direct_stop_render_loop(int timeout_ms); esp_err_t lcd_direct_set_status_overlay(const platform_lcd_status_overlay_t *overlay); esp_err_t lcd_direct_request_presentation(const platform_lcd_presentation_request_t *request); esp_err_t lcd_direct_preheat_presentation(const platform_lcd_presentation_request_t *request); uint32_t lcd_direct_presentation_completion_count(void); esp_err_t lcd_direct_wait_presentation_completion(uint32_t since_count, uint32_t timeout_ms); #ifdef __cplusplus } #endif