standalone sx1276 demo program

Dependencies:   SX1276Lib mbed

Fork of SX1276_GPS by CaryCoders

Committer:
vtraveller
Date:
Thu Oct 09 08:03:20 2014 +0000
Revision:
25:24654d08a99a
Parent:
23:94d2f0d62247
Child:
26:0cfd95d8f270
Updated with new LCD and Key abstraction (to support different LCDs and Keyboard input).

Who changed what in which revision?

UserRevisionLine numberNew contents of line
wim 0:88d87b1c1f8b 1 #include "mbed.h"
vtraveller 13:9641bc42db92 2
vtraveller 25:24654d08a99a 3 #include "lcdadafruit.h"
vtraveller 25:24654d08a99a 4 #include "lcd2004.h"
vtraveller 25:24654d08a99a 5 #include "keyreadernull.h"
vtraveller 10:3fcab08717fc 6 #include "RTclock.h"
vtraveller 10:3fcab08717fc 7
vtraveller 10:3fcab08717fc 8 #include "DateModule.h"
vtraveller 10:3fcab08717fc 9 #include "TempModule.h"
vtraveller 10:3fcab08717fc 10 #include "TimeModule.h"
vtraveller 10:3fcab08717fc 11 #include "TitleModule.h"
vtraveller 17:731a47339cb8 12 #include "SyncModule.h"
wim 0:88d87b1c1f8b 13
vtraveller 13:9641bc42db92 14 #include "MenuManager.h"
vtraveller 10:3fcab08717fc 15
vtraveller 13:9641bc42db92 16 //Serial cPC(SERIAL_TX, SERIAL_RX);
vtraveller 3:ed09f95739df 17
vtraveller 3:ed09f95739df 18 int main()
vtraveller 21:c44cfd3259c0 19 {
vtraveller 21:c44cfd3259c0 20 // Share the I2C across multiple devices
vtraveller 21:c44cfd3259c0 21 I2C cI2C(I2C_SDA, I2C_SCL); // D3, D6
vtraveller 21:c44cfd3259c0 22 cI2C.frequency(400000); // I2C can handle two different frequencies - switch to high speed if asked
vtraveller 25:24654d08a99a 23
vtraveller 25:24654d08a99a 24 //LCDadafruit cLCD(cI2C);
vtraveller 25:24654d08a99a 25 LCD2004 cLCD(cI2C);
vtraveller 25:24654d08a99a 26 KeyReaderNull cKeys(cI2C);
vtraveller 20:93c70a1869ee 27
vtraveller 23:94d2f0d62247 28 RTclock cClock(cI2C, 0x68 << 1, RTclock::eDS3231);
vtraveller 13:9641bc42db92 29
vtraveller 13:9641bc42db92 30 // Spin up RTC
vtraveller 19:72c02acb601d 31 cClock.mapTime();
vtraveller 17:731a47339cb8 32
vtraveller 10:3fcab08717fc 33 // Set up display modules
vtraveller 10:3fcab08717fc 34 Module * aModules[] =
vtraveller 10:3fcab08717fc 35 {
vtraveller 25:24654d08a99a 36 new TitleModule(cLCD,cClock),
vtraveller 22:dd8197db4478 37 new TempModule(cLCD,cI2C,0x18 << 1),
vtraveller 17:731a47339cb8 38 new TimeModule(cLCD,cClock),
vtraveller 20:93c70a1869ee 39 new DateModule(cLCD,cClock),
vtraveller 19:72c02acb601d 40 new SyncModule(cLCD,cClock),
vtraveller 10:3fcab08717fc 41 };
vtraveller 10:3fcab08717fc 42
vtraveller 13:9641bc42db92 43 // Set up the menu manager
vtraveller 25:24654d08a99a 44 // MenuManager cMenuManager(aModules,_countof(aModules),cLCD,cKeys,16,2);
vtraveller 25:24654d08a99a 45 MenuManager cMenuManager(aModules,_countof(aModules),cLCD,cKeys);
vtraveller 13:9641bc42db92 46
vtraveller 13:9641bc42db92 47 // Start menu manager loop
vtraveller 13:9641bc42db92 48 cMenuManager.loop();
wim 0:88d87b1c1f8b 49 }