广告 - 在非可连接广播模式下完全回调。

3个帖子/ 0新
最后一篇
ciano.
离线
最后一次露面:2周5天前
加入:2014-10-03 08:13
广告 - 在非可连接广播模式下完全回调。

亲爱的对话框,

我开始使用新的SDK 5系列。

我想要动态更改广告数据,我有一个“ble_app_peripheral”的示例,它有效,但像往常一样,我有一个小的扭曲。
我想在此配置中广播非连接广告:

static const struct ander_nonfiguration user_non_connectable_advertise_conf = {
///宣传操作类型。
.Advertise_operation = ADV_NON_CONN,
///自己的BD地址源:
.address_src = gapm_public_addr,
///宣传间隔
.Intv = 8000,// * 0.625ms(+伪随机advdelay从0到10ms)
///广告频道地图
.channel_map = 0x7,
};

static const enum gap_adv_mode user_non_connectable_advertise_mode = gap_broadcaster_mode;

此处的重要问题:我正在使用GAP_BROODCAST_MODE。

现在我想在你的榜样“ble_app_peripheral”之后继续,它正在使用“user_callback_config.h”中的回调配置来重新启动广告,但我无法获得回调函数工作:
.app_on_adv_undirect_complete = user_app_add_undirect_complete,
.app_on_adv_direct_complete = null,

我的问题是:任何回调地图是否完成了上述广告的完整?

此致,
Ciano Frost.
丹麦

设备:
mt_dialog.
离线
最后一次露面:6个月3周前
职员
加入:2015-06-08 11:34
嗨Ciano,

嗨Ciano,

否不存在用于捕获非可连接广告的结束的回调。但是你可以:

1-option是最难的,你可以放置这个“案例GAPM_ADV_NON_CONN:“在app_task.c中上方的”案例GAPM_ADV_UNDIRECT“中的”填充“中的”CAPM_CMP_EVT_HANDLER()中,并使用无向广告回调来获取不可连接的广告的结束。

2 - 选项(适当的一个)是通过CATCH REST功能(User_Catch_Rest_hndl)捕获非可连接广告的结束。您可以将以下代码放在user_peripher.cl函数中:

案例GAPM_CMP_EVT:
{
struct gapm_cmp_evt const * msg_param =(结构gapm_cmp_evt const *)(param);
开关(MSG_PARAM->操作)
{
案例GAPM_ADV_NON_CONN:
user_app_adv_start();//完成后或任何您想要的内容
休息;

默认:
休息;
} 休息;
}

谢谢mt_dialog.

ciano.
离线
最后一次露面:2周5天前
加入:2014-10-03 08:13
谢谢对话框,

谢谢对话框,

我使用了第二个和适当的解决方案,它运作良好。
我实际上还在研究使用“app_process_catch_rest_cb”,因此您的答案非常有用。
我也选择了第二个选项,因为我不想通过添加Usercode来“劫持”SDK。升级SDK以这种方式更简单。

此致,
Ciano Frost.
丹麦

主题锁定