.

Dependencies:   mbed

Fork of rtc_func by HIMBED_3AHELI

Committer:
Deixi
Date:
Wed Apr 22 19:31:07 2015 +0000
Revision:
4:357c5386a78c
Parent:
3:f75062350241
..; ;

Who changed what in which revision?

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