Clock with Real-Time Clock (RTC-8564) and I2C LCD module(SB1062B).

Dependencies:   DebouncedEdgeIn I2cLCD_cursor Rtc8564 mbed beep

/media/uploads/togayan/imgp0004s.jpg /media/uploads/togayan/lcdclock_circuit_rev4.png

Committer:
togayan
Date:
Sat Mar 01 00:18:23 2014 +0000
Revision:
6:e7073adacdc8
Parent:
4:75ed86b78045
Add indicator LED.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
togayan 4:75ed86b78045 1 #include "RtcMechanism.h"
togayan 4:75ed86b78045 2
togayan 4:75ed86b78045 3 RtcMechanism::RtcMechanism()
togayan 4:75ed86b78045 4 :m_mode(Model::CLOCK),
togayan 4:75ed86b78045 5 m_clock(0),
togayan 4:75ed86b78045 6 m_dateTime(0),
togayan 4:75ed86b78045 7 m_rtc(0)
togayan 4:75ed86b78045 8 {
togayan 4:75ed86b78045 9 }
togayan 4:75ed86b78045 10
togayan 4:75ed86b78045 11 void RtcMechanism::setClock(Model::Clock* clock)
togayan 4:75ed86b78045 12 {
togayan 4:75ed86b78045 13 m_clock = clock;
togayan 4:75ed86b78045 14 m_dateTime = m_clock->getDateTime();
togayan 4:75ed86b78045 15 }
togayan 4:75ed86b78045 16
togayan 4:75ed86b78045 17 void RtcMechanism::setRtc(Rtc8564* rtc)
togayan 4:75ed86b78045 18 {
togayan 4:75ed86b78045 19 m_rtc = rtc;
togayan 4:75ed86b78045 20 m_rtc->clock(this, &RtcMechanism::update);
togayan 4:75ed86b78045 21 }
togayan 4:75ed86b78045 22
togayan 4:75ed86b78045 23 void RtcMechanism::setPresentTime()
togayan 4:75ed86b78045 24 {
togayan 4:75ed86b78045 25 m_rtc->setTime(m_dateTime);
togayan 4:75ed86b78045 26 }
togayan 4:75ed86b78045 27
togayan 4:75ed86b78045 28 void RtcMechanism::mode(Model::OperationMode mode)
togayan 4:75ed86b78045 29 {
togayan 4:75ed86b78045 30 m_mode = mode;
togayan 4:75ed86b78045 31 }
togayan 4:75ed86b78045 32
togayan 4:75ed86b78045 33 void RtcMechanism::update()
togayan 4:75ed86b78045 34 {
togayan 4:75ed86b78045 35 if(m_mode != Model::CLOCK) return;
togayan 4:75ed86b78045 36
togayan 4:75ed86b78045 37 m_rtc->getTime(m_dateTime);
togayan 4:75ed86b78045 38
togayan 4:75ed86b78045 39 m_clock->renew();
togayan 4:75ed86b78045 40 }