Mario Simaremare / Mbed 2 deprecated g3_waterplay

Dependencies:   mbed

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?

UserRevisionLine numberNew 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 }