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.

RTOS/CC2640R2F: Standby mode on CC2640R2F

Part Number: CC2640R2F

Tool/software: TI-RTOS

Hi 

Description : 

To save battery life , need to put the CC2640R2F device in standby mode and wake-up the device on an interrupt .

I have tried putting the device in standby mode using the function call "Power_sleep(PowerCC26XX_STANDBY)"  .  But the device never awake using pin interrupt . 

Can you let me know what I am doing wrong .

  • HI Shravan,

    When using TI-RTOS, which all BLE Stack examples do, the device will automatically go to the lowest possible power mode whenever it can. This means that the device will automatically go to Standby and stay there most of the time. 

    For your specific question, you should take a look at the pinStandby example.

    Regards,
    Fredrik

  • Hi ,

    I have looked at the example pinStandby . Here the sleep function call is used for putting the device in standby mode , which will not generate interrupts till the sleep completes .

    In my case I need to put the device in standby mode .The device should wake up only when an interrupt comes from the accelerometer  sensor which  is connected to the gpio of CC2640R2F .

    From Standby, the device only wakes up based on either external interrupts or scheduled events/interrupts from the RTC -- copied from the pdf swra478d

    For me the device is not waking up based on external interrupts , Kindly let me know the reason why it not waking up ?

  • Hi Shravan,

    I suggest you try what you want to do using Simple Peripheral. At initialization disable the advertising and shutdown the external flash Board_shutDownExtFlash().  Using CC2640R2F Launchpad remove all jumpers and power externally. Measure current using DMM, you should measure 1.1 uA Standby Current Average.

    For learning purposes configure one of the button as pin interrupt. Observe the current when interrupt happens.

    After that interface accelerometer interrupt line. Observe the current when you move the accelerometer.

    -kel

  • Hi ,


    To put the device in shutdown mode we have a function call "Power_shutdown" In the same way do we have any function call to put the device in standby mode.

    Kindly let me know . 

  • Hi,

    The CC2640R2F is event driven. If there is no event it automatically goes to Standby Mode, RTOS takes care of that. Same with what Fredrik mentioned above.

    My suggestion earlier is so that you get familiarize with what Standby Mode is that is no event happening. That is at initialization disable advertisement.

    // Device starts advertising upon initialization of GAP
    uint8_t initialAdvertEnable = FALSE

    // Set the Peripheral GAPRole Parameters
    GAPRole_SetParameter(GAPROLE_ADVERT_ENABLED, sizeof(uint8_t),
    &initialAdvertEnable);

    So that the on board SPI External Flash will not consume current shutdown the SPI External Falsh using 

    Board_shutDownExtFlash()

    If a pin interrupt happens during Standby Mode the device will transition to Running State and process the interrupt. If there is no event afterwards the device goes to Standby Mode again. So this process is taken care of by RTOS.

    I think it is also a good idea for you to review the Pin Interrupt and Project Zero example program.

    -kel

  • Thanks for the reply . I understood now .