DolphinV4 API
1.6.1.0
|
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:
| 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 |
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 |