added GetDay() GetYear() GetWeek()

Dependencies:   mbed

Fork of rtc_class by Josef Kager

RTC8563.cpp

Committer:
KagerJ
Date:
2015-04-30
Revision:
3:75f5352b387d
Parent:
2:ce174a86d215

File content as of revision 3:75f5352b387d:

//
//  @ 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()
{
}