Watchdog Interruptions Example
File:
"WaspInt_1_watchdog.pde"
/*
* ------Waspmote Watchdog Interruptions Example--------
*
* Explanation: This example shows how to manage Watchdog Interruption
*
* Copyright (C) 2009 Libelium Comunicaciones Distribuidas S.L.
* http://www.libelium.com
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
* Version: 0.1
* Design: David Gascón
* Implementation: Alberto Bielsa
*/
void setup()
{
}
void loop()
{
// Go to sleep disconnecting all the switches and modules
// After 8 seconds, Waspmote wakes up thanks to internal watchdog
PWR.setWatchdog(WTD_ON,WTD_8S);
PWR.sleep(ALL_OFF);
if( intFlag & WTD_INT )
{
Utils.blinkLEDs(1000);
Utils.blinkLEDs(1000);
Utils.blinkLEDs(1000);
if(intArray[WTD_POS]==1) intFlag &= ~(WTD_INT);
intCounter--;
intArray[WTD_POS]--;
}
}
You can download the code of this example.