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/CC2650: shutdown with two Wake IOs

Part Number: CC2650

Tool/software: TI-RTOS

Hello

I want to put my CC2650in shutdown mode with two Wake IOs.

i realize this code

static PIN_Config ResetPinTable[] =
{
    BOARD_QI_STATUS           | PIN_INPUT_EN        | PIN_NOPULL  | PIN_IRQ_DIS,
    BOARD_CHOOSE_ACCELERO_1   | PIN_INPUT_EN        | PIN_NOPULL  | PIN_IRQ_DIS,
    PIN_TERMINATE
};


int main()
{
PIN_init(BoardGpioInitTable);  
H_GpioResetPin = PIN_open(&pinResetGpioState, ResetPinTable);
PIN_registerIntCb(H_GpioResetPin, vd_app_reset_callback);
//...
SimpleBLEPeripheral_createTask();
//...

PIN_setConfig(H_GpioResetPin, PINCC26XX_BM_IRQ, BOARD_CHOOSE_ACCELERO_1  | PINCC26XX_IRQ_NEGEDGE);
PIN_setConfig(H_GpioResetPin, PINCC26XX_BM_IRQ, BOARD_QI_STATUS          | PINCC26XX_IRQ_NEGEDGE | PINCC26XX_IRQ_POSEDGE);

BIOS_start();

}

static void vd_app_reset_callback(PIN_Handle handle, PIN_Id pinId)
{
  PIN_setOutputValue(H_GpioResetPin, BOARD_TP, 0); 
  
  if(pinId == BOARD_QI_STATUS)
  {
    SysCtrlSystemReset();
  }
  if(pinId == BOARD_CHOOSE_ACCELERO_1)
  {        
    PIN_setConfig(H_GpioResetPin, PINCC26XX_BM_WAKEUP, BOARD_CHOOSE_ACCELERO_1  | PINCC26XX_WAKEUP_NEGEDGE);
    PIN_setConfig(H_GpioResetPin, PINCC26XX_BM_WAKEUP, BOARD_QI_STATUS          | PINCC26XX_WAKEUP_NEGEDGE);    
    
    Event_post(ChooseEvent, EVENT_ACCELERO);
  }
}


// in a task 
//...
if (events & EVENT_ACCELERO) 
{
     
      /* Go to shutdown */
      Power_shutdown(NULL, 0);
      
      /* Should never get here, since shutdown will reset. */
      while(1);
}


A GPIO is used for shutdown.
Another reset the cc2650.

And when the cc2650 is on shutdown the two GPIOs can wake it up.

But the problem is that my wake up on BOARD_QI_STATUS does not work.

If i put the wake up on BOARD_QI_STATUS it works. If i put the wake up on BOARD_CHOOSE_ACCELERO_1 it works, but not both at the same time.

More do you know if it is possible to wake up on rising and falling edge ?

thanks