亲爱的Dialog,
我正在使用DA14580开发主机(观察者)系统。系统从多个数据源收集adv数据包数据
外围设备的广播公司。
要做到这一点,我有一个问题,那就是我应该在什么源代码中挂接以将每个adv数据包数据保存到我的缓冲区
根据adv_报告的指示。在SDK3中,有一个处理函数app_adv_report_ind_handler(),但是
在SDK5中,我既找不到该函数,也找不到任何检测adv数据包的处理函数。
请告诉我在SDK5中我应该在哪里挂接和实现我的用户功能。
顺致敬意,
由纪夫
设备:
嗨,yterasaki,
请在user_app_回调中检查app_on_adv_report_ind,它处理GAPM_adv_report_ind。即使没有实现您希望接收的回调函数,您也可以在user_catch_rest_hndl中捕获其余消息。
谢谢你的对话
谢谢对话的工作人员,
我无法通过搜索关键字“app_on_adv_report_ind”或“GAPM_adv_report_ind”找到该部分。
你能指定我应该在哪里挂接广告包的缓冲函数的源代码吗?
我参考的设计是DA1458x\U SDK\5.0.2.1\projects\target\u apps\ble\u examples\prox\u monitor\u ext\Keil\u 5。
如果prox\u monitor\u ext不适合我的用途,请给我提供最好的示例。
顺致敬意,
由纪夫
嗨,yukio,
您可以在app_task.c中找到gapm_adv_report_ind_handler。你能再查一遍吗?
谢谢,MH_对话
亲爱的Dialog员工:,
以下是查找操作的结果。(我选择了“在文件中查找”选项卡)
正在搜索“gapm\u adv\u report\u ind\u handler”。。。
匹配的行:0个匹配的文件:0个搜索的文件总数:184
顺致敬意,
由纪夫
你让它跑起来了吗?我需要你的帮助。
在sdk5中,观察者不工作。
嗨,阿乔1104,
我找不到他们指定的函数,所以我放弃了使用SDK5。
当做
嗨,Yukio,
请生成项目并再次搜索。或者,您可以打开SDK文件夹“\SDK\app\u modules\src\app\u common\app\u task.c”中的文件“app\u task.c”
谢谢,MH_对话
我在adv report ind上实现了app,但我没有看到它被调用,也没有看到它在user\u catch\u rest\u hndl中被调用
嗨,阿乔1104,
您是否向GAP任务发送了设备发现请求?app_inq()发送命令并执行此操作。在这里可以找到代码DA1458x\U SDK\5.0.3\projects\host\u apps\windows\approxity\monitor\src\app.c
HandleBleMsg()处理指示GAPM_ADV_REPORT_IND并使用GAPM_ADV_REPORT_IND_处理程序将设备数据保存在app_env.devices中。
请在同一文件夹下查找ble_msg.c和app_task.c。
希望这些信息能对你有所帮助
比尔,
MH_对话
我在下面用过,不应该用吗?
//应用程序定时器设置(应用程序高级定时器,任务应用程序,500)//180000毫秒->3分钟
结构gapm\U start\U scan\U cmd*msg=(结构gapm\U start\U scan\U cmd*)KEU msg\U ALLOC(gapm\U start\U scan\U cmd、TASK\U gapm、TASK\U APP、gapm\U start\U scan\U cmd);
//最大对等连接
msg->mode=GAP\u GEN\u DISCOVERY;//间隙观察者模式
//msg->mode=GAP\u OBSERVER\u mode;
msg->op.code=GAPM\u扫描\u被动;
//msg->op.code=GAPM\u SCAN\u ACTIVE;
msg->op.addr\u src=GAPM\u PUBLIC\u addr;
msg->filter\u duplic=扫描\u FILT\u duplic\u EN;
msg->interval=100;
msg->window=10000;
ke_msg_send(msg);
嗨,阿乔1104,
请检查这篇文章http://support.dialog-semiconductor.com/bug-gapmcmpevthandler.
谢谢你的对话