1、关键词:
ACC OFF代表的是车辆熄火,ACC ON代表的是车辆打火;LOCK ON代表的是打开车门,LOCK OFF代表的是关闭车门;**B+**代表的是车上的电源,连接B+就是把车前面的电瓶的电源连上,掉B+就是把电瓶的电源拔了。
2、状态区分逻辑 :
主机的运行状态有多种,需要注意区分。
息屏状态: MCU只是单纯地把屏熄掉,这个时候ARM系统还在正常运行,MCU也在正常运行;
**休眠状态:**此时ARM已经停止运行,但是MCU还处于低功率模式中,实时监听着CAN网络中的活动,一旦检测到LOCK ON并且ACC ON,那么就会去唤醒ARM系统开机;
断主电状态:此时整个主机的供电都断了,MCU也不能幸免;
3、息屏休眠逻辑:
只是ACC OFF,相当于驾驶员熄火了,这个时候主机还是会正常运行。当然,从ACC OFF的时候,MCU单片机就开始计时了,一般在10分钟或者30分钟之后,会通知ARM系统,弹出提示窗,大致的内容就是“车辆熄火状态会继续消耗电池,造成亏损,是否马上关闭”,并且弹窗会有倒计时的操作。如果用户不操作,弹窗显示的倒计时完了,也会自动关屏。此时只是处于息屏状态,一般会在(30s)之后,进入休眠状态。
如果ACC OFF,然后再LOCK OFF之后,主机会立马处于息屏状态,一般会在(30s)之后,进入休眠状态。
4、开机音量逻辑:
调节系统音量之后,应用需要设置android标准的音量调节,即AudioManager.setStreamVolume(streamtype,volumeValue,flagtype);调了这个方法,系统的其他应用,比如顶条,就会随之改变。同时,ARM还需要把音量值设给mcu,mcu会保存这个音量值。
有些主机系统,有一个开机音量的设置。如果设置了开机音量值,那么这个音量值需要保存到MCU中。如果是休眠起来之后,并且开机音量是开启的,那么在ARM初始化的时候,需要从MCU同步之前设置的开机音量的值,并这个把音量设置到系统中和MCU中;如果开机音量是关闭的,那么开机音量需要从MCU同步当前音量值,并把这个值设置到系统中去,即还是休眠之前设置的音量值。