Code to interface with the MCP7940 Real time clock. Supports getting and setting the time in 24 hour format

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?

UserRevisionLine numberNew 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