唤醒逻辑
2016-09-28 10:47:47 0 举报
android 唤醒逻辑
作者其他创作
大纲/内容
关闭蓝牙
Supernova Resume1、查询蓝牙唤醒标志
中断ISR代表已执行supernova suspend,这时设置超时wake_lock锁,同时设置唤醒标志为true,由supernova唤醒系统。注意:只有suspernova的resume会加载RT_PM
Kernel需要监听的事件:蓝牙事件触控板事件,暂时采用suspend后禁止事件方式增加虚拟唤醒设备管理系统唤醒后蓝牙和wifi reset相关
唤醒设备resume1、关中断,判断是否为蓝牙唤醒2、如果是蓝牙唤醒设置唤醒标志为true,supernova会检测,同时停止唤醒检测3、如果不是蓝牙唤醒,设置唤醒标志为false,同时开启轮询唤醒检测4、reset wifi 蓝牙
Y
关屏
N
轮询是否监听到唤醒事件
休眠
打开蓝牙
停止轮询监听蓝牙唤醒/kernel 直接发送唤醒事件,同时申请超时wake_lock
系统suspend1、停止轮询唤醒事件检测2、打开中断检测
开屏
suspend前使用轮循方式,suspend后改为中断方式,否则task freezen期间后无法监听,若都使用中断方式无法判断是否执行过supernova suspend操作
系统resume
开始监听蓝牙唤醒
0 条评论
下一页