Code to interface with the MCP7940 Real time clock. Supports getting and setting the time in 24 hour format
MCP7940.h@1:8f330348d96b, 2015-09-29 (annotated)
- Committer:
- MichaelW
- Date:
- Tue Sep 29 07:56:30 2015 +0000
- Revision:
- 1:8f330348d96b
- Child:
- 2:941a59078507
Commit as working code
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
MichaelW | 1:8f330348d96b | 1 | #ifndef __MCP7940_H__ |
MichaelW | 1:8f330348d96b | 2 | #define __MCP7940_H__ |
MichaelW | 1:8f330348d96b | 3 | |
MichaelW | 1:8f330348d96b | 4 | #include "mbed.h" |
MichaelW | 1:8f330348d96b | 5 | |
MichaelW | 1:8f330348d96b | 6 | class MCP7940{ |
MichaelW | 1:8f330348d96b | 7 | public: |
MichaelW | 1:8f330348d96b | 8 | MCP7940(PinName sda, PinName scl); |
MichaelW | 1:8f330348d96b | 9 | MCP7940(PinName sda, PinName scl, int StartYear); |
MichaelW | 1:8f330348d96b | 10 | MCP7940(); |
MichaelW | 1:8f330348d96b | 11 | int Day(); |
MichaelW | 1:8f330348d96b | 12 | int Month(); |
MichaelW | 1:8f330348d96b | 13 | int Year(); |
MichaelW | 1:8f330348d96b | 14 | int Hour(); |
MichaelW | 1:8f330348d96b | 15 | int Minutes(); |
MichaelW | 1:8f330348d96b | 16 | int Seconds(); |
MichaelW | 1:8f330348d96b | 17 | int MilliSeconds(); |
MichaelW | 1:8f330348d96b | 18 | int DayOfWeek(); |
MichaelW | 1:8f330348d96b | 19 | |
MichaelW | 1:8f330348d96b | 20 | int setTime(); |
MichaelW | 1:8f330348d96b | 21 | int setTime(int Year, int Month, int Day, int Hour, int Mins); |
MichaelW | 1:8f330348d96b | 22 | int setTime(int Year, int Month, int Day, int Hour, int Mins, int Secs); |
MichaelW | 1:8f330348d96b | 23 | int setTime(int Year, int Month, int Day, int Hour, int Mins, int Secs, int MiliSecs); |
MichaelW | 1:8f330348d96b | 24 | int setTime(int Year, int Month, int Day, int Hour, int Mins, int Secs, int MiliSecs, int DayOfWeek); |
MichaelW | 1:8f330348d96b | 25 | |
MichaelW | 1:8f330348d96b | 26 | int setDefaultTime(); |
MichaelW | 1:8f330348d96b | 27 | int getTime(); |
MichaelW | 1:8f330348d96b | 28 | void StartClock(); |
MichaelW | 1:8f330348d96b | 29 | char IntToBCD(char Data); |
MichaelW | 1:8f330348d96b | 30 | char BCDtoInt(char Data); |
MichaelW | 1:8f330348d96b | 31 | |
MichaelW | 1:8f330348d96b | 32 | char * TimeStamp(); |
MichaelW | 1:8f330348d96b | 33 | void TimeStamp(char * buf); |
MichaelW | 1:8f330348d96b | 34 | void niceTimeStamp(char * buf); |
MichaelW | 1:8f330348d96b | 35 | void niceDate(char * buf); |
MichaelW | 1:8f330348d96b | 36 | void niceTime(char * buf); |
MichaelW | 1:8f330348d96b | 37 | |
MichaelW | 1:8f330348d96b | 38 | private: |
MichaelW | 1:8f330348d96b | 39 | char _TimeStamp[20]; |
MichaelW | 1:8f330348d96b | 40 | int _Day; |
MichaelW | 1:8f330348d96b | 41 | int _Month; |
MichaelW | 1:8f330348d96b | 42 | int _Year; |
MichaelW | 1:8f330348d96b | 43 | int _Hour; |
MichaelW | 1:8f330348d96b | 44 | int _Minutes; |
MichaelW | 1:8f330348d96b | 45 | int _Seconds; |
MichaelW | 1:8f330348d96b | 46 | int _MilliSeconds; |
MichaelW | 1:8f330348d96b | 47 | int _DayOfWeek; |
MichaelW | 1:8f330348d96b | 48 | |
MichaelW | 1:8f330348d96b | 49 | int _YearStart; |
MichaelW | 1:8f330348d96b | 50 | |
MichaelW | 1:8f330348d96b | 51 | protected: |
MichaelW | 1:8f330348d96b | 52 | I2C Clock; |
MichaelW | 1:8f330348d96b | 53 | |
MichaelW | 1:8f330348d96b | 54 | int _addr; |
MichaelW | 1:8f330348d96b | 55 | |
MichaelW | 1:8f330348d96b | 56 | |
MichaelW | 1:8f330348d96b | 57 | }; |
MichaelW | 1:8f330348d96b | 58 | |
MichaelW | 1:8f330348d96b | 59 | |
MichaelW | 1:8f330348d96b | 60 | #endif |