嗨,对话小组,
我想从DSPS外围应用程序读取RSSI。我在应用程序中添加了以下代码。
在app_task_handlers.h
EXTERN const struct ke_msg_handler app_default_state[] =
{
...
(ke_msg_func_t) gapc_read_con_rssi_ind_handler}, {GAPC_CON_RSSI_IND
...
}
在app_task.c中增加了gapc_read_con_rssi_ind_handler
Int gapc_read_con_rssi_ind_handler(ke_msg_id_t const msgstr,
Struct gapc_con_rssi_ind *参数
Ke_task_id_t const dest_id,
Ke_task_id_t)
{
(空白)参数- > rssi;//连接RSSI
返回(KE_MSG_CONSUMED);
}
当我调用“void app_read_rssi(void)”从中央设备连接建立后,我没有收到GAPC_CON_RSSI_IND事件。
你能告诉我是什么原因吗?
问候,
sabasit
设备:
你好,
有人能回答我吗?
问候,
sabasit
嗨,对话小组,
是否有一些寄存器来启用RSSI事件?
问候,
sabasit
您好,请参阅下面关于如何获取RSSI值的帖子。
BR JE_Dialog
嗨,BR,
我在你的回复中找不到任何获取RSSI值的帖子链接。请把链接发给我。
谢谢,
sabasit
嗨Sabasit,
不好意思,这是链接。
http://support.dialog-semiconductor.com/da14580-expert-kit-rssireceived-..。
BR JE_Dialog
我们需要与dsp外设配对来读取RSSI,还是在与中心设备建立连接后不配对就可以访问RSSI ?
谢谢,
sabasit
嗨我,
我已经在DSPS外设(设备)和中心(主机)中实现了RSSI功能,就像你在上面的链接中建议的那样。当我从主机调用app_read_rssi()函数时,我没有收到外围设备中的GAPC_CON_RSSI_IND事件。
在连接建立后,我正在读取RSSI而没有配对。我是否需要配对BLE设备来读取RSSI?
我以接近性为例。监视器在配对后从报告器读取RSSI。
你有什么建议?
谢谢,
sabasit
你好,
你能回答我吗?
谢谢,
sabasit
你好,Sabasit,我们来看看:你的问题在积压中。BR JE_Dialog
嗨我,
谢谢你!我在等。
谢谢,
sabasit
嗨BR JE
我发现当主机发送“GAPC_GET_CON_RSSI”命令时,链路被sps设备断开。断开连接的原因是什么?
设备和主机都运行在两个独立的专家开发工具包上。
谢谢,
sabasit
嗨,BR JE,
当外围设备从中央接收到“GAPC_GET_CON_RSSI”命令时,它断开连接的原因找到了吗?
请帮帮我,我的项目进行得太晚了。
谢谢,
sabasit
嗨,对话小组,
你能回答我吗?
谢谢,
sabasit
你好,Sabasit,我还在等待软件团队的回复:我们会争取回复的。对不起,耽误了
你好JE_Dialog,
你有软件团队的回应吗?
谢谢,
sabasit
嗨,Sabasit, MT_Dialog正在看这个。一旦有任何结论或问题,他会立即向我们报告。抱歉耽搁了,我们现在非常忙。BR JE_Dialog
嗨sabasit
抱歉延迟,如果正确理解,您正在从您的主机app_read_rssi()调用,并且您期望设备上的指示。这不是从设备中检索rssi的方法。rssi存储在您与主机交换的每个包中。您应该在外设中实现read_rssi(),并从那里调用它以获得rssi值。app_aynch_trm()函数可以从rssi中获取值。
Uint8_t app_last_ble_evt __attribute__((section("retention_mem_area0"), zero_init));
uint8_t ble_evt;
Ble_evt = app_last_rwble_evt_get();//获取最后一个BLE事件
if (ble_evt != app_last_ble_evt) //如果不等于前一个事件
{
App_last_ble_evt = ble_evt;//更新当前事件
if (app_last_ble_evt == BLE_EVT_END) //与BLE事件结束同步
{
app_read_rssi ();//你的代码在这里
}
}
由于MT_dialog
嗨MT_dialog,
感谢回复。我正在执行,如果有问题我会向你寻求帮助。
谢谢,
sabasit