DA14586 DSPS设备偶像

⚠️
Hi there.. thanks for coming to the forums. Exciting news! we’re now in the process of moving to our new forum platform that will offer better functionality and is contained within the main Dialog website. All posts and accounts have been migrated. We’re now accepting traffic on the new forum only - please POST any new threads at//www.xmece.com/support. We’ll be fixing bugs / optimising the searching and tagging over the coming days.
6 posts / 0 new
Last post
DLO.
Offline
Last seen:3 days 14 hours ago
加入:2017-05-26 16:21
DA14586 DSPS设备偶像

Using the DSPS Device demo provided I am trying to add SUOTA.

我跟随training_06_suota_example_v1.1_0.pdf,也是https://support.dialog-semiconductor.com/guide/faq-da1458x-software-peri...

I've got everything to compile and I've also checked the prox reporter source code to compare.

但是,在所有内容编译和加载到测试之后,我不再看到对话框DSP应用程序中发布的DSP或在Suota应用程序中看到它。

该代码似乎在运行,因为我可以看到我写的正交编码器,因为我可以在不同的BLE扫描应用程序上看到它,并且可以连接并查看其广告数据。

I think the problem is the
#define 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

I don't think I understand how to format the USER_ADVERTISE_DATA correctly. "\x11\x07\xb7\x5c\x49\xd2\x04\xa3\x40\x71\xa0\xb5\x35\x85\x3e\xb0\x83\x07" this is the default DSPS string.

Thank you for your help!

设备:
DLO.
Offline
Last seen:3 days 14 hours ago
加入:2017-05-26 16:21
I think I"m starting to get

I think I"m starting to get it, I edited to add the ADV_UUID_SUOTAR_SERVICE ( "\xF5\xFE" /* SUOTAR Service */) at the end of the define and changed the size from 0x11 to 0x13

#定义USER_ADVERTISE_DATA “\ X13 \ X07 \ XB7 \ x5c \ X49 \ XD2 \ X04 \ XA3 \ X40 \ X71 \ XA0 \ XB5 \ X35 \ X85 \ x3e \ XB0 \ X83 \ X07 \ XF5 \ xFE如果”

我还添加了:
#define SPS_SERVICE_UUID {0xb7, 0x5c, 0x49, 0xd2, 0x04, 0xa3, 0x40, 0x71, 0xa0, 0xb5, 0x35, 0x85, 0x3e, 0xb0, 0x83, 0x07, 0xF5, 0xFE}

#define SPS_SERVER_TX_UUID {0xb8, 0x5c, 0x49, 0xd2, 0x04, 0xa3, 0x40, 0x71, 0xa0, 0xb5, 0x35, 0x85, 0x3e, 0xb0, 0x83, 0x07, 0xF5, 0xFE}
#define SPS_SERVER_RX_UUID {0xba, 0x5c, 0x49, 0xd2, 0x04, 0xa3, 0x40, 0x71, 0xa0, 0xb5, 0x35, 0x85, 0x3e, 0xb0, 0x83, 0x07, 0xF5, 0xFE}
#define SPS_FLOW_CTRL_UUID {0xb9, 0x5c, 0x49, 0xd2, 0x04, 0xa3, 0x40, 0x71, 0xa0, 0xb5, 0x35, 0x85, 0x3e, 0xb0, 0x83, 0x07, 0xF5, 0xFE}

但是,当我尝试编译时,我得到这些错误:
..\..\common\src\profiles\spss\user_sps_config.h(94): error: #146: too many initializer values
static const struct att_uuid_128 sps_service = {
PS_SERVICE_UUID};

搜索进一步,我看到了ATT.H(ATT_UUID_128_LEN)的定义我向IT添加了2个字节并编译和工作。我可以在DSPS应用程序中看到设备。虽然没有关于Suota应用程序。
编辑:
The app seems unstable, it showed up once on the advertisement, but now it just crashes after system_init() in arch_system.c

更改ATT_UUID_128_LEN回到0x0010修复了崩溃问题。需要弄清楚如何添加Suota Adv String而不是现在崩溃......

...

PM_Dialog
Offline
Last seen:1 day 6 hours ago
Staff
加入:2018-02-08 11:03
Hi dlo,

Hi dlo,

The SUOTA is a profile, and the DSPS is a demo project, so in order to have SUOTA functionality to the DSPS what you will have to do to add the SUOTA profile to the DSPS demo, besides the OTA project there are also some guidelines for this on the FAQ in the Software Implementation section (How to add the SUOTA profile to my SDK application) for the 5.0.3 SDK which is quite identical with the 5.0.4 SDK. You will be able to find the FAQ section on the top level menu of the support site, please check the link below:

https://support.dialog-semiconductor.com/guide/frequently-asked-questions

From what you mentioned in you post, I suppose that you have added the SUOTA profile to the DSPS project, before starting the procedure described in the tutorial. Could you please share hot did you define the advertising data? Also, it would be very helpful to indicate a little bit clear which is your issue? You are able to have SUOTA but you don’t know how to add it into the advertising string?

Thanks, PM_Dialog

DLO.
Offline
Last seen:3 days 14 hours ago
加入:2017-05-26 16:21
Hello,

Hello,

I tried going over the FAQ before starting the SUOTA, but it didn't seem to apply to the DA14586 since it uses SUOTAR instead of SPOTAR, and I didn't find spotar files int he SDK folder of the DSPS project. I found the #define in the user config module.h file and it was already included. So I added the suotar files to the project in KEIL and looked at the SUOTAR example in the proxy reporter in the SDK example to make sure things were as close as possible.

I am thinking the SUOTAR is implemented in the code correctly, but not advertising for the SUOTA app to see. What I tried to explain above is how I tried to place the advertising:

This is the original DSPS advertising string:
#define user_advertise_data“\ x11 \ x07 \ xb7 \ x5c \ x49 \ xd2 \ x04 \ xa3 \ x40 \ x71 \ xa0 \ xb5 \ x35 \ x85 \ x3e \ xb0 \ x83 \ x07”
This is the modified one to add ADV_UUID_SUOTAR_SERVICE
#定义USER_ADVERTISE_DATA “\ X13 \ X07 \ XB7 \ x5c \ X49 \ XD2 \ X04 \ XA3 \ X40 \ X71 \ XA0 \ XB5 \ X35 \ X85 \ x3e \ XB0 \ X83 \ X07 \ XF5 \ xFE如果”
编译此工作,但在应用程序中没有显示任何内容。

然后我也将它添加到:
#define SPS_SERVICE_UUID {0xb7, 0x5c, 0x49, 0xd2, 0x04, 0xa3, 0x40, 0x71, 0xa0, 0xb5, 0x35, 0x85, 0x3e, 0xb0, 0x83, 0x07, 0xF5, 0xFE}

#define SPS_SERVER_TX_UUID {0xb8, 0x5c, 0x49, 0xd2, 0x04, 0xa3, 0x40, 0x71, 0xa0, 0xb5, 0x35, 0x85, 0x3e, 0xb0, 0x83, 0x07, 0xF5, 0xFE}
#define SPS_SERVER_RX_UUID {0xba, 0x5c, 0x49, 0xd2, 0x04, 0xa3, 0x40, 0x71, 0xa0, 0xb5, 0x35, 0x85, 0x3e, 0xb0, 0x83, 0x07, 0xF5, 0xFE}
#define SPS_FLOW_CTRL_UUID {0xb9, 0x5c, 0x49, 0xd2, 0x04, 0xa3, 0x40, 0x71, 0xa0, 0xb5, 0x35, 0x85, 0x3e, 0xb0, 0x83, 0x07, 0xF5, 0xFE}

但是,当我尝试编译时,我得到这些错误:
..\..\common\src\profiles\spss\user_sps_config.h(94): error: #146: too many initializer values
static const struct att_uuid_128 sps_service = {
PS_SERVICE_UUID};

searching further I see a define in att.h (ATT_UUID_128_LEN) I added 2 bytes to it and it compiles. However after this, it crashes when I try to run. The debugger shows me it's in one of the error handlers.

附加是我的项目文件,而不包括SDK文件。

谢谢你的支持!

Attachment:
PM_Dialog
Offline
Last seen:1 day 6 hours ago
Staff
加入:2018-02-08 11:03
Hi dlo,

Hi dlo,

Suota应用程序的关键信息是检查16bits服务UUID的完整列表,以查看它是0xFEF5,否则将筛选设备。

So, please update the advertising data as follow:

#define 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"

Adding complete list of 16bits service UUID: "0x03, 0x03, 0xF5, 0xFE" to the advertising data.

  • 0 x03:长度
  • 0x03 : ADV_TYPE_COMPLETE_LIST_16BIT_SERVICE_IDS
  • 0xF5, 0xFE : ADV_UUID_SUOTAR_SERVICE

Thanks, PM_Dialog

DLO.
Offline
Last seen:3 days 14 hours ago
加入:2017-05-26 16:21
谢谢!That was very

谢谢!这是非常丰富的。