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
Diff: main.cpp
- Revision:
- 8:f15a5358883c
- Parent:
- 7:0244f1a26545
- Child:
- 10:f221dd1ef77b
diff -r 0244f1a26545 -r f15a5358883c main.cpp --- a/main.cpp Tue Sep 17 14:24:27 2019 +0000 +++ b/main.cpp Fri Sep 27 13:20:41 2019 +0000 @@ -456,15 +456,25 @@ InitPerfData(); #endif + // ----------------------------------- + // set LCD configuration + // ----------------------------------- lcd.init(); lcd.cls(); lcd.locate(0,0); lcd.printf ("Initializing System.."); - // test speaker + // ----------------------------------- + // set EMIC speaker configuration + // ----------------------------------- + speaker.volume(18); + speaker.voice(3); + escmController.say("Welcome ESCM"); + // ----------------------------------- // initialize main controller + // ----------------------------------- escmController.init(); //escmRs485_Input.attach ( &rx485Message ); @@ -472,7 +482,9 @@ toggleLed1(); - //Add any selections + // ----------------------------------- + // Setup menus + // ----------------------------------- rootMenu.add(&showEvents); rootMenu.add(&editTime); rootMenu.add(&editAddress); @@ -481,6 +493,9 @@ toggleLed1(); + // ----------------------------------- + // Setup threads + // ----------------------------------- threads[0] = new Thread(osPriorityNormal5, 0x300 ); threads[1] = new Thread(osPriorityNormal4, 0x500 ); threads[2] = new Thread(osPriorityNormal3, 0x1000 ); @@ -494,6 +509,9 @@ #endif + // ----------------------------------- + // Start threads + // ----------------------------------- threads[0]->start(ESCMController_Update); threads[1]->start(ReadGPIOExtender); threads[2]->start(UpdateDisplay); @@ -506,7 +524,9 @@ threads[5]->start(TerminalPrompt); #endif - + // ----------------------------------- + // Loop forever + // ----------------------------------- while(1) { toggleLed1(); ThisThread::sleep_for(500);