Year Two Project ELEC 2645: Embedded Systems Project Portable Weather Station

Dependencies:   BMP180 ConfigFile N5110 PowerControl beep mbed

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