Year Two Project ELEC 2645: Embedded Systems Project Portable Weather Station
Dependencies: BMP180 ConfigFile N5110 PowerControl beep mbed
Diff: Inputs.h
- Revision:
- 0:da2b8c7a1ec1
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Inputs.h Mon May 11 15:25:52 2015 +0000 @@ -0,0 +1,58 @@ +/** +@file Inputs.h +@brief All the necessary inputs for the weather application are stored in this file\n +@brief Inputs in this case are buttons.\n +@brief A timer was also implemented that would compensate for multiple interrupts when buttons are pressed\n +@author Augustine K Kizito\n +@date April 2015 +*/ +#ifndef INPUTS_H +#define INPUTS_H + +#include "ConfigFile.h" + + +//Button Objects +InterruptIn upButton(p17); // up Button +InterruptIn downButton(p18); // down Button +InterruptIn enterButton(p16); // enter Button +InterruptIn backButton(p15); // back Button + +LocalFileSystem local("local"); // create local file system object +ConfigFile cfg; // create ConfigFile object + +// timer that is used to observe and prevent multiple interrupts +Timer debounce; + +void debounceReset() // resets the debounce timer +{ + debounce.reset(); // reset the timer + +} + +// ticker that resets the debounce every 20 minutes to prevent +// program from freezing +Ticker rdb; +void debounceInit() +{ + rdb.attach(&debounceReset,1200.0); // call debounce reset after 20 minutes +} +//void debounceReset(); // resets the debounce timer +//rdb.attach(&debounceReset,1200.0); // call debounce reset after 20 minutes + +bool debounceSuccess()// checks if debouncing was successful +{ + + if (debounce.read_ms() > 200) { // check if the debounce timer is more than 200ms + return true; + } + + else { + return false; + } +} + + + + +#endif \ No newline at end of file