读取的UUID值始终显示使用BLE_APP_PROFILE BLE应用程序的值

⚠️
嗨,...感谢您来论坛。令人兴奋的消息!我们现在正在迁至我们的新论坛平台,将提供更好的功能,并包含在主对话框网站中。所有帖子和帐户都已迁移。我们现在只接受新论坛上的流量 - 请发布任何新线程https://www.dialog-seminile.com/support.。我们将在未来几天修复错误/优化搜索和标记。
2个帖子/ 0新
最后一篇
Uta_lc.
离线
最后一次露面:1年1个月前
加入:2016-05-03 07:39.
读取的UUID值始终显示使用BLE_APP_PROFILE BLE应用程序的值

亲爱的DLG支持,

我一直在尝试从SDK 5.0.4到SDK 6.0.6的一些代码,但我正在努力初始化我自己的属性的数据库(UUID)。

在启动期间,我们有10个字节的配置数据读取,我希望通过自定义的uuid读取。你能不能让我在SDK 6.0.6中可以实现这一目标吗?我正在使用cust1配置文件 - 修改defs和config.cet等,但是当我尝试在连接后读取uuid时,它始终没有值。

我一直使用App_xxx_Enable消息(从App)profile_enable到ble配置文件任务,其中使用attmdb_svc_set_permission正确初始化数据库的处理程序。

但是在SDK6.0.6中,试图做同样的事情,但它总是造成有趣的行为。

您能否根据BLE_APP_PROFILE中的代码提供一些示例代码?从SDK 6.0.6.427尝试了未修改的BLE_APP_PROFILE,但在读回任何可读值时,它始终返回“无值”和嗅探器显示“RCVD READ请求[格式化数据包]。

DLG的人可以急需看看吗?我们得到了一个非常紧张的发布时间表。

非常感谢你,
Uta_lc.

设备:
PM_DIALOG.
离线
最后一次露面:4小时16分钟前
职员
加入:2018-02-08 11:03
嗨Uta_lc,

嗨Uta_lc,

有三种方法可以使用SPI Flash初始化属性的数据库。以下示例来自SDK 6.0.6.427的BLE_APP_PERITIVE示例。

  1. 您可以将存储的数据添加到特征的值中,如下所示:

[svc1_dx_adc_val_1_val] = {svc1_adc_val_1_uuid_128,att_uuid_128_len,perm(rd,启用)|perm(ntf,启用),
def_svc1_adc_val_1_char_len,}

该值是存储的数据,长度是数据的长度。请注意,您应该在初始化数据库之前从SPI闪存中读取存储的值。因此,您应该在执行default_app_on_set_dev_config_complete()回调函数的app_db_init_start()之前读取您的数据。

  1. 您可以发送Custs1_val_set_req消息,因此将执行CUSTS1_VAL_SET_REQ_HANDLER。attmdb_att_set_value()将从闪存将数据库中的值更新为特性的值。通过这种方式,您可以将数据库的更新到Cust1_Task。
  1. 您可以读取SPI闪存的数据,然后刚刚执行attmdb_att_set_value(custs1_env-> shdl + param->句柄,param->长度,0,(uint8_t *)和param->值);没有发送Custs1_val_set_req消息。

谢谢,PM_DIALOG.