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

Committer:
sbouber1
Date:
Fri Jun 24 13:51:42 2016 +0000
Revision:
80:38e274c4dafa
Parent:
66:133398875949
final

Who changed what in which revision?

UserRevisionLine numberNew 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