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.

CC2640R2F: Sleep mode when UART interface without SRDY &MRDY

Part Number: CC2640R2F


Hi,

I am using host test example with UART interface without MRDY&SRDY pins.

I want to bring CC2640R2F in sleep mode using external command weather standard available HCI command or customized command that is secondary part but want to know what is required to implement to bring CC2640R2F in sleep mode without preprocessor setting power saving mode.

Regards,

Bhavin

  • Hi Bhavin,

    There is no predefined HCI command to interact with the power driver so you would have to define this command yourself.

    In the application, you can use the Power driver at runtime to achieve this:

      Power_releaseConstraint(PowerCC26XX_SB_DISALLOW);
      Power_releaseConstraint(PowerCC26XX_IDLE_PD_DISALLOW);

    And then when you want to go back to no-power-saving:

      Power_setConstraint(PowerCC26XX_SB_DISALLOW);
      Power_setConstraint(PowerCC26XX_IDLE_PD_DISALLOW);

    You can find the documentation for the Power driver here:  

  • Hi Marie,


    Actually i am using customized HCI command to enter CC2640R2F in stand by mode, so here i used following command

    Power_releaseConstraint(PowerCC26XX_SB_DISALLOW);
    Power_releaseConstraint(PowerCC26XX_IDLE_PD_DISALLOW);

    When i send two times this command then UART becomes non responsive while previously i used following command to enter in stand by mode

    Power_sleep( PowerCC26XX_ENTERING_STANDBY );

    then at first command it self UART becomes non responsive.

    So just want to confirm the behavior of both functions Power_sleep and Power_releaseConstraint.

    Regards,
    Bhavin
  • Hi Bhavin,

    Did you see the API description of Power_sleep? "This function must be called with interrupts disabled, and should not be called directly by the application, or by any drivers." (link: dev.ti.com/.../_power_8h.html )
  • Hi Marie,

    Ok for Power Sleep function but for following functions you suggested need to call two times to get sleep mode why it is so ?

    Power_releaseConstraint(PowerCC26XX_SB_DISALLOW);
    Power_releaseConstraint(PowerCC26XX_IDLE_PD_DISALLOW);

    Regards,
    Bhavin
  • Hi Bhavin,

    I am not sure what your application is doing at this time. There are several processes that run in the background that can change the power policy at runtime, and there can also be processes that stop the device from going to sleep.

    You only have to call Power_releaseConstraint() one time for each constraint.
  • Hi Marie,

                     If there is no communication hapeening then the below functions are being called on.

    Power_releaseConstraint(PowerCC26XX_SB_DISALLOW);

    Power_releaseConstraint(PowerCC26XX_IDLE_PD_DISALLOW);

     But still the device enters in IDLE mode showing 500uA. The cfg file also indicates that the configuration is for IDLE mode only. Do we have to update the cfg file or update st specific places for standby mode operation?

    Also will the Power_standbyPolicy() possible?

    Regards

  • Hi Abhed,

    The PowerCC26XX_SB_DISALLOW constraint concerns the standby power mode.

    Sorry for the misunderstanding. If you're project is using UART, it's not going in to standby because it needs to be ready when UART messages are coming.

    You could reconfigure to use SPI and you should be able to use the standby mode.