Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Thermostat.cpp@2:ed17e258da0d, 2016-06-14 (annotated)
- Committer:
- mariosimaremare
- Date:
- Tue Jun 14 09:14:24 2016 +0000
- Revision:
- 2:ed17e258da0d
- Child:
- 5:4cbe44452889
Fixing temperature calculation.
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| mariosimaremare | 2:ed17e258da0d | 1 | /* |
| mariosimaremare | 2:ed17e258da0d | 2 | * G3: WATERPLAY |
| mariosimaremare | 2:ed17e258da0d | 3 | */ |
| mariosimaremare | 2:ed17e258da0d | 4 | |
| mariosimaremare | 2:ed17e258da0d | 5 | #include "Thermostat.h" |
| mariosimaremare | 2:ed17e258da0d | 6 | #include "mbed.h" |
| mariosimaremare | 2:ed17e258da0d | 7 | |
| mariosimaremare | 2:ed17e258da0d | 8 | Thermostat::Thermostat( |
| mariosimaremare | 2:ed17e258da0d | 9 | mbed::Serial &serial, |
| mariosimaremare | 2:ed17e258da0d | 10 | PinName pin, |
| mariosimaremare | 2:ed17e258da0d | 11 | PinName led_pin |
| mariosimaremare | 2:ed17e258da0d | 12 | ): |
| mariosimaremare | 2:ed17e258da0d | 13 | _serial(serial), |
| mariosimaremare | 2:ed17e258da0d | 14 | _analog_out(pin), |
| mariosimaremare | 2:ed17e258da0d | 15 | _led(led_pin) |
| mariosimaremare | 2:ed17e258da0d | 16 | { |
| mariosimaremare | 2:ed17e258da0d | 17 | off(); |
| mariosimaremare | 2:ed17e258da0d | 18 | } |
| mariosimaremare | 2:ed17e258da0d | 19 | |
| mariosimaremare | 2:ed17e258da0d | 20 | int Thermostat::on() |
| mariosimaremare | 2:ed17e258da0d | 21 | { |
| mariosimaremare | 2:ed17e258da0d | 22 | this->_analog_out = 1; |
| mariosimaremare | 2:ed17e258da0d | 23 | this->_led = 1; |
| mariosimaremare | 2:ed17e258da0d | 24 | _serial.printf("thermostat: ON\n\r"); |
| mariosimaremare | 2:ed17e258da0d | 25 | |
| mariosimaremare | 2:ed17e258da0d | 26 | return(this->_analog_out); |
| mariosimaremare | 2:ed17e258da0d | 27 | } |
| mariosimaremare | 2:ed17e258da0d | 28 | |
| mariosimaremare | 2:ed17e258da0d | 29 | int Thermostat::off() |
| mariosimaremare | 2:ed17e258da0d | 30 | { |
| mariosimaremare | 2:ed17e258da0d | 31 | this->_analog_out = 0; |
| mariosimaremare | 2:ed17e258da0d | 32 | this->_led = 0; |
| mariosimaremare | 2:ed17e258da0d | 33 | _serial.printf("thermostat: OFF\n\r"); |
| mariosimaremare | 2:ed17e258da0d | 34 | |
| mariosimaremare | 2:ed17e258da0d | 35 | return(this->_analog_out); |
| mariosimaremare | 2:ed17e258da0d | 36 | } |
| mariosimaremare | 2:ed17e258da0d | 37 | |
| mariosimaremare | 2:ed17e258da0d | 38 | int Thermostat::react(double temperature) |
| mariosimaremare | 2:ed17e258da0d | 39 | { |
| mariosimaremare | 2:ed17e258da0d | 40 | int retVal = 0; |
| mariosimaremare | 2:ed17e258da0d | 41 | |
| mariosimaremare | 2:ed17e258da0d | 42 | if(temperature < 0.0){ |
| mariosimaremare | 2:ed17e258da0d | 43 | retVal = this->on(); |
| mariosimaremare | 2:ed17e258da0d | 44 | }else{ |
| mariosimaremare | 2:ed17e258da0d | 45 | retVal = this->off(); |
| mariosimaremare | 2:ed17e258da0d | 46 | } |
| mariosimaremare | 2:ed17e258da0d | 47 | |
| mariosimaremare | 2:ed17e258da0d | 48 | return(retVal); |
| mariosimaremare | 2:ed17e258da0d | 49 | } |