DolphinV4 API  1.6.1.0
Wakeup, Reset Sources

Reset Sources
The reset sources are listed in the RESET_TYPE enumeration. The reset reason can be queried by calling the pwr_getSystemReset function. The following table shows which events can cause a reset and in what state is the chip afterwards:

Reset Type Triggered by Event Startup State

RESET_TYPE enum value

Power On Reset First power up VDD>VON OR
Power up after a brownout
All processor state is lost, starting in CpuMode
XTAL off, running on CRCO, all RAM value lost
All timers reseted to InitialState
VDD_RESET
Pin Reset Caused by RESET pin assertion All processor state is lost, starting in CpuMode
XTAL off, running on CRCO, all RAM value lost
All timers reseted to InitialState
PIN_RESET
Watchdog Reset Exit #DeepSleepMode due to:
  • Watchdog counter underflow OR
  • Application hang up
All processor state is lost, starting in CpuMode
XTAL off, running on CRCO, RAM0 retained
The Watchdog counter keeps running, last periode is set
WATCHDOG_RESET
Flywheel Reset Exit #FlywheelSleepMode due to Flywheel counter overflow All processor state is lost, starting in CpuMode
XTAL off, running on CRCO, RAM0 retained
The Flywheel counter keeps running, last periode is set

FLYWHEEL_RESET

Wakeup Events
The wake up events are listed by the WAKE_TYPE enumeration. The wake events can be used by the pwr_timerSleep and pwr_standbySleep function Standby. The following table shows what events can wakeup the CPU from which sleep mode.

  DeepSleep Flywheel ShortTerm Standby
  pwr_timerSleep() pwr_standbySleep()
PIN_WAKE0_WAKE x x x x
PIN_WAKE1_WAKE x x x x
SHORT_TERM_WAKE     x  
RX_RADIO_TEL_WAKE       x
TX_RADIO_TEL_WAKE       x
PIN_EXT_WAKE       x
TIMER0_WAKE (scheduler)       x



Note:
Standby Example, app_deepsleep provides an example how to use various wakeup events.