Ben Gordon / Mbed OS ELEC351_GroupA-branch1
Committer:
Jonathan738
Date:
Sun Nov 04 20:32:59 2018 +0000
Revision:
6:f3d1ab8a9e99
Parent:
0:f8fe58d43763
Child:
7:0213c3702c99
Added Function for basic TERMINAL control and updated datatypes for LCD functions to universal names set by DataTypes.hpp

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