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@14:6c24cab82ff0, 2016-06-24 (annotated)
- Committer:
- mariosimaremare
- Date:
- Fri Jun 24 13:46:52 2016 +0000
- Revision:
- 14:6c24cab82ff0
- Parent:
- 13:142a142a7ac5
Finished, ready for presentation.
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 | 5:4cbe44452889 | 9 | Printer &printer, |
| mariosimaremare | 2:ed17e258da0d | 10 | PinName pin, |
| mariosimaremare | 2:ed17e258da0d | 11 | PinName led_pin |
| mariosimaremare | 2:ed17e258da0d | 12 | ): |
| mariosimaremare | 5:4cbe44452889 | 13 | _printer(printer), |
| mariosimaremare | 2:ed17e258da0d | 14 | _analog_out(pin), |
| mariosimaremare | 5:4cbe44452889 | 15 | _led(led_pin), |
| mariosimaremare | 13:142a142a7ac5 | 16 | _status(STATUS_OFF), |
| mariosimaremare | 13:142a142a7ac5 | 17 | _strStatus("Thermostat: OFF\n\r") |
| mariosimaremare | 2:ed17e258da0d | 18 | { |
| mariosimaremare | 5:4cbe44452889 | 19 | } |
| mariosimaremare | 5:4cbe44452889 | 20 | |
| mariosimaremare | 14:6c24cab82ff0 | 21 | int Thermostat::update() |
| mariosimaremare | 14:6c24cab82ff0 | 22 | { |
| mariosimaremare | 5:4cbe44452889 | 23 | this->_analog_out = this->_status; |
| mariosimaremare | 5:4cbe44452889 | 24 | this->_led = this->_status; |
| mariosimaremare | 14:6c24cab82ff0 | 25 | |
| mariosimaremare | 5:4cbe44452889 | 26 | return(this->_status); |
| mariosimaremare | 2:ed17e258da0d | 27 | } |
| mariosimaremare | 2:ed17e258da0d | 28 | |
| mariosimaremare | 2:ed17e258da0d | 29 | int Thermostat::on() |
| mariosimaremare | 2:ed17e258da0d | 30 | { |
| mariosimaremare | 5:4cbe44452889 | 31 | this->_status = STATUS_ON; |
| mariosimaremare | 5:4cbe44452889 | 32 | this->_strStatus = "Thermostat: ON\n\r"; |
| mariosimaremare | 5:4cbe44452889 | 33 | return(this->_status); |
| mariosimaremare | 2:ed17e258da0d | 34 | } |
| mariosimaremare | 2:ed17e258da0d | 35 | |
| mariosimaremare | 2:ed17e258da0d | 36 | int Thermostat::off() |
| mariosimaremare | 2:ed17e258da0d | 37 | { |
| mariosimaremare | 5:4cbe44452889 | 38 | this->_status = STATUS_OFF; |
| mariosimaremare | 5:4cbe44452889 | 39 | this->_strStatus = "Thermostat: OFF\n\r"; |
| mariosimaremare | 5:4cbe44452889 | 40 | return(this->_status); |
| mariosimaremare | 2:ed17e258da0d | 41 | } |
| mariosimaremare | 2:ed17e258da0d | 42 | |
| mariosimaremare | 2:ed17e258da0d | 43 | int Thermostat::react(double temperature) |
| mariosimaremare | 2:ed17e258da0d | 44 | { |
| mariosimaremare | 2:ed17e258da0d | 45 | int retVal = 0; |
| mariosimaremare | 5:4cbe44452889 | 46 | |
| mariosimaremare | 5:4cbe44452889 | 47 | if(temperature < 0.0) { |
| mariosimaremare | 2:ed17e258da0d | 48 | retVal = this->on(); |
| mariosimaremare | 5:4cbe44452889 | 49 | } else { |
| mariosimaremare | 2:ed17e258da0d | 50 | retVal = this->off(); |
| mariosimaremare | 2:ed17e258da0d | 51 | } |
| mariosimaremare | 13:142a142a7ac5 | 52 | this->update(); |
| mariosimaremare | 5:4cbe44452889 | 53 | |
| mariosimaremare | 2:ed17e258da0d | 54 | return(retVal); |
| mariosimaremare | 5:4cbe44452889 | 55 | } |
| mariosimaremare | 5:4cbe44452889 | 56 | |
| mariosimaremare | 14:6c24cab82ff0 | 57 | char* Thermostat::getStrStatus() |
| mariosimaremare | 14:6c24cab82ff0 | 58 | { |
| mariosimaremare | 5:4cbe44452889 | 59 | return(this->_strStatus); |
| mariosimaremare | 2:ed17e258da0d | 60 | } |