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.
SalinitySensor.cpp@2:ed17e258da0d, 2016-06-14 (annotated)
- Committer:
- mariosimaremare
- Date:
- Tue Jun 14 09:14:24 2016 +0000
- Revision:
- 2:ed17e258da0d
- Parent:
- 1:f448c12d2c5b
- Child:
- 3:7c648d1d8802
Fixing temperature calculation.
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| mariosimaremare | 0:ad9362f18797 | 1 | /* |
| mariosimaremare | 0:ad9362f18797 | 2 | * G3: WATERPLAY |
| mariosimaremare | 0:ad9362f18797 | 3 | */ |
| mariosimaremare | 0:ad9362f18797 | 4 | |
| mariosimaremare | 0:ad9362f18797 | 5 | #include "SalinitySensor.h" |
| mariosimaremare | 0:ad9362f18797 | 6 | #include "mbed.h" |
| mariosimaremare | 0:ad9362f18797 | 7 | |
| mariosimaremare | 0:ad9362f18797 | 8 | SalinitySensor::SalinitySensor( |
| mariosimaremare | 1:f448c12d2c5b | 9 | mbed::Serial &serial, |
| mariosimaremare | 0:ad9362f18797 | 10 | PinName pin, |
| mariosimaremare | 0:ad9362f18797 | 11 | double const_voltage, |
| mariosimaremare | 0:ad9362f18797 | 12 | double const_converter, |
| mariosimaremare | 2:ed17e258da0d | 13 | double const_multiplier, |
| mariosimaremare | 2:ed17e258da0d | 14 | double const_lower_boundary, |
| mariosimaremare | 2:ed17e258da0d | 15 | double const_upper_boundary |
| mariosimaremare | 0:ad9362f18797 | 16 | ): |
| mariosimaremare | 1:f448c12d2c5b | 17 | _serial(serial), |
| mariosimaremare | 0:ad9362f18797 | 18 | _analog_in(pin), |
| mariosimaremare | 0:ad9362f18797 | 19 | _const_voltage(const_voltage), |
| mariosimaremare | 0:ad9362f18797 | 20 | _const_converter(const_converter), |
| mariosimaremare | 1:f448c12d2c5b | 21 | _const_multiplier(const_multiplier), |
| mariosimaremare | 2:ed17e258da0d | 22 | _const_lower_boundary(const_lower_boundary), |
| mariosimaremare | 2:ed17e258da0d | 23 | _const_upper_boundary(const_upper_boundary), |
| mariosimaremare | 1:f448c12d2c5b | 24 | _reading(0.0), |
| mariosimaremare | 1:f448c12d2c5b | 25 | _voltage(0.0), |
| mariosimaremare | 2:ed17e258da0d | 26 | _salinity(0.0), |
| mariosimaremare | 2:ed17e258da0d | 27 | _status(0.0) |
| mariosimaremare | 0:ad9362f18797 | 28 | { |
| mariosimaremare | 2:ed17e258da0d | 29 | this->reload(); |
| mariosimaremare | 1:f448c12d2c5b | 30 | |
| mariosimaremare | 0:ad9362f18797 | 31 | } |
| mariosimaremare | 0:ad9362f18797 | 32 | |
| mariosimaremare | 2:ed17e258da0d | 33 | void SalinitySensor::reload() |
| mariosimaremare | 0:ad9362f18797 | 34 | { |
| mariosimaremare | 1:f448c12d2c5b | 35 | // the reading from sensor. |
| mariosimaremare | 1:f448c12d2c5b | 36 | this->_reading = this->_analog_in.read(); |
| mariosimaremare | 1:f448c12d2c5b | 37 | // converted voltage. |
| mariosimaremare | 1:f448c12d2c5b | 38 | this->_voltage = |
| mariosimaremare | 1:f448c12d2c5b | 39 | this->_reading * |
| mariosimaremare | 1:f448c12d2c5b | 40 | this->_const_voltage * |
| mariosimaremare | 1:f448c12d2c5b | 41 | this->_const_converter; |
| mariosimaremare | 1:f448c12d2c5b | 42 | // the salinity value. |
| mariosimaremare | 1:f448c12d2c5b | 43 | this->_salinity = |
| mariosimaremare | 1:f448c12d2c5b | 44 | this->_voltage * |
| mariosimaremare | 1:f448c12d2c5b | 45 | this->_const_multiplier; |
| mariosimaremare | 2:ed17e258da0d | 46 | |
| mariosimaremare | 2:ed17e258da0d | 47 | this->_status = 0.0; |
| mariosimaremare | 2:ed17e258da0d | 48 | if(this->_salinity < this->_const_lower_boundary){ |
| mariosimaremare | 2:ed17e258da0d | 49 | this->_status = this->_salinity - this->_const_lower_boundary; |
| mariosimaremare | 2:ed17e258da0d | 50 | } else if(this->_salinity > this->_const_upper_boundary){ |
| mariosimaremare | 2:ed17e258da0d | 51 | this->_status = this->_const_lower_boundary - this->_salinity; |
| mariosimaremare | 2:ed17e258da0d | 52 | } |
| mariosimaremare | 2:ed17e258da0d | 53 | |
| mariosimaremare | 1:f448c12d2c5b | 54 | _serial.printf( |
| mariosimaremare | 1:f448c12d2c5b | 55 | "\tsalinity: %5.4F | %5.4F | %5.4F\n\r", |
| mariosimaremare | 1:f448c12d2c5b | 56 | this->_reading, |
| mariosimaremare | 1:f448c12d2c5b | 57 | this->_voltage, |
| mariosimaremare | 1:f448c12d2c5b | 58 | this->_salinity |
| mariosimaremare | 1:f448c12d2c5b | 59 | ); |
| mariosimaremare | 2:ed17e258da0d | 60 | } |
| mariosimaremare | 1:f448c12d2c5b | 61 | |
| mariosimaremare | 2:ed17e258da0d | 62 | double SalinitySensor::getReading() |
| mariosimaremare | 2:ed17e258da0d | 63 | { |
| mariosimaremare | 1:f448c12d2c5b | 64 | return(this->_reading); |
| mariosimaremare | 0:ad9362f18797 | 65 | } |
| mariosimaremare | 0:ad9362f18797 | 66 | |
| mariosimaremare | 0:ad9362f18797 | 67 | double SalinitySensor::getVoltage() |
| mariosimaremare | 0:ad9362f18797 | 68 | { |
| mariosimaremare | 1:f448c12d2c5b | 69 | return(this->_voltage); |
| mariosimaremare | 0:ad9362f18797 | 70 | } |
| mariosimaremare | 0:ad9362f18797 | 71 | |
| mariosimaremare | 0:ad9362f18797 | 72 | double SalinitySensor::getSalinity() |
| mariosimaremare | 0:ad9362f18797 | 73 | { |
| mariosimaremare | 1:f448c12d2c5b | 74 | return(this->_salinity); |
| mariosimaremare | 0:ad9362f18797 | 75 | } |
| mariosimaremare | 2:ed17e258da0d | 76 | |
| mariosimaremare | 2:ed17e258da0d | 77 | double SalinitySensor::getStatus() |
| mariosimaremare | 2:ed17e258da0d | 78 | { |
| mariosimaremare | 2:ed17e258da0d | 79 | return(this->_status); |
| mariosimaremare | 2:ed17e258da0d | 80 | } |