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

Revision:
1:f8713c387a68
Parent:
0:86ab67787717
Child:
2:6f0158399eff
--- 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));
+    }
 }