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-CC1312R1:EasyLink_getRfPower 返回13dBm txPower 值的127 (0x7f)

Guru**** 2482105 points
Other Parts Discussed in Thread: CC1352P, CC2652RSIP, CC2652PSIP, CC2652R7, SYSCONFIG, CC1312R, CC1312R7, CC1352P7

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

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/1234870/launchxl-cc1312r1-easylink_getrfpower-returns-127-value-0x7f-with-13dbm-txpower-value

器件型号:LAUNCHXL-CC1312R1
主题中讨论的其他器件:SysConfigCC1312R、CC1352P 、CC2652RSIP、CC2652PSIP、 CC1312R7CC1352P7、CC2652R7

您好

SDK 是6.10。 Txpower 在433频率下设置为13dBm。

在 ti_radio_config 文件中、txpower 为0x6a。

当我使用 EasyLink_getRfPower 函数时、我得到的值是127 (=0x7f)。

为什么我不能得到13个呢?  

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

    请确切告知我您在 SDK 中进行了哪些更改(以及对示例进行了哪些更改)。

    CC1312R LP 不支持433MHz、因此您无法在 SysConfig 中选择此频带:

    Siri

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

    我不使用生成的 syscgf、 我使用 SmartRF Studio 生成的 ti_radio_config 文件、并将频率设置为433

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

    仍然对您在代码中执行的操作感到困惑:

    首先、SmartRF Studio 不导出  ti_radio_config、 而是导出 smartrf_settings.c/h。

    您是否在使用这些 文件而不是 SysConfig 生成的 ti_radio_config 文件?

    如果需要、如何禁用 SysConfig 生成的文件?

    此外、如何 为433MHz 生成 RF_TxPowerTable_Entry 条目?

    据我所见、该表没有从 SmartRF Studio 导出。

    您需要详细解释您正在做什么/如何更改我们的默认示例、以便我们可以在此处重新创建您的问题并告诉您正在发生什么情况。

    Siri

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

    好的、我可以很清楚地看到这个问题:

    使用调试器、我可以看到、对于13dBm、我在变量中获得以下值(对于我在下面附加的 TI 代码):

    currvalue.rawValue = 22
    rfPowerTable =指向一个有效的地址
    rfPowerTableSize = 18
    txPowerDbm = 127

    这意味着在这一行:

    txPowerDbm = RF_TxPowerTable_findPowerLevel (rfPowerTable、currValue);

    转换表无法获取值  

    这是因为设定频率没有有效的转换表。

    你建议如何解决这一问题?  



    TI 规范:

    EasyLink_Status EasyLink_getRfPower (int8_t * pi8TxPowerDbm)
    {
    int8_t txPowerDbm = 0xff;

    如果(!configured)||挂起)
    {
    返回 EasyLink_Status_Config_Error;

    #if (定义的 CONFIG_CC1352R1F3RGZ)||(定义的 CONFIG_CC1312R1F3RGZ)||
    (定义的 CONFIG_CC2652R1FRGZ)||(定义的 CONFIG_CC2652R1FSIP)||
    (定义的 CONFIG_CC2652P1FSIP)||(定义的 CONFIG_CC1312R7RGZ)||
    (定义的 CONFIG_CC1352P7RGZ)||(定义的 CONFIG_CC2652R7RGZ)||
    (定义的 CONFIG_CC1312R1_LAUNCHXL)||(定义的 CONFIG_CC1352R1_LAUNCHXL)||
    (定义的 LAUNCHXL_CC1352P1)||(定义的 CONFIG_CC26X2R1_LAUNCHXL)||
    (定义的 LAUNCHXL_CC1352P_4)||(定义的 LAUNCHXL_CC1352P_2)||
    (已定义 CONFIG_LP_CC2652PSIP)||(已定义 CONFIG_LP_CC2652RSIP)||
    (已定义 CONFIG_LP_CC1312R7)||(已定义 LP_CC1352P7_4)||
    (定义的 LP_CC1352P7_1)||(定义的 CONFIG_LP_CC2652R7)

    uint8_t rfPowerTableSize = 0;
    rf_TxPowerTable_Entry *rfPowerTable = NULL;
    RF_TxPowerTable_Value 当前值= RF_getTxPower (rfHandle);

    if (currValue.rawValue == rf_TxPowerTable_invalid_value)
    {
    //值无效
    返回 EasyLink_Status_Config_Error;

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

    请回答我第一次答复中的所有问题、以便我为您提供帮助。

    Siri

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

    您是否在使用这些 文件而不是 SysConfig 生成的 ti_radio_config 文件? 是的、我有。

    如果需要、如何禁用 SysConfig 生成的文件? 我在 syscfg GUI 中告诉它不要生成这些文件、从而将其禁用。

    此外、如何 为433MHz 生成 RF_TxPowerTable_Entry 条目? 我从 SmartRF Studio 中获取了值、并将其设置为433。 这是可以做到的。

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

    我无法重现您的问题、因此我需要有关您如何操作的确切说明、以便我能够找出问题所在。

    我采用了6.10 SDK 中的 rfEasyLinkTx 示例(用于 CC1312R)。

    我在 Studio 中生成了433个设置、并在 ti_nRADIO_CONFIG.c 中使用了这些设置(该文件是手动添加到工程中的、并在 SysConfig 中被禁用)。  

    然后、我读出 TX 功率为13dBm:

    Studio 中的相关设置:

    RF_TxPowerTable_Entry txPowerTable[TX_POWER_TABLE_SIZE] =
    {
        {-20, RF_TxPowerTable_DEFAULT_PA_ENTRY(0, 3, 0, 0) }, // 0x00C0
        {-15, RF_TxPowerTable_DEFAULT_PA_ENTRY(1, 3, 0, 0) }, // 0x00C1
        {-10, RF_TxPowerTable_DEFAULT_PA_ENTRY(2, 3, 0, 0) }, // 0x00C2
        {-5, RF_TxPowerTable_DEFAULT_PA_ENTRY(4, 3, 0, 0) }, // 0x00C4
        {0, RF_TxPowerTable_DEFAULT_PA_ENTRY(8, 3, 0, 0) }, // 0x00C8
        {1, RF_TxPowerTable_DEFAULT_PA_ENTRY(9, 3, 0, 0) }, // 0x00C9
        {2, RF_TxPowerTable_DEFAULT_PA_ENTRY(10, 3, 0, 0) }, // 0x00CA
        {3, RF_TxPowerTable_DEFAULT_PA_ENTRY(11, 3, 0, 0) }, // 0x00CB
        {4, RF_TxPowerTable_DEFAULT_PA_ENTRY(13, 3, 0, 0) }, // 0x00CD
        {5, RF_TxPowerTable_DEFAULT_PA_ENTRY(15, 3, 0, 0) }, // 0x00CF
        {6, RF_TxPowerTable_DEFAULT_PA_ENTRY(18, 3, 0, 0) }, // 0x00D2
        {7, RF_TxPowerTable_DEFAULT_PA_ENTRY(21, 3, 0, 0) }, // 0x00D5
        {8, RF_TxPowerTable_DEFAULT_PA_ENTRY(25, 3, 0, 0) }, // 0x00D9
        {9, RF_TxPowerTable_DEFAULT_PA_ENTRY(31, 3, 0, 0) }, // 0x00DF
        {10, RF_TxPowerTable_DEFAULT_PA_ENTRY(39, 3, 0, 0) }, // 0x00E7
        {11, RF_TxPowerTable_DEFAULT_PA_ENTRY(8, 1, 0, 0) }, // 0x0048
        {12, RF_TxPowerTable_DEFAULT_PA_ENTRY(14, 1, 0, 0) }, // 0x004E
        {13, RF_TxPowerTable_DEFAULT_PA_ENTRY(42, 1, 0, 0) }, // 0x006A <-------------------------------------------
        // This setting requires CCFG_FORCE_VDDR_HH = 1. The original PA value (14.5 dBm) has been rounded to an integer value.
        {15, RF_TxPowerTable_DEFAULT_PA_ENTRY(63, 0, 0, 0) }, // 0x003F
        RF_TxPowerTable_TERMINATION_ENTRY
    };
    
    // CMD_PROP_RADIO_DIV_SETUP
    // Proprietary Mode Radio Setup Command for All Frequency Bands
    rfc_CMD_PROP_RADIO_DIV_SETUP_t RF_cmdPropRadioDivSetup =
    {
        .commandNo = 0x3807,
        .status = 0x0000,
        .pNextOp = 0, // INSERT APPLICABLE POINTER: (uint8_t*)&xxx
        .startTime = 0x00000000,
        .startTrigger.triggerType = 0x0,
        .startTrigger.bEnaCmd = 0x0,
        .startTrigger.triggerNo = 0x0,
        .startTrigger.pastTrig = 0x0,
        .condition.rule = 0x1,
        .condition.nSkip = 0x0,
        .modulation.modType = 0x1,
        .modulation.deviation = 0x64,
        .modulation.deviationStepSz = 0x0,
        .symbolRate.preScale = 0xF,
        .symbolRate.rateWord = 0x8000,
        .symbolRate.decimMode = 0x0,
        .rxBw = 0x51,
        .preamConf.nPreamBytes = 0x4,
        .preamConf.preamMode = 0x0,
        .formatConf.nSwBits = 0x20,
        .formatConf.bBitReversal = 0x0,
        .formatConf.bMsbFirst = 0x1,
        .formatConf.fecMode = 0x0,
        .formatConf.whitenMode = 0x0,
        .config.frontEndMode = 0x0,
        .config.biasMode = 0x1,
        .config.analogCfgMode = 0x0,
        .config.bNoFsPowerUp = 0x0,
        .config.bSynthNarrowBand = 0x0,
        .txPower = 0x006A, // <-------------------------------------------------------------------------------------
        .pRegOverride = pOverrides,
        .centerFreq = 0x01B1,
        .intFreq = 0x8000,
        .loDivider = 0x0A
    };

    Siri

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

    尊敬的 Siri:

    您能否将生成的 ti_tradio_config.{c,h}文件发送给我?

    谢谢

    迈克尔

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

    这些只是在构建上述 EasyLink 示例时生成的默认文件。

    Siri