无法传输最大长度广告数据包

⚠️
嗨,...感谢您来论坛。令人兴奋的消息!我们现在正在迁至我们的新论坛平台,将提供更好的功能,并包含在主对话框网站中。所有帖子和帐户都已迁移。我们现在只接受新论坛上的流量 - 请发布任何新线程https://www.dialog-seminile.com/support.。我们将在未来几天修复错误/优化搜索和标记。
6个帖子/ 0新
最后一篇
Mark.Bloechl.
离线
最后一次露面:1年7个月前
加入:2015-12-09 16:33
无法传输最大长度广告数据包

我正在尝试传输最大长度(31b)广告数据包。对于广告标志的3个强制性字节,似乎我应该能够传送我自己的28个字节,但是当我尝试发送超过26个时,它不起作用 - 它似乎并没有广告。这个奇怪的是,当我在被配置为中心的DA14580上收到26B广告时,我可以看到我的数据结束(\ x06 \ x01),然后看到缓冲区中的两个备用字节的空间,但是当我增加我的时广告以27个或28字节我什么也没得到。
这就是我的26B广告所拥有的:
#定义USER_ADVERTISE_DATA“\ X19 \ XFF \ X31 \ X01 \ X97 \ X30 \ XCF \ X43 \ XEA \ X36 \ X00 \ X12 \ X34 \ X56 \ X78 \ X92 \ X01 \ X02 \ X02 \ X02 \ X02 \ X00 \ X00\ x00 \ x06 \ x01“
要尝试28B,我刚刚添加了两个'ff'字节(并增加了字段长度字节):
#定义USER_ADVERTISE_DATA“\ X1B \ XFF \ X31 \ X01 \ X97 \ X30 \ XCF \ X43 \ XEA \ X36 \ X00 \ X12 \ X34 \ X56 \ X78 \ X92 \ X01 \ X02 \ X02 \ X02 \ X02 \ X00 \ X00\ x00 \ x06 \ x01 \ xff \ xff“

设备:
sts_dialog(未经验证)
嗨mark.bloechl,

嗨mark.bloechl,

2.场景都被检查和工作得很好,请给我更多,情报你是什么意思“配置为中心”吗?你设置DA14580为中心?

谢谢,

sts_dialog。

Mark.Bloechl.
离线
最后一次露面:1年7个月前
加入:2015-12-09 16:33
你好,

你好,

我有2 da14580:一个配置为外设和一个作为中央的。两者的代码来自DSP示例项目。当我尝试从外围配置的单元发布超过26个用户字节并在中央配置的单元上接收它时,它不起作用。当我在26个字节或以下时,它确实如此。这两个实例之间的唯一区别是user_advertise_data的大小。但是,当我将广告长度设置为> 26B时,我不相信该单位是广告的,因为我也无法在手机上看到它。

谢谢!
标记

mhv_dialog.
离线
最后一次露面:2个月3周前
职员
加入:2013-12-06 15:10
嗨马克,

嗨马克,

DA14580堆栈会自动添加带有3个字节的广告数据(长度+类型+标志= 3字节),然后剩余28个字节。对于其余的数据,需要至少2个字节来表示有效载荷长度和通告数据类型。这使您有26个字节的有效载荷。

可以通过在SDK内部实现围绕Deep的工作来防止堆栈添加3个字节的标志,但是当您的外设可连接时,蓝牙规范要求您必须在广告中拥有广告中的标志。如果您真的需要控制广告中的所有31字节,我可以提供解决方法。

/ mhv.

Mark.Bloechl.
离线
最后一次露面:1年7个月前
加入:2015-12-09 16:33
长度和数据类型

长度和数据类型字段包含在我的广告字符串中(即,当我说26个字节为1B长度+ 1B类型+ 24B有效载荷时,为28字节字符串的DITTO)。

mhv_dialog.
离线
最后一次露面:2个月3周前
职员
加入:2013-12-06 15:10
抱歉没有读你的

对不起,不要仔细阅读你的帖子。

我刚刚将28byte字符串复制到SDK504的清洁提取(空外设模板项目),并且它在没有问题的情况下宣传整个字符串。

///广告服务数据
///广告AD型标志,不得在广告数据来设定
#定义USER_ADVERTISE_DATA“\ X1B \ XFF \ X31 \ X01 \ X97 \ X30 \ XCF \ X43 \ XEA \ X36 \ X00 \ X12 \ X34 \ X56 \ X78 \ X92 \ X01 \ X02 \ X02 \ X02 \ X02 \ X00 \ X00\ x00 \ x06 \ x01 \ xff \ xff“

///广告数据长度 - 最多28个字节,保留3个字节以设置
#define user_advertise_data_len(sizeof(user_advertise_data)-1)

/ mhv.