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:
Tue Jun 14 11:12:44 2016 +0000
Revision:
32:1e4919a44196
Parent:
29:2b256a7ce0ae
Child:
35:c9261391a995
pidcontroller

Who changed what in which revision?

UserRevisionLine numberNew contents of line
sbouber1 28:f4a4ee58d57e 1 #ifndef __PIDCONTROLLER_H__
sbouber1 28:f4a4ee58d57e 2 #define __PIDCONTROLLER_H__
sbouber1 28:f4a4ee58d57e 3
sbouber1 28:f4a4ee58d57e 4 #include "mbed.h"
sbouber1 32:1e4919a44196 5 #include "DRV8825.h"
sbouber1 32:1e4919a44196 6 #include "stdio.h"
sbouber1 28:f4a4ee58d57e 7 #include "SensorController.h"
sbouber1 28:f4a4ee58d57e 8
sbouber1 28:f4a4ee58d57e 9
sbouber1 32:1e4919a44196 10 #define MAX_SPEED 8000
sbouber1 32:1e4919a44196 11 #define MICROSTEPS_PER_STEP 16
sbouber1 32:1e4919a44196 12
sbouber1 32:1e4919a44196 13 #define LEFT 1
sbouber1 32:1e4919a44196 14 #define RIGHT 0
sbouber1 32:1e4919a44196 15
sbouber1 28:f4a4ee58d57e 16 class PIDController : public Controller {
sbouber1 28:f4a4ee58d57e 17
sbouber1 28:f4a4ee58d57e 18
sbouber1 28:f4a4ee58d57e 19 public:
sbouber1 28:f4a4ee58d57e 20 PIDController(bool threaded, int interval_ms, SensorController *temp, SensorController *salt, SensorController *proximity)
sbouber1 28:f4a4ee58d57e 21 : Controller(threaded, interval_ms) {
sbouber1 28:f4a4ee58d57e 22 this->temp = temp;
sbouber1 28:f4a4ee58d57e 23 this->salt = salt;
sbouber1 28:f4a4ee58d57e 24 this->proximity = proximity;
sbouber1 28:f4a4ee58d57e 25 }
sbouber1 28:f4a4ee58d57e 26
sbouber1 28:f4a4ee58d57e 27 virtual void update();
sbouber1 28:f4a4ee58d57e 28
sbouber1 28:f4a4ee58d57e 29 virtual std::string get_name();
joran 29:2b256a7ce0ae 30 float getSaltInGrams();
sbouber1 28:f4a4ee58d57e 31
sbouber1 28:f4a4ee58d57e 32 private:
sbouber1 28:f4a4ee58d57e 33 SensorController *temp;
sbouber1 28:f4a4ee58d57e 34 SensorController *salt;
sbouber1 28:f4a4ee58d57e 35 SensorController *proximity;
sbouber1 28:f4a4ee58d57e 36
sbouber1 32:1e4919a44196 37 void pump_salt_water(int ml);
sbouber1 32:1e4919a44196 38
sbouber1 32:1e4919a44196 39 void pump_fresh_water(int ml);
sbouber1 32:1e4919a44196 40
sbouber1 32:1e4919a44196 41 void pump_water(DRV8825 *mtr, int ml);
sbouber1 32:1e4919a44196 42
sbouber1 32:1e4919a44196 43 float getMlSaltyWater(float, float);
sbouber1 32:1e4919a44196 44
sbouber1 32:1e4919a44196 45 float getMlFreshWater(float, float);
sbouber1 32:1e4919a44196 46
sbouber1 28:f4a4ee58d57e 47
sbouber1 28:f4a4ee58d57e 48 };
sbouber1 28:f4a4ee58d57e 49
sbouber1 28:f4a4ee58d57e 50
sbouber1 28:f4a4ee58d57e 51 #endif