使用DSPS设备演示提供我尝试添加SUOTA。
我已经按照training_06_suota_example_v1.1 .1_0.pdf和HTTPS://support.dialog-semiconductor.com/guide/faq-da1458x-software-peri ...
我得到的一切来编译和我也查了PROX记者的源代码进行比较。
然而,在所有内容编译并加载到测试之后,我不再在Dialog DSPS应用程序或SUOTA应用程序中看到它的广告。
代码似乎在运行,因为我可以看到我写的正交编码器工作,因为我可以看到它在一个不同的BLE扫描应用程序,并可以连接和看到它的广告数据。
我认为这个问题是
#定义USER_ADVERTISE_DATA “\ X11 \ X07 \ XB7 \ x5c \ X49 \ XD2 \ X04 \ XA3 \ X40 \ X71 \ XA0 \ XB5 \ X35 \ X85 \ x3e \ XB0 \ X83 \ X07” \
ADV_UUID_SUOTAR_SERVICE
我不认为我了解如何正确格式化USER_ADVERTISE_DATA。“\ X11 \ X07 \ XB7 \ x5c \ X49 \ XD2 \ X04 \ XA3 \ X40 \ X71 \ XA0 \ XB5 \ X35 \ X85 \ x3e \ XB0 \ X83 \ X07” 这是默认的DSPS字符串。
感谢您的帮助!
设备:
我想我的“M开始得到它,我编辑添加ADV_UUID_SUOTAR_SERVICE在的定义到底(‘\ XF5 \ xFE如果’/ * SUOTAR服务* /),并从为0x11改变了大小0×13
#定义USER_ADVERTISE_DATA " \ * 13 \ x07 \ xb7 \ x5c \ x49 \ xd2 \ x71 \ \ x04 \ xa3 \ x40 xa0 \ xb5 \ x35 \ x85 \ x3e \ xb0 \ x83以\ x07 \ xF5 \ xFE”
我还把它添加到:
的#define SPS_SERVICE_UUID {0xb7,0x5c,×49,0xd2,0×04,0xA3执行,0x40的,0x71,0XA0,0xB5执行,0x35,0x85,0x3E的,0XB0,0×83,0×07,0xF5,0xFE的}
的#define SPS_SERVER_TX_UUID {0xb8,0x5c,×49,0xd2,0×04,0xA3执行,0x40的,0x71,0XA0,0xB5执行,0x35,0x85,0x3E的,0XB0,0×83,0×07,0xF5,0xFE的}
的#define SPS_SERVER_RX_UUID {0xba,0x5c,×49,0xd2,0×04,0xA3执行,0x40的,0x71,0XA0,0xB5执行,0x35,0x85,0x3E的,0XB0,0×83,0×07,0xF5,0xFE的}
的#define SPS_FLOW_CTRL_UUID {0xb9,0x5c,×49,0xd2,0×04,0xA3执行,0x40的,0x71,0XA0,0xB5执行,0x35,0x85,0x3E的,0XB0,0×83,0×07,0xF5,0xFE的}
然而,当我尝试编译时,我得到这些错误:
.. \ .. \共同\ SRC \型材\ SPSS \ user_sps_config.h(94):错误:#146:太多初始化值
Static const struct att_uuid_128 sps_service = {
PS_SERVICE_UUID};
进一步搜索,我看到在att.h (ATT_UUID_128_LEN)中的一个定义,我添加了2个字节到它,它编译和工作。我能在DSPS应用程序中看到设备。但在SUOTA应用程序中没有。
编辑:
该应用程序似乎不太稳定,这表明了一旦上了广告,但现在它只是在arch_system.c system_init()后崩溃
将ATT_UUID_128_LEN更改回0x0010修复了崩溃问题。需要弄清楚如何添加SUOTA adv字符串,而不是崩溃现在…
......
嗨DLO,
该SUOTA是一个配置文件,并DSPS是一个示范项目,所以才能有SUOTA功能的DSPS你必须怎样做才能添加SUOTA轮廓的DSPS演示,除了OTA项目还存在一定的准则这在软件实现的部分(如何将SUOTA配置文件添加到我的SDK应用程序)的常见问题为5.0.3 SDK这与5.0.4 SDK相当一致。你将能够找到支持站点的顶级菜单上的常见问题部分,请检查下面的链接:
https://support.dialog-semiconductor.com/guide/frequently-asked-questions
从你在你帖子中提到的东西,我想你已经添加了SUOTA轮廓的DSPS项目,开始在本教程中介绍的过程之前。你能否请您分享热你定义的广告数据?此外,这将是非常有益的指示一点点清除这是你的问题?你能有SUOTA,但你不知道如何将它添加到广告串?
谢谢,PM_DIALOG.
你好,
我试着去在FAQ开始SUOTA之前,但它似乎并没有应用到DA14586,因为它使用SUOTAR代替SPOTAR,我没有找到spotar文件诠释,他的SDK中的DSPS项目的文件夹中。我发现,在用户配置文件module.h中的#define和它已经包括在内。所以我加入了suotar文件在KEIL该项目,并在代理记者在SDK例子,以确保一切都在尽可能靠近看了看SUOTAR例子。
我想到的是SUOTAR在代码中正确实施,而不是广告的SUOTA应用查看。我尝试了上述解释我是如何试图放置广告:
这是原来的DSPS广告字符串:
#定义USER_ADVERTISE_DATA " \ x11 \ x07 \ xb7 \ x5c \ x49 \ xd2 \ x71 \ \ x04 \ xa3 \ x40 xa0 \ xb5 \ x35 \ x85 \ x3e \ xb0 \ x83 \ x07”
这是修改后的一次加ADV_UUID_SUOTAR_SERVICE
#定义USER_ADVERTISE_DATA " \ * 13 \ x07 \ xb7 \ x5c \ x49 \ xd2 \ x71 \ \ x04 \ xa3 \ x40 xa0 \ xb5 \ x35 \ x85 \ x3e \ xb0 \ x83以\ x07 \ xF5 \ xFE”
编译这个程序是有效的,但在应用程序上也没有显示任何内容。
然后我还把它添加到:
的#define SPS_SERVICE_UUID {0xb7,0x5c,×49,0xd2,0×04,0xA3执行,0x40的,0x71,0XA0,0xB5执行,0x35,0x85,0x3E的,0XB0,0×83,0×07,0xF5,0xFE的}
的#define SPS_SERVER_TX_UUID {0xb8,0x5c,×49,0xd2,0×04,0xA3执行,0x40的,0x71,0XA0,0xB5执行,0x35,0x85,0x3E的,0XB0,0×83,0×07,0xF5,0xFE的}
的#define SPS_SERVER_RX_UUID {0xba,0x5c,×49,0xd2,0×04,0xA3执行,0x40的,0x71,0XA0,0xB5执行,0x35,0x85,0x3E的,0XB0,0×83,0×07,0xF5,0xFE的}
的#define SPS_FLOW_CTRL_UUID {0xb9,0x5c,×49,0xd2,0×04,0xA3执行,0x40的,0x71,0XA0,0xB5执行,0x35,0x85,0x3E的,0XB0,0×83,0×07,0xF5,0xFE的}
然而,当我尝试编译时,我得到这些错误:
.. \ .. \共同\ SRC \型材\ SPSS \ user_sps_config.h(94):错误:#146:太多初始化值
Static const struct att_uuid_128 sps_service = {
PS_SERVICE_UUID};
进一步搜索我看到att.h(ATT_UUID_128_LEN)一个定义I加2个字节来它和它编译。然而在此之后,当我尝试运行死机。调试器显示我这是在错误处理程序之一。
附件是我的项目文件,不包括SDK文件。
感谢您的支持!
嗨DLO,
SUOTA应用程序的关键信息是检查16位服务UUID的完整列表,看看它是否是0xFEF5,否则设备将被过滤掉。
所以,请更新广告数据如下:
#定义USER_ADVERTISE_DATA“\ X11 \ X07 \ XB7 \ x5c \ X49 \ XD2 \ X04 \ XA3 \ X40 \ X71 \ XA0 \ XB5 \ X35 \ X85 \ x3e \ XB0 \ X83 \ X07 \以x03 \ x03 \ xF5 \ xFE“
添加16位服务UUID的完整列表:“×03,×03,0xF5,0xFE的”以广告数据。
谢谢,PM_DIALOG.
谢谢你!这是非常有用的信息。