Assignment 5 for OCE360, timers, tickers, and interrupts.
Dependencies: 4DGL-uLCD-SE MMA8452Q SDFileSystem bouncing_ball mbed
Fork of OCE360_4 by
Diff: main.cpp
- Revision:
- 7:614b40b85579
- Parent:
- 6:050104c0dc75
- Child:
- 8:2617100c441d
diff -r 050104c0dc75 -r 614b40b85579 main.cpp --- a/main.cpp Thu Nov 09 15:14:23 2017 +0000 +++ b/main.cpp Thu Nov 09 16:01:24 2017 +0000 @@ -27,9 +27,18 @@ //Led Initialization DigitalOut led1(LED1); //update leds DigitalOut led2(LED2); +DigitalOut led3(LED3); -//Button Initialization -DigitalIn button(p13); +//Toggle Initialization +InterruptIn button(p13); //Interrupt on the button on pin 13 +Timer debounce; //defines debounce timer for proper switching + +void toggle(){ + if(debounce.read_ms()>175){ + led3=!led3; + debounce.reset(); //restart timer after toggle occurs + } + } //Function prototype for color selection function: int get_LCD_color(int color_integer); @@ -88,10 +97,15 @@ } int main(){ + + debounce.start(); //starts debounce timer + button.rise(&toggle); //toggles on button press + /* - logger1.attach(&pos_log1, LOG_UPDATE); - logger2.attach(&pos_log2, LOG_UPDATE); + logger1.attach(&pos_log1, LCD_UPDATE); + logger2.attach(&pos_log2, LCD_UPDATE); */ + // Initialize uLCD uLCD.baudrate(115200); uLCD.background_color(BLACK);