From 58f24c54c16924aa8fbb2e84f8e715b6d846fceb Mon Sep 17 00:00:00 2001 From: andreask Date: Fri, 12 Jun 2020 22:48:22 +0200 Subject: [PATCH] alarm function --- Firmware/src/main.cpp | 40 +++++++++++++++++++++++++++++++++++++++- Firmware/src/secconfig.h | 16 +++++++++++++++- 2 files changed, 54 insertions(+), 2 deletions(-) diff --git a/Firmware/src/main.cpp b/Firmware/src/main.cpp index 67769c7..9102e64 100644 --- a/Firmware/src/main.cpp +++ b/Firmware/src/main.cpp @@ -31,6 +31,7 @@ #include #include #include +#include #include @@ -67,6 +68,10 @@ SHT21 sensor; #endif +#ifdef HAS_ALARM + volatile boolean alarm = false; +#endif + // Global Variable to Track Deep Sleep uint16_t sleep_interval; @@ -127,6 +132,12 @@ void sleep(uint16_t s) s = s/8; sleep_interval = 0; while (sleep_interval < s) { + // in case of alarm, break loop and transmit immediatly + #ifdef HAS_ALARM + if( alarm == true){ + return; + } + #endif set_sleep_mode(SLEEP_MODE_PWR_DOWN); sleep_mode(); } @@ -143,6 +154,16 @@ ISR(WATCHDOG_vect) { WDTCSR = (1<