Clock with Real-Time Clock (RTC-8564) and I2C LCD module(SB1062B).
Dependencies: DebouncedEdgeIn I2cLCD_cursor Rtc8564 mbed beep
Mechanism/RtcMechanism.cpp@6:e7073adacdc8, 2014-03-01 (annotated)
- 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?
User | Revision | Line number | New 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 | } |