自定义配置文件可能的错误

⚠️
嗨,...感谢您来论坛。令人兴奋的消息!我们现在正在迁至我们的新论坛平台,将提供更好的功能,并包含在主对话框网站中。所有帖子和帐户都已迁移。我们现在只接受新论坛上的流量 - 请发布任何新线程https://www.dialog-seminile.com/support.。我们将在未来几天修复错误/优化搜索和标记。
6个帖子/ 0新
最后一篇
ilnur_muham.
离线
最后一次露面:1个月2周前
加入:2016-02-17 07:59
自定义配置文件可能的错误

我正在使用自定义配置文件。

我的设备应该使用迹象发送一些数据。

第一个问题,在自定义配置文件上发送指示是正确的方法是什么?我应该使用custs2_val_ntf_req(custs_val_ntf_ind_req参数结构中的notification = false)或custs2_val_ind_req消息?

如果我使用custs2_val_ind_req i根本不能发送指示,因为当请求处理attmdb_get_value(cfg_hdl,&cfg_val)returnat att_err_request_not_supported = 0x06时,但甚至没有检查返回值。

如果我使用custs2_val_ntf_req,我可以发送指示,但有一些看起来像一个错误的东西。

如果在重新连接之后发生由超时引起的断开,我无法接收指示。
我怎么看?
断开连接后,我的任务的状态仍然是Musts2_busy,所以我无法发送新的迹象。

SDK Version 6.0.4.326,芯片DA14586

设备:
mt_dialog.
离线
最后一次露面:1个月2周前
职员
加入:2015-06-08 11:34
嗨ilnur_muham,

嗨ilnur_muham,

正确的方法是将Custs2_val_ntf_req用一个通知设置为false,另一条消息(custs2_val_ind_req)将在下次版本的SDK和其过时(而不是运行)中进行注释。您从ATTMDB_GET_VALUES获取此结果的原因是因为SDK传递错误的句柄以进行更新的值。因此,正确的方法是使用CUSTS2_VAL_NTF_REQ和错误以虚假通知。

关于您拥有的第二个问题,指示需要来自中央的确认,因此为了发送前一个指示,必须确认前一个,显然由于没有通信(由于存在超时),设备仍然是在繁忙状态下,等待从客户端确认,但显然它没有并保持在忙碌状态,快速解决方法,您可以尝试在与Ke_State_Set断开连接时在空闲状态下设置任务(任务,Custs2_Idle)。据我所知,据我所知,在断开连接时可能是一个问题,我向SDK团队通知了这一点。

谢谢mt_dialog.

ilnur_muham.
离线
最后一次露面:1个月2周前
加入:2016-02-17 07:59
我只是想提到这一点

我只想提到第二个问题也发生通知。

我当前的解决方法似乎为我工作是在Custs2_Chereanup中添加以下行。

struct musts2_env_tag * custs2_env =(strusts2_env_tag *)env-> env;
if(custs2_env->操作!= null)
{
KE_FREE(CUSTS2_ENV->操作);
custs2_env->操作= null;
ke_state_set(prf_src_task_get(&(custs2_env-> prf_env),0),custs2_idle);
}

mt_dialog.
离线
最后一次露面:1个月2周前
职员
加入:2015-06-08 11:34
嗨ilnur_muham,

嗨ilnur_muham,

我可以看到关于迹象的报告的问题,但我无法看到至少在外围示例上提到的关于通知的内容,当设备断开连接时,您可以再次连接并且设备正在进行能够再次发送通知。据我所知,据我所知,只有在哪里可以追溯到配置文件返回空闲状态,所以它应该从中央设备获得确认。

谢谢mt_dialog.

米克伍德
离线
最后一次露面:1个月4天前
加入:2017-05-19 18:27
Custsx仍然是真的

Custsx_val_ind_req是否仍然是真的,以作为发送特征指示的方式?我在DA14585,SDK 6.0.6.427上使用此消息实现了指示的特性,似乎工作正常(即它是“操作”与上述MT_DIALOG的指导相反)。然而,如上所述,它可能会易于顾客xbusy错误。我们申请中的指示相对较少,所以我们可能没有看到这个问题。

此外,SDK 6.0.6.427中包含的BLE_APP_ALL_IN_ONE示例使用CUSTS1_VAL_IND_REQ消息来发送user_svc1_long_val_cfg_ind_handler()函数中的指示。

PM_DIALOG.
离线
最后一次露面:10小时34分钟前
职员
加入:2018-02-08 11:03
嗨米克伍德,

嗨米克伍德,

在SDK 6.0.6中,您可以使用Custs1_val_ind_req消息来发送指示。AS,您已经提到了BLE_APP_ALL_IN_ONE示例在收到CUSTS1_VAL_IND_REQ消息时使用此消息和相应的处理程序。此外,强烈建议使用DA14585设备的最新SDK_6.0.8。

谢谢,PM_DIALOG.