Code examples and extended information

In the Waspmote Development section you can find complete examples: https://development.libelium.com/waspmote/code-examples

Next lines show a complete example of use of the RTC functions.

/*
 * ------Waspmote RTC Complete Example--------
 *
 * Explanation: This example shows how to read the temperature using
 * the sensor integrated in Waspmote
 *
 * Copyright (C) 2012 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 3 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 \http://www.gnu.org/licenses/\.
 *
 * Version: 0.1
 * Design: David Gascón
 * Implementation: Marcos Yarza
 */
 
void setup()
{
  // Setup for Serial port over USB
  USB.ON();
  USB.println(F("USB port started..."));
  // Powers RTC up, init I2C bus and read initial values
  USB.println(F("Init RTC"));
  RTC.ON();
}

void loop()
{
  USB.println(F(\"+++++++++++++++++++++++++++++++++++++++++++++++++++\"));
  
  // Setting time
  RTC.setTime("09:10:20:03:17:35:00");
  USB.print(F("Time: "));
  USB.println(RTC.getTime());
  
  // Setting and getting Alarms
  RTC.setAlarm1("20:17:35:30", RTC_ABSOLUTE, RTC_ALM1_MODE2);
  USB.print(F("Alarm1: "));
  USB.println(RTC.getAlarm1());
  
  // Setting Waspmote to Low-Power Consumption Mode
  PWR.sleep(ALL_OFF);
  
  // After setting Waspmote to power-down, UART is closed, so it
  // is necessary to open it again
  USB.ON();
  
  // Waspmote wakes up at '17:35:30'
  if( intFlag & RTC_INT )
  {
    intFlag &= ~(RTC_INT); // Clear flag
    Utils.blinkLEDs(1000); // Blinking LEDs
    Utils.blinkLEDs(1000); // Blinking LEDs
  }  
  delay(5000);  
}

Last updated