diff --git a/Docs/30_architecture/main.md b/Docs/30_architecture/main.md index 15c3a99..e7ea852 100644 --- a/Docs/30_architecture/main.md +++ b/Docs/30_architecture/main.md @@ -54,29 +54,29 @@ ```mermaid graph TD %% 5层立体依赖结构 - subgraph LayerApps ["1. 应用业务层 (Applications)"] - ActiveApp["当前活跃应用 (Foreground App)"] - BgApp["后台监测应用 (Background App)"] + subgraph LayerApps ["1. 应用业务层 Applications"] + ActiveApp["当前活跃应用 Foreground App"] + BgApp["后台监测应用 Background App"] end - subgraph LayerAppMgr ["2. 应用管理层 (APP Management)"] - AppManager["APP 管理器 (StartApp / CloseApp)"] + subgraph LayerAppMgr ["2. 应用管理层 APP Management"] + AppManager["APP 管理器 StartApp / CloseApp"] Lifecycle["生命周期调度机"] end - subgraph LayerEvent ["3. 事件总线层 (Event Layer)"] - EventDispatcher["事件分配器 (Event Dispatcher)"] - EventQueue["事件环形缓冲区 (EventQueue)"] + subgraph LayerEvent ["3. 事件总线层 Event Layer"] + EventDispatcher["事件分配器 Event Dispatcher"] + EventQueue["事件环形缓冲区 EventQueue"] end - subgraph LayerDrivers ["4. 中断与驱动层 (Drivers)"] - ExtInt["外部中断 (KEY按键扫描 / RF解码)"] - TimeInt["时钟中断 (Timer1 1ms时基)"] + subgraph LayerDrivers ["4. 中断与驱动层 Drivers"] + ExtInt["外部中断 KEY按键扫描 / RF解码"] + TimeInt["时钟中断 Timer1 1ms时基"] ADC_Drv["ADC 电量采集"] LCD_Drv["LCD 屏幕绘制驱动"] end - subgraph LayerHW ["5. 硬件实体层 (STC32 HW)"] + subgraph LayerHW ["5. 硬件实体层 STC32 HW"] MCU["STC32G 单片机核心"] end @@ -121,11 +121,11 @@ typedef struct { graph LR %% 事件的产生与消耗流转 HW_Sig["物理引脚状态跳变"] -->|电平变化中断| Driver["驱动中断 ISR"] - Driver -->|消抖/自适应解调| Packer["封装统一事件 (KeyEvent)"] - Packer -->|Key_Push_Event| Queue["Event Ring Buffer (环形队列)"] + Driver -->|消抖/自适应解调| Packer["封装统一事件 KeyEvent"] + Packer -->|Key_Push_Event| Queue["Event Ring Buffer 环形队列"] Queue -->|Key_Pop_Event| MainLoop["MainLoop 轮询读取"] MainLoop -->|事件分发| AppMgr["APP 管理器"] - AppMgr -->|onEvent(evt) 回调| ActiveApp["当前活跃 App 实例"] + AppMgr -->|onEvent 回调| ActiveApp["当前活跃 App 实例"] ``` ### 4.1 环形事件缓冲区 (EventQueue) @@ -144,11 +144,8 @@ graph LR * **存储结构定义**: ```c typedef struct { - u8 is_used; // 有效标志 (0x01: 有效, 其它: 空闲) - u8 addr[3]; // 24位射频物理地址 (EV1527) - u8 type; // 传感器类型 (0: 门磁, 1: 红外, 2: 烟感, 3: 紧急, 4: 气体, 5: 水浸, 6: 振动) - u8 zone; // 防区类别 (0: 永久防区, 1: 普通可撤布防区) - char name_gbk[16]; // 法语自定义防区名称 (格式化为: [名前缀] [两位序号]) + u8 flags_suffix; // 属性字节:Bit 7 代表有效标志 (1: 有效, 0: 空闲);Bit 0~6 代表法语防区名称的后缀序号 (01~99) + u8 addr[3]; // 24位射频物理地址 (EV1527 地址 + 4位状态数据码) } Sensor_Slot; ```