Sensor Interruption Example
File:
"WaspInt_4_sensors.pde"
/*
* ------Waspmote Sensor Interruption Example--------
*
* Explanation: This example shows how to manage Sensor 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()
{
// powers sensor board
SensorEvent.setBoardMode(SENS_ON);
//enable sensor board interruptions
enableInterrupts(SENS_INT);
}
void loop(){
PWR.sleep(RTC_OFF | BAT_OFF | UART0_OFF | UART1_OFF);
// Waspmote wakes up when accelerometer wakes it up
if( intFlag & SENS_INT )
{
Utils.blinkLEDs(1000);
Utils.blinkLEDs(1000);
if(intArray[SENS_POS]==1) intFlag &= ~(SENS_INT);
intCounter--;
intArray[SENS_POS]--;
enableInterrupts(SENS_INT);
}
}
You can download the code of this example.