普通SDK动态开关一拖二功能
📎 原始文档:https://www.kdocs.cn/l/cdlMDR2oIV6W 普通SDK动态开关一拖二功能
demo
AC700N_earphone_release_V1.3.7_dual_sw.zip -- dual_sw
更新记录
2023年12月20日:
- 实现基本功能,通过4击开关一拖二:见使用说明
使用说明
- 修改的文件
apps/earphone/dual_conn.c:实现动态开关一拖二的相关逻辑,已经添加到makefile,可以用vscode直接编译,如果使用codeblocks编译,要自己添加到codeblocks工程中。
apps/earphone/earphone.c:修改初始化流程和可发现可连接流程
apps/earphone/include/user_cfg_id.h:添加VM信息项
cpu/br36/liba/btstack.a:添加指定地址断开设备接口,其他版本SDK要找珠海改库
user_send_cmd_prepare(USER_CTRL_DISCONNECTION_HCI, 6, addr);
- 接口使用说明 提供两个接口
开关一拖二的接口:
/**
* @brief 设置一拖二开关的接口
*
* @param en 1:开,0:关
* @param curr_addr 指定的活跃设备的地址(需要保留连接的地址),传NULL则由系统决定
*/
void set_dual_conn_en_api(u8 en, u8 *curr_addr);
获取一拖二开关的接口:
/**
* @brief 获取一拖二开关
*
* @return u8 1:开,0:关
*/
u8 is_dual_conn_en(void);
- 实现原理介绍
- 应用层记录连接的设备,根据状态确定活跃设备

- 开关一拖二时,根据情况判断是否断开设备、是否开关可连接

- 根据一拖二开关状态,修改蓝牙初始化参数


- 开关的demo 通过4击开关一拖二
