lib

Fork of DS1338 by Stéphane Cachat

Committer:
gr66
Date:
Tue Dec 13 15:12:58 2016 +0000
Revision:
2:c62527bddf0f
Parent:
0:0ffb7046206a
Lib

Who changed what in which revision?

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