主机是发送扫描cmd但不扫描任何终点设备

15个帖子/ 0新
最后一篇
YuanhangWu
离线
最后一次露面:4年11个月前
专家
加入:2015-03-25 08:19
主机是发送扫描cmd但不扫描任何终点设备

大家好。

在dsps project "DA14580_DSPS_3.150.2", The host is send scan cmd but not scan any perpheral device.
但在手机应用中可以扫描终点设备。
为什么 ?

请帮我。

代码不会改变,但是通过UART添加一些提示.PLAY是按照:

void app_scanning(无效)
{
ke_state_set(task_app,app_connectable);

//创建一个核心消息以开始扫描
struct gapm_start_scan_cmd *msg = (struct gapm_start_scan_cmd *)KE_MSG_ALLOC(GAPM_START_SCAN_CMD, TASK_GAPM, TASK_APP, gapm_start_scan_cmd);
//最大对等连接
msg-> mode = gap_gen_discovery;
msg-> op.code = gapm_scan_passive;
msg-> op.addr_src = gapm_public_addr;
msg->filter_duplic = SCAN_FILT_DUPLIC_EN;
msg->interval = APP_SCAN_INTERVAL;
msg-> window = app_scan_window;

UART_WRITE(“\ r \ ns7 \ r \ n”,6,null);//////add by me

// Send the message
KE_MSG_SEND(MSG);
}

在GAPM_CMP_EVT_HANDLER函数中添加提示:
case GAPM_SCAN_PASSIVE:
case GAPM_SCAN_ACTIVE:
{
if(param-> status == gap_err_canceled)
{
UART_WRITE(“\ r \ ns6 \ r \ n”,6,null);//添加我
app_connect();
}
别的
{
UART_WRITE(“\ r \ ns7 \ r \ n”,6,null);//添加我
app_scanning();
}
}
休息;

在app_set_dev_config_complete_func函数中:
void app_set_dev_config_complete_func(void)
{
// We are now in Initialization State
ke_state_set(task_app,app_db_init);

//在数据库中添加第一个必需的服务
if (app_db_init())
{
//当数据库已经开始了广告时
uart_write("\r\nS1\r\n", 6, NULL); //add by me
app_scanning();
}
}

在GAPM_ADV_REPORT_IND_HANDLER函数中:
msgid,lapm_adv_report_ind_handler(ke_msg_id_t const,
const struct gapm_adv_report_ind *param,
ke_task_id_t const dest_id,
ke_task_id_t const src_id)
{
/*
if(!memcmp(&param-> report.data [3],app_dflt_addata,app_dflt_add_data_len)))
{
//Save found bd_addr to global variable
memcpy(&connect_bdaddr,param-> eport.addr.addr,sizeof(struct bd_addr));

UART_WRITE(“\ r \ ns5 \ r \ n”,6,null);//添加我
app_cancel_scanning();
}
别的
* /
UART_WRITE(“\ r \ ns6 \ r \ n”,6,null);//添加我
return(ke_msg_consumed);
}

我在da14580_config中关闭睡眠模式。
没有改变任何事情。
结果是:
S1
S7
S7
S7
S7

every S7 tip is about 10 second gap.
I used "DA14580_DSPS_3.150.2", The sps_device and sps_host.
但不进入GAPM_ADV_REPORT_IND_HANDLER函数。
手机应用程序可以扫描14580年代的终点设备。。
为什么不进入GapM_Adv_Report_ind_Handler函数?

等你的帮助。

Keywords:
设备:
mhv_dialog.
离线
最后一次露面:2个月2周前
职员
加入:2013-12-06 15:10
你好,

你好,

你在外围方面改变了什么吗?代码如何在任何一方都有修改的情况下为您工作?

YuanhangWu
离线
最后一次露面:4年11个月前
专家
加入:2015-03-25 08:19
你好,

你好,

因为没有32.768k,所以

外围改变这个地方:
#define CFG_LP_CLK 0x00 to 0xAA;

中央也改变这个地方:
#define CFG_LP_CLK 0x00 to 0xAA;
没有变化

没有其他地方更改了。

YuanhangWu

YuanhangWu
离线
最后一次露面:4年11个月前
专家
加入:2015-03-25 08:19
大家好。

大家好。
我使用了“da14580_dsps_3.150.2”sps_host。

当GAPM_START_SCAN_CMD发送时,

但不进入GAPM_ADV_REPORT_IND_HANDLER函数。

手机应用程序可以扫描14580年代的终点设备。。
为什么 ?
如何使用SPS_HOST项目获取终点设备广告数据?
在某个地方获取广告数据存储?

thanks.

YuanhangWu
离线
最后一次露面:4年11个月前
专家
加入:2015-03-25 08:19
Or need to wait for a long

Or need to wait for a long time to scan out the advertising data,
如何更快地扫描广告数据?

thanks.

mhv_dialog.
离线
最后一次露面:2个月2周前
职员
加入:2013-12-06 15:10
我不知道如何帮助你

我不知道如何帮助你。I have asked a local representative to reach out to you directly.

SUMMER20100514.
离线
最后一次露面:4年5个月前
Guru
加入:2014-12-30 05:01
我有类似的问题。When

我有类似的问题。当我使用passive_scan时,没有任何adv数据。你能帮我吗?

SUMMER20100514.
离线
最后一次露面:4年5个月前
Guru
加入:2014-12-30 05:01
我的代码中有一个错误,所以

我的代码中有一个错误,所以the problem is resolved. Thanks.

YuanhangWu
离线
最后一次露面:4年11个月前
专家
加入:2015-03-25 08:19
嗨,summer20100514,

嗨,summer20100514,

You problem have resolved.
所以,我想要你帮助我。
在da14580_dsps_3.150.2中使用的主机角色,
如何使扫描结果更快,更有效?

thanks .

SUMMER20100514.
离线
最后一次露面:4年5个月前
Guru
加入:2014-12-30 05:01
我没有使用da14580_dsps_3

我没有使用da14580_dsps_3.150.2,而是使用da14580_sdk_3.0.4.0 \ host_apps \ windows \ proximity \ monitor。当然,我修改了PC上的项目,在STM32上工作,作为运行BLE堆栈的一个外部主机和DA14580,它是DA14580_SDK_3.0.4.0 \ DK_APPS \ KEIL_PROJECTS \ PROXIMITY \ MONITION_FE_USB。由于一些商业原因,我不能向您提供项目,但我认为您可以查看这些项目来获得灵感,事实上,它很容易。

YuanhangWu
离线
最后一次露面:4年11个月前
专家
加入:2015-03-25 08:19
嗨,mhv_dialog

嗨,mhv_dialog

我测试多次使用过的主机扫描广告数据,只需一次扫描Gapm_adv_report_ind_handler函数中的广告数据。
所以我想得到扫描结果更快,更有效。
怎么办?

thanks.

YuanhangWu
离线
最后一次露面:4年11个月前
专家
加入:2015-03-25 08:19
嗨,mhv_dialog,

嗨,mhv_dialog,

I mean is that host device scan first time or second time,then scan out the perpheral's advertising data.
是的,使用短数字扫描时间获取扫描结果。

how to do to make it?

thanks.

YuanhangWu
离线
最后一次露面:4年11个月前
专家
加入:2015-03-25 08:19
嗨,mhv_dialog,

嗨,mhv_dialog,

I just debug in KEIL u4.
When I set like this:
///广告最小间隔
#define APP_ADV_INT_MIN 0x30
///广告最大间隔
#define APP_ADV_INT_MAX 0x30
我点击dubug --run-(扫描递盖骨头广告数据) - dubug。

When I set like this:
///广告最小间隔
#define app_adv_int_min 0xa0.
///广告最大间隔
#define APP_ADV_INT_MAX 0xA0
我点击dubug --Run ---杜巴。
我插入提示告诉我很多时间通过,也无法扫描百年广告数据。

Wyh吗?
对于低堆积,所以广告间隔应该设置多长时间是最好的?

谢谢。

YuanhangWu
离线
最后一次露面:4年11个月前
专家
加入:2015-03-25 08:19
嗨,mhv_dialog,

嗨,mhv_dialog,

I have get it.
现在结果是:
外围:
0.5秒的广告差距。

中央:
每7.5秒扫描每7.5秒,但消耗量为3.6mA平均值。

扫描速度不是很快,但消费已经很高。
Wyh以及如何使扫描结果速度更快,更有效?
Or how to get the best balance.

ACHAO1104.
离线
最后一次露面:5年3个月前
掌握
加入:2015-12-24 10:56
你怎么解决这个问题

你怎么解决这个问题?我现在得到了同样的问题,谢谢。
“不进入GapM_Adv_Report_ind_Handler”