demo new haven display
Dependencies: LCD Menu ButtonCtrl TimeManagement EventLog AddressMap emic2
ESCM 2000 Control and Display application provides interface for the LPC1768 processor boards with the ECSM 2000 system.
This application implements SW interface : - RX 485 Receive from physical system - RX 485 Interface to send toECOM / ESCM board - CAN Interface to send to ECOM / ESCM board - 4x40 LCD with menu controls - RTC configuration -EMIC2 Sound Card - GPIO Extender to push buttons etc
main.cpp@1:a16e53a9e991, 2019-06-16 (annotated)
- Committer:
- dbinnunE3
- Date:
- Sun Jun 16 14:37:37 2019 +0000
- Revision:
- 1:a16e53a9e991
- Parent:
- 0:91f25a0f819c
- Child:
- 3:ecaf9963341b
Modified for open drain on all LCD interface pins; ; There is something not working right with rows 3 and 4 of the writecharacters function FYI
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
foxbrianr | 0:91f25a0f819c | 1 | #include "mbed.h" |
foxbrianr | 0:91f25a0f819c | 2 | #include "LCD.h" |
foxbrianr | 0:91f25a0f819c | 3 | |
foxbrianr | 0:91f25a0f819c | 4 | |
foxbrianr | 0:91f25a0f819c | 5 | Serial pc(USBTX, USBRX); // tx, rx |
foxbrianr | 0:91f25a0f819c | 6 | |
foxbrianr | 0:91f25a0f819c | 7 | LCD MyLCD; |
foxbrianr | 0:91f25a0f819c | 8 | |
foxbrianr | 0:91f25a0f819c | 9 | int main() { |
foxbrianr | 0:91f25a0f819c | 10 | |
foxbrianr | 0:91f25a0f819c | 11 | pc.printf("\n\r"); |
foxbrianr | 0:91f25a0f819c | 12 | pc.printf("=====================================\n\r"); |
foxbrianr | 0:91f25a0f819c | 13 | pc.printf("= LCD TEST =\n\r"); |
foxbrianr | 0:91f25a0f819c | 14 | pc.printf("=====================================\n\r"); |
foxbrianr | 0:91f25a0f819c | 15 | |
foxbrianr | 0:91f25a0f819c | 16 | MyLCD.init(); |
dbinnunE3 | 1:a16e53a9e991 | 17 | //MyLCD.display("Initializing System..."); |
foxbrianr | 0:91f25a0f819c | 18 | |
dbinnunE3 | 1:a16e53a9e991 | 19 | MyLCD.locate(1,1); |
dbinnunE3 | 1:a16e53a9e991 | 20 | MyLCD.write("Initializing System.......Hello World!"); |
foxbrianr | 0:91f25a0f819c | 21 | |
foxbrianr | 0:91f25a0f819c | 22 | pc.printf("=====================================\n\r"); |
foxbrianr | 0:91f25a0f819c | 23 | pc.printf("= Launch =\n\r"); |
foxbrianr | 0:91f25a0f819c | 24 | pc.printf("=====================================\n\r"); |
dbinnunE3 | 1:a16e53a9e991 | 25 | // myLcd.clear(1,1); |
dbinnunE3 | 1:a16e53a9e991 | 26 | // MyLCD.writeCharacters("ABCDEFGHIJKLMNOPQRSTUVWXYZ..............",0,0); |
dbinnunE3 | 1:a16e53a9e991 | 27 | //wait_ms(5); |
foxbrianr | 0:91f25a0f819c | 28 | //MyLCD.writeCharacters("----------------------------------------",1,0); |
dbinnunE3 | 1:a16e53a9e991 | 29 | //wait_ms(5); |
dbinnunE3 | 1:a16e53a9e991 | 30 | //MyLCD.write("Hello World!!!!"); |
dbinnunE3 | 1:a16e53a9e991 | 31 | //wait_ms(5); |
dbinnunE3 | 1:a16e53a9e991 | 32 | //MyLCD.writeCharacters("----------------------------------------",3,0); |
dbinnunE3 | 1:a16e53a9e991 | 33 | //wait_ms(5); |
foxbrianr | 0:91f25a0f819c | 34 | |
foxbrianr | 0:91f25a0f819c | 35 | |
foxbrianr | 0:91f25a0f819c | 36 | MyLCD.writeCommand((char)0x80,1,0); //address 0 position (=0,=0) |
foxbrianr | 0:91f25a0f819c | 37 | MyLCD.writeData ((char)0x55,1,0); //x |
foxbrianr | 0:91f25a0f819c | 38 | |
dbinnunE3 | 1:a16e53a9e991 | 39 | //int i=0; |
foxbrianr | 0:91f25a0f819c | 40 | while(1) { |
dbinnunE3 | 1:a16e53a9e991 | 41 | wait_ms(5); |
dbinnunE3 | 1:a16e53a9e991 | 42 | //MyLCD.writeCommand(0x80,1,0); //Turn on display; no cursor |
dbinnunE3 | 1:a16e53a9e991 | 43 | //MyLCD.writeData (0x55,1,0); //Turn on display; no cursor |
foxbrianr | 0:91f25a0f819c | 44 | //MyLCD.locate(0,1); |
foxbrianr | 0:91f25a0f819c | 45 | //MyLCD.writeCharacter('X',0,i++); |
foxbrianr | 0:91f25a0f819c | 46 | //if(i>MyLCD.columns()) |
foxbrianr | 0:91f25a0f819c | 47 | // i=i; |
foxbrianr | 0:91f25a0f819c | 48 | } |
foxbrianr | 0:91f25a0f819c | 49 | } |
foxbrianr | 0:91f25a0f819c | 50 |