30 lines
1.0 KiB
C
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
|