Files

30 lines
1.0 KiB
C

#pragma once
#include <stdint.h>
#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