Realtime clock library for DS1307 and DS3231m

Dependents:   vfd_modular_clock_mbed

Committer:
perjg
Date:
Mon Aug 10 03:16:52 2015 +0000
Revision:
2:6119507e6713
Parent:
0:1602fdac44ec
Fixed compile error

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Backstrom 0:1602fdac44ec 1 /*
Backstrom 0:1602fdac44ec 2 * RTC library - mbed
Backstrom 0:1602fdac44ec 3 * (C) 2011-15 Akafugu Corporation
Backstrom 0:1602fdac44ec 4 *
Backstrom 0:1602fdac44ec 5 * This program is free software; you can redistribute it and/or modify it under the
Backstrom 0:1602fdac44ec 6 * terms of the GNU General Public License as published by the Free Software
Backstrom 0:1602fdac44ec 7 * Foundation; either version 2 of the License, or (at your option) any later
Backstrom 0:1602fdac44ec 8 * version.
Backstrom 0:1602fdac44ec 9 *
Backstrom 0:1602fdac44ec 10 * This program is distributed in the hope that it will be useful, but WITHOUT ANY
Backstrom 0:1602fdac44ec 11 * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
Backstrom 0:1602fdac44ec 12 * PARTICULAR PURPOSE. See the GNU General Public License for more details.
Backstrom 0:1602fdac44ec 13 *
Backstrom 0:1602fdac44ec 14 */
Backstrom 0:1602fdac44ec 15
Backstrom 0:1602fdac44ec 16 #include "rtc.h"
Backstrom 0:1602fdac44ec 17
Backstrom 0:1602fdac44ec 18 RTC::RTC() : m_time(1388534400+40000+60)
Backstrom 0:1602fdac44ec 19 {
Backstrom 0:1602fdac44ec 20 m_tenths = 0;
Backstrom 0:1602fdac44ec 21 }
Backstrom 0:1602fdac44ec 22
Backstrom 0:1602fdac44ec 23 void RTC::begin()
Backstrom 0:1602fdac44ec 24 {
Backstrom 0:1602fdac44ec 25 }
Backstrom 0:1602fdac44ec 26
Backstrom 0:1602fdac44ec 27 void RTC::tick()
Backstrom 0:1602fdac44ec 28 {
Backstrom 0:1602fdac44ec 29 m_time++;
Backstrom 0:1602fdac44ec 30 m_tenths = 0;
Backstrom 0:1602fdac44ec 31 }
Backstrom 0:1602fdac44ec 32
Backstrom 0:1602fdac44ec 33 void RTC::tenth_tick()
Backstrom 0:1602fdac44ec 34 {
Backstrom 0:1602fdac44ec 35 m_tenths++;
Backstrom 0:1602fdac44ec 36 }
Backstrom 0:1602fdac44ec 37
Backstrom 0:1602fdac44ec 38 time_t RTC::time()
Backstrom 0:1602fdac44ec 39 {
Backstrom 0:1602fdac44ec 40 return m_time;
Backstrom 0:1602fdac44ec 41 }
Backstrom 0:1602fdac44ec 42
Backstrom 0:1602fdac44ec 43 struct tm* RTC::getTime()
Backstrom 0:1602fdac44ec 44 {
Backstrom 0:1602fdac44ec 45 struct tm *tmp = localtime(&m_time);
Backstrom 0:1602fdac44ec 46 return tmp;
Backstrom 0:1602fdac44ec 47 }
Backstrom 0:1602fdac44ec 48
Backstrom 0:1602fdac44ec 49 void RTC::getTime(uint8_t* hour, uint8_t* min, uint8_t* sec)
Backstrom 0:1602fdac44ec 50 {
Backstrom 0:1602fdac44ec 51
Backstrom 0:1602fdac44ec 52 }
Backstrom 0:1602fdac44ec 53
Backstrom 0:1602fdac44ec 54 void RTC::setTime(time_t t)
Backstrom 0:1602fdac44ec 55 {
Backstrom 0:1602fdac44ec 56 m_time = t;
Backstrom 0:1602fdac44ec 57 }
Backstrom 0:1602fdac44ec 58
Backstrom 0:1602fdac44ec 59 void RTC::setTime(uint8_t hour, uint8_t min, uint8_t sec)
Backstrom 0:1602fdac44ec 60 {
Backstrom 0:1602fdac44ec 61 }
Backstrom 0:1602fdac44ec 62
Backstrom 0:1602fdac44ec 63 void RTC::setTime(struct tm* tm)
Backstrom 0:1602fdac44ec 64 {
Backstrom 0:1602fdac44ec 65 }
Backstrom 0:1602fdac44ec 66
Backstrom 0:1602fdac44ec 67 void RTC::setAlarm(time_t t)
Backstrom 0:1602fdac44ec 68 {
Backstrom 0:1602fdac44ec 69 }
Backstrom 0:1602fdac44ec 70
Backstrom 0:1602fdac44ec 71 void RTC::setAlarm(uint8_t hour, uint8_t min, uint8_t sec)
Backstrom 0:1602fdac44ec 72 {
Backstrom 0:1602fdac44ec 73 }
Backstrom 0:1602fdac44ec 74
Backstrom 0:1602fdac44ec 75 struct tm* RTC::getAlarm(void)
Backstrom 0:1602fdac44ec 76 {
Backstrom 0:1602fdac44ec 77 return 0;
Backstrom 0:1602fdac44ec 78 }
Backstrom 0:1602fdac44ec 79
Backstrom 0:1602fdac44ec 80 void RTC::getAlarm(uint8_t* hour, uint8_t* min, uint8_t* sec)
Backstrom 0:1602fdac44ec 81 {
Backstrom 0:1602fdac44ec 82 }
Backstrom 0:1602fdac44ec 83
Backstrom 0:1602fdac44ec 84 bool RTC::checkAlarm(void)
Backstrom 0:1602fdac44ec 85 {
Backstrom 0:1602fdac44ec 86 return false;
Backstrom 0:1602fdac44ec 87 }
Backstrom 0:1602fdac44ec 88
Backstrom 0:1602fdac44ec 89 void RTC::SQWEnable(bool enable)
Backstrom 0:1602fdac44ec 90 {
Backstrom 0:1602fdac44ec 91 }
Backstrom 0:1602fdac44ec 92
Backstrom 0:1602fdac44ec 93 void RTC::SQWSetFreq(enum RTC_SQW_FREQ freq)
Backstrom 0:1602fdac44ec 94 {
Backstrom 0:1602fdac44ec 95 }
Backstrom 0:1602fdac44ec 96
Backstrom 0:1602fdac44ec 97 uint8_t RTC::dec2bcd(uint8_t d)
Backstrom 0:1602fdac44ec 98 {
Backstrom 0:1602fdac44ec 99 return ((d/10 * 16) + (d % 10));
Backstrom 0:1602fdac44ec 100 }
Backstrom 0:1602fdac44ec 101
Backstrom 0:1602fdac44ec 102 uint8_t RTC::bcd2dec(uint8_t d)
Backstrom 0:1602fdac44ec 103 {
Backstrom 0:1602fdac44ec 104 return(((d&0xF0)>>4) * 10 + (d&0x0F));
Backstrom 0:1602fdac44ec 105 }
Backstrom 0:1602fdac44ec 106