docs: clean up and align menu names in architecture main.md

This commit is contained in:
2026-07-09 18:36:20 +08:00
parent 2068edd205
commit 9f54220e27

View File

@@ -53,18 +53,18 @@ stateDiagram-v2
STATE_MENU --> STATE_SLEEP : 10秒无操作超时 STATE_MENU --> STATE_SLEEP : 10秒无操作超时
%% 子设置页面迁移 %% 子设置页面迁移
STATE_MENU --> STATE_SET_TIME : 选中 "1. DATE/HEURE" + 确认键单击 STATE_MENU --> STATE_SET_TIME : 选中 "1. HORLOGE" + 确认键单击
STATE_SET_TIME --> STATE_CLOCK : 保存退出 / 10秒无操作超时 STATE_SET_TIME --> STATE_CLOCK : 保存退出 / 10秒无操作超时
STATE_MENU --> STATE_PAIR_SEARCH : 选中 "2. APPAIRAGE" + 确认键单击 STATE_MENU --> STATE_PAIR_SEARCH : 选中 "2. APPAIR." + 确认键单击
STATE_PAIR_SEARCH --> STATE_PAIR_CONFIRM : 捕获 433MHz 传感器数据 (自动识别传感器类型) STATE_PAIR_SEARCH --> STATE_PAIR_CONFIRM : 捕获 433MHz 传感器数据 (自动识别传感器类型)
STATE_PAIR_CONFIRM --> STATE_CLOCK : 序号微调后 CONFIRM 确认保存 STATE_PAIR_CONFIRM --> STATE_CLOCK : 序号微调后 CONFIRM 确认保存
STATE_PAIR_SEARCH --> STATE_MENU : 长按 ▼ 键退出 STATE_PAIR_SEARCH --> STATE_MENU : 长按 ▼ 键退出
STATE_MENU --> STATE_ARM_DISARM_SELECT : 选中 "3. ARM/DISARM" + 确认键单击 STATE_MENU --> STATE_ARM_DISARM_SELECT : 选中 "3. ALARME" + 确认键单击
STATE_ARM_DISARM_SELECT --> STATE_CLOCK : 选择完成并返回 STATE_ARM_DISARM_SELECT --> STATE_CLOCK : 选择完成并返回
STATE_MENU --> STATE_IPC_BIND : 选中 "4. LIAISON IPC" + 确认键单击 STATE_MENU --> STATE_IPC_BIND : 选中 "4. LIAISON" + 确认键单击
STATE_IPC_BIND --> STATE_CLOCK : 发射结束 / 确认键长按 3s 退出 / ▼键长按 2s 退出 STATE_IPC_BIND --> STATE_CLOCK : 发射结束 / 确认键长按 3s 退出 / ▼键长按 2s 退出
%% 报警迁移 %% 报警迁移
@@ -116,7 +116,7 @@ graph TD
end end
subgraph Layer2 [外设驱动层 (DRV)] subgraph Layer2 [外设驱动层 (DRV)]
AMOLED[RM69310 AMOLED 屏幕绘制] AMOLED[RM69310 AMOLED 屏幕绘制]
RF[LR690L 编解码 & 过滤 0x08 SOS 信号] RF[LR690L 编解码 & 接收处理]
KEY[按键消抖 & 长按长计时] KEY[按键消抖 & 长按长计时]
PM[低功耗休眠与唤醒] PM[低功耗休眠与唤醒]
LED[WS2812B 级联双彩灯时序] LED[WS2812B 级联双彩灯时序]
@@ -221,9 +221,9 @@ void main(void) {
| :--- | :--- | :--- | :--- | | :--- | :--- | :--- | :--- |
| **按键模块 (KEY)** | 物理引脚P0.1~P0.5)电平状态改变 | `KeyEvent`<br>- `KEY_UP_SHORT` / `KEY_DOWN_SHORT`<br>- `KEY_DOWN_LONG` (长按▼ 2秒)<br>- `KEY_CONFIRM_CLICK`<br>- `KEY_CONFIRM_LONG` (长按■ 3秒)<br>- `KEY_SOS_SHORT` / `KEY_SOS_LONG` (SOS键短按或长按) | 写入全局事件缓冲队列 `key_event_buf`。由 **APP 应用状态机** 读出后用于控制页面导航、退出告警或启动对码。 | | **按键模块 (KEY)** | 物理引脚P0.1~P0.5)电平状态改变 | `KeyEvent`<br>- `KEY_UP_SHORT` / `KEY_DOWN_SHORT`<br>- `KEY_DOWN_LONG` (长按▼ 2秒)<br>- `KEY_CONFIRM_CLICK`<br>- `KEY_CONFIRM_LONG` (长按■ 3秒)<br>- `KEY_SOS_SHORT` / `KEY_SOS_LONG` (SOS键短按或长按) | 写入全局事件缓冲队列 `key_event_buf`。由 **APP 应用状态机** 读出后用于控制页面导航、退出告警或启动对码。 |
| **无线射频 (RF)** | LR690L 433MHz 载波信号接收(输入电平变化) | `RFEvent` (包含 `rx_addr``rx_type`) | 传递至 **APP 状态机**`Process_RF_Event` 进行报警分发。 | | **无线射频 (RF)** | LR690L 433MHz 载波信号接收(输入电平变化) | `RFEvent` (包含 `rx_addr``rx_type`) | 传递至 **APP 状态机**`Process_RF_Event` 进行报警分发。 |
| **状态机 (APP)** | 消耗 `key_event_buf``RFEvent` | `SysState` 业务状态跳转及动作指令 | 1. 改变 `current_state` 并设置 `Redraw = 1`<br>2. 调度 **LED****MOTOR** 开启报警灯效/马达振动;<br>3. 写入 **IAP Flash 数据库** 配对记录;<br>4. 调用 **RF** 发送 `0x01` (IPC对码) 或 `0x08` (主动SOS)。 | | **状态机 (APP)** | 消耗 `key_event_buf``RFEvent` | `SysState` 业务状态跳转及动作指令 | 1. 改变 `current_state` 并设置 `Redraw = 1`<br>2. 调度 **LED****MOTOR** 开启报警灯效/马达振动;<br>3. 写入 **IAP Flash 数据库** 配对记录;<br>4. 调用 **RF** 发送对码或主动SOS信号。 |
| **显示模块 (LCD)** | 状态机重绘请求 `Redraw == 1` | SPI 串行像素显示数据流 | 驱动 **Truly AMOLED** 渲染当前状态所对应的时钟、主菜单、对码、时间设定或报警画面。 | | **显示模块 (LCD)** | 状态机重绘请求 `Redraw == 1` | SPI 像素渲染显示流 | 驱动 **Truly AMOLED** 渲染当前状态所对应的时钟、主菜单、对码、时间设定或报警画面。 |
| **供电管理 (POWER)**| 1. `inactivity_timer >= 1000` (10秒超时)<br>2. 中断唤醒信号 (GPIO/INT2) | 电源电平控制及停机状态 | 1. **进入休眠**:发出关屏指令 $ | **供电管理 (POWER)**| 1. `inactivity_timer >= 1000` (10秒超时)<br>2. 中断唤醒信号 (GPIO/INT2) | 电源电平控制及停机状态 | 1. **进入休眠**:发出关屏指令 -> 拉低 `SGM_CTRL = 0` -> 执行停机挂起(主循环暂停在 `Enter_Low_Power_Sleep` 内);<br>2. **唤醒恢复**:拉高 `SGM_CTRL = 1` -> 延时 50ms -> 重新初始化 RM69310 屏幕控制器(主循环恢复运行并重绘时钟)。 |
| **彩灯模块 (LED)** | 状态机调用报警指示请求 | SPI 48-bit 灯珠级联控制字 | 向两颗级联的 WS2812B 发送颜色数据(报警时交替闪烁,配对时常亮)。 | | **彩灯模块 (LED)** | 状态机调用报警指示请求 | SPI 48-bit 灯珠级联控制字 | 向两颗级联的 WS2812B 发送颜色数据(报警时交替闪烁,配对时常亮)。 |
| **马达模块 (MOTOR)**| 状态机请求按键反馈/告警振动 | IO 电平状态控制字 (P2.5) | 定时驱动 `P2.5` 引脚电平产生不同振动波形(如短振、长振、间歇循环振动)。 | | **马达模块 (MOTOR)**| 状态机请求按键反馈/告警振动 | IO 电平状态控制字 (P2.5) | 定时驱动 `P2.5` 引脚电平产生不同振动波形(如短振、长振、间歇循环振动)。 |
@@ -281,4 +281,3 @@ flowchart TD
| **中断唤醒系统事件**<br>`SYSTEM_WAKEUP_EVENT` | **源**P0口按键沿变化或 INT2 载波接收中断。 | **当前状态**`STATE_SLEEP` (深度休眠中)。 | 1. **状态**:切回 `STATE_CLOCK`<br>2. **电源**:拉高 `SGM_CTRL = 1` 恢复 OLED 供电;<br>3. **延迟**:延时 50ms 避开冲击电流并完成 RM69310 的重初始化;<br>4. **显示**:置 `Redraw = 1` 重绘时钟走时界面。 | | **中断唤醒系统事件**<br>`SYSTEM_WAKEUP_EVENT` | **源**P0口按键沿变化或 INT2 载波接收中断。 | **当前状态**`STATE_SLEEP` (深度休眠中)。 | 1. **状态**:切回 `STATE_CLOCK`<br>2. **电源**:拉高 `SGM_CTRL = 1` 恢复 OLED 供电;<br>3. **延迟**:延时 50ms 避开冲击电流并完成 RM69310 的重初始化;<br>4. **显示**:置 `Redraw = 1` 重绘时钟走时界面。 |
| **IPC 摄像头对码事件**<br>`IPC_BIND_SEND_EVENT` | **源**:在菜单中确认进入 `4. LIAISON`。 | **当前状态**`STATE_IPC_BIND`。 | 1. **无线**:连发 433MHz 手环 Factory ID 及 `0x01` 绑定对码包;<br>2. **显示**:呈现 48x48px 摄像头大图标及 `LIAISON EN COURS`<br>3. **退出**:长按确认键 3 秒或长按 ▼ 键 2 秒,退出并恢复时钟。 | | **IPC 摄像头对码事件**<br>`IPC_BIND_SEND_EVENT` | **源**:在菜单中确认进入 `4. LIAISON`。 | **当前状态**`STATE_IPC_BIND`。 | 1. **无线**:连发 433MHz 手环 Factory ID 及 `0x01` 绑定对码包;<br>2. **显示**:呈现 48x48px 摄像头大图标及 `LIAISON EN COURS`<br>3. **退出**:长按确认键 3 秒或长按 ▼ 键 2 秒,退出并恢复时钟。 |
| **警报解除复位事件**<br>`ALARM_CLEAR_EVENT` | **源**:报警状态下侧边或上部任意按键按下。 | **当前状态**`STATE_ALARMING``STATE_SOS_EMITTED`。 | 1. **状态**:切回 `STATE_CLOCK`<br>2. **灯效**WS2812B 彻底熄灭;<br>3. **马达**:清空马达状态并立即停振;<br>4. **显示**:置 `Redraw = 1`LCD 重绘走时时钟。 | | **警报解除复位事件**<br>`ALARM_CLEAR_EVENT` | **源**:报警状态下侧边或上部任意按键按下。 | **当前状态**`STATE_ALARMING``STATE_SOS_EMITTED`。 | 1. **状态**:切回 `STATE_CLOCK`<br>2. **灯效**WS2812B 彻底熄灭;<br>3. **马达**:清空马达状态并立即停振;<br>4. **显示**:置 `Redraw = 1`LCD 重绘走时时钟。 |
| **系统自动休眠事件**<br>`AUTO_SLEEP_EVENT` | **源**:软件时钟 `inactivity_timer >= 1000` (10s)。 | **当前状态**`STATE_CLOCK` / `STATE_MENU` / `STATE_SET_TIME` 等非报警状态。 | 1. **状态**:切入 `STATE_SLEEP`<br>2. **硬件**:拉低 `SGM_CTRL = 0` 切断 AMOLED PMIC 供电;<br>3. **电源**:使能 P0 口电平中断及 INT2挂起 CPU 进入 Power-Down 极低功耗模式。 |