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@53:4e3ee54157ad, 2016-06-17 (annotated)
- Committer:
- sbouber1
- Date:
- Fri Jun 17 12:03:48 2016 +0000
- Revision:
- 53:4e3ee54157ad
- Parent:
- 35:c9261391a995
- Child:
- 54:2710f0b92766
doc
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" |
6366295 | 0:dab140a197e0 | 5 | |
sbouber1 | 10:fd4670ec0806 | 6 | #include "SensorController.h" |
sbouber1 | 9:b3674516729d | 7 | |
sbouber1 | 53:4e3ee54157ad | 8 | /** The number of measurements taken to generate an average measurement */ |
6366295 | 0:dab140a197e0 | 9 | #define N 50 |
6366295 | 0:dab140a197e0 | 10 | |
sbouber1 | 53:4e3ee54157ad | 11 | /** The TemperatureController measures the Vernier temperature probe. |
sbouber1 | 53:4e3ee54157ad | 12 | */ |
sbouber1 | 10:fd4670ec0806 | 13 | class TemperatureController : public SensorController { |
6366295 | 0:dab140a197e0 | 14 | public: |
sbouber1 | 53:4e3ee54157ad | 15 | /** |
sbouber1 | 53:4e3ee54157ad | 16 | * Constructs a new TemperatureController that measures and averages the value from the temperature probe. |
sbouber1 | 53:4e3ee54157ad | 17 | * @param threaded whether or not the controller should be threaded. |
sbouber1 | 53:4e3ee54157ad | 18 | * @param interval_ms delay between each iteration, only if threaded is set to \a true. |
sbouber1 | 53:4e3ee54157ad | 19 | */ |
sbouber1 | 10:fd4670ec0806 | 20 | TemperatureController(bool threaded, int interval_ms) : SensorController(threaded, interval_ms) {printf("Initiate Temperature Controller\r\n");} |
sbouber1 | 53:4e3ee54157ad | 21 | |
sbouber1 | 53:4e3ee54157ad | 22 | /** Overrides getValue() in the Controller class. */ |
sbouber1 | 9:b3674516729d | 23 | virtual float getValue(); |
sbouber1 | 53:4e3ee54157ad | 24 | |
sbouber1 | 53:4e3ee54157ad | 25 | /** Overrides update() in the Controller class. */ |
sbouber1 | 9:b3674516729d | 26 | virtual void update(); |
sbouber1 | 53:4e3ee54157ad | 27 | |
sbouber1 | 53:4e3ee54157ad | 28 | /** Overrides get_name() in the Controller class. */ |
sbouber1 | 10:fd4670ec0806 | 29 | virtual std::string get_name(); |
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 |