lib
Fork of DS1338 by
ds1338.h@0:0ffb7046206a, 2015-03-04 (annotated)
- Committer:
- scachat
- Date:
- Wed Mar 04 08:49:37 2015 +0000
- Revision:
- 0:0ffb7046206a
DS1338 RTC library
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
scachat | 0:0ffb7046206a | 1 | #ifndef __EEPROM__H_ |
scachat | 0:0ffb7046206a | 2 | #define __EEPROM__H_ |
scachat | 0:0ffb7046206a | 3 | |
scachat | 0:0ffb7046206a | 4 | #include "mbed.h" |
scachat | 0:0ffb7046206a | 5 | |
scachat | 0:0ffb7046206a | 6 | #define DS1338_ADR 0xd0 |
scachat | 0:0ffb7046206a | 7 | #define DS1338_BUFFER_SIZE 10 |
scachat | 0:0ffb7046206a | 8 | |
scachat | 0:0ffb7046206a | 9 | |
scachat | 0:0ffb7046206a | 10 | /** |
scachat | 0:0ffb7046206a | 11 | * class to use a DS1338 rtc |
scachat | 0:0ffb7046206a | 12 | */ |
scachat | 0:0ffb7046206a | 13 | class DS1338 { |
scachat | 0:0ffb7046206a | 14 | public: |
scachat | 0:0ffb7046206a | 15 | /* |
scachat | 0:0ffb7046206a | 16 | * Constructor, initialize the ds1338 on i2c interface. |
scachat | 0:0ffb7046206a | 17 | * @param sda : sda i2c pin (PinName) |
scachat | 0:0ffb7046206a | 18 | * @param scl : scl i2c pin (PinName) |
scachat | 0:0ffb7046206a | 19 | */ |
scachat | 0:0ffb7046206a | 20 | DS1338(PinName sda, PinName scl); |
scachat | 0:0ffb7046206a | 21 | /** |
scachat | 0:0ffb7046206a | 22 | * read bytes |
scachat | 0:0ffb7046206a | 23 | * @param adr the start address |
scachat | 0:0ffb7046206a | 24 | * @param count number of byte to read |
scachat | 0:0ffb7046206a | 25 | * @param data where to put the bytes |
scachat | 0:0ffb7046206a | 26 | * @return the byte |
scachat | 0:0ffb7046206a | 27 | */ |
scachat | 0:0ffb7046206a | 28 | void read(unsigned char adr,unsigned char count,char * data); |
scachat | 0:0ffb7046206a | 29 | /** |
scachat | 0:0ffb7046206a | 30 | * write bytes |
scachat | 0:0ffb7046206a | 31 | * @param adr the start address |
scachat | 0:0ffb7046206a | 32 | * @param count number of byte to write |
scachat | 0:0ffb7046206a | 33 | * @param data to be written |
scachat | 0:0ffb7046206a | 34 | * @return the byte |
scachat | 0:0ffb7046206a | 35 | */ |
scachat | 0:0ffb7046206a | 36 | void write(unsigned char adr,unsigned char count,char * data); |
scachat | 0:0ffb7046206a | 37 | /** |
scachat | 0:0ffb7046206a | 38 | * read the current time |
scachat | 0:0ffb7046206a | 39 | * @param x the time; |
scachat | 0:0ffb7046206a | 40 | */ |
scachat | 0:0ffb7046206a | 41 | void readTime(tm * x); |
scachat | 0:0ffb7046206a | 42 | /** |
scachat | 0:0ffb7046206a | 43 | * read the current time |
scachat | 0:0ffb7046206a | 44 | * @param x the time; |
scachat | 0:0ffb7046206a | 45 | */ |
scachat | 0:0ffb7046206a | 46 | void writeTime(tm * x); |
scachat | 0:0ffb7046206a | 47 | private: |
scachat | 0:0ffb7046206a | 48 | I2C _i2c; |
scachat | 0:0ffb7046206a | 49 | char buffer[DS1338_BUFFER_SIZE]; |
scachat | 0:0ffb7046206a | 50 | }; |
scachat | 0:0ffb7046206a | 51 | #endif |