docs: 按照开发规范重构项目,完成七个环节文档整理与.xagent流程搭建
This commit is contained in:
64
Docs/40_ui-design/main.md
Normal file
64
Docs/40_ui-design/main.md
Normal file
@@ -0,0 +1,64 @@
|
||||
# UI 设计 (docs/40_ui-design/main.md)
|
||||
|
||||
本章节定义手环 120x240 AMOLED 屏幕的画面布局、各页面坐标位置、中文字体/ASCII 字符对齐基线以及局部刷新逻辑。
|
||||
|
||||
## 1. 屏幕物理参数与刷新机制
|
||||
|
||||
* **屏幕规格**:0.95寸 AMOLED 屏 (RM69310 控制芯片),物理分辨率 `120x240`。
|
||||
* **坐标偏移修正**:根据硬件布线,写屏窗口渲染存在 **4 像素的 X 轴偏移偏量**,软件在调用 `LCD_SetWindow()` 时必须强行追加该偏移。
|
||||
* **局部刷新防抖机制**:清除重绘标志(`Redraw`)的动作必须在具体的刷新绘制块结束时重置,防止因为主循环高速轮询而产生屏幕闪烁。
|
||||
|
||||
---
|
||||
|
||||
## 2. 页面布局与坐标坐标规范
|
||||
|
||||
### 2.1 时钟待机界面 (STATE_NORMAL / STATE_ARMED / STATE_DISARMED)
|
||||
|
||||
时钟页面作为常态显示,包括状态栏、数字时钟和日期行。
|
||||
|
||||
```
|
||||
+---------------------------------------+
|
||||
| 🔒 ARMED 🔋 85% | <- 状态栏 (Y=24~27)
|
||||
| |
|
||||
| |
|
||||
| 10:35 | <- 中央时间 (Y=80~128)
|
||||
| |
|
||||
| |
|
||||
| VEN. 07-10 | <- 底部日期 (Y=180)
|
||||
+---------------------------------------+
|
||||
```
|
||||
|
||||
* **状态栏电量显示(极重要)**:
|
||||
* **电池图标** 绘制在 `X=92, Y=27`。
|
||||
* **电量百分比** 绘制在 `X=62, Y=24`。
|
||||
* 两个控件保持 **6 像素安全间距**,彻底防范乱码和字符相撞。
|
||||
* **安防状态显示**:
|
||||
* **布防状态 (ARMED)**:状态栏左侧显示红色闭锁 `🔒` 图标,显示 `ARMED`。
|
||||
* **撤防状态 (DISARMED)**:状态栏左侧显示绿色开锁 `🔓` 图标,显示 `DISARMED`。
|
||||
|
||||
### 2.2 传感器配对选择菜单 (STATE_PAIR_MENU)
|
||||
|
||||
* **顶部标题**:显示 `MODE PAIR P-XX`(其中 XX 为当前已配对的传感器数量)。
|
||||
* **列表滚动框**:采用 3 行滚动列表,当前行高亮并显示粗体外框,字号放大(如 `DETEC. PORTE`),非当前行暗淡显示。
|
||||
|
||||
### 2.3 报警触发与本地 SOS 界面 (STATE_ALARMING / STATE_SOS_EMITTED)
|
||||
|
||||
* **报警提示边框**:全屏闪烁的红色警告虚线/实线边框。
|
||||
* **中央图标**:根据触发的防区传感器类型,居中绘制对应的单色位图图标(32x32px):
|
||||
* 门磁:`🚪` 开门图标。
|
||||
* 红外:`👤` 人体辐射波纹图标。
|
||||
* 烟感:`🔥` 火苗图标。
|
||||
* 燃气:`💨` 毒气云雾图标。
|
||||
* 水浸:`💧` 滴水波纹图标。
|
||||
* 主动 SOS:`🚨` 旋转警灯闪烁图标。
|
||||
* **底部两行小字**:
|
||||
* 第一行:传感器自定义法语名称(如 `PORTE ENTREE`)。
|
||||
* 第二行:防区信息与动作指示(如 `ZONE 1 | CRITIQUE`)。
|
||||
|
||||
---
|
||||
|
||||
## 3. 字模设计与基线修正规范
|
||||
|
||||
为保证排版美观,[Drivers/lcd_font.h](file:///c:/workfile/105/stc32g12k128/Drivers/lcd_font.h) 内的标准字模点阵需要满足如下基线对齐:
|
||||
* **标准 ASCII 字符集**:8x16 像素点阵。
|
||||
* **百分号(%)符号基线修正**:百分号字符在 `lcd_font.h` 数组的索引 `0x25` 中,点阵数据需**向上平移 2 像素**,以和 `0~9` 数字的基线保持严格水平对齐,避免百分号整体下沉。
|
||||
Reference in New Issue
Block a user