通过同时双击左右耳恢复出厂设置,单个耳机双击的时候响应按键处理,原理就是:通过按键传递消息,在多长的时间内满足条件就执行恢复出厂设置,不满足就响应按键处理。具体实现如下:
首先就是创建变量:
bsp_sys.h下sys_cb1_t结构体中:
u8 double_mun_flag;//双击之后的清除标志
u8 fuer_doubleflag;//副耳双击的标志位
u8 zhuer_doubleflag;//主耳双击的标志位
创建消息定义:
bsp_key.h中:
#define EVT_DOUBLE_MSG_EN 0x7d7//清除配对信息
#define EVT_DOUBLE_SIRI_EN 0x7d6//双击超时的时候响应按键处理
之后就到按键消息处理中:
msg_bt.c下func_bt_message()中:
case KD_PLAY_PWR_USER_DEF:
if(bt_tws_is_connected())
{
//对耳的时候控制是不是要恢复出厂设置
if(bt_tws_is_slave())//副耳按下的时候给主耳发送标志
{
sys_cb1.double_mun_flag = 1;//开启清理标志位的计时
bt_tws_user_key(0x16);//副耳已按下,给主耳传递消息
}
else