Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: SX1276Lib AdaFruit_RGBLCD MCP23017 mbed
Fork of AdaFruit_RGBLCD by
Modules/TimeModule.cpp@10:3fcab08717fc, 2014-08-10 (annotated)
- 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?
| User | Revision | Line number | New 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 | } |
