docs: 调整为7种传感器类型并规划配对时手动按键微调后缀序号逻辑
This commit is contained in:
@@ -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 -->
|
||||
|
||||
@@ -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`。
|
||||
|
||||
|
||||
@@ -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 -->
|
||||
|
||||
@@ -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 -->
|
||||
|
||||
@@ -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 获取
|
||||
|
||||
Reference in New Issue
Block a user