加入通知许可该特征

6个帖子/ 0新
最后一篇
Mohit3112.
离线
最后一次露面:1年1个月前
专家
加入:2014年8月4日13:45
加入通知许可该特征

你好,
我想实现的迪斯轮廓(只是为了理解过程中的缘故)的特点之一额外的权限,以前它是只读的,我还包括写命令指示处理细节如下

diss.c
---------
///完整DIS数据库描述 - 用于属性添加到数据库
[DIS_IDX_MANUFACTURER_NAME_VAL] = {ATT_CHAR_MANUF_NAME,PERM(RD,ENABLE)|PERM(WR,ENABLE)|PERM(NTF,ENABLE),DIS_VAL_MAX_LEN,0,NULL}

常量结构att_char_desc diss_manufacturer_name_char = ATT_CHAR(ATT_CHAR_PROP_RD | ATT_CHAR_PROP_WR | ATT_CHAR_PROP_NTF,DIS_MANUFACTURER_NAME_CHAR,
ATT_CHAR_MANUF_NAME);

还我已经实现gattc_write_cmd_ind_handler

目前,我能够读取和写入,并从LightBlue iOS应用到DA14580,它不会显示在应用程序的通知功能(即“听通知”),但是当我敲击“听通知”它不会做anything ( unlike when in accelerometer profile 'listen for notification ' on tap changes to 'stop listening' i.e listening activated ) . so basically notify permission is not enabling properly . Can you point me to proper documentation or the method to implement notify permission in the characteristic .

谢谢

Mohit3112.
离线
最后一次露面:1年1个月前
专家
加入:2014年8月4日13:45
我在等待任何更新

我在等我的问题的任何更新,如果你需要更多信息,我可以提供过

gl_dialog(未验证)
亲爱的莫希特,

亲爱的莫希特,

您所做的一切是正确的perfecly,做得好!
您需要实现的BLE定时器设置为每隔x秒发送的值,然后它会工作。

例子:

1)在虚空app_connection_func(结构gapc_connection_req_ind常量* PARAM)功能,你需要调用的函数:

app_timer_set(APP_TIMER,TASK_APP,500);//中断每5秒。

在此之前,你需要声明的app_task_handlers.h如下的处理程序:

/ *默认状态处理程序的定义。* /
EXTERN const的结构ke_msg_handler app_default_state [] =
{
{APP_TIMER,(ke_msg_func_t)app_update_value_handler}
......
}

2),其中将被从BLE每5秒定时器所触发的处理程序,你可以写一个新值的特点:

INT app_update_value_handler(ke_msg_id_t常量MSGID,
void const * param,
ke_task_id_t const dest_id,
ke_task_id_t const src_id)
{
uint8_t SETVAL [20] = {0};
app_timer_set(APP_TIMER,TASK_APP,100);
有效载荷++;

结构sample128_set_value_cmd *味精= KE_MSG_ALLOC(SAMPLE128_SET_VALUE_CMD,
TASK_SAMPLE128,TASK_APP,
sample128_set_value_cmd);
SETVAL [0] =有效载荷;
SETVAL [1] =有效载荷;
SETVAL [2] =有效载荷;
SETVAL [3] =有效载荷;
SETVAL [4] =有效载荷;
SETVAL [5] =有效载荷;
SETVAL [6] =有效载荷;
SETVAL [7] =有效载荷;
SETVAL [8] =有效载荷;
SETVAL [9] =有效载荷;
SETVAL [10] =有效载荷;
SETVAL [11] =有效载荷;
SETVAL [12] =有效载荷;
SETVAL [13] =有效载荷;
SETVAL [14] =有效载荷;
SETVAL [15] =有效载荷;
SETVAL [16] =有效载荷;
SETVAL [17] =有效载荷;
SETVAL [18] =有效载荷;
SETVAL [19] =有效载荷;

的memcpy(MSG-> sample128_val,SETVAL,20);
KE_MSG_SEND(MSG);

return(ke_msg_consumed);
}

3)录音“监听的通知”后,你会看到新的值每5秒。

希望这种帮助,

问候,

DIALOG TEAM。

丰梅克斯
离线
最后一次露面:4年7个月前
加入:2014年11月21日03:48
你好朋友

你好朋友
现在,我有同样的问题,你怎么解决?
我用gl_dialog的方法,但我不是成功,
我在spotar的patch_status的项目中找到,并且smaple128也有NOTIFY特点,我试图改变它在mem_info,但也失败了,
怎么做?

Mohit3112.
离线
最后一次露面:1年1个月前
专家
加入:2014年8月4日13:45
嗨fengmailx,

嗨fengmailx,
尝试实现这个功能,它为我工作

无效update_value(uint8_t * packet_data)
{
attmdb_att_update_value((DIS_IDX_MANUFACTURER_NAME_VAL + diss_env.shdl),APP_DIS_MANUFACTURER_NAME_LEN,0,(uint8_t *)packet_data);

prf_server_send_event((prf_env_struct *)&diss_env,假,(DIS_IDX_MANUFACTURER_NAME_VAL + diss_env.shdl));
}

莫希特Maheshwari

丰梅克斯
离线
最后一次露面:4年7个月前
加入:2014年11月21日03:48
亲爱的莫希特

亲爱的莫希特
感谢您的回复,我添加用户配置文件,它的工作将。