DA14585窗口的大小和扫描间隔

学到更多常见问题解答教程

4帖/ 0新
最后发表
ltdev
离线
最后一次露面:5天2小时前
加入时间:二○一八年十一月一十二日09:19
DA14585窗口的大小和扫描间隔

嗨,我们想要一个项目做广告2秒扫描3秒后。我实现了宣传和扫描开关机构,但我有一些problemms。如何设置扫描窗口,扫描间隔值?我要扫描约3秒信标?

我定义值

CMD-> op.code = GAPM_SCAN_ACTIVE;
CMD-> op.addr_src = GAPM_STATIC_ADDR;
CMD->间隔= MS_TO_BLESLOTS(3000);//总间隔3000毫秒
CMD->窗口= MS_TO_BLESLOTS(1000);//每个通道1000毫秒
CMD->模式= GAP_GEN_DISCOVERY;
CMD-> filt_policy = SCAN_ALLOW_ADV_ALL;
CMD-> filter_duplic = SCAN_FILT_DUPLIC_EN;

但扫描时间约需7.94秒

扫描完成的状态是69(GAP_ERR_TIMEOUT)

设备:
PM_Dialog
离线
最后一次露面:6小时42分钟前
员工
加入时间:2018年2月8日11:03
嗨btdev,

嗨btdev,

请尝试使用,而不是GAPM_SCAN_ACTIVE GAPM_SCAN_PASSIVE。在被动扫描中的配置中,中央仅接收广告数据,并且为了接收来自外围设备的扫描响应(SCAN_RESP)不发送扫描请求(SCAN_REQ)。关于超时,就应该设置一个秒计时器停止扫描过程。然后,你应该添加.app_on_scanning_completed = scanning_completed另一个回调。在scanning_completed(),你应该重新配置设备与外设和重启广告。

谢谢,PM_Dialog

ltdev
离线
最后一次露面:5天2小时前
加入时间:二○一八年十一月一十二日09:19
//扫描停止计时器回调
//扫描停止计时器回调空隙scanStopTimer_CB(无效){arch_printf( “SCAN STOP \ r \ n”);结构gapm_cancel_cmd * CMD =(结构gapm_cancel_cmd *)KE_MSG_ALLOC(GAPM_CANCEL_CMD,TASK_GAPM,TASK_APP,gapm_cancel_cmd);CMD->操作= GAPM_SCAN_PASSIVE;//设置GAPM_SCAN_PASSIVE ke_msg_send(CMD); //发送消息} //扫描开始功能静态无效user_scan_start(无效){结构gapm_start_scan_cmd * CMD = KE_MSG_ALLOC(GAPM_START_SCAN_CMD,TASK_GAPM,TASK_APP,gapm_start_scan_cmd);CMD-> op.code = GAPM_SCAN_PASSIVE;CMD-> op.addr_src = GAPM_STATIC_ADDR;CMD->间隔= 10;CMD->窗口= 5;CMD->模式= GAP_GEN_DISCOVERY;CMD-> filt_policy = SCAN_ALLOW_ADV_ALL; cmd->filter_duplic = SCAN_FILT_DUPLIC_EN; // Send the message ke_msg_send(cmd); // We are now connectable //ke_state_set(TASK_APP, APP_CONNECTABLE); scanStopTimer = app_easy_timer(300,scanStopTimer_CB); arch_printf( "SCAN START\r\n"); } //.scan completed callback void user_on_scan_complete(const uint8_t param){ arch_printf( "Advertise Start = %d\r\n", param); // begin other process // }

嗨,我添加一个计时器。和扫描完成回调(在user_callback.h)。在后3秒运行扫描停止,但不打印扫描STOP printf和dont'run扫描完成回调。3secs后,只要停止申请

PM_Dialog
离线
最后一次露面:6小时42分钟前
员工
加入时间:2018年2月8日11:03
嗨btdev,

嗨btdev,

您刚才提到,只要扫描过程完成,没有回调函数被触发。你已经注册你的回调函数在.app_on_scanning_completed项目的user_app_callbacks在user_callback_config.h文件sttacture?当扫描停止时,那里的代码去?

谢谢,PM_Dialog