DSP中央 - 使用GAPM_SCAN_ACTIVE获取外围设备名称

4个帖子/ 0新
最后一篇
MSUN
离线
最后一次露面:10个月4天前
加入:2015-11-30 22:40
DSP中央 - 使用GAPM_SCAN_ACTIVE获取外围设备名称

我对工作DSP中央应用程序进行了小的修改,基于SDK5,允许它在扫描期间将扫描的外围设备名称报告回我的应用程序。

在进行修改之前,我使用连接管理器应用程序首先验证我可以从我的(DSP)外围设备中报告此信息。

在Connection Manager中,我将它设置为“作为Central启动”。使用主动扫描。
我成功地看到了我的外设报告的2个广告报告,指示了第一个UUID信息,然后是随后的设备名称信息...请参阅下面的日志...

====> [13:24:56.677] Tx <====
SRC任务:0x3F(Task_Apd)
DST任务:0xD(task_gapm)
MSG ID:0x340F(Gapm_start_scan_cmd)
自己的添加类型:0x0(addr_public)
Payload:0F 34 0d 00 3F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

====> [13:24:56.716] Rx <====
SRC任务:0xD(task_gapm)
DST任务:0x3F(task_app)
MSG ID:0x3410(Gapm_adv_report_ind)
EVT类型:0x0
Addr典型值:0x0
BD ADDR:80:EA:CA:00:00:00
RSSI:0x89
数据Len:0x15
数据:02 01 06 11 07 B7 5C 49 D2 04 A3 40 71 A0 B5 35 85 3E B0 83 07
有效载荷:10 34 3F 00 0D 00 29 00 00 00 00 00 00 CA EA 80 15 02 01 06 11 07 B7 5C 49 D2 04 A3 40 71 A0 B5 35 85 3E B0 83 07 00 00 00 00 00 00 00 00 00 0089.

====>应用信息<====
广告数据
标志:LE General可发现模式,BR / EDR不支持
128位服务UUID:0783B03E8535B5A07140A304D2495CB7

====> [13:24:56.728] Rx <====
SRC任务:0xD(task_gapm)
DST任务:0x3F(task_app)
MSG ID:0x3410(Gapm_adv_report_ind)
EVT类型:0x4
Addr典型值:0x0
BD ADDR:80:EA:CA:00:00:00
rssi:0x8a.
数据Len:0x12
数据:11 09 53 6F 6C 65 4F 4F 4E 45 5F 50 51 52 53 54 55 5F 4C
Payload:10 34 3F 00 0d 00 2 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 008A

====>应用信息<====
广告数据
设备名称:SOLEONE_PQRSTU_L

现在我承诺对我的DPSP中央申请进行修改。

在user_config.h中,我将扫描模式更改为gapm_scan_active。

现在在user_sps_host.cn时,在扫描我的外设时,我会看到2个回调到user_on_adv_report_ind()
第一个具有EVT_TYPE 0,第二个具有EVT_TYPE 4,如预期。
第一个事件报告我的bt addr,uuid和rssi
第二个事件报告正常我的BT Addr,RSSI .......但报表.Data_Len = 0,因此没有填充到Report.data []数组中的设备名称。

=========================================================================================================================.
问题:

在进行活动扫描中是否有其他任何我缺少报告我的外围设备名称?

对于Connection Manager DA14580应用程序,我有Binary / hex文件full_emb.hex
是否有此DA14580应用程序的源代码......我可以通过该代码涉及为什么能够成功报告外围设备的设备名称。

谢谢。

设备:
Gongyu_dialog.
离线
最后一次露面:1周4天前
加入:2016-04-27 07:07
作为外围设备,我们

作为外围设备,我们在user_advertise_scan_response_data的微定义中添加名称信息。(file user_config.h“
但对于其他设备,它们可能不会在scan_rsp数据包中添加名称信息。

MSUN
离线
最后一次露面:10个月4天前
加入:2015-11-30 22:40
我的外围设备是

我的外围设备只是一个DA14580-EVKT-B板,运行DSPS SPS_DEVICE SDK5应用程序。

如对话框“Connection Manager”所示,“Connection Manager”能够成功执行活动扫描,并从主动扫描的DSPS SPS_DEVICE应用程序检测外围设备名称。
因此,外围设备正常提供设备名称。

但是当我修改DSPS SPS_HOST SDK5应用程序来执行活动扫描时,扫描请求响应响应显示设备名称的空字符串。

MSUN
离线
最后一次露面:10个月4天前
加入:2015-11-30 22:40
问题得到解决。

问题得到解决。

我认为只有在user_on_adv_report_ind()函数中设置了一个断点时,才显示空字符串。
一旦我拿走了断点,让代码不间断运行,则正在正确报告DeviceName。

谢谢。