我想知道如何将这些参数配置为最小值,以实现最佳的低功耗场景:
-数据速率= 160bps
-连接间隔= 1s
-连接事件长度= 20字节
我想也许改变llc.h上的这些参数会有帮助:
///连接间隔min (N*1.250ms)
#define LLC_CNX_INTERVAL_MIN 6 //(0x06) ----->800
//连接事件最大长度(N*0.625ms)
#define LLC_CNX_CE_LGTH_MAX 65535 //(0xFFFF) ---->
但无法找到数据速率。
谢谢你的帮助!
艾德
设备:
嗨edlofau,
你不能定义数据速率的需求方,设备将按照特定的利率,datarate是一个参数,是由不同的连接时间间隔等参数同意在这两种设备,每个连接的数据包,主支持区间等。连接间隔是由客户端而不是外设决定的,外设可以指示首选的连接间隔,但是客户端将决定应该应用于连接的间隔。DSPS中心应该接受外围设备指定的那些参数,在参考设计中,您可以更改user_connection_param_conf中的.intv_min和.intv_max成员,以更改即将到来的连接应遵循的连接间隔。关于你提到的连接事件长度,我想你指的是每个BLE包中交换的字节,也就是20字节的有效载荷,需求方的问题是使用MTU交换特性这意味着在一个连接事件如果设备已超过20个字节发送将数据包发送20个字节第一数据包和重复检验将27-bytes有效载荷数据,不知道这是你真正想要或需要。如果您希望在每个连接间隔中只发送20个字节,您必须从应用程序级别进行配置,因为堆栈被设计为根据应用程序级别的指示发送尽可能多的数据,我的意思是,您不能从应用程序级别向堆栈发送大量的数据,并将堆栈配置为只发送指示发送的20字节的数据。您提到的定义是堆栈使用的值,您不应该对此应用任何更改。
由于MT_dialog