Files
STM32F4-Base/Drivers/BSP/UI/ui_net_sink_backend.h
T

48 lines
1.7 KiB
C

/*
* 模块名称:UI Network Sink Backend (平台后端接口)
* 模块功能:抽象 RemoDispBus 服务端的平台相关操作(LCDMEM 数据源 / 远端按键注入),
* 使 MCU 端与 PC 模拟器共用同一份 ui_net_sink.c 协议实现
* 适用平台:跨平台接口(MCU / PC 模拟器各提供一份实现)
* 作者:王建锋
* 创建日期:2026-09-10
* 修改记录:
* 2026-09-10 王建锋 创建初始版本(RemoDispBus 双端共用协议实现的平台抽象)
*/
#ifndef UI_NET_SINK_BACKEND_H
#define UI_NET_SINK_BACKEND_H
#include <stdint.h>
#ifdef __cplusplus
extern "C" {
#endif
/* 1bpp 帧缓冲尺寸(160x160 / 8 = 3200 字节,须与 ui_net_sink.c 的 UI_MEMSIZE 一致) */
#define UI_NET_SINK_MONO_SIZE 3200
/*
* 函数功能:读取当前 1bpp 屏幕位图(LCDMEM 应答的数据源)
* 入口参数:out - 输出缓冲(调用方分配,≥ UI_NET_SINK_MONO_SIZE 字节)
* out_size - out 容量(字节)
* 返回值:0 - 成功,-1 - 失败
* 限定条件:显示子系统已初始化
* 函数说明:MCU 端从 LVGL 帧缓冲拷贝;模拟器端读回 SDL 实际呈现像素再转 1bpp
*/
int ui_net_sink_get_lcdmem(uint8_t *out, uint32_t out_size);
/*
* 函数功能:向 UI 注入一个远端按键
* 入口参数:remo_key - 远端按键码(ui_port.h 的 UI_KEY_* 之一)
* 返回值:无
* 限定条件:输入子系统已初始化
* 函数说明:MCU 端经 ui_port_queue_key 缓存、由 keypad 回调上报;
* 模拟器端映射为 LV_KEY_* 后经 lv_group_send_data 注入
*/
void ui_net_sink_inject_key(uint8_t remo_key);
#ifdef __cplusplus
}
#endif
#endif /* UI_NET_SINK_BACKEND_H */