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.

[参考译文] CC2340R5:将我的应用移植到更新的 SDK 版本后、从 HCI_EXT_EnhancedModemTestTxCmd 中获取状态代码 0x21

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1640261/cc2340r5-getting-status-code-0x21-from-hci_ext_enhancedmodemtesttxcmd-after-porting-my-app-to-a-newer-sdk-version

器件型号: CC2340R5

您好:

我的设备上的调制解调器 TX 测试模式出现问题。 我使用 CC2340R53。 我最近使用 simplelink f3 lowpower SDK v8.20.00.119 将我的应用程序从 v9.14.02.16 移植到了 v9.14.02.16。

大多数东西都按预期工作、但出于某种原因、每次运行调制解调器测试模式模块(使用 HCI_EXT_EnhancedModemTestTxCmd)时、我都会得到状态代码 0x21。 0x21 似乎是 HCI_ERROR_CODE_ROLE_CHANGE_NOT_ALLOWED 的状态代码。 在更改 SDK 之前、我的旧版本应用从未出现过这个问题。

SDK 之间是否有任何会导致该问题的特定原因或更改?

谢谢、
Alex Trujillo

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

    你好亚历山大!

    查看控制器的代码、当 LL 的状态未空闲 (llState!= LL_State_idle) 时、会发生错误 0x21 (LL_STATUS_ERROR_UNEXPECT_STATE_ROLE)。

    自 2021 年以来、我看不到这段代码有任何变化、因此我敢打赌设置 LL 状态的逻辑可能发生了一些变化。 当没有其他任务等待执行或当前正在执行时、状态设置为空闲。

    能否详细说明运行 HCI_EXT_EnhancedModemTestTxCmd 之前运行的测试? 如果您先运行此命令、然后再运行其他命令、它是否起作用?

    此致、
    Lea

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

    尊敬的 Lea:

    在调制解调器测试之前、我不运行任何其他测试。 我有 GATT 特性设置、用于调制解调器测试的参数。 当检测到断开连接事件时、将创建一个调用的任务  HCI_EXT_EnhancedModemTestTxCmd 、然后在调用之前等待一段时间  HCI_EXT_EndModemTestCmd 。 之后、设备将重新启动。 在移植到 SDK 的版本 v9.14.02.16 之前、这是有效的。

    编辑:
    在这段时间里,我发现了这种呼唤  HCI_ResetCmd  在调用任何调制解调器测试功能之前、我的问题已得到解决。 我不确定为什么在 SDK 更新之前不需要它、但现在似乎可以正常工作!