Ben Gordon
/
ELEC351_GroupA_alternate
temp
LCD.hpp@0:2a4af0cb6e8d, 2018-12-06 (annotated)
- Committer:
- BenRJG
- Date:
- Thu Dec 06 15:38:09 2018 +0000
- Revision:
- 0:2a4af0cb6e8d
Imported Code from Kiel; Added button functionality; Added set DateTime Functionality
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
BenRJG | 0:2a4af0cb6e8d | 1 | #ifndef _LCD_HPP |
BenRJG | 0:2a4af0cb6e8d | 2 | #define _LCD_HPP |
BenRJG | 0:2a4af0cb6e8d | 3 | |
BenRJG | 0:2a4af0cb6e8d | 4 | #include "mbed.h" |
BenRJG | 0:2a4af0cb6e8d | 5 | #include "General.hpp" |
BenRJG | 0:2a4af0cb6e8d | 6 | |
BenRJG | 0:2a4af0cb6e8d | 7 | #define CLEAR 0x01 |
BenRJG | 0:2a4af0cb6e8d | 8 | #define RETURN 0x02 |
BenRJG | 0:2a4af0cb6e8d | 9 | |
BenRJG | 0:2a4af0cb6e8d | 10 | #define ENTRYMODE 0x04 |
BenRJG | 0:2a4af0cb6e8d | 11 | #define I 0x02 |
BenRJG | 0:2a4af0cb6e8d | 12 | #define shift 0x01 |
BenRJG | 0:2a4af0cb6e8d | 13 | |
BenRJG | 0:2a4af0cb6e8d | 14 | #define DISPLAY 0x08 |
BenRJG | 0:2a4af0cb6e8d | 15 | #define on 0x04 |
BenRJG | 0:2a4af0cb6e8d | 16 | #define cursor 0x02 |
BenRJG | 0:2a4af0cb6e8d | 17 | #define blink 0x01 |
BenRJG | 0:2a4af0cb6e8d | 18 | |
BenRJG | 0:2a4af0cb6e8d | 19 | #define FUNC 0x20 |
BenRJG | 0:2a4af0cb6e8d | 20 | #define bit8 0x10 |
BenRJG | 0:2a4af0cb6e8d | 21 | #define lines2 0x08 |
BenRJG | 0:2a4af0cb6e8d | 22 | #define dots11 0x04 |
BenRJG | 0:2a4af0cb6e8d | 23 | |
BenRJG | 0:2a4af0cb6e8d | 24 | #define control 0 |
BenRJG | 0:2a4af0cb6e8d | 25 | #define text 1 |
BenRJG | 0:2a4af0cb6e8d | 26 | |
BenRJG | 0:2a4af0cb6e8d | 27 | #define write 0 |
BenRJG | 0:2a4af0cb6e8d | 28 | #define read 1 |
BenRJG | 0:2a4af0cb6e8d | 29 | |
BenRJG | 0:2a4af0cb6e8d | 30 | #define LINE1 0x00 |
BenRJG | 0:2a4af0cb6e8d | 31 | #define LINE2 0x40 |
BenRJG | 0:2a4af0cb6e8d | 32 | |
BenRJG | 0:2a4af0cb6e8d | 33 | class LCD{ |
BenRJG | 0:2a4af0cb6e8d | 34 | public: |
BenRJG | 0:2a4af0cb6e8d | 35 | LCD(PinName rs, PinName e, PinName d4, PinName d5, PinName d6, PinName d7) : _LCD_RS(rs), _LCD_E(e), LCD_DDRAM(d4,d5,d6,d7) {} |
BenRJG | 0:2a4af0cb6e8d | 36 | void INIT(); |
BenRJG | 0:2a4af0cb6e8d | 37 | void clear(); |
BenRJG | 0:2a4af0cb6e8d | 38 | void display(BYTE* str, UINT_16 location=NULL); |
BenRJG | 0:2a4af0cb6e8d | 39 | void putt(U_BYTE c); |
BenRJG | 0:2a4af0cb6e8d | 40 | void pos(UINT_16 location); |
BenRJG | 0:2a4af0cb6e8d | 41 | |
BenRJG | 0:2a4af0cb6e8d | 42 | void enableCursor(); |
BenRJG | 0:2a4af0cb6e8d | 43 | void disableCursor(); |
BenRJG | 0:2a4af0cb6e8d | 44 | private: |
BenRJG | 0:2a4af0cb6e8d | 45 | DigitalOut _LCD_RS; |
BenRJG | 0:2a4af0cb6e8d | 46 | DigitalOut _LCD_E; |
BenRJG | 0:2a4af0cb6e8d | 47 | BusOut LCD_DDRAM; |
BenRJG | 0:2a4af0cb6e8d | 48 | private: |
BenRJG | 0:2a4af0cb6e8d | 49 | void cmdLCD(U_BYTE cmd); |
BenRJG | 0:2a4af0cb6e8d | 50 | void LCD_strobe(void); |
BenRJG | 0:2a4af0cb6e8d | 51 | void set_LCD_data(U_BYTE d); |
BenRJG | 0:2a4af0cb6e8d | 52 | UINT_32 findSpace(U_BYTE* str); |
BenRJG | 0:2a4af0cb6e8d | 53 | }; |
BenRJG | 0:2a4af0cb6e8d | 54 | #endif |
BenRJG | 0:2a4af0cb6e8d | 55 |