diff options
author | JF <jf@codingfield.com> | 2020-06-16 21:15:16 +0200 |
---|---|---|
committer | Gitea <gitea@fake.local> | 2020-06-16 21:15:16 +0200 |
commit | 3a49bbbae48a62d5252fee0cb6d04002d917c820 (patch) | |
tree | 800c2ab76a4609382865ba9fd8b16b9732e5eb03 /src/drivers/Watchdog.cpp | |
parent | a0e73f5c1a1e652aa6270b7e42a73aee3d12ded6 (diff) | |
parent | 9a89ff7f7764df085a59c8a24fe578228a22fc6c (diff) |
Merge branch 'develop' of JF/PineTime into master
Diffstat (limited to 'src/drivers/Watchdog.cpp')
-rw-r--r-- | src/drivers/Watchdog.cpp | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/src/drivers/Watchdog.cpp b/src/drivers/Watchdog.cpp index 850fd2f1..11da1211 100644 --- a/src/drivers/Watchdog.cpp +++ b/src/drivers/Watchdog.cpp @@ -32,17 +32,17 @@ void Watchdog::Kick() { } Watchdog::ResetReasons Watchdog::ActualResetReason() const { - uint32_t resetReason; -// sd_power_reset_reason_get(&resetReason); -// sd_power_reset_reason_clr(0xFFFFFFFF); -// if(resetReason & 0x01u) return ResetReasons::ResetPin; -// if((resetReason >> 1u) & 0x01u) return ResetReasons::Watchdog; -// if((resetReason >> 2u) & 0x01u) return ResetReasons::SoftReset; -// if((resetReason >> 3u) & 0x01u) return ResetReasons::CpuLockup; -// if((resetReason >> 16u) & 0x01u) return ResetReasons::SystemOff; -// if((resetReason >> 17u) & 0x01u) return ResetReasons::LpComp; -// if((resetReason >> 18u) & 0x01u) return ResetReasons::DebugInterface; -// if((resetReason >> 19u) & 0x01u) return ResetReasons::NFC; + uint32_t reason = NRF_POWER->RESETREAS; + NRF_POWER->RESETREAS = 0xffffffff; + + if(reason & 0x01u) return ResetReasons::ResetPin; + if((reason >> 1u) & 0x01u) return ResetReasons::Watchdog; + if((reason >> 2u) & 0x01u) return ResetReasons::SoftReset; + if((reason >> 3u) & 0x01u) return ResetReasons::CpuLockup; + if((reason >> 16u) & 0x01u) return ResetReasons::SystemOff; + if((reason >> 17u) & 0x01u) return ResetReasons::LpComp; + if((reason) & 0x01u) return ResetReasons::DebugInterface; + if((reason >> 19u) & 0x01u) return ResetReasons::NFC; return ResetReasons::HardReset; } |