Own fork of MbedSmartRestMain
Dependencies: C027_Support C12832 LM75B MMA7660 MbedSmartRest mbed-rtos mbed
Fork of MbedSmartRestMain by
io/LCDDisplay.h@138:f8ab852e83e7, 2016-08-08 (annotated)
- Committer:
- xinlei
- Date:
- Mon Aug 08 11:05:57 2016 +0000
- Revision:
- 138:f8ab852e83e7
- Parent:
- 95:5dfdc8568e9f
Etisalat and Teleena APN.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
xinlei | 92:0acd11870c6a | 1 | #ifndef LCDDISPLAY_H |
xinlei | 92:0acd11870c6a | 2 | #define LCDDISPLAY_H |
xinlei | 92:0acd11870c6a | 3 | #include <string.h> |
xinlei | 92:0acd11870c6a | 4 | #include "C12832.h" |
xinlei | 92:0acd11870c6a | 5 | #include "rtos.h" |
xinlei | 93:61d44636f020 | 6 | #define DISPLAY_LEN 27 |
xinlei | 92:0acd11870c6a | 7 | |
xinlei | 92:0acd11870c6a | 8 | class LCDDisplay |
xinlei | 92:0acd11870c6a | 9 | { |
xinlei | 95:5dfdc8568e9f | 10 | private: |
xinlei | 92:0acd11870c6a | 11 | LCDDisplay(): firstLine(""), secondLine(""), thirdLine(""), |
xinlei | 92:0acd11870c6a | 12 | _lcd(D11, D13, D12, D7, D10) {} |
xinlei | 95:5dfdc8568e9f | 13 | LCDDisplay(LCDDisplay const&); |
xinlei | 95:5dfdc8568e9f | 14 | void operator=(LCDDisplay const&); |
xinlei | 95:5dfdc8568e9f | 15 | public: |
xinlei | 95:5dfdc8568e9f | 16 | static LCDDisplay& inst() { |
xinlei | 95:5dfdc8568e9f | 17 | static LCDDisplay _ref; |
xinlei | 95:5dfdc8568e9f | 18 | return _ref; |
xinlei | 95:5dfdc8568e9f | 19 | } |
xinlei | 92:0acd11870c6a | 20 | void setFirstLine(const char* p); |
xinlei | 92:0acd11870c6a | 21 | const char *getFirstLine() const { return firstLine; } |
xinlei | 92:0acd11870c6a | 22 | void setSecondLine(const char* p); |
xinlei | 92:0acd11870c6a | 23 | const char *getSecondLine() const { return secondLine; } |
xinlei | 92:0acd11870c6a | 24 | void setThirdLine(const char* p); |
xinlei | 92:0acd11870c6a | 25 | const char *getThirdLine() const { return thirdLine; } |
xinlei | 92:0acd11870c6a | 26 | void setLines(const char *p1, const char *p2=NULL, const char *p3=NULL); |
xinlei | 92:0acd11870c6a | 27 | void clear(); |
xinlei | 92:0acd11870c6a | 28 | virtual ~LCDDisplay() {} |
xinlei | 92:0acd11870c6a | 29 | |
xinlei | 92:0acd11870c6a | 30 | protected: |
xinlei | 92:0acd11870c6a | 31 | void lcdPrint(const char*, const char* = NULL, const char* = NULL); |
xinlei | 92:0acd11870c6a | 32 | void _setLine(char *dest, const char* src, size_t n); |
xinlei | 92:0acd11870c6a | 33 | |
xinlei | 92:0acd11870c6a | 34 | private: |
xinlei | 92:0acd11870c6a | 35 | char firstLine[DISPLAY_LEN]; |
xinlei | 92:0acd11870c6a | 36 | char secondLine[DISPLAY_LEN]; |
xinlei | 92:0acd11870c6a | 37 | char thirdLine[DISPLAY_LEN]; |
xinlei | 92:0acd11870c6a | 38 | C12832 _lcd; |
xinlei | 92:0acd11870c6a | 39 | Mutex lcdLock; |
xinlei | 92:0acd11870c6a | 40 | }; |
xinlei | 92:0acd11870c6a | 41 | |
xinlei | 92:0acd11870c6a | 42 | #endif /* LCDDISPLAY_H */ |