TRC
Dependents: RTC_terminal HorlogeSimple
Diff: RTC_IUT.h
- Revision:
- 0:f17b3622fae1
- Child:
- 1:b85409cf9f7b
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/RTC_IUT.h Fri May 29 16:45:33 2020 +0000 @@ -0,0 +1,172 @@ +/// @file IHM_L476.h Bibliothéque de classe pour la carte L476 compatible IHM NBOARD +/// @mainpage +/// +/// +/// +/// @author Bruno LARNAUDIE, IUT Cachan +/// +/// @note +/// History +/// v3.00 31/10/2019 + + +#include "mbed.h" + +typedef int int32_t; + + +#include <time.h> + +/// RealTimeClock is an interface to the mbed RTC module +/// +/// It provides interfaces to get and set the time in text representation +/// as well as a means to get and set the timezone offset so that it +/// maintains time in UTC format. +/// + +/// +/// @note It is recommended that the system has a battery connected to +/// the mbed battery backup pin. +/// + +/// +/// Example: +/// @code +/// RTC rtc; +/// +/// void main() { +/// bool success; +/// char TimeTest[] = "05/29/2011 14:15:18 (-6:00)"; +/// char buf[50]; +/// success = rtc.SetTime(TimeTest); +/// rtc.GetTimeString(buf); +/// printf("success: %i, time: %s\n", success, buf); +/// } +/// prints the following: +/// success: 1, time: Sun May 29 14:15:18 2011 (tzo: -6:00) +/// @endcode +/// +class Rtc +{ +public: + /// Constructor for the RealTimeClock interface, usually implemented + /// outside of main( ) + /// + Rtc(); + + /// Destructor for the RealTimeClock, usually not executed + /// + ~Rtc(); + + /// GetTimeValue gets the current time in time_t format + /// + /// Gets the current time from the rtc and returns the time in time_t format. + /// This is functionally identical to "return time(NULL);", + /// simply wrapped in this class for convenience. + /// + /// @returns current time in time_t format + /// + time_t GetTimeValue(); + + /// SetTimeValue will set the current time in time_t format + /// + /// example SetTimeValue(1463673534) set the current time + /// 19 May 2016 15:58:54 + /// the min value is 978307200 (01/01/2001 00:00:00) + void SetTimeValue(time_t t); + + /// GetTimeString gets the formatted time + /// + /// It places the formatted string into the buffer in the format of + /// DD/MM/YYYY HH:MM:SS 30/12/2016 07:19:24 + /// + /// @returns nothing + /// + void GetTimeString(char * buffer); + + + /// SetTimeString will set the Real Time Clock from a well formatted string + /// + /// This will read a string, and if it is well formed, it will then + /// set the RTC based on this string. The string should be of the form: + /// 'DD/MM/YYYY HH:MM:SS' + /// + /// example: 30/12/2011 13:15:07 + /// + /// @param timestring is the string to parse + /// @returns true if the time was set + /// + bool SetTimeString(char * timestring); + + + /// SetYear writes the year + /// + /// year format YYYY (2001 - 2106) + void SetYear(unsigned short yyyy); + + /// GetYear reads the year + /// + /// @param void + /// @returns the year unsigned short + unsigned short GetYear(void); + + /// SetMon writes the month + /// + /// month format mm (1 - 12) + void SetMon(unsigned char mm); + + /// GetMon reads the month + /// + /// @param void + /// @returns the month unsigned char + unsigned char GetMon(void); + + /// SetDay writes the day + /// + /// day format dd (1 - 31) + void SetDay(unsigned char dd); + + /// GetDay reads the day + /// + /// @param void + /// @returns the day unsigned char + unsigned char GetDay(void); + + /// SetHour writes the hour + /// + /// hour format hh (0 - 23) + void SetHour(unsigned char hh); + + /// GetHour reads the hour + /// + /// @param void + /// @returns the hour unsigned char + unsigned char GetHour(void); + + /// SetMin writes the minutes + /// + /// minute format mm (0 - 59) + void SetMin(unsigned char mm); + + /// GetMin reads the minute + /// + /// @param void + /// @returns the minute unsigned char + unsigned char GetMin(void); + + /// SetSec writes the seconds + /// + /// second format ss (0 - 59) + void SetSec(unsigned char ss); + + /// GetSec reads the second + /// + /// @param void + /// @returns the second unsigned char + unsigned char GetSec(void); + +private: + +}; + +