一、5656C3、5756C连接app 前提
1、5656C3、5756C没有ble,只有经典蓝牙。安卓走spp,苹果走gatt。
2、蓝汛使用默认服务:
- 服务UUID: 0001
- 写UUID: 0002
- 读UUID: 0004
二、如何连接app
1、app要先下发00 27 01 00 02 ff 00(询问可传输的最大包长度)INFO_MTU,耳机固件才能回复app下发的其他指令。
或者 app是发CID鉴权,再发INFO_MTU。可以在鉴权指令添加ab_mate_app.can_send_now = 1; 耳机固件就能回复信息了。要不然会一直不回复app,导致连接不上
2、app连接 鉴权
问app的连接文档,看是通过什么鉴权的。下面只是举例子,具体情况具体分析
①如果直接通过地址
注意事项:
不要打开生成新地址。

通过字典形式,烧录地址。setting配置保持地址。
询问客户大货烧录地址时,是烧录双耳还是单耳,如果是单耳,必须打开 烧录地址的那边 固定为主耳地址,另外一只就随机地址。
若大货耳机烧录过地址,二次升级(不在重新烧录地址),软件要配置保持地址。
②通过CID BID PID
直接根据连接文档按顺序填写
![]()
③通过CID +地址
同①②
如果CID和地址要一起上报给app
//新增
void ab_mate_device_verification_query(u8 *payload,u8 payload_len)
{
u8 write_offset = 0;
u8 *buf = ab_mate_cmd_send.payload;
u8 addr[6];
memcpy(&buf[write_offset],app_conn_buf,sizeof(app_conn_buf));
write_offset += sizeof(app_conn_buf);
bt_get_local_bd_addr(addr);
memcpy(&buf[write_offset],addr,6);
write_offset += 6;
ab_mate_cmd_send.cmd_head.payload_len = write_offset;
TRACE("ab_mate_device_info_query[%d]:",write_offset);
TRACE_R(buf,write_offset);
ab_mate_data_send((u8*)&ab_mate_cmd_send, AB_MATE_HEADER_LEN + ab_mate_cmd_send.cmd_head.payload_len);
}
void ab_mate_request_receive_proc(u8 cmd,u8 *payload,u8 payload_len)
{
……
switch(cmd){
……
//根据文档新增指令
case CMD_DEVICE_VERIFICATION:
ab_mate_device_verification_query(payload, payload_len);
break;
default:
break;
}
}
④通过CID +license(AI授权码)
耳机一旦连接app,app后台license会和当前地址绑定,所以不能打开tws组队生成新地址。
在xcfg.xm把license写入产测区

注意:已经烧录license时,二次烧录,setting选择保持地址。
5656、5756:如果修改产测区+通过字典烧录,需注意setting+字典是否在240字节以内(打印sizeof(xcfg_cb)可知),若超过,会把产测区的东西覆盖掉,比如频偏值
三、关于app下发 切换EQ
1、前提知识
①


如果app下发没有+8,得自己手动+8。或者超过-8~7db范围,得自己转换带这个范围内
如果是老版本的5656C3,注意music_set_eq_for_index函数,eq_gain[i]是否和上图的赋值一致,否则音效对不上
②使用app增益值,非自定义EQ模式的EQ效果不使用资源文件里的,则EQ增益值是叠加在当前EQ文件上的,只支持固定频点上增减增益值。

这里修改增益值,即使宏设置使用app增益值,开机连接app,

2、如果打开AB_MATE_EQ_USE_DEVICE使用设备端定义的增益值,连接app就死机。log如下

原因:数组溢出
解决:将数组改大

3、使用app的增益值,下发的EQ增益值不对
①范围在-8~7db,但下发没+8

②范围不在-8~7db,且下发没+8
比如app下发-12~12db,且没+8,我的做法如下

③如果客户觉得切换EQ的效果不明显,就使用EQ资源文件里的。
中科蓝讯-APP连接调EQ没反应_中科蓝讯 串口调eq-CSDN博客
中科蓝讯-5756C APP自定义指令_中科5756-CSDN博客
中科蓝讯-APP下发的EQ不记忆_中科蓝讯log在哪-CSDN博客
