From 534039dc08c54eaca39f102900f0cf80ca508644 Mon Sep 17 00:00:00 2001 From: Nicu Hodos Date: Sun, 15 Jul 2018 23:55:49 +0200 Subject: [PATCH] fix enableWdt --- libraries/TinyPower/TinyPower.h | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/libraries/TinyPower/TinyPower.h b/libraries/TinyPower/TinyPower.h index 134947a..2d834d3 100644 --- a/libraries/TinyPower/TinyPower.h +++ b/libraries/TinyPower/TinyPower.h @@ -36,16 +36,19 @@ public: sei(); // Enable interrupts } - static void enableWdt(byte time) - { - MCUSR = 0x00; - WDTCR |= _BV(WDCE) | _BV(WDE); - WDTCR = _BV(WDIE) | time; + static void enableWdt(byte time) { + cli(); + MCUSR = 0x00; + WDTCR |= _BV(WDCE) | _BV(WDE); + WDTCR = _BV(WDIE) | (time & 0x08 ? _WD_PS3_MASK : 0x00) | (time & 0x07); + sei(); } static void disableWdt() { - MCUSR = 0x00; - WDTCR |= _BV(WDCE) | _BV(WDE); - WDTCR = 0x00; + cli(); + MCUSR = 0x00; + WDTCR |= _BV(WDCE) | _BV(WDE); + WDTCR = 0x00; + sei(); } };