AceTimeClock  1.0.3
Clock classes for Arduino that can synchronize from an NTP server or an RTC chip
HardwareDateTime.h
1 /*
2  * MIT License
3  * Copyright (c) 2018 Brian T. Park
4  */
5 
6 #ifndef ACE_TIME_HW_DATE_TIME_H
7 #define ACE_TIME_HW_DATE_TIME_H
8 
9 #include <stdint.h>
10 #include <Print.h> // Print
11 
12 namespace ace_time {
13 namespace hw {
14 
21  void printTo(Print& printer) const;
22 
24  uint8_t year;
25 
27  uint8_t month;
28 
30  uint8_t day;
31 
33  uint8_t hour;
34 
36  uint8_t minute;
37 
39  uint8_t second;
40 
42  uint8_t dayOfWeek;
43 };
44 
50 inline bool operator==(const HardwareDateTime& a, const HardwareDateTime& b) {
51  return a.second == b.second
52  && a.minute == b.minute
53  && a.hour == b.hour
54  && a.day == b.day
55  && a.month == b.month
56  && a.year == b.year
57  && a.dayOfWeek == b.dayOfWeek;
58 }
59 
61 inline bool operator!=(const HardwareDateTime& a, const HardwareDateTime& b) {
62  return ! (a == b);
63 }
64 
65 }
66 }
67 
68 #endif
ace_time::hw::HardwareDateTime::minute
uint8_t minute
[0, 59]
Definition: HardwareDateTime.h:36
ace_time::hw::HardwareDateTime::year
uint8_t year
[00, 99], year - 2000
Definition: HardwareDateTime.h:24
ace_time::hw::HardwareDateTime::day
uint8_t day
[1, 31]
Definition: HardwareDateTime.h:30
ace_time::hw::HardwareDateTime::second
uint8_t second
[0, 59]
Definition: HardwareDateTime.h:39
ace_time::hw::HardwareDateTime::dayOfWeek
uint8_t dayOfWeek
[1, 7], interpretation undefined, increments every day
Definition: HardwareDateTime.h:42
ace_time::hw::HardwareDateTime::hour
uint8_t hour
[0, 23]
Definition: HardwareDateTime.h:33
ace_time::hw::HardwareDateTime::printTo
void printTo(Print &printer) const
Print HardwareDateTime to 'printer'.
Definition: HardwareDateTime.cpp:17
ace_time::hw::HardwareDateTime::month
uint8_t month
[1, 12]
Definition: HardwareDateTime.h:27
ace_time::hw::HardwareDateTime
The date (year, month, day) and time (hour, minute, second) fields supported by the DS3231 RTC chip.
Definition: HardwareDateTime.h:19