Arduino IDE with updated AVR-Libc.
This is not just an Arduino Library. This page links to full Arduino installations, upgraded to the latest AVR-Libc
.
In addition to all the usual Arduino functionality, the upgrade includes...
- C90 standard
time.h
functions
- Solar and Sidereal time functions
- Time keeping system built in (derived from millis() timer)
- System clock 'discipline' allows accurate time keeping with most Arduino boards
The Arduino millis() timer is modified to provide an accurate time base, and the following functions are added to support the AVR-Libc time library
void set_system_time(time_t current_time);
Initializes the system time.
time_t time(time_t *);
Returns the current system time.
void discipline_clock(int PPM);
Compensates for Arduino F_CPU frequency error, in units of Parts Per Million.
Positive values make the system time() run faster.
Negative values make it run slower.
An examples sketch, "TimeTest", is included in the Examples. This sketch illustrates the use of most functions.
For a complete description of all the AVR-Libc time functions, see the manual.
Version 1.6.6 uploaded 2015-11-04
Version 1.6.5 r5 uploaded 2015-8-31
Questions, rants and raves should be sent to...
The usual caveats apply...
THESE RELEASES ARE NOT OFFICIAL ARDUINO DISTRIBUTIONS, NOR ARE THEY ENDORSED BY THE OFFICIAL ARDUINO DEVELOPERS.
THESE RELEASES ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
There are some questions about the choice of Epoch used in the AVR-Libc time functions.
This page may help to answer those questions.
If you are looking for general avr-gcc time.h code, you should upgrade to AVR-Libc version 1.8.1 or greater.