library

Dependents:   RTC_class

RTC8563.cpp

Committer:
matthiaskosch
Date:
2015-04-30
Revision:
0:b5f59b23bbef

File content as of revision 0:b5f59b23bbef:

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