rtc class

Dependencies:   mbed

Fork of rtc_func by HIMBED_3AHELI

Committer:
Hevi
Date:
Thu Apr 16 10:25:35 2015 +0000
Revision:
2:c3120898fc96
rtc functions in class RTC8563 transferred

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Hevi 2:c3120898fc96 1 //
Hevi 2:c3120898fc96 2 // @ Project : RTC Date Time Clock
Hevi 2:c3120898fc96 3 // @ File Name : RTC8563.cpp
Hevi 2:c3120898fc96 4 // @ Date : 06.04.2015
Hevi 2:c3120898fc96 5 // @ Author : Daniel Hevesy
Hevi 2:c3120898fc96 6 // @ Copyright : daniel.hevesy-szetty@bulme.at
Hevi 2:c3120898fc96 7 //
Hevi 2:c3120898fc96 8
Hevi 2:c3120898fc96 9 #include "mbed.h"
Hevi 2:c3120898fc96 10 #include "const.h"
Hevi 2:c3120898fc96 11
Hevi 2:c3120898fc96 12 #include "RTC8563.h"
Hevi 2:c3120898fc96 13
Hevi 2:c3120898fc96 14 RTC8563::RTC8563() : i2c(p28, p27) // delete void and add call to base constructor
Hevi 2:c3120898fc96 15 {
Hevi 2:c3120898fc96 16 // Initialise I2C
Hevi 2:c3120898fc96 17 i2c.frequency(40000);
Hevi 2:c3120898fc96 18 char init1[2] = {0x6, 0x00};
Hevi 2:c3120898fc96 19 char init2[2] = {0x7, 0xff};
Hevi 2:c3120898fc96 20 i2c.write(0x40, init1, 2);
Hevi 2:c3120898fc96 21 i2c.write(0x40, init2, 2);
Hevi 2:c3120898fc96 22 }
Hevi 2:c3120898fc96 23
Hevi 2:c3120898fc96 24 RTC8563::RTC8563(PinName sda, PinName scl) : i2c(sda, scl)
Hevi 2:c3120898fc96 25 {
Hevi 2:c3120898fc96 26 // Initialise I2C
Hevi 2:c3120898fc96 27 i2c.frequency(40000);
Hevi 2:c3120898fc96 28 char init1[2] = {0x6, 0x00};
Hevi 2:c3120898fc96 29 char init2[2] = {0x7, 0xff};
Hevi 2:c3120898fc96 30 i2c.write(0x40, init1, 2);
Hevi 2:c3120898fc96 31 i2c.write(0x40, init2, 2);
Hevi 2:c3120898fc96 32 }
Hevi 2:c3120898fc96 33
Hevi 2:c3120898fc96 34 char RTC8563::rtc_read(char address)
Hevi 2:c3120898fc96 35 {
Hevi 2:c3120898fc96 36 char value;
Hevi 2:c3120898fc96 37 i2c.start();
Hevi 2:c3120898fc96 38 i2c.write(RTC8563_ADR);
Hevi 2:c3120898fc96 39 i2c.write(address);
Hevi 2:c3120898fc96 40 i2c.start();
Hevi 2:c3120898fc96 41 i2c.write(RTC8563_ADR | _READ);
Hevi 2:c3120898fc96 42 value = i2c.read(0);
Hevi 2:c3120898fc96 43 i2c.stop();
Hevi 2:c3120898fc96 44
Hevi 2:c3120898fc96 45 return value;
Hevi 2:c3120898fc96 46 }
Hevi 2:c3120898fc96 47
Hevi 2:c3120898fc96 48 void RTC8563::rtc_write(char address, char value)
Hevi 2:c3120898fc96 49 {
Hevi 2:c3120898fc96 50 i2c.start();
Hevi 2:c3120898fc96 51 i2c.write(RTC8563_ADR);
Hevi 2:c3120898fc96 52 i2c.write(address);
Hevi 2:c3120898fc96 53 i2c.write(value);
Hevi 2:c3120898fc96 54 i2c.stop();
Hevi 2:c3120898fc96 55 }
Hevi 2:c3120898fc96 56
Hevi 2:c3120898fc96 57 void RTC8563::rtc_init()
Hevi 2:c3120898fc96 58 {
Hevi 2:c3120898fc96 59 }
Hevi 2:c3120898fc96 60
Hevi 2:c3120898fc96 61 void RTC8563::rtc_alarm()
Hevi 2:c3120898fc96 62 {
Hevi 2:c3120898fc96 63 }