Power 

Example

: Setting Hibernate Mode

This example shows how to set Waspmote in the lowest power consumption mode, disconnecting all the board but RTC, which powers from auxiliary battery.


File:
"WaspPower_3_settingHibernateMode.pde"


Code



/*
 *  ------Waspmote Power Setting Hibernate Mode Example--------
 *
 *  Explanation: This example shows how to set Waspmote in the lowest 
 *  power consumption mode, disconnecting all the board but RTC, which
 *  powers from auxiliary battery.
 *
 *  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()
{
  // Init RTC
  RTC.ON();
  
  // Checks if we come from a normal reset or an hibernate reset
  PWR.ifHibernate();
}

void loop()
{
  Utils.blinkLEDs(1000);
  
  // If Hibernate has been captured, execute hte associated function
  if( intFlag & HIB_INT )
  {
    hibInterrupt();
  }
  
  // Set Waspmote to Hibernate, waking up after 10 seconds
  PWR.hibernate("00:00:00:10",RTC_OFFSET,RTC_ALM1_MODE2);
}

void hibInterrupt()
{
  Utils.blinkLEDs(1000);
  Utils.blinkLEDs(1000);
  intFlag &= ~(HIB_INT);
}
 

Download code

You can download the code of this example.


© Libelium Comunicaciones Distribuidas S.L.

| Terms of use