docs: 调整为7种传感器类型并规划配对时手动按键微调后缀序号逻辑

This commit is contained in:
2026-07-09 11:32:00 +08:00
parent 89ff52c9b3
commit 8704a63e20
15 changed files with 142 additions and 39 deletions

View File

@@ -44,4 +44,4 @@ typedef enum {
* 检测到确认键释放,注入 `KEY_CONFIRM_CLICK`
* 事件解析完毕后存入 `key_event_buf`
<!-- Checked and verified with bracelet_factory_id and active SOS changes -->
<!-- Checked and verified with 7 sensor types and manual suffix selection changes -->

View File

@@ -29,5 +29,6 @@
* `void UI_ShowClockPage(SystemState state, u8 hour, u8 min)`渲染时钟待机页面135 宽布局),并根据布撤防状态在状态栏绘制相应锁状态图标。
* `void UI_ShowAlarmPage(char *sensor_name, u8 zone)`:渲染防区告警页面,显示对应的传感器位图和法语名称。
* `void UI_ShowPairMenuPage(u8 selected_index)`:渲染对码选择菜单。
* `void UI_ShowPairConfirmPage(u8 type, u8 selected_suffix)`:渲染对码确认页,显示捕获的类型图标、名字前缀及带选框的 `[ selected_suffix ]` 数字序号(支持按键调整)。
* `void UI_ShowBindingPage(void)`:渲染与 IPC 绑定对码界面,并在屏幕底部居中显示手环自身的唯一 `Factory ID`

View File

@@ -22,4 +22,4 @@
* `void Key_Wakeup_Isr(void)`
按键外部中断服务函数,唤醒后拉高 `SGM_CTRL = 1` 恢复屏幕与背光供电,并发送 Wake Up 指令重建屏幕显示。
<!-- Checked and verified with bracelet_factory_id and active SOS changes -->
<!-- Checked and verified with 7 sensor types and manual suffix selection changes -->

View File

@@ -26,3 +26,5 @@
主动发射一帧数据。生成同步头,并按 `1` 码(高电平 3T, 低电平 1T`0` 码(高电平 1T, 低电平 3T依次驱动发射引脚电平持续多帧以确保接收方捕获。
* 该函数被手环用作向 IPC 摄像头主动对码绑定(`data_code = 0x01`)。
* 该函数也用于手环主动发射 SOS 紧急呼救包(`data_code = 0x08`),此时传入手环自身的出厂固定 ID `bracelet_factory_id`
<!-- Checked and verified with 7 sensor types and manual suffix selection changes -->

View File

@@ -16,10 +16,11 @@
### 2.1 传感器插槽结构体 (Sensor_Slot)
```c
typedef struct {
u32 addr; // 24位 EV1527 地址
u8 type; // 传感器类型
u8 zone; // 防区类别 (0: 永久防区, 1: 可撤布防区)
char name[16]; // 法语自定义名称
u8 is_used; // 0x01:已使用,其它:空闲
u8 addr[3]; // 24位 EV1527 对码物理地址
u8 type; // 传感器类型 (0~6)
u8 zone; // 防区类别 (0: 永久防区, 1: 可撤布防区)
char name_gbk[16]; // 法语自定义名字(前缀+两位数序号,如 PORTE 02
} Sensor_Slot;
```
@@ -34,7 +35,7 @@ typedef enum {
STATE_PAIR_CONFIRM,
STATE_PAIR_SUCCESS,
STATE_PAIR_FAIL,
STATE_ALARMING,
STATE_ALARM,
STATE_SOS_EMITTED
} SystemState;
```
@@ -48,7 +49,7 @@ typedef enum {
### 3.2 IAP 数据库存储接口
* `void Load_Database(void)`:从 Flash 扇区 `0xFE0000` 读取 16 组传感器配置载入内存的 `sensor_list`
* `void Save_Database(void)`:擦除 Flash 扇区并将内存中的 `sensor_list` 写入 Flash。
* `void Add_Sensor(u32 addr, u8 type)`:向 `sensor_list` 添加传感器信息并自动调用 `Save_Database()`
* `void Add_Sensor(u32 addr, u8 type, u8 suffix_idx)`:向 `sensor_list` 添加传感器信息,将其名字拼装为 `[前缀] [suffix_idx]`并自动调用 `Save_Database()`
* `bit Check_Sensor_ID(u32 addr, u8 *out_slot_index)`:在数据库中检索该地址码,若存在则返回它的槽位索引。
### 3.3 系统初始化与全局 ID 获取