Change to Longer 8s Deep Sleep Interval

This commit is contained in:
seiichiro 2019-09-19 10:40:46 +02:00
parent 328eb19237
commit cbcdc0a8a0

View file

@ -43,7 +43,7 @@
#define NSS PIN_B1
RFM95 rfm(DIO0,NSS);
LoRaWAN lora = LoRaWAN(rfm);
unsigned int Frame_Counter_Tx = 0x0000;
uint16_t Frame_Counter_Tx = 0x0000;
// If set LED will blink when sending
#define LED_PIN PIN_A7
@ -52,7 +52,7 @@ unsigned int Frame_Counter_Tx = 0x0000;
BME280 sensor;
// Global Variable used for deep sleep
unsigned int sleep_interval;
uint16_t sleep_interval;
// Sleep Time (s) Between Two Measurements
#define SLEEP_TIME 528
@ -65,14 +65,15 @@ void init_wdt()
// Start timed sequence
// Set Watchdog Change Enable bit
WDTCSR |= (1<<WDCE) | (1<<WDE);
// Set new prescaler (1 sec), unset reset enable
// Set new prescaler (8 sec), unset reset enable
// enable WDT interrupt
WDTCSR = (1<<WDIE)|(1<<WDP2)|(1<<WDP1);
WDTCSR = (1<<WDIE)|(1<<WDP2)|(1<<WDP0);
}
// Enter Sleepmode, Sleep for s Seconds
void sleep(unsigned int s)
void sleep(uint16_t s)
{
s = s/8;
sleep_interval = 0;
while (sleep_interval < s) {
set_sleep_mode(SLEEP_MODE_PWR_DOWN);
@ -86,9 +87,9 @@ ISR(WATCHDOG_vect) {
// Start timed sequence
// Set Watchdog Change Enable bit
WDTCSR |= (1<<WDCE) | (1<<WDE);
// Set new prescaler (1 sec), unset reset enable
// Set new prescaler (8 sec), unset reset enable
// enable WDT interrupt
WDTCSR = (1<<WDIE)|(1<<WDP2)|(1<<WDP1);
WDTCSR = (1<<WDIE)|(1<<WDP2)|(1<<WDP0);
}
// Get Battery Voltage