Program for the water play project for the course Software Testing Practical 2016 given at the VU University
Dependencies: mbed DRV88255 TextLCD Ping mbed-rtos
TemperatureController.h@80:38e274c4dafa, 2016-06-24 (annotated)
- Committer:
- sbouber1
- Date:
- Fri Jun 24 13:51:42 2016 +0000
- Revision:
- 80:38e274c4dafa
- Parent:
- 66:133398875949
final
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
6366295 | 0:dab140a197e0 | 1 | #ifndef __TEMPERATURECONTROLLER_H__ |
6366295 | 0:dab140a197e0 | 2 | #define __TEMPERATURECONTROLLER_H__ |
6366295 | 0:dab140a197e0 | 3 | |
6366295 | 0:dab140a197e0 | 4 | #include "mbed.h" |
sbouber1 | 58:b5f0c0f305ff | 5 | #include "settings.h" |
sbouber1 | 10:fd4670ec0806 | 6 | #include "SensorController.h" |
sbouber1 | 9:b3674516729d | 7 | |
6366295 | 0:dab140a197e0 | 8 | |
sbouber1 | 53:4e3ee54157ad | 9 | /** The TemperatureController measures the Vernier temperature probe. |
sbouber1 | 53:4e3ee54157ad | 10 | */ |
sbouber1 | 10:fd4670ec0806 | 11 | class TemperatureController : public SensorController { |
6366295 | 0:dab140a197e0 | 12 | public: |
sbouber1 | 53:4e3ee54157ad | 13 | /** |
sbouber1 | 53:4e3ee54157ad | 14 | * Constructs a new TemperatureController that measures and averages the value from the temperature probe. |
sbouber1 | 53:4e3ee54157ad | 15 | * @param threaded whether or not the controller should be threaded. |
sbouber1 | 53:4e3ee54157ad | 16 | * @param interval_ms delay between each iteration, only if threaded is set to \a true. |
sbouber1 | 53:4e3ee54157ad | 17 | */ |
sbouber1 | 10:fd4670ec0806 | 18 | TemperatureController(bool threaded, int interval_ms) : SensorController(threaded, interval_ms) {printf("Initiate Temperature Controller\r\n");} |
sbouber1 | 53:4e3ee54157ad | 19 | |
sbouber1 | 54:2710f0b92766 | 20 | /** Returns the Temperature measured (in Celsius) during the last update() */ |
sbouber1 | 9:b3674516729d | 21 | virtual float getValue(); |
sbouber1 | 53:4e3ee54157ad | 22 | |
sbouber1 | 54:2710f0b92766 | 23 | /** Measures the Temperature N times and stores the average value of these measurements. */ |
sbouber1 | 9:b3674516729d | 24 | virtual void update(); |
sbouber1 | 53:4e3ee54157ad | 25 | |
sbouber1 | 54:2710f0b92766 | 26 | /** Returns "TemperatureController" */ |
sbouber1 | 58:b5f0c0f305ff | 27 | virtual std::string getName(); |
joran | 66:133398875949 | 28 | |
joran | 66:133398875949 | 29 | virtual void setLed(bool); |
sbouber1 | 53:4e3ee54157ad | 30 | |
6366295 | 0:dab140a197e0 | 31 | private: |
sbouber1 | 53:4e3ee54157ad | 32 | /** |
sbouber1 | 53:4e3ee54157ad | 33 | * The latest temperature measurement, average of N measurements. |
sbouber1 | 53:4e3ee54157ad | 34 | */ |
sbouber1 | 9:b3674516729d | 35 | float temperature; |
sbouber1 | 53:4e3ee54157ad | 36 | |
sbouber1 | 53:4e3ee54157ad | 37 | /** |
sbouber1 | 53:4e3ee54157ad | 38 | * This reads the temperature. |
sbouber1 | 53:4e3ee54157ad | 39 | * @return Return the average temperature over N reads in Celsius. |
sbouber1 | 53:4e3ee54157ad | 40 | */ |
6366295 | 0:dab140a197e0 | 41 | static float readSensor(); |
sbouber1 | 53:4e3ee54157ad | 42 | |
sbouber1 | 53:4e3ee54157ad | 43 | /** |
sbouber1 | 53:4e3ee54157ad | 44 | * Returns value read from mbed to Celsius. |
sbouber1 | 53:4e3ee54157ad | 45 | * @return temperature in Celsius. |
sbouber1 | 53:4e3ee54157ad | 46 | */ |
6366295 | 1:eb527bc93b62 | 47 | static float analoginToCelsius(float); |
sbouber1 | 53:4e3ee54157ad | 48 | |
sbouber1 | 53:4e3ee54157ad | 49 | /** |
sbouber1 | 53:4e3ee54157ad | 50 | * Adjusts value for measurement mistakes. |
sbouber1 | 53:4e3ee54157ad | 51 | * @return adjusted value in volt. |
sbouber1 | 53:4e3ee54157ad | 52 | */ |
6366295 | 1:eb527bc93b62 | 53 | static float getOffset(float); |
sbouber1 | 53:4e3ee54157ad | 54 | |
6366295 | 0:dab140a197e0 | 55 | }; |
6366295 | 0:dab140a197e0 | 56 | |
sbouber1 | 53:4e3ee54157ad | 57 | #endif |