删除蓝牙GATT服务

⚠️
你好。。谢谢你来到论坛。令人兴奋的消息!我们现在正在迁移到新的论坛平台,该平台将提供更好的功能,并包含在主对话网站中。所有员额和帐户都已迁移。我们现在只接受新论坛的流量-请在//www.wsdof.com/support. 我们将在未来几天内修复bug/优化搜索和标记。
20个员额/0个新员额
最后一篇文章
阿普杜雷特
离线
最后一次见到:1年10个月前
加入:2017-09-22 08:33
删除蓝牙GATT服务

你好

我的软件使用ble_gatts_add_service()和ble_gatts_register_service()创建并注册GATT服务。在执行过程中的某个时刻,我希望永久删除此服务。

我知道函数ble_gatts_disable_service(),但是这只会禁用服务,不会将其从属性数据库中删除。

有没有办法从数据库中永久删除服务?

顺致敬意,
安迪·普德雷特

设备:
PM_对话框
离线
最后一次见到:1周1天前
工作人员
加入:2018-02-08 11:03
嗨,apoudret,

嗨,apoudret,

在调用ble_gatts_disable_service()之后,能否从ble_service.h头文件中使用ble_service_remove()函数?该函数从内部数据库中删除服务。请试试,让我知道。

谢谢,下午好

阿普杜雷特
离线
最后一次见到:1年10个月前
加入:2017-09-22 08:33
你好,PM_Dialog,

你好,PM_Dialog,

正如我所说的,我想从服务器上删除该服务属性数据库

通过查看ble_service_remove()的文档,它说:
“此函数不会从属性数据库中删除服务。”

因此,ble_service_remove()似乎将服务从服务列表中删除,但不会从属性数据库中删除。
有没有办法从属性数据库中永久删除服务?

顺致敬意,
安迪·普德雷特

PM_对话框
离线
最后一次见到:1周1天前
工作人员
加入:2018-02-08 11:03
嗨,阿普杜雷特。

嗨,阿普杜雷特。

不,有一种方法可以从属性数据库中永久删除服务。我认为唯一的方法是重置数据库,但不建议这样做。你能解释一下你的问题是什么吗?是否要释放内存空间?

谢谢,下午好

阿普杜雷特
离线
最后一次见到:1年10个月前
加入:2017-09-22 08:33
你好,PM_Dialog,

你好,PM_Dialog,

我正在开发一个简单的演示。使用输入,用户可以创建一个可扩展的服务,添加特征和描述符等。
然后,用户可以删除他创建的服务,例如创建其他服务。
如果服务从未真正从数据库中删除,我想我正在丢失内存空间。

顺致敬意,
安迪

陈蓬莱
离线
最后一次见到:6个月6小时前
加入:2018-12-24 02:24
你好,Apoudret

你好,Apoudret

您能告诉我如何创建一个可扩展的服务并添加特性吗?

PM_对话框
离线
最后一次见到:1周1天前
工作人员
加入:2018-02-08 11:03
嗨,apoudret,

嗨,apoudret,

正如我在前面的评论中已经提到的,没有任何可用的API可以从属性数据库中永久删除服务。如果您将可用服务的初始化检查到SDK中,您将看到它们在其初始化中分配内存(OS_MALLOC),因此由您来释放(OS_free)服务的内存。在使用自定义服务的情况下,不应在服务初始化中动态分配内存

谢谢,下午好

阿普杜雷特
离线
最后一次见到:1年10个月前
加入:2017-09-22 08:33
你好,PM_Dialog,

你好,PM_Dialog,

我在服务初始化中不动态分配任何内存。

正如我在之前的评论中已经提到的,我正在失去的并且我想找回的内存空间是属性数据库(用于我的服务属性,但我不再使用)。

顺致敬意,
安迪

PM_对话框
离线
最后一次见到:1周1天前
工作人员
加入:2018-02-08 11:03
嗨,apoudret,

嗨,apoudret,

如果这是一个自定义配置文件,我强烈建议您遵循SDK中我们服务的实现,因此您应该动态分配内存,然后释放内存。

谢谢,下午好

阿普杜雷特
离线
最后一次见到:1年10个月前
加入:2017-09-22 08:33
你好

你好

我想你弄错了,因为我对你的SDK提供的服务也会有同样的问题。

例如,如果我创建并添加服务CTS:
-我可以禁用该服务(使用ble\u gatts\u disable\u服务)
-我可以删除与设备关联的存储(ble\u服务\u清理)
-我可以从服务列表中删除服务(ble_service_remove)
但我想做的是从服务器中删除该服务属性数据库. i、 e.还原ble_gatts_add_service()调用使用的内存。

如果这在SDK中不可能,请这样说。

顺致敬意,
安迪

PM_对话框
离线
最后一次见到:1周1天前
工作人员
加入:2018-02-08 11:03
嗨,apoudret,

嗨,apoudret,

没有任何API可用于从属性数据库中删除服务。尽管如此,我会再次检查它,如果您找到任何解决方法,我会让您知道。

谢谢,下午好

阿普杜雷特
离线
最后一次见到:1年10个月前
加入:2017-09-22 08:33
你好,PM_Dialog,

你好,PM_Dialog,

你有关于这个问题的最新消息吗?

顺致敬意,
安迪

PM_对话框
离线
最后一次见到:1周1天前
工作人员
加入:2018-02-08 11:03
嗨,apoudret,

嗨,apoudret,

没有,没有任何更新。在调用ble_gatts_disable_service()之后,只能从ble_service.h头文件中使用ble_service_remove()函数。

谢谢,下午好

陈蓬莱
离线
最后一次见到:6个月6小时前
加入:2018-12-24 02:24
你好,下午好

你好,下午好

我正在尝试为ble添加新服务

我将GATTM_ADD_SVC_REQ消息发送到GATT任务,但它似乎不起作用

你知道吗?

如何在运行时更改exist uuid(不重新启动)?

PM_对话框
离线
最后一次见到:1周1天前
工作人员
加入:2018-02-08 11:03
陈蓬莱你好,,

陈蓬莱你好,,

你是说定制服务吗?如果是,请从我们的支持网站查看以下文档:

软件示例:DA1468x BLE客户服务

自定义蓝牙低能耗模式

你能分享更多关于你的实施的细节吗?

谢谢,下午好

陈蓬莱
离线
最后一次见到:6个月6小时前
加入:2018-12-24 02:24
你好,下午好,请帮帮我

你好,下午好

请帮帮我

陈蓬莱
离线
最后一次见到:6个月6小时前
加入:2018-12-24 02:24
请给我一个联系人

请给我一个联系人

陈蓬莱
离线
最后一次见到:6个月6小时前
加入:2018-12-24 02:24
我在sdk 5.0.4中工作

你好,下午好

我在sdk 5.0.4中工作

现在我想在运行时更改exist uuid,因为uuid是由客户配置的

我正在尝试开发一个通用的蓝牙模块

请告诉我运行后如何通过哪个函数更改exist uuid

我正在做下面的事情

uint8_uuid_arr[16]={1,1,1,1,1,1,1,1,1,1,1,1,1,1}//一种新的uuid
结构att_char128_desc*p1=(结构att_char128_desc*)cust_prf_funcs->att_db[CUST1_IDX_SERVER_TX_CHAR]。值;
memcpy(p1->attr_类型,新属性,16);

但它不起作用

我的期望是uuid在代码执行后会发生变化^_^

我需要你的帮助,项目非常紧急

我在sdk 5.0.4中找不到ble_gatts_add_service()和ble_gatts_register_service()函数

陈蓬莱
离线
最后一次见到:6个月6小时前
加入:2018-12-24 02:24
你好,下午好

你好,下午好

我真的需要你的帮助!!!

PM_对话框
离线
最后一次见到:1周1天前
工作人员
加入:2018-02-08 11:03
陈蓬莱你好,,

陈蓬莱你好,,

请尽量不要在论坛上重复这个问题。此线程与DA1468x产品系列和SDK1相关。我已在以下帖子中回复您:

https://support.dialog-semiconductor.com/forums/post/dialog-smartbond-bluetooth-low-energy-42-%E2%80%93-软件/can任意uuid设置后

谢谢,下午好