ModularSensors > Files > src / sensors / Decagon5TM.h

Decagon5TM.h file

Contains the Decagon5TM subclass of the SDI12Sensors class along with the variable subclasses Decagon5TM_Ea, Decagon5TM_Temp, and Decagon5TM_VWC.

These are used for the Meter ECH20 or the discontinued Decagon Devices 5TM Soil Moisture probe.

This depends on the EnviroDIY SDI-12 library and the SDI12Sensors super class.

Classes

class Decagon5TM
The Sensor sub-class for the Meter ECH2O soil moisture sensors.
class Decagon5TM_Ea
The Variable sub-class used for the apparent dielectric permittivity (εa, matric potential) output from a Meter ECH20 or Decagon 5TM soil moisture probe.
class Decagon5TM_Temp
The Variable sub-class used for the temperature output output from a Meter ECH20 or Decagon 5TM soil moisture probe.
class Decagon5TM_VWC
The Variable sub-class used for the volumetric water content output from a Meter ECH20 or Decagon 5TM soil moisture probe.

Defines

#define TM_NUM_VARIABLES = 3
Sensor::_numReturnedValues; the 5TM can report 3 values.
#define TM_INC_CALC_VARIABLES = 1
Sensor::_incCalcValues; volumetric water content is calculated from the permittivity and the temperature.

Sensor Timing

The sensor timing for a Meter ECH2O

#define TM_WARM_UP_TIME_MS = 200
Sensor::_warmUpTime_ms; maximum warm-up time in SDI-12 mode: 200ms.
#define TM_STABILIZATION_TIME_MS = 0
Sensor::_stabilizationTime_ms; the 5TM is stable as soon as it warms up (0ms stabilization).
#define TM_MEASUREMENT_TIME_MS = 200
Sensor::_measurementTime_ms; maximum measurement duration: 200ms.
#define TM_EXTRA_WAKE_TIME_MS = 0
Extra wake time required for an SDI-12 sensor between the "break" and the time the command is sent. The 5TM requires no extra time.

EA

The EA variable from a Meter ECH2O

  • Range is 0 – 1 m3/m3 (0 – 100% VWC)
  • Accuracy for generic calibration equation: ± 0.03 m3/m3 (± 3% VWC) typical
  • Accuracy for medium-specific calibration: ± 0.02 m3/m3 (± 2% VWC)

Decagon5TM_Ea(Decagon5TM* parentSense, const char* uuid = "", const char* varCode = TM_EA_DEFAULT_CODE) explicit

Construct a new Decagon5TM_Ea object.

Parameters
parentSense The parent Decagon5TM providing the result values.
uuid A universally unique identifier (UUID or GUID) for the variable; optional with the default value of an empty string.
varCode A short code to help identify the variable in files; optional with a default value of "SoilEa".

#define TM_EA_RESOLUTION = 5
Decimals places in string representation; EA should have 5.
#define TM_EA_VAR_NUM = 0
Sensor variable number; EA is stored in sensorValues[0].
#define TM_EA_VAR_NAME = "permittivity"
Variable name in ODM2 controlled vocabulary; "permittivity".
#define TM_EA_UNIT_NAME = "faradPerMeter"
Variable unit name in ODM2 controlled vocabulary; "faradPerMeter" (F/m)
#define TM_EA_DEFAULT_CODE = "SoilEa"
Default variable short code; "SoilEa".

Temperature

The temperature variable from a Meter ECH2O

  • Range is - 40°C to + 50°C
  • Accuracy is ± 1°C

Decagon5TM_Temp(Decagon5TM* parentSense, const char* uuid = "", const char* varCode = TM_TEMP_DEFAULT_CODE) explicit

Construct a new Decagon5TM_Temp object.

Parameters
parentSense The parent Decagon5TM providing the result values.
uuid A universally unique identifier (UUID or GUID) for the variable; optional with the default value of an empty string.
varCode A short code to help identify the variable in files; optional with a default value of "SoilTemp".

#define TM_TEMP_RESOLUTION = 2
Decimals places in string representation; temperature should have 2.
#define TM_TEMP_VAR_NUM = 1
Sensor variable number; temperature is stored in sensorValues[1].
#define TM_TEMP_VAR_NAME = "temperature"
Variable name in ODM2 controlled vocabulary; "temperature".
#define TM_TEMP_UNIT_NAME = "degreeCelsius"
Variable unit name in ODM2 controlled vocabulary; "degreeCelsius" (°C)
#define TM_TEMP_DEFAULT_CODE = "SoilTemp"
Default variable short code; "SoilTemp".

Volumetric Water Content

The VWC variable from a Meter ECH2O

  • Range is 0 – 1 m3/m3 (0 – 100% VWC)
  • Accuracy for Generic calibration equation: ± 0.03 m3/m3 (± 3% VWC) typ
  • Accuracy for Medium Specific Calibration: ± 0.02 m3/m3 (± 2% VWC)

Decagon5TM_VWC(Decagon5TM* parentSense, const char* uuid = "", const char* varCode = TM_VWC_DEFAULT_CODE) explicit

Construct a new Decagon5TM_VWC object.

Parameters
parentSense The parent Decagon5TM providing the result values.
uuid A universally unique identifier (UUID or GUID) for the variable; optional with the default value of an empty string.
varCode A short code to help identify the variable in files; optional with a default value of "SoilVWC".

#define TM_VWC_RESOLUTION = 3
Decimals places in string representation; VWC should have 3.
#define TM_VWC_VAR_NUM = 2
Sensor variable number; VWC is stored in sensorValues[2].
#define TM_VWC_VAR_NAME = "volumetricWaterContent"
Variable name in ODM2 controlled vocabulary; "volumetricWaterContent".
#define TM_VWC_UNIT_NAME = "percent"
Variable unit name in ODM2 controlled vocabulary; "percent" - volumetric percent water content (%, m3/100m3)
#define TM_VWC_DEFAULT_CODE = "SoilVWC"
Default variable short code; "SoilVWC".