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.

[参考译文] LAUNCHXL-CC1352R1:针对专有 RF 与放大器进行设置时、无法在37以外的通道上广播 BLE;BLE

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1430887/launchxl-cc1352r1-unable-to-advertise-ble-on-channel-other-than-37-when-setup-for-proprietary-rf-ble

器件型号:LAUNCHXL-CC1352R1

工具与软件:

您好!
我想使用低级射频命令 在通道37、38和39上发送 ADV_NONCONN_IND 数据包、并在除之外的任何通道上发送特定于制造商的有效载荷。 但是、我们只能在通道37上看到正在传输的任何数据包。

我们选择了使用低级射频命令来实现周期性广播、因为我们还使用 专有射频模式来同时传输其他数据包。


我们命令序列的一些伪代码:

rfc_bleAdvPar_t adv_params = (rfc_bleAdvPar_t){
    .advLen = 16,
    .pAdvData = my_adv_data_len_16,
}

rfc_CMD_FS_t setup_chan_37_cmd = (rfc_CMD_FS_t){
    .commandNo = 0x0803,
    .frequency = 2402,
    .condition.rule = COND_STOP_ON_FALSE,
    .pNextOp = &adv_chan37_cmd
}

rfc_CMD_BLE5_ADV_NC_t adv_chan37_cmd = (rfc_CMD_BLE5_ADV_NC_t){
    .commandNo = 0x182D,
    .channel = 37,
    .pParams = &adv_params,
    .condition.rule = COND_STOP_ON_FALSE,
    .pNextOp = &setup_chan_38_cmd
}

rfc_CMD_FS_t setup_chan_38_cmd = (rfc_CMD_FS_t){
    .commandNo = 0x0803,
    .frequency = 2426,
    .condition.rule = COND_STOP_ON_FALSE,
    .pNextOp = &adv_chan38_cmd
}

rfc_CMD_BLE5_ADV_NC_t adv_chan38_cmd = (rfc_CMD_BLE5_ADV_NC_t){
    .commandNo = 0x182D,
    .channel = 38,
    .pParams = &adv_params,
    .condition.rule = COND_STOP_ON_FALSE,
    .pNextOp = NULL
}

RF_Mode myBLEMode = (RF_Mode){ 
    .rfMode = RF_MODE_MULTIPLE,
    .cpePatchFxn = rf_patch_cpe_multi_protocol,
}

...
handle = RF_open(&myBLEObject, &myBLEMode, &myBLESetup, &myBLEParams);
...

// Able to see packet on channel 37 only 
RF_scheduleCmd(handle, &setup_chan_37_cmd, &defaultScheduleParams, txCompleteCb, RF_EventLastCmdDone);

// Not able to see ANY packets if starting from `setup_chan_38_cmd`
// RF_scheduleCmd(handle, &setup_chan_38_cmd, &defaultScheduleParams, txCompleteCb, RF_EventLastCmdDone);



我们是否使用预期的射频命令序列来实现此目的?  需要哪些其他信息来帮助进行调试?  

我正在使用 TI SimpleLink CC13xx_CC26xx SDK 版本 
6.30.00.x

谢谢!

Adam

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

    你好、Adam

    由于您只共享部分代码、因此无法说出具体内容。

    我看到您使用某种命令链接。 如果一次只在一个通道上进行传输(不涉及链接)、您是否已验证可以在全部3个通道上进行传输?

    调试的第一步应该是验证您是否能够使所有3个通道独立工作。

    一旦你把它启动并运行,你可以尝试建立一个链.

    在运行链后检查每个命令的状态将为您提供有关正在发生的情况的有用信息。 命令运行是否有错误、或者根本没有运行?

    此外、您是如何验证问题是在发送器端、而不是在 RX 端?

    如果您无法安装和运行代码、请向我们提供少量代码示例(您可以基于 rfPacketTX 示例)、该示例演示了问题、以便我们可以在此处重现问题。

    BR

    Siri