CaryCoders / Mbed 2 deprecated SX1276_GPS

Dependencies:   SX1276Lib AdaFruit_RGBLCD MCP23017 mbed

Fork of AdaFruit_RGBLCD by Justin Howard

Committer:
vtraveller
Date:
Sun Aug 10 12:34:44 2014 +0000
Revision:
10:3fcab08717fc
Child:
11:96146db429de
Added module system.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
vtraveller 10:3fcab08717fc 1 #include "mbed.h"
vtraveller 10:3fcab08717fc 2 #include "TimeModule.h"
vtraveller 10:3fcab08717fc 3 #include "time_helper.h"
vtraveller 10:3fcab08717fc 4
vtraveller 10:3fcab08717fc 5 #if 0
vtraveller 10:3fcab08717fc 6 tm sTM;
vtraveller 10:3fcab08717fc 7 sTM.tm_sec = 0;
vtraveller 10:3fcab08717fc 8 sTM.tm_min = 0;
vtraveller 10:3fcab08717fc 9 sTM.tm_hour = 18;
vtraveller 10:3fcab08717fc 10 sTM.tm_mday = 9;
vtraveller 10:3fcab08717fc 11 sTM.tm_mon = 8 - 1;
vtraveller 10:3fcab08717fc 12 sTM.tm_year = 2014 - 1900;
vtraveller 10:3fcab08717fc 13 sTM.tm_wday = 6;
vtraveller 10:3fcab08717fc 14
vtraveller 10:3fcab08717fc 15 rtc.SetTime(sTM,true);
vtraveller 10:3fcab08717fc 16 #endif
vtraveller 10:3fcab08717fc 17
vtraveller 10:3fcab08717fc 18
vtraveller 10:3fcab08717fc 19 TimeModule::TimeModule
vtraveller 10:3fcab08717fc 20 (
vtraveller 10:3fcab08717fc 21 Adafruit_RGBLCDShield & in_cLCD,
vtraveller 10:3fcab08717fc 22 RTclock & in_cRTclock
vtraveller 10:3fcab08717fc 23 )
vtraveller 10:3fcab08717fc 24 : Module(in_cLCD)
vtraveller 10:3fcab08717fc 25 , m_cRTclock(in_cRTclock)
vtraveller 10:3fcab08717fc 26 {
vtraveller 10:3fcab08717fc 27 }
vtraveller 10:3fcab08717fc 28
vtraveller 10:3fcab08717fc 29 TimeModule::~TimeModule()
vtraveller 10:3fcab08717fc 30 {
vtraveller 10:3fcab08717fc 31 }
vtraveller 10:3fcab08717fc 32
vtraveller 10:3fcab08717fc 33 int TimeModule::setCursor
vtraveller 10:3fcab08717fc 34 (
vtraveller 10:3fcab08717fc 35 int in_nIndex,
vtraveller 10:3fcab08717fc 36 int in_nCursorX,
vtraveller 10:3fcab08717fc 37 int in_nCursorY
vtraveller 10:3fcab08717fc 38 )
vtraveller 10:3fcab08717fc 39 {
vtraveller 10:3fcab08717fc 40 const int k_aCursor[] = { 0, 1, 3, 4, 6, 7, 10 };
vtraveller 10:3fcab08717fc 41
vtraveller 10:3fcab08717fc 42 int nIndex = in_nIndex;
vtraveller 10:3fcab08717fc 43 if (nIndex < 0) nIndex = 0;
vtraveller 10:3fcab08717fc 44 if (nIndex >= _countof(k_aCursor)) nIndex = _countof(k_aCursor) - 1;
vtraveller 10:3fcab08717fc 45
vtraveller 10:3fcab08717fc 46 int nCursorX = k_aCursor[nIndex];
vtraveller 10:3fcab08717fc 47 m_cLCD.setCursor(in_nCursorX + nCursorX,in_nCursorY);
vtraveller 10:3fcab08717fc 48
vtraveller 10:3fcab08717fc 49 return nIndex;
vtraveller 10:3fcab08717fc 50 }
vtraveller 10:3fcab08717fc 51
vtraveller 10:3fcab08717fc 52 void TimeModule::show()
vtraveller 10:3fcab08717fc 53 {
vtraveller 10:3fcab08717fc 54 tm sTM;
vtraveller 10:3fcab08717fc 55 const char * pUnits = " ";
vtraveller 10:3fcab08717fc 56
vtraveller 10:3fcab08717fc 57 // to get the current time information
vtraveller 10:3fcab08717fc 58 if (m_cRTclock.getTime(sTM))
vtraveller 10:3fcab08717fc 59 {
vtraveller 10:3fcab08717fc 60 // Adjust for 12 hour clock
vtraveller 10:3fcab08717fc 61 if (m_cRTclock.isTwelveHour())
vtraveller 10:3fcab08717fc 62 {
vtraveller 10:3fcab08717fc 63 pUnits = (sTM.tm_hour < 12) ? "am":"pm";
vtraveller 10:3fcab08717fc 64 sTM.tm_hour %= 12;
vtraveller 10:3fcab08717fc 65 }
vtraveller 10:3fcab08717fc 66 }
vtraveller 10:3fcab08717fc 67 else
vtraveller 10:3fcab08717fc 68 {
vtraveller 10:3fcab08717fc 69 // If failed get internal time (as at least that's something
vtraveller 10:3fcab08717fc 70 GetTime(sTM);
vtraveller 10:3fcab08717fc 71 }
vtraveller 10:3fcab08717fc 72
vtraveller 10:3fcab08717fc 73 m_cLCD.printf ("%02i:%02i:%02i %s ", sTM.tm_hour, sTM.tm_min, sTM.tm_sec, pUnits);
vtraveller 10:3fcab08717fc 74 }