使用SDK 5.0.4更改BLE外设的发布间隔

⚠️
大家好. .谢谢你来到论坛。令人兴奋的消息!我们现在正在转移到新的论坛平台,它将提供更好的功能,包含在主对话网站中。所有岗位和账户都已迁移。我们现在只接受新论坛的流量-请在上面发布任何新帖子//www.xmece.com/support.我们将在未来几天修复bug /优化搜索和标记。
2个帖子/ 0个新
最后发表
dhrishi
离线
最后看到:3年5个月前
加入:2017-02-10 09:56
使用SDK 5.0.4更改BLE外设的发布间隔

你好,

我们使用DA14580作为外设模式。
我们需要实现一个用例,其中附件首先以20毫秒的间隔发布10秒的广告,然后以1.25秒的间隔重启(停止和启动)广告。

对于ble_app_peripheral的当前实现,我看到间隔是通过intv_min和intv_max参数在user_config.h中给出的,作为静态const结构的一部分,并且使用user_app_adv_start开始发布。这是否意味着我不能改变这些值(intv_min和intv_max)在任何其他时间?
如果不是,那么上面的用例实现的正确方式是什么?

谢谢,
Hrishikesh

设备:
STS_Dialog(未验证)
你好,

你好,

在第一个广告循环中,间隔是由标准值给出的,你可以把它们改变成你想要的值。当广告停止和重新开始后,您可以使用回调的广告你想使用(undirected-non接入等),在这个函数给你想要的值区间通过app_easy_gap_undirected_advertise_get_active返回的指针。在我们的例子user_app_adv_undirect_complete中,代码如下:

空白user_app_adv_undirect_complete (uint8_t状态)

//如果广告被取消,则更新广告数据并重新开始广告

if (status == GAP_ERR_CANCELED) / /取消取消

//安排下一次广告数据更新

struct gapm_start_advertise_cmd * cmd;

cmd = app_easy_gap_undirected_advertise_get_active ();

Cmd ->intv_min = 2000;

cmd - > intv_max = 2000;

app_easy_gap_undirected_advertise_start ();

谢谢,

STS_Dialog。