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.

CC2480 output power?

Other Parts Discussed in Thread: CC2430

The SysTestRF message allows changing the txPower level for testing.  However, it appears that there is no method to change the txPower during normal operation.  Additionally, the default value for txPower is not documented.  I would like to know the default value for txPower.  Note that SysTestRF does not provide a value for 0dBm.

Does the ZStack on the CC2480 set the TXCTRLL register to control this?  The documented values for the CC2430 TXCTRLL register do not seem to correspond with the SysTestRF message for the CC2480.

  • Upon some digging in the ZStack source code it looks like

    #define MAC_RADIO_TX_POWER_DEFAULT 0x1F

    TXCTRLL is set to 0x1F by default.

    However, I am unable to track down how SYS_TEST_RF changes this value, which makes me wonder if I really found the correct setting.

    Furthermore, 0x1F is not a documented value for TXCTRLL for the CC2430.  Is the CC2480 different somehow with respect to this?

    0x1F is documented in the SYS_TEST_RF as -1.5dBm.

  • The power table that is used in the CC2480 is:

    const uint8 CODE macRadioDefsTxPowerTable[] =
    {
      /*   0 dBm */   0x5F,   /* characterized as -0.4 dBm in datasheet */
      /*  -1 dBm */   0x3F,   /* characterized as -0.9 dBm in datasheet */
      /*  -2 dBm */   0x3F,
      /*  -3 dBm */   0x1B,   /* characterized as -2.7 dBm in datasheet */
      /*  -4 dBm */   0x17,   /* characterized as -4.0 dBm in datasheet */
      /*  -5 dBm */   0x13,  
      /*  -6 dBm */   0x13,   /* characterized as -5.7 dBm in datasheet */
      /*  -7 dBm */   0x13,
      /*  -8 dBm */   0x0F,   /* characterized as -7.9 dBm in datasheet */
      /*  -9 dBm */   0x0F,
      /* -10 dBm */   0x0F,
      /* -11 dBm */   0x0B,   /* characterized as -10.8 dBm in datasheet */
      /* -12 dBm */   0x0B,
      /* -13 dBm */   0x0B,
      /* -14 dBm */   0x0B,
      /* -15 dBm */   0x07,   /* characterized as -15.4 dBm in datasheet */
      /* -16 dBm */   0x07,
      /* -17 dBm */   0x07,
      /* -18 dBm */   0x07,
      /* -19 dBm */   0x06,   /* characterized as -18.6 dBm in datasheet */
      /* -20 dBm */   0x06,
      /* -21 dBm */   0x06,
      /* -22 dBm */   0x06,
      /* -23 dBm */   0x06,
      /* -24 dBm */   0x06,
      /* -25 dBm */   0x03    /* characterized as -25.2 dBm in datasheet */
    };

    The "magic" command is CMD1 byte = 0x0F (sys stack tune), next byte = attribute value = RF power (0x14), then followed by the value which is an index into the array shown above.

    We will document this magic command and possibly other magic commands in the next version of the interface spec...

  • Hello, "Z".

    When will be the new version of CC2480 out?

  • What do you mean exactly by new version? :D

    PS. "One Piece" avatar. Nice!

  • What is the exactly command of setting the output power of cc2480? I am not clear.

    Is it "[0x02, 0x21, 0x0F, 0x14, value]"?

  • Thanks.

    I like this cartoon too much.

  • Correct!!

    PS.  Hence my avatar also from "Gundam 00"

  • Hello!

    Double 0, could you tell me then which is the default value? I didn't got that from the previous messages...

    Thank you!