Firefly开源社区
标题:
关于git的firmware
[打印本页]
作者:
hiccchen
时间:
2015-8-20 20:45
标题:
关于git的firmware
在官网的维基上下载git上的代码(git clone
https://TeeFirefly@bitbucket.org/T-Firefly/FireBLE.git
)发现firmware的工程烧到板子上能广播,但是每次手机都显示timeout interrogating the peripheral.但是之前直接在官网上下载固件又没有问题?还有一个问题就是为什么lightblue上搜到firmware是1 service 但进去却有多个服务(有qpps和proxr)?
作者:
hiccchen
时间:
2015-8-20 20:48
补充下,官网上直接下载出场固件的bin烧进去能正常连接,但是git上的会连接超时
作者:
安安
时间:
2015-8-21 15:11
本帖最后由 安安 于 2015-8-21 15:17 编辑
1.lightblue连接失败:这个是由于连接参数设置不当的原因,因为lightblue对连接参数的要求较高。查找并修改如下地方代码
///GAP Peripheral Preferred Connection Parameter - 8 octets
#define GAP_PPCP_CONN_INTV_MAX 0x00C8
#define GAP_PPCP_CONN_INTV_MIN 0x0064
#define GAP_PPCP_SLAVE_LATENCY 0x0000
#define GAP_PPCP_STO_MULT
复制代码
将GAP_PPCP_CONN_INTV_MAX 和 GAP_PPCP_CONN_INTV_MIN两个参数改小
#define GAP_PPCP_CONN_INTV_MAX 0x0012
#define GAP_PPCP_CONN_INTV_MIN 0x0008
复制代码
2.只发现一个服务:这个可以自己去看一下广播设置函数,在广播响应函数中是会把包含的服务都发送出去的。而由于开启了
BLE_QPP_SERVER
服务,广播到此服务UUID后就直接return了,所以会造成只有一个服务。你可以尝试修改把所有服务都显示出来。
#if BLE_QPP_SERVER
if (srv_flag & BLE_QPPS_SERVER_BIT)
{
app_env.scanrsp_data[0] = ATT_UUID_128_LEN + 1;
app_env.scanrsp_data[1] = GAP_AD_TYPE_MORE_128_BIT_UUID;
memcpy(app_env.scanrsp_data + 2, QPP_SVC_PRIVATE_UUID, ATT_UUID_128_LEN);
return (ATT_UUID_128_LEN + 2);
}
#endif
复制代码
作者:
hiccchen
时间:
2015-8-21 19:09
搞定啦,谢谢大神:lol
欢迎光临 Firefly开源社区 (https://dev.t-firefly.com/)
Powered by Discuz! X3.1