器件型号: CC2340R5
尊敬的 TI 团队:
我的客户在 CC2340 上的数据包/测试模式 (PTM) 下看到问题 HCI_LE_TestEndCmd命令完成事件不包括Number_of_Packets字段 。
额外观察(DTM–增强型 Tx 测试)
- 在开始 DTM 时:
然后发出
HCI_LE_TestEndCmd、我们会收到的命令完成事件HCI_LE_TEST_END、但Number_of_Packets是0。HCI_LE_EnhancedTxTestCmd(txChan, payloadLen, payloadType, txPhy);
详情如下:
存在许多风险
- 器件: CC2340
- IDE: Code Composer Studio 20.4.0.13__1.10.0
- SDK: SimpleLink 低功耗 F3 SDK 9.11.00.18
- 模式: PTM(数据包/测试模式)
- HCI 传输:(UART/NPI — 如果您更喜欢特定的传输详细信息,请告知;我们可以分享)
良好
- 我们
HCI_LE_ReceiverTestCmd先发送、然后再发送HCI_LE_TestEndCmd。 - 两个 API 的返回代码均为
0(btStatus = SUCCESS)。 - 我们确实会在我们的应用中接收 HCI 命令完成事件。
- 问题: 对于
HCI_LE_TEST_END、“命令完成“事件显示为 仅携带 Status 字节 、和 不携带 2‑字节Number_of_Packets。 因此、我们的解析发现没有数据包计数。
相关的处理程序设置和解析(摘录)
BLEAppUtil_EventHandler_t connectionHciGAPHandler =
{
.handlerType = BLEAPPUTIL_HCI_GAP_TYPE,
.pEventHandler = Connection_HciGAPEventHandler,
.eventMask = BLEAPPUTIL_HCI_COMMAND_STATUS_EVENT_CODE |
BLEAPPUTIL_HCI_COMMAND_COMPLETE_EVENT_CODE |
BLEAPPUTIL_HCI_LE_EVENT_CODE ,
// BLEAPPUTIL_HCI_NUM_OF_COMPLETED_PACKETS_EVENT_CODE |
};
case BLEAPPUTIL_HCI_COMMAND_COMPLETE_EVENT_CODE:
case HCI_COMMAND_COMPLETE_EVENT_CODE:
{
// Parse Command Complete Event for opcode and status
hciEvt_CmdComplete_t* command_complete = (hciEvt_CmdComplete_t*)pMsgData;
uint8_t status = command_complete->pReturnParam[0];
//find which command this command complete is for
switch (command_complete->cmdOpcode)
{
case HCI_LE_TEST_END:
{
uint16_t pktCnt = (uint16_t)command_complete->pReturnParam[1] << 8;
pktCnt += command_complete->pReturnParam[2];
receivecount = pktCnt;
// appCliDtmEndEvent(status, pktCnt);
break;
}
问题
- 是否有 已知限制或错误 指定 SDK 9.11.00.18 (CC2340、PTM) 等等
HCI_LE_TestEndCmd省略Number_of_Packets在命令完成事件中? - 有任何问题 PTM /堆栈配置标志 所需的构建选项来确保
Number_of_Packets实现 已转发 从控制器到 PTM 中的主机(例如,经典/增强型 LE 测试命令、DTM 路由或 HCI 扩展路径之间的差异)?