![](/media/cache/profiles/3cb7820f34d947f7c4c3531ed72254b0.50x50_q85.jpg)
Fertiliser mixing station
Diff: flow_controlled.h
- Revision:
- 1:a1f7cc753866
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/flow_controlled.h Fri Oct 04 22:15:50 2013 +0000 @@ -0,0 +1,38 @@ + +class Flow_Controlled { + private : + vector<Pump *>pumps; + DigitalOut *enable; + DigitalIn *flow; + + public: + + Flow_Controlled(int on_value) { + this->enable = new DigitalOut(p17); + this->pumps.push_back(new Pump(p18, &led1, on_value)); + this->pumps.push_back(new Pump(p19, &led2, on_value)); + this->flow = new DigitalIn(p20); + } + + void raw_water(unsigned int litres) { + this->pumps[0]->on(0.7 * litres); + } + + void recycled_water(unsigned int litres) { + this->pumps[1]->on(0.7 * litres); + } + + void all_off() { + for(int p = 0; p < pumps.size(); p++) + this->pumps[p]->off(); + this->enable->write(0); + } + + ~Flow_Controlled() { + for(int p = 0; p < pumps.size(); p++) + delete this->pumps[p]; + delete this->enable; + delete this->flow; + + } +};