如何把国旗从广告包

⚠️
大家好. .谢谢光临论坛。令人兴奋的消息!我们现在在移动的过程中,我们的新论坛平台,将提供更好的功能和包含在主对话框的网站。所有文章和帐户已经被迁移。我们现在只接受交通新论坛,请发布任何新的线程//www.xmece.com/support。我们将修复bug /优化搜索和标签在接下来的日子里。
5文章/ 0
最后发表
anushiya
离线
最后看到:9个月3周前
加入:2017-12-20 02:30
如何把国旗从广告包

你好,

如何把国旗从广告包?我在non-connectable模式不断传播。

默认情况下,国旗的有效载荷部分:020106(2字节大小,类型- 01旗帜,国旗值- 06)

相反,我希望advertisemnet包1 fff .......(大小1 f = 31日在小数,FF -制造商数据类型)

谢谢你!

Anushiya

设备:
PM_Dialog
离线
最后看到:1天16小时前
工作人员
加入:2018-02-08 11:03
嗨anushiya,

嗨anushiya,

你能把你的问题说清楚好吗?请检查ble_app_noncon SDK的例子是位于下6.0.10.511 \ target_apps \ \项目misc路径。app_easy_gap_non_connectable_advertise_get_active () API使得non-connectable广告正确的命令。请检查user_app_adv_start()回调函数。适当的消息由app_easy_gap_non_connectable_advertise_start_create_msg ()。将分为info.host广告数据。adv_data gapm_start_advertise_cmd结构的成员。广告中的设备名称将存储字符串。我建议你去看一看的源代码app_easy_gap_non_connectable_advertise_start_create_msg ()。

您可以修改user_config USER_ADVERTISE_DATA宏。h头文件来存储你在广告信息数据。例如如果你想BD地址存储到广告数据,你可以做以下几点:

广告应该有一个特定的格式字符串。您可以使用ADV_TYPE_MANUFACTURER_SPECIFIC_DATA国旗和MAC地址添加到制造商的广告字符串数据。例如假设你的BD地址是:x00 x01 x02 x03 x04 x05所以你的广告就像下面的数据

#定义BLE_MAC_ADDR " \ x00 \ x01 \ x02 \ x03 \ x04 \ x05”

#定义BLE_MAC_ADDR_LEN " \ x07 "

#定义USER_ADVERTISE_DATA BLE_MAC_ADDR_LEN \

ADV_TYPE_MANUFACTURER_SPECIFIC_DATA \

BLE_MAC_ADDR

但是,你可以请注明你想要的填充到广告数据?

谢谢,PM_Dialog

anushiya
离线
最后看到:9个月3周前
加入:2017-12-20 02:30
广告中包,

广告中包,我不想把旗帜。我想用所有制造商31个字节数据。上面的设置你上面提到的不控制标志。

我在non-connectable模式不断传播。

user_config。h的评论“旗帜的数据类型可以省略”。我该怎么做是我的问题。

* - ADV_NONCONN_IND: Non-connectable无向广告活动。

*——用户定义的广告数据的最大长度应31个字节。

*标志的数据类型可以省略,因此用户可以使用所有的31个字节

*数据。

*——扫描响应数据应当是空的。

anushiya
离线
最后看到:9个月3周前
加入:2017-12-20 02:30
好的。在sugested答案

好的。我找到了解决方案。在sugested回答让ble_app_sleepmode non-connectable(连续传输),

https://support.dialog-semiconductor.com/forums/post/dialog-smartbond-bluetooth-low-energy-%E2%80%93-hardware-device-reference-designs/mnfdata-update评论- 24179

最后一个参数需要更改为0

/ / adv_connectable接入广告事件或不是参数设置为0。

app_add_ad_struct (cmd, &mnf_data sizeof (struct mnf_specific_data_ad_structure), 0);

空白user_app_adv_start(空白)

{

/ /安排接下来的广告数据更新

app_adv_data_update_timer_used = app_easy_timer (APP_ADV_DATA_UPDATE_TO adv_data_update_timer_cb);

struct gapm_start_advertise_cmd * cmd;

cmd = app_easy_gap_non_connectable_advertise_get_active ();/ /无向- > non_connectable

/ /添加制造商数据最初的广告或扫描响应数据,如果有足够的空间

/ / adv_connectable接入广告事件或不是参数设置为0。

app_add_ad_struct (cmd, &mnf_data sizeof (struct mnf_specific_data_ad_structure), 0);

/ /设置延长睡眠期间与OTP复制广告

arch_set_extended_sleep(真正的);

app_easy_gap_non_connectable_advertise_start ();/ /无向- > non_connectable

}

PM_Dialog
离线
最后看到:1天16小时前
工作人员
加入:2018-02-08 11:03
嗨anushiya,

嗨anushiya,

高兴你解决你的问题,谢谢你指示关于app_add_ad_struct ()。

谢谢,PM_Dialog