Year Two Project ELEC 2645: Embedded Systems Project Portable Weather Station
Dependencies: BMP180 ConfigFile N5110 PowerControl beep mbed
TempViewLogScreen.h
- Committer:
- OHstin
- Date:
- 2015-05-11
- Revision:
- 0:da2b8c7a1ec1
File content as of revision 0:da2b8c7a1ec1:
/** @file TemperatureViewLogScreen.h */ #ifndef TEMPVIEWLOGSCREEN_H #define TEMPVIEWLOGSCREEN_H #include "DataController.h" #include "Inputs.h" /** @brief Displays the Temperature options @brief It is a list with two selectable options :\n @brief view temp and temp plot\n @brief view temp shows the current temperature along with the sentiment\n @brief temp plot plots the temperature against time on the LCD screen at various intervals\n @author Augustine Kizito K @date April 2015 */ class TempViewLogScreen : public DataController { private: void onEnter(); // user pressed the enter button void onBack(); // user pressed the back button public: /** Creates a Temperature View Log Screen instance */ TempViewLogScreen() :DataController( "/local/temp.cfg", // File location 1) // parameter, 1 for temperatue, 0 for pressure {}; /** Manages the execution of the Temperature View Log Screen @returns -1 - Navigate to previous screen */ int start(); // Manages the execution of the Temperature Screen }; int TempViewLogScreen::start() { enterButton.mode(PullDown); backButton.mode(PullDown); enterButton.rise(this,&TempViewLogScreen::onEnter); // call onEnter when the enter button is pressed backButton.rise(this,&TempViewLogScreen::onBack); // call onBack when the back button is pressed debounce.start(); DataController::begin(); enterButton.rise(NULL); backButton.rise(NULL); return -1; } void TempViewLogScreen::onEnter() { if (debounceSuccess()) { // check if debouncing succeeded // sound the buzzer playSound(); DataController::nextPage(); debounce.reset(); // reset the debounce timer } } void TempViewLogScreen::onBack() { if (debounceSuccess()) { // check if debouncing succeeded //sound the buzzer playSound(); DataController::previousPage(); debounce.reset(); // reset the debounce timer } } #endif