This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CC2745R10-Q1:缺少扫描响应数据/事件

Guru**** 2331900 points
Other Parts Discussed in Thread: SYSCONFIG
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1463934/cc2745r10-q1-missing-scan-response-data-event

器件型号:CC2745R10-Q1
主题中讨论的其他器件:SysConfig

工具与软件:

您好!

SDK: simplelink_lowpower_f3_sdk_8_40_00_61

我目前使用 CC2745R10作为中央设备。 我已经修改了 SDK 中给出的 basic_ble 示例来充当客户端。  

我有一个 GoPro 设备、可用作 BLE 外围设备。 GoPro 设备通过广告和扫描响应发送一些数据(46字节)。 所示。  

GoPro 设备的广告类型为"传统广告"。

我尝试从 CC2745R10中提取相同的数据、但我只接收一部分数据、即24字节。 我收到" BLEAPPUTIL_ADV_REPORT "、它仅包含24字节数据、如下所示。

0x0B、0x09、0x47、0x6F、0x50、0x72、0x6F、0x20、0x30、0x31、0x34、0x30、
0x0B、0x16、0xA6、0xFE、0xF7、0x82、0x12、0xC3、0x30、0x31、0x34、0x30

我看不到制造商数据和标志字段。

如何获取扫描响应数据?  

其他信息:

我注册的事件如下所示。


BLE4.4510_t Util_Event centralScanHandler =

.handlerType = BLEAPPUTIL_GAP_SCAN_TYPE、
.pEventHandler = Central_Scan 791-Handler、
.EventMask = BLEAPPUTIL_SCAN_ENABLED |
BLEAPPUTIL_SCAN_DISABLED |
BLEAPPUTIL_ADV_REPORT
};

默认扫描类型为" 活动扫描模式 "。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    能否查看 Observer Configuration 的 SysConfig 设置? 此外、您是否介意提供空气迹线(Ellysis 日志)?

    此致!
    Nima Behmanesh

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    请在下面找到 SYSCFG 设置。

    观测器设置概述:

    广告报告子菜单:

    PDU 筛选器子菜单:

    默认情况下、在 PDU 过滤器下、未启用"scan response Only"(仅扫描响应)。 我通过启用它进行了测试、但仍然存在相同的问题。

    我不知道她在想什么,可又不想说什么了。 我将在收到日志后尝试收集日志。  

    当我从我的 Android 手机扫描 GoPro 设备时、我已捕获日志。 在这些日志中、我可以看到 GoPro 正在响应扫描回复消息、我在下面附上了相同的屏幕截图。 希望这对您有所帮助。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    在等待 Ellysis 日志时、我能看到用于分析报告的代码吗?

    查看 advreport 结构:

    位0到4表示这是传统广播还是扫描响应。 可能是第二份报告即将提交、但被忽略。

    看到代码会验证这一点。

    此致!

    Nima Behmanesh

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Nima:  

    请查找有关如何解析数据的代码片段。

    scanEventHandler 的内容:

    请参阅" BLEAPPUTIL_ADV_REPORT" 有所不同 .

    void 4.2000 Central_Scan 处理程序(uint32事件、BLEAppUtil_msgHdr_t *pMsgData)

    BLE4512.Data_t Util_Scan *scanMsg =(BLE4073 Util_Scan Data_t *) pMsgData;

    开关(事件)

    案例 BLEAPPUTIL_SCAN_ENABLED:

    centralScanIndex = 0;
    MenuModule_printf (APP_MENU_SCAN_EVENT、0、"Scan status:scan started...");

    休息;
    }

    案例 BLEAPPUTIL_SCAN_DISABLED:

    UINT8 I;

    对于(I = 0;I < APP_MAX_NUM_OF_ADV_REPORTS;I++)

    memset (&centralScanRes[i]、0、sizeof (App_scanResults));
    }

    //检查保存在主机级别的广播报告并保存
    对于(i = 0;i < scanMsg->pBuf->pScanDis.numReport;i++)

    G54 Scan_Evt_Adv Rpt_t advReport;
    //从报告中获取地址
    GapScan_getAdvReport (i、&advReport);
    //将报告添加到扫描列表
    Central_addScanRes (&advReport);
    }

    休息;
    }
    案例 BLEAPPUTIL_ADV_REPORT

    if (handleAdvReport ( scanMsg->pBuf->pAdvReport )

    Serial_Write ("找到器件"、sizeof ("找到器件")-1);
    }
    休息;

    默认值:

    休息;
    }

    }
    }

    注释 :在我的初始查询中,你可以看到 scanmsg 的内容截图。 evtType 变量的值为" 0x1b "。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Nima:  

    我找到了此问题的解决方法。  

    SYSCFG 文件有一个称为 PDU type filter 的字段。 我将其设置为" 仅完成 "和" 仅可连接 "。 现在我得到两个事件、1表示广播、另一个表示扫描响应。