Version 5
Dependencies: BMP280 TextLCD BME280
LCD.hpp
- Committer:
- O_Thom
- Date:
- 2018-11-29
- Revision:
- 5:f87129ac8bf3
- Child:
- 6:b7f6e0c0f646
File content as of revision 5:f87129ac8bf3:
#ifndef _LCD_ #define _LCD_ #include "mbed.h" #include "message.hpp" class LCD_Data { private: //private variables can only be changed via functions in this function float temp; //current temperature of sensor, updated every 15 seconds float pressure; //current pressure of sensor, updated every 15 seconds float fLDR; //current light level from LDR, updated every 15 seconds int flip; void update_temp(double temp) //use this function to update the current temperature value { temp = sensor.getTemperature(); } void update_pressure(double pressure) //use this function to update the current pressure value { pressure = sensor.getPressure(); } public: EventQueue LCD_Queue; //create an event queue for main LCD_Data(){ //constructor, initializes the FLIP variable for use in toggling the bottom line of the LCD flip = 1; temp = sensor.getTemperature(); pressure = sensor.getPressure(); } void update_sensor_info() //updates all current sensor information, this is called by a ticker every 5 seconds to read from the mailbox { update_temp(0); // Include message class passing of data update_pressure(0); } void display_LCD() //updates the current LCD display with the new sensor information { lcd.cls(); //clear current LCD display lcd.printf("%4.2fC", temp); //print temperature to the top line of LCD, 2dp celcius switch(flip){ case 1: lcd.printf("\n%4.2f mbar", pressure); //print pressure to bottom line of LCD, 2dp mbar break; default: printf("Error in LCD flip function"); break; } } }; //end of class LCD_Data // Define Objects for the LCD_Data Class LCD_Data m_oDisplay; #endif