Clock with Real-Time Clock (RTC-8564) and I2C LCD module(SB1062B).
Dependencies: DebouncedEdgeIn I2cLCD_cursor Rtc8564 mbed beep
Diff: main.cpp
- Revision:
- 1:f8713c387a68
- Parent:
- 0:86ab67787717
- Child:
- 2:6f0158399eff
diff -r 86ab67787717 -r f8713c387a68 main.cpp --- a/main.cpp Sun Feb 09 09:05:25 2014 +0000 +++ b/main.cpp Fri Feb 14 09:24:03 2014 +0000 @@ -1,22 +1,38 @@ #include "mbed.h" #include "I2cLCD/I2cLCD.h" #include "EventMechanism/EventHandler.h" +#include "EventMechanism/EventParam0.h" #include "I2cRTC/I2cRTC.h" #include "ViewModel/ClockViewModel.h" +#include "Model/Clock.h" + +//Serial uart(dp16, dp15); +DigitalOut myled(LED1); int main() { - InterruptIn clockIn(dp1); I2C i2c(dp5, dp27); //sda scl I2cLCD lcd(i2c, dp4); //i2c reset - EventMechanism::EventHandler evHandler; - ViewModel::ClockViewModel clockVM(lcd); - I2cRTC rtc(clockIn, dp2, i2c, &evHandler, &clockVM); + EventMechanism::EventHandler evHandler(512); + //EventMechanism::EventHandler evHandler(640); + //EventMechanism::EventHandler evHandler(768); + I2cRTC rtc(dp1, dp2, i2c, &evHandler); + ViewModel::ClockViewModel clockVm(lcd, dp13, dp11, &evHandler, myled); + Model::Clock clock(&clockVm, &rtc); + rtc.setClock(&clock); + clockVm.setClock(&clock); - clockVM.initialize(); + //myled = 1; evHandler.start(); - wait(0.25); - rtc.start(); + //myled = 0; + evHandler.postEvent(new EventMechanism::EventParam0<Model::Clock>(&clock, &Model::Clock::initialize)); + evHandler.postEvent(new EventMechanism::EventParam0<ViewModel::ClockViewModel>(&clockVm, &ViewModel::ClockViewModel::initialize)); + evHandler.postEvent(new EventMechanism::EventParam0<I2cRTC>(&rtc, &I2cRTC::start)); - while(1); + //uart.puts("ccc\n"); + puts("ccc\n"); + while(1) { + //uart.getc(); + //evHandler.postEvent(new EventMechanism::EventParam0<Model::Clock>(&clock, &Model::Clock::initialize)); + } }