docs: optimize SOS button behavior, add 2-step pairing wizard, and IPC exit action

This commit is contained in:
2026-07-09 17:42:55 +08:00
parent 1168e747e6
commit 32c07c0466
16 changed files with 821 additions and 478 deletions

View File

@@ -1,19 +1,28 @@
# 模块拆分 - 电源与供电管理 (Docs/50_module-breakdown/mod-power.md)
本模块描述手环的电源供电状态。根据系统设计手环不启用任何关屏低功耗或停机Power-Down模式以保证屏幕时钟常显与全时无线监听
本模块负责手环的供电管理以及低功耗休眠/唤醒逻辑
## 1. 模块职责说明
* **职责范围**
1. 系统初始化时使能 LCD 屏幕与背光电源
2.`LCD_PWR_CTRL` 引脚输出高电平1确保屏幕不进入断电休眠
3. 不进行时钟挂起操作,使 CPU 保持在 active 状态以进行实时的 433MHz 射频信号捕获
1. 系统初始化时使能 SGM3833 PMIC 供电(拉高 `SGM_CTRL = 1`),使 OLED 屏正常工作
2.护低功耗状态机。当系统检测到连续 10 秒无任何按键操作时,执行关屏、拉低 `SGM_CTRL = 0` 彻底切断 **SGM3833** 供电、挂起外设,使单片机进入 Power-Down停机模式
3. 配置外部中断:将 5 个按键的 GPIO 口和 LR690L 433MHz 芯片的接收中断引脚配置为唤醒中断源,使手环在处于 Power-Down 挂起状态下能被瞬间唤醒
4. 唤醒后,第一时间拉高 `SGM_CTRL = 1` 恢复 OLED 电源,延时等待 PMIC 稳定后,重新驱动显示并恢复常规时钟计时。
## 2. 接口与函数设计
* `void Power_Init(void)`
1. 配置 `LCD_PWR_CTRL` 引脚为推挽输出模式。
2. 设置 `LCD_PWR_CTRL = 1`(物理引脚 `P3.4`)开启 LCD 屏幕与背光供电
* `void Enter_Deep_Sleep(void)`已作废。手环永不进入此函数,保持主循环及射频实时解调。
1. 配置 `SGM_CTRL`(物理引脚 `P3.4`为推挽输出模式。
2. 设置 `SGM_CTRL = 1` 开启 SGM3833 OLED 供电芯片
* `void Enter_Low_Power_Sleep(void)`
1. 发送命令关闭 RM69310 AMOLED 屏幕显示。
2. 拉低 `SGM_CTRL = 0` 关闭 SGM3833 升压/负压芯片。
3. 允许按键引脚中断与 433MHz 射频接收中断。
4. 写入 `PCON |= 0x02`(或 MCU 挂起控制位 `PD = 1`)使 CPU 进入深度睡眠 Power-Down 模式。
* `void Wakeup_Restore(void)`
1. 拉高 `SGM_CTRL = 1` 开启 SGM3833 供电芯片。
2. 延时约 50ms 等待电压稳定。
3. 重新初始化 RM69310 屏幕控制器并恢复正常显示。
<!-- Checked and verified with always-on screen and sleep removal changes -->
<!-- Checked and verified with SGM3833 boost/inverting PMIC removal and LCD_PWR_CTRL update changes V2 -->