嗨,对话框中,
我的客户想要使用设备名称(0 x2a00)特性的通用访问(0 x1800)来修改设备名称。
我修改了user_gapm_conf user_config。h如下…
.att_cfg = GAPM_MASK_ATT_SVC_CHG_EN | GAPM_MASK_ATT_NAME_PERM,
我还添加了一些调试日志“default_app_on_set_dev_info”功能,但似乎不工作。
有什么错了吗?
我的设备信息。DA14585 SDK: 6.0.4
谢谢。
设备:
嗨stanley_yeh,
似乎有一个问题在回调函数gapc_set_dev_info_req_ind_handler()确认发送的任务应该TASK_GAPC而不是TASK_GAPM也回调实际上并不改变设备的名称,所以一旦回调你应该更改设备名称的应用程序的回调。我检查与SDK的团队,我将让你知道一旦我有一些反馈。
由于MT_dialog
谢谢你这么多!
嗨MT_dialog,
我想打印一些信息在app_entry_point_handler和gapc_set_dev_info_req_ind_handler功能。
然而,似乎DA14585没有收到任何事件。
我可以自己解决这个问题吗?这个问题有更新system_library。自由,我可以修复它吗?
谢谢。
嗨stanley_yeh,
当前的实现可以让你有一个回调通知你当有人写在那个特定的特征,但是没有实际实现改变名称在数据库中,这就是SDK团队正在调查。如果你有兴趣在刚刚回调当有人写道,你所要做的具体特点进行以下更改:
以上更改之后您应该看到default_app_on_set_dev_info()回调,但是这只是一个迹象表明特征的中央写了,这不会改变数据库的名称。
由于MT_dialog
嗨MT_Dialog,
非常感谢。我现在可以接收事件。
我很抱歉,我不明白是什么意思以下句子:
1。“这不会改变数据库的名字。”
你能告诉我名字的风险,如果数据库不能改变吗?
你是说设备名称是一个定义在SDK(#定义USER_DEVICE_NAME“DA14585”),所以没有实际实现改变吗?
实际上,我实现了一个功能,可以存储设备名称为外部flash。所以这句话你说过对我没有影响的情况下,对吧?
2。“使写没有安全特定的特征。”
我的客户说,写特征必须与安全。我不能理解为什么GAPM_MASK_ATT_NAME_PERM不工作吗?
非常感谢。
嗨stanley_yeh,
1)将会发生什么,因为SDK,此刻无论你写的设备提供的SDK不会存储名称你它就值发送到设备,你就能得到它,但设备一旦你看阿甘的名字不会改变,设备将报告相同的名称。所以,是的在SDK没有实际实现改变它。我不知道什么你意思你已经实现了一个功能,存储在外部flash设备的名称。但是为了能够改变设备通过特征的名称你要应用SDK本身的变化,显然你需要分配一个指针指向USER_DEVICE_NAME而不是一个固定的名称,将显示一个数组的指针,用于存储实际的设备的名字,只要改变名称通过写作特点你要复制的数据写入数组。
2)每个特性都有一些安全特性,如果启用。这意味着如果你有指定的值0 x03 (GAPM_MASK_ATT_NAME_PERM)设备的名字特点,这意味着为了能够写特征设备要求身份验证的链接是安全的。如果链接没有身份验证,这意味着该设备不会允许你写在那个特定的特点,因为你不遵守要求设备集。另一方面,如果你应用0 x01的价值,这意味着你的写作特点,但没有额外的安全性,也就是说谁连接到设备是能够编写特点。
由于MT_dialog
嗨MT_dialog,
我真的感激你的详细信息。
对于第一个问题,我可以自己保存设备名称。没问题。
对于第二个问题,我还需要安全特性,请让我知道如果有任何新的SDK版本。
多谢。
嗨stanley_yeh,
最新版本的SDK 6.0.6,还有一个项目实现安全已经(ble_app_security),我不明白到底是什么问题。如果你应用价值GAPM_MASK_ATT_SVC_CHG_EN | 0 x03然后为了写特点需要安全,如果配对不启动然后您不会能够编写特点。如果你不希望保护特性GAPM_MASK_ATT_SVC_CHG_EN | 0 x01 .att_cfg将允许您编写的特点没有安全。
由于MT_dialog
嗨MT_Dialog,
我现在使用SDK 6.0.6我也设置”。att_cfg = (GAPM_MASK_ATT_SVC_CHG_EN | 0 x03)”的安全。
我第一次写一个字符串的特点,应用程序显示他们结合。
键后,我仍不能设置设备名称。应用程序显示“错误0 x5:关贸总协定INSUF身份验证”
我应该修改参数从TASK_GAPM TASK_GAPC在下面的“gapc_set_dev_info_req_ind_handler”功能?
struct gapc_set_dev_info_cfm * cfm = KE_MSG_ALLOC (gapc_set_dev_info_cfm
/ * TASK_GAPM TASK_GAPC, * /
TASK_APP,
gapc_set_dev_info_cfm);
你能给我一些建议吗?
非常感谢。
嗨stanley_yeh,
正如以前我在文章中提到的SDK是没有实现改变设备的名字,但它将触发你显示在应用程序级别,所以我假设您使用一个自定义修改,你也必须改变从TASK_GAPM TASK_GAPC为了发回一个确认的对等设备接受或不改变。关于GATT_INSUF_AUTHENTICATION这是你应该得到你第一次尝试设置名称和中央启动键(在ble_app_security)的情况下,焊接完成后的回调(default_app_on_set_dev_info)将发生,你将不得不处理接待名称的应用程序并决定接受或拒绝新的名称和返回GAPC_SET_DEV_INFO_CFM与适当的地位,为了正确地发回确认你将不得不改变TASK_GAPM TASK_GAPC。
由于MT_dialog