OSCR
Open Source Cartridge Reader
Loading...
Searching...
No Matches
Time.h
1/********************************************************************
2* Open Source Cartridge Reader *
3********************************************************************/
4#pragma once
5#ifndef OSCR_TIME_H_
6#define OSCR_TIME_H_
7
8#include "config.h"
9
10# if defined(ENABLE_RTC)
11# include "syslibinc.h"
12# include <RTClib.h>
13# endif /* ENABLE_RTC */
14
15namespace OSCR
16{
17 namespace Time
18 {
19# if defined(ENABLE_RTC)
20
21# if (RTC_TYPE == RTCOPT_DS3231)
22 extern RTC_DS3231 rtc;
23# elif (RTC_TYPE == RTCOPT_DS1307)
24 extern RTC_DS1307 rtc;
25# endif
26
27 extern const uint8_t kBCDYear;
28 extern const uint8_t kBCDMonth;
29 extern const uint8_t kBCDDay;
30 extern const uint8_t kBCDWkd;
31 extern const uint8_t kBCDHour;
32 extern const uint8_t kBCDMinute;
33 extern const uint8_t kBCDSecond;
34
35# endif /* ENABLE_RTC */
36
37 extern bool setup();
38
39# if defined(ENABLE_RTC)
40
41 extern DateTime now();
42
43 extern bool setDateTime(DateTime const & dt);
44 extern bool setDateTime(uint16_t year, uint8_t month, uint8_t day, uint8_t hour, uint8_t min, uint8_t sec);
45
46 extern char * RTCStamp(char * time, uint8_t size = 21);
47
48 extern uint8_t daysInMonth(uint8_t month);
49
50 extern void menu();
51 extern void setTimeMenu();
52 extern void setDateMenu();
53
54 extern bool exists();
55
56# else /* !ENABLE_RTC */
57
58 inline constexpr bool exists()
59 {
60 return false;
61 }
62
63# endif /* ENABLE_RTC */
64
65 extern void startMeasure();
66 extern char * getDifference(char * diffStr, size_t length);
67 extern void printDifference();
68 } /* namespace Time */
69} /* namespace OSCR */
70
71#endif /* OSCR_TIME_H_ */
Main program.
Definition Storage.h:13