Chronos is used to perform date-time manipulations and figure out the state of event calendars at specific points in time. Actually determining the real, current date and time is beyond the scope of the library and must be handled by an external component.
Time keeping and clock source
Currently, Chronos is has built-in support for the Arduino Time library. The Time library allows you to setup various clock sources, like an RTC, GPS or NTP and handles the job of timekeeping quite well.
In most circumstances, with an Arduino-compatible device, all you need is to ensure that Time is installed and you’re good to go.
In some cases, you may want to use another source of timekeeping. In that case, Chronos makes integrating a different clock source relatively easy, as all the interaction with the external timekeeper is wrapped in preprocessor macros and only happens in the low-level DateTime code.
If you have another time source to integrate and would like assistance or to contribute the support back so it will be included in future updates, just get in touch.
Usage: tutorials and APIs
Tutorials
The chronos library gives you access to 3 levels of date-time related classes:
- DateTime and time Spans (specific, movable, coordinates on the timeline and time lengths, like “1 hour”);
- Recurring time points (sets of “marks” on the timeline, like “every Monday at 15h00”);
- Calendar Events and Occurrences: actual events with fixed or repeating datetimes of specific duration, and the scheduling functions needed to find events occurrences.
The full APIs: