feat(module_lifecycle): 完善模块生命周期管理功能
- 添加了模块生命周期状态转换验证函数,包括目标状态允许性检查和路径允许性检查 - 实现了模块操作验证功能,确保必要的回调函数存在 - 更新了状态报告逻辑,增加了模式检查以防止无效状态转换 - 修改了生命周期转换流程,区分运行启动和停止操作 - 优化了错误处理机制,返回适当的错误码 refactor(ble_modules): 简化BLE模块生命周期配置 - 将多个BLE模块(lifecycle_cfg)的模式从ML_MODE_POWER改为ML_MODE_NONE - 移除了power_event相关依赖和事件订阅 - 更新了BLE BAS模块的状态转换逻辑 - 简化了BLE HID/NUS/Protocol模块的电源管理相关代码 fix(mode_switch): 修复唤醒后模式恢复功能 - 在唤醒事件处理中添加了最后模式的恢复逻辑 - 确保设备唤醒后能够重新提交之前的模式切换事件
This commit is contained in:
@@ -201,6 +201,10 @@ static bool app_event_handler(const struct app_event_header *aeh)
|
||||
if (is_wake_up_event(aeh)) {
|
||||
if (module_lifecycle_is_initialized(&ctx.lc)) {
|
||||
(void)module_set_lifecycle(&ctx.lc, LC_RUNNING);
|
||||
|
||||
if (ctx.last_mode != MODE_SWITCH_INVALID) {
|
||||
submit_mode_switch_event(ctx.last_mode, 0U);
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
|
||||
Reference in New Issue
Block a user