Kenneth Lujan
/
blink_kl46z_button_LCD_
Homework
Fork of blink_kl46z_button_LCD by
Revision 4:90ea2e6fdad8, committed 2016-09-12
- Comitter:
- kennylujan42
- Date:
- Mon Sep 12 05:28:43 2016 +0000
- Parent:
- 3:fc189dd7ac64
- Commit message:
- KLUJA_SSD_341_HW_4.4.2
Changed in this revision
main.cpp | Show annotated file Show diff for this revision Revisions of this file |
diff -r fc189dd7ac64 -r 90ea2e6fdad8 main.cpp --- a/main.cpp Wed Aug 24 16:37:09 2016 +0000 +++ b/main.cpp Mon Sep 12 05:28:43 2016 +0000 @@ -3,83 +3,85 @@ #define LEDON false #define LEDOFF true +#define BUTDOWN false +#define BUTUP true #define NUMBUTS 2 #define LBUT PTC12 // port addresses for buttons #define RBUT PTC3 -#define BLINKTIME 0.3 // in seconds -#define BUTTONTIME 0.2 +#define BLINKTIME 0.05 // in seconds +#define BUTTONTIME 0.02 #define LCDCHARLEN 10 #define NUMMESS 2 #define LRED "RED" -#define LGREEN "GREN" +#define LGREEN "GREEN" #define PRED "RED\r\n" #define PGREEN "GREEN\r\n" +#define REDMESS "RED LED is ON\r\n" +#define GREENMESS "GREEN LED is ON\r\n"p #define PROGNAME "blink_kl46z_buttton LCD v2\r\n" // slightly more interesting blinky 140814 sc -SLCD slcd; //define LCD display +SLCD slcd; //define LCD display as a variaable + + +int ledState = LEDON; +int buttonStates[NUMBUTS] = {BUTDOWN, BUTUP}; +DigitalIn buttons[NUMBUTS] = {RBUT, LBUT}; +DigitalOut LEDs[NUMBUTS] = {LED_GREEN, LED_RED}; + +//needed port +Serial pc(USBTX, USBRX); + +// // Timer to elliminate wait() function Timer LEDTimer; // for blinking LEDs Timer ButtonTimer; // for reading button states -bool ledState = LEDON; - -DigitalIn buttons[NUMBUTS] = {RBUT, LBUT}; -DigitalOut LEDs[NUMBUTS] = {LED_GREEN, LED_RED}; -Serial pc(USBTX, USBRX);// set up USB as communicationis to Host PC via USB connectons - +void LCDMess(char *lMess){ + slcd.Home(); + slcd.clear(); + slcd.printf(lMess); +} void allLEDsOff(){ int i; for (i=0; i<NUMBUTS; i++){ LEDs[i] = LEDOFF; } } - -void LCDMess(char *lMess){ - slcd.Home(); - slcd.clear(); - slcd.printf(lMess); -} - -void initialize_global_vars(){ - pc.printf(PROGNAME); - // set up DAQ timers - ButtonTimer.start(); - ButtonTimer.reset(); - LEDTimer.start(); - LEDTimer.reset(); - allLEDsOff(); -} -// -------------------------------- - int main() { +int main(){ + int i; int currentLED = 0; - char rMess[NUMMESS][LCDCHARLEN]={LGREEN, LRED}; // for LCD - char pMess[NUMMESS][LCDCHARLEN]={PRED, PGREEN}; // for pc serial port + char rMess[NUMMESS][LCDCHARLEN]={LGREEN, LRED}; + char pMess[NUMMESS][LCDCHARLEN]={PRED,PGREEN}; + - initialize_global_vars(); //keep things organized - LEDs[currentLED] = LEDON; + LEDs[currentLED] = LEDON; LCDMess(rMess[currentLED]); - pc.printf(pMess[currentLED]); -// End of setup + while(true) { if (ButtonTimer > BUTTONTIME){ for (i=0; i<NUMBUTS; i++){ // index will be 0 or 1 if(!buttons[i]) { allLEDsOff(); LCDMess(rMess[i]); - pc.printf(pMess[i]); currentLED = i; - } // if ! buttons - }// for loop to look at buttons - ButtonTimer.reset(); + } + } } - if(LEDTimer.read() > BLINKTIME){ - LEDTimer.reset(); - ledState = !ledState; // Flip the general state - LEDs[currentLED] = ledState; - } - // Do other things here between times of reading and flashing - } -} \ No newline at end of file + while(true){ + for (i=0; i<NUMBUTS; i++){ + LEDs[i] = LEDOFF; + if(!buttons[i]) { + LCDMess(rMess[i]); + + currentLED = i; + } + } + ledState = !ledState; + LEDs[currentLED] = ledState; + wait(BLINKTIME); + } +} +}