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:将 RSSI 附加到接收到的数据包不起作用?

Guru**** 2484615 points


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

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/1191341/launchxl-cc1352r1-append-rssi-to-received-packet-does-not-work

器件型号:LAUNCHXL-CC1352R1

您好!

我正在尝试通过设置将 RSSI 附加到接收到的数据包  

rf_cmdPropRx.rxConf.bAppendRssi = 1;

我正在使用 rfPacketRx 和 rfPacketTx 示例程序进行测试。 当我设置  RF_cmdPropRx.rxConf.bAppendRssi = 1时、代码不转至回调。

void callback(RF_Handle h, RF_CmdHandle ch, RF_EventMask e)
{
    if (e & RF_EventRxEntryDone)
    {
        /* Toggle pin to indicate RX */
        PIN_setOutputValue(ledPinHandle, CONFIG_PIN_RLED,
                           !PIN_getOutputValue(CONFIG_PIN_RLED));

        /* Get current unhandled data entry */
        currentDataEntry = RFQueue_getDataEntry();

        /* Handle the packet data, located at &currentDataEntry->data:
         * - Length is the first byte with the current configuration
         * - Data starts from the second byte */
        packetLength      = *(uint8_t*)(&currentDataEntry->data);
        packetDataPointer = (uint8_t*)(&currentDataEntry->data + 1);

        /* Copy the payload + the status byte to the packet variable */
        memcpy(packet, packetDataPointer, (packetLength + 1));

        RFQueue_nextEntry();
    }
}

 rfWakeOnRadioRx 和 rfWakeOnRadioTx 示例程序也是如此。

为什么在设置 .rxConf.bAppendRssi = 1后程序不转回调?

-kel

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

    如果要附加 RSSI、还需要在缓冲器中为它腾出空间。

    在默认 rfPacketRX 示例中、设置  rxConf.bAppendRssi = 1需要将 NUM_SUBSTED_Bytes 从2更改为3。

    默认情况下、它只有标头和状态字节的空间:

    #define NUM_APPENDED_BYTES     2    /* The Data Entries data field will contain
                                         * 1 Header byte (RF_cmdPropRx.rxConf.bIncludeHdr = 0x1)
                                         * Max 30 payload bytes
                                         * 1 status byte (RF_cmdPropRx.rxConf.bAppendStatus = 0x1) */
                                         

    如果您没有执行此操作、并且正在从 SmartRF Studio 发送一个30字节长的数据包、RX 将以  PROP_ERROR_RXBUF 状态退出。

    Siri

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

    谢谢。