Official reference client implementation for Cumulocity SmartREST on u-blox C027.
Dependencies: C027_Support C12832 LM75B MMA7660 MbedSmartRest mbed-rtos mbed
Fork of MbedSmartRestMain by
io/LCDDisplay.cpp
- Committer:
- xinlei
- Date:
- 2015-04-13
- Revision:
- 93:0acd11870c6a
- Child:
- 96:5dfdc8568e9f
File content as of revision 93:0acd11870c6a:
#include "LCDDisplay.h" #include "logging.h" #define DEF "\033[39m" #define GRE "\033[32m" #define CYA "\033[36m" void LCDDisplay::_setLine(char *dest, const char* src, size_t n) { if (n == 0) { return ; } else if (src && src!=dest) { strncpy(dest, src, n-1); dest[n-1] = '\0'; } } void LCDDisplay::clear() { _setLine(firstLine, "", sizeof(firstLine)); _setLine(secondLine, "", sizeof(secondLine)); _setLine(thirdLine, "", sizeof(thirdLine)); _lcd.cls(); } void LCDDisplay::setFirstLine(const char* p) { _setLine(firstLine, p, sizeof(firstLine)); lcdPrint(firstLine, secondLine, thirdLine); } void LCDDisplay::setSecondLine(const char* p) { _setLine(secondLine, p, sizeof(secondLine)); lcdPrint(firstLine, secondLine, thirdLine); } void LCDDisplay::setThirdLine(const char* p) { _setLine(thirdLine, p, sizeof(thirdLine)); lcdPrint(firstLine, secondLine, thirdLine); } void LCDDisplay::setLines(const char *p1, const char *p2, const char *p3) { _setLine(firstLine, p1, sizeof(firstLine)); if (p2) _setLine(secondLine, p2, sizeof(secondLine)); else _setLine(secondLine, "", sizeof(secondLine)); if (p3) _setLine(thirdLine, p3, sizeof(thirdLine)); else _setLine(thirdLine, "", sizeof(thirdLine)); lcdPrint(firstLine, secondLine, thirdLine); } void LCDDisplay::lcdPrint(const char *l1, const char *l2, const char *l3) { aDebug(GRE "io::lcdPrint" DEF "\r\n"); lcdLock.lock(); _lcd.cls(); _lcd.locate(0, 0); _lcd.printf("%s\n", l1); aDebug(GRE "> " CYA "%s\r\n" DEF, l1); if (l2 != NULL) { _lcd.printf("%s\n", l2); aDebug(GRE "> " CYA "%s\r\n" DEF, l2); if (l3 != NULL) { _lcd.printf("%s\n", l3); aDebug(GRE "> " CYA "%s\r\n" DEF, l3); } } lcdLock.unlock(); }