如何从广告数据包中删除标志

⚠️
嗨,...感谢您来论坛。令人兴奋的消息!我们现在正在迁至我们的新论坛平台,将提供更好的功能,并包含在主对话框网站中。所有帖子和帐户都已迁移。我们现在只接受新论坛上的流量 - 请发布任何新线程https://www.dialog-seminile.com/support.。我们将在未来几天修复错误/优化搜索和标记。
5个帖子/ 0新
最后一篇
Anushiya.
离线
最后一次露面:7个月2周前
加入:2017-12-20 02:30
如何从广告数据包中删除标志

你好,

如何从广告数据包中删除标志?我处于不可连接的模式,不断传输。

默认情况下,有效负载的标志部分具有:020106(大小2字节,类型 - 01标志,标志值 - 06)

相反,我希望广告消息包是1FFF .......(大小1F = 31以十进制,键入FF - 制造商数据)

谢谢,

Anushiya.

设备:
PM_DIALOG.
离线
最后一次露面:2天8小时前
职员
加入:2018-02-08 11:03
嗨Anushiya,

嗨Anushiya,

你能澄清你的问题吗?请检查位于6.0.10.511 \ projects \ target_apps \ misc路径下的SDK的BLE_APP_NONCON示例。app_easy_gap_non_connectable_advertise_get_active()API对不可连接的广告进行了正确的命令。请检查user_app_adv_start()回调函数。由app_easy_gap_non_connectable_advertise_start_create_msg()创建的相应邮件。广告数据将被排序到GapM_Start_Advertise_cmd结构的info.host.adv_data成员。设备名称也将存储在广告字符串中。我会建议你看看app_easy_gap_non_connectable_advertise_start_create_msg()的源代码。

您可以在user_config.h标题文件中修改user_advertise_data宏,以便将信息存储在广告数据中。例如,如果您想将BD地址存储到广告数据中,您可以执行以下操作:

广告字符串应具有特定格式。您可以使用ADV_TYPE_MANUFAFTURER_SPECIFIC_DATA标志并将MAC地址附加到广告字符串的制造商数据中。例如让我们说你的bd地址是:x00 x01 x02 x03 x04 x05所以你的广告数据将如下

#define ble_mac_addr“\ x00 \ x01 \ x02 \ x03 \ x04 \ x05”

#define ble_mac_addr_len“\ x07”

#define user_advertise_data ble_mac_addr_len \

adv_type_manufacturer_specific_data \

ble_mac_addr.

但是,请您能说明您想要填充广告数据的内容吗?

谢谢,PM_DIALOG.

Anushiya.
离线
最后一次露面:7个月2周前
加入:2017-12-20 02:30
在广告数据包中,

在广告数据包中,我不想发送标志。我想使用所有31个字节的制造商数据。上面提到的上面的设置不控制标志。

我处于不可连接的模式,不断传输。

user_config.h具有注释“可以省略标志数据类型”。我该怎么做是我的问题。

* - ADV_NONCONN_IND:不可连接的无向广告活动。

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

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

* 数据。

* - 扫描响应数据应为空。

Anushiya.
离线
最后一次露面:7个月2周前
加入:2017-12-20 02:30
好的。在困难的答案中

好的。我找到了解决方案。在饱受BLE_APP_SLEEPMODE到不可连接的答案(持续发送),

https://support.dialog-seminile.com/forums/post/dialog-smartbond-bluetooth-low-energy-%2%80%93-hardware-device-reference-designs/mnfdata-update#Comment-24179

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

// ADV_CONNECTABLE可连接广告活动或不参数设置为0。

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

void user_app_adv_start(void)

{

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

app_add_data_update_timer_used = app_easy_timer(app_add_data_update_to,avd_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(true);

app_easy_gap_non_connectable_advertise_start();//无向 - > non_connectable

}

PM_DIALOG.
离线
最后一次露面:2天8小时前
职员
加入:2018-02-08 11:03
嗨Anushiya,

嗨Anushiya,

很高兴您讨论了您的问题,并感谢您对App_add_ad_struct()的指示。

谢谢,PM_DIALOG.