Josef Kager
/
rtc_class2
added GetDay() GetYear() GetWeek()
Fork of rtc_class by
Diff: RTC8563.cpp
- Revision:
- 2:ce174a86d215
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/RTC8563.cpp Thu Apr 23 09:42:34 2015 +0000 @@ -0,0 +1,63 @@ +// +// @ Project : RTC Date Time Clock +// @ File Name : RTC8563.cpp +// @ Date : 06.04.2015 +// @ Author : Franz Pucher +// @ Copyright : pe@bulme.at +// + +#include "mbed.h" +#include "const.h" + +#include "RTC8563.h" + +RTC8563::RTC8563() : i2c(p28, p27) // delete void and add call to base constructor +{ + // Initialise I2C + i2c.frequency(40000); + char init1[2] = {0x6, 0x00}; + char init2[2] = {0x7, 0xff}; + i2c.write(0x40, init1, 2); + i2c.write(0x40, init2, 2); +} + +RTC8563::RTC8563(PinName sda, PinName scl) : i2c(sda, scl) +{ + // Initialise I2C + i2c.frequency(40000); + char init1[2] = {0x6, 0x00}; + char init2[2] = {0x7, 0xff}; + i2c.write(0x40, init1, 2); + i2c.write(0x40, init2, 2); +} + +char RTC8563::rtc_read(char address) +{ + char value; + i2c.start(); + i2c.write(RTC8563_ADR); + i2c.write(address); + i2c.start(); + i2c.write(RTC8563_ADR | _READ); + value = i2c.read(0); + i2c.stop(); + + return value; +} + +void RTC8563::rtc_write(char address, char value) +{ + i2c.start(); + i2c.write(RTC8563_ADR); + i2c.write(address); + i2c.write(value); + i2c.stop(); +} + +void RTC8563::rtc_init() +{ +} + +void RTC8563::rtc_alarm() +{ +} \ No newline at end of file