AB5656初步配置

配置完成的功能

长按pwr开机

游戏模式

长按来电拒接

音乐pp

音量加减

上下曲

自动关机



代码需要完成的

配置开启了软开关机,只需要软开机,禁止按键软关机

双击任意耳接听

通话状态下 双击任意耳挂断

清除配对 配置工具有长按N秒进配对后清配对信息(关机状态长按N秒开机进配对后清除全部配对信息)和ui有点不符

四击siri左边无法执行,配置中无法选定左右


提示音 需要改动代码的

游戏模式开关

清除配对


有关关机的地方

func.c在状态检测循环里,有这么一个状态

1
2
3
case FUNC_PWROFF:
func_pwroff(sys_cb.pwrdwn_tone_en);
break;

//耳机入仓关机

//长按PP/POWER软关机(通过PWROFF_PRESS_TIME控制长按时间)

都是用的这个


power_on_check_do(void)中有一个while(1)检测pwrkey,有关机功能

key_init后会进入power_on_check_do


默认是有游戏模式提示音的


在配置工具中配置了USER_DEF按键

要自定义的功能是直接在检测到USER_DEF消息中处理,还是

1
2
3
4
5
6
7
8
9
10
11
12
13
14
///双击按键处理
case KD_PLAY_USER_DEF:
case KD_PLAY_PWR_USER_DEF:
BT_CALL_ACTIVE
// 接听
if(bt_get_call_indicate() == BT_CALL_INCOMING) {
bt_call_answer_incoming();
break;
}
// 通话中挂断电话
if(bt_get_call_indicate() == BT_CALL_ACTIVE) {
bt_call_terminate();
break;
}

针对需求逐个分析
按键基本功能
开机:配置工具
关机:配置工具,如果时长没有匹配的,在config.h中配置
短按右耳接听来电:
如果产品只有一个按键,尽可能都用一个user_def去做,当给pwr绑定user_def后单击、双击、三击…都会在msg_bt.c中执行对应的case。
也可以在配置工具中直接对user_def的具体行为进行功能配置,执行逻辑:如之前所说进入对应case后,处理user_def都会调用user_def_key_msg(xcfg_cb.user_def_***_sel),在这之中再去触发行为。
在配置工具中可以开启区分左右耳,,开启后配置值为左耳功能,右耳会自动有对应的功能,如左耳加音量,右耳减音量,上下曲之类。
遇到特殊的区分左右耳需求,可以使用例如:func_sel = get_user_def_lr_msg(UDK_SIRI, UDK_PLAY_PAUSE); 效果为左耳为SIRI,右耳为PP。

开关机时间配置拓展