CaryCoders / Mbed 2 deprecated demo_SX1276_standalone

Dependencies:   SX1276Lib mbed

Fork of SX1276_GPS by CaryCoders

Committer:
vtraveller
Date:
Sun Aug 10 15:45:03 2014 +0000
Revision:
11:96146db429de
Parent:
10:3fcab08717fc
Child:
12:0fea8ebe6c1a
Added support for changing time.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
vtraveller 10:3fcab08717fc 1 #include "mbed.h"
vtraveller 10:3fcab08717fc 2 #include "DateModule.h"
vtraveller 10:3fcab08717fc 3 #include "time_helper.h"
vtraveller 10:3fcab08717fc 4
vtraveller 10:3fcab08717fc 5 const char * k_aWeekDays[] = { "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" };
vtraveller 10:3fcab08717fc 6
vtraveller 10:3fcab08717fc 7 DateModule::DateModule
vtraveller 10:3fcab08717fc 8 (
vtraveller 10:3fcab08717fc 9 Adafruit_RGBLCDShield & in_cLCD,
vtraveller 10:3fcab08717fc 10 RTclock & in_cRTclock
vtraveller 10:3fcab08717fc 11 )
vtraveller 10:3fcab08717fc 12 : Module(in_cLCD)
vtraveller 10:3fcab08717fc 13 , m_cRTclock(in_cRTclock)
vtraveller 10:3fcab08717fc 14 {
vtraveller 10:3fcab08717fc 15 }
vtraveller 10:3fcab08717fc 16
vtraveller 10:3fcab08717fc 17 DateModule::~DateModule()
vtraveller 10:3fcab08717fc 18 {
vtraveller 10:3fcab08717fc 19 }
vtraveller 11:96146db429de 20
vtraveller 11:96146db429de 21 void DateModule::change
vtraveller 11:96146db429de 22 (
vtraveller 11:96146db429de 23 int in_nIndexX,
vtraveller 11:96146db429de 24 int in_nCursorY,
vtraveller 11:96146db429de 25 bool in_bUp
vtraveller 11:96146db429de 26 )
vtraveller 11:96146db429de 27 {
vtraveller 11:96146db429de 28 tm sTM;
vtraveller 10:3fcab08717fc 29
vtraveller 11:96146db429de 30 // to get the current time information
vtraveller 11:96146db429de 31 if (!m_cRTclock.getTime(sTM)) GetTime(sTM);
vtraveller 11:96146db429de 32 bool bTwelveHour = m_cRTclock.isTwelveHour();
vtraveller 11:96146db429de 33
vtraveller 11:96146db429de 34 #if 0
vtraveller 11:96146db429de 35 switch (in_nIndexX)
vtraveller 11:96146db429de 36 {
vtraveller 11:96146db429de 37 case 0: m_nTemp += (in_bUp ? 1 : -1) * 10; break;
vtraveller 11:96146db429de 38 case 1: m_nTemp += (in_bUp ? 1 : -1); break;
vtraveller 11:96146db429de 39 }
vtraveller 11:96146db429de 40 #endif
vtraveller 11:96146db429de 41
vtraveller 11:96146db429de 42 if (!m_cRTclock.setTime(sTM,bTwelveHour)) SetTime(sTM);
vtraveller 11:96146db429de 43 }
vtraveller 11:96146db429de 44
vtraveller 10:3fcab08717fc 45 int DateModule::setCursor
vtraveller 10:3fcab08717fc 46 (
vtraveller 10:3fcab08717fc 47 int in_nIndex,
vtraveller 10:3fcab08717fc 48 int in_nCursorX,
vtraveller 10:3fcab08717fc 49 int in_nCursorY
vtraveller 10:3fcab08717fc 50 )
vtraveller 10:3fcab08717fc 51 {
vtraveller 10:3fcab08717fc 52 const int k_aCursor[] = { 2, 4, 5, 7, 8, 10, 11, 12, 13 };
vtraveller 10:3fcab08717fc 53
vtraveller 10:3fcab08717fc 54 int nIndex = in_nIndex;
vtraveller 10:3fcab08717fc 55 if (nIndex < 0) nIndex = 0;
vtraveller 10:3fcab08717fc 56 if (nIndex >= _countof(k_aCursor)) nIndex = _countof(k_aCursor) - 1;
vtraveller 10:3fcab08717fc 57
vtraveller 10:3fcab08717fc 58 int nCursorX = k_aCursor[nIndex];
vtraveller 10:3fcab08717fc 59 m_cLCD.setCursor(in_nCursorX + nCursorX,in_nCursorY);
vtraveller 10:3fcab08717fc 60
vtraveller 10:3fcab08717fc 61 return nIndex;
vtraveller 10:3fcab08717fc 62 }
vtraveller 10:3fcab08717fc 63
vtraveller 10:3fcab08717fc 64 void DateModule::show()
vtraveller 10:3fcab08717fc 65 {
vtraveller 10:3fcab08717fc 66 tm sTM;
vtraveller 10:3fcab08717fc 67
vtraveller 10:3fcab08717fc 68 // to get the current time information
vtraveller 10:3fcab08717fc 69 if (!m_cRTclock.getTime(sTM)) GetTime(sTM);
vtraveller 10:3fcab08717fc 70
vtraveller 10:3fcab08717fc 71 m_cLCD.printf ("%s %02i/%02i/%04i ", k_aWeekDays[sTM.tm_wday], sTM.tm_mday, sTM.tm_mon + 1, 1900 + sTM.tm_year);
vtraveller 10:3fcab08717fc 72 }