Troubleshooting

Committer:
BenRJG
Date:
Sun Nov 04 21:09:02 2018 +0000
Revision:
7:0213c3702c99
Parent:
6:f3d1ab8a9e99
Parent:
4:bb7a78619678
Child:
8:e34e23edfc84
Merged branches

Who changed what in which revision?

UserRevisionLine numberNew contents of line
BenRJG 0:f8fe58d43763 1 #ifndef _LCD_HPP
BenRJG 0:f8fe58d43763 2 #define _LCD_HPP
BenRJG 7:0213c3702c99 3
BenRJG 0:f8fe58d43763 4 #include "mbed.h"
BenRJG 7:0213c3702c99 5 #include "DataTypes.hpp"
BenRJG 0:f8fe58d43763 6
BenRJG 0:f8fe58d43763 7 #define CLEAR 0x01
BenRJG 0:f8fe58d43763 8 #define RETURN 0x02
BenRJG 0:f8fe58d43763 9
BenRJG 0:f8fe58d43763 10 #define ENTRYMODE 0x04
BenRJG 0:f8fe58d43763 11 #define I 0x02
BenRJG 0:f8fe58d43763 12 #define shift 0x01
BenRJG 0:f8fe58d43763 13
BenRJG 0:f8fe58d43763 14 #define DISPLAY 0x08
BenRJG 0:f8fe58d43763 15 #define on 0x04
BenRJG 0:f8fe58d43763 16 #define cursor 0x02
BenRJG 0:f8fe58d43763 17 #define blink 0x01
BenRJG 0:f8fe58d43763 18
BenRJG 0:f8fe58d43763 19 #define DDRAM 0x20
BenRJG 0:f8fe58d43763 20 #define bit8 0x10
BenRJG 0:f8fe58d43763 21 #define lines2 0x08
BenRJG 0:f8fe58d43763 22 #define dots11 0x04
BenRJG 0:f8fe58d43763 23
BenRJG 0:f8fe58d43763 24 #define control 0
BenRJG 0:f8fe58d43763 25 #define text 1
BenRJG 0:f8fe58d43763 26
BenRJG 0:f8fe58d43763 27 #define write 0
BenRJG 0:f8fe58d43763 28 #define read 1
BenRJG 0:f8fe58d43763 29
BenRJG 0:f8fe58d43763 30 #define LINE1 0x80
BenRJG 0:f8fe58d43763 31 #define LINE2 0xc0
BenRJG 0:f8fe58d43763 32
BenRJG 0:f8fe58d43763 33 class LCD{
BenRJG 0:f8fe58d43763 34 public:
BenRJG 4:bb7a78619678 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:f8fe58d43763 36 void INIT();
BenRJG 0:f8fe58d43763 37 void clear();
BenRJG 7:0213c3702c99 38 void display(BYTE* str, INT_32 line, INT_32 position);
BenRJG 7:0213c3702c99 39 void putt(BYTE c);
BenRJG 0:f8fe58d43763 40 private:
BenRJG 0:f8fe58d43763 41 DigitalOut _LCD_RS;
BenRJG 0:f8fe58d43763 42 DigitalOut _LCD_E;
BenRJG 0:f8fe58d43763 43 BusOut LCD_DDRAM;
BenRJG 0:f8fe58d43763 44 private:
BenRJG 7:0213c3702c99 45 void cmdLCD(U_BYTE cmd);
BenRJG 0:f8fe58d43763 46 void LCD_strobe(void);
BenRJG 7:0213c3702c99 47 void set_LCD_data(U_BYTE d);
BenRJG 7:0213c3702c99 48 UINT_32 findSpace(BYTE* str);
BenRJG 0:f8fe58d43763 49 };
BenRJG 0:f8fe58d43763 50 #endif