48 lines
1.7 KiB
C
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 */
|