MeterTeros11.h file
Contains the MeterTeros11 sensor subclass and the variable subclasses MeterTeros11_
- Reference
-
Detailed Descriptions
These are for the Meter Teros 11 Advanced Soil Moisture probe.
This depends on the EnviroDIY SDI-12 library and the SDI12Sensors super class.
Classes
- class MeterTeros11
- The Sensor sub-class for the Meter Teros 11 sensor.
- class MeterTeros11_Count
- The Variable sub-class used for the raw calibrated VWC counts from a Meter Teros soil moisture/water content sensor.
- class MeterTeros11_Temp
- The Variable sub-class used for the temperature output output from a Teros soil moisture/water content sensor.
- class MeterTeros11_Ea
- The Variable sub-class used for the apparent dielectric permittivity (εa, matric potential) from a Meter Teros soil moisture/water content sensor.
- class MeterTeros11_VWC
- The Variable sub-class used for the volumetric water content output from a Teros soil moisture/water content sensor.
Defines
- #define TEROS11_NUM_VARIABLES = 4
- Sensor::
_numReturnedValues; the Teros 11 can report 2 raw values - counts and temperature. - #define TEROS11_INC_CALC_VARIABLES = 2
- Sensor::
_incCalcValues; We calculate permittivity and water content from the raw counts and temperature reported by the Teros 11.
Sensor Timing
The sensor timing for a Meter Teros 11
- #define TEROS11_WARM_UP_TIME_MS = 250
- Sensor::
_warmUpTime_ms; the Teros 11 warm-up time in SDI-12 mode: 245ms typical. - #define TEROS11_STABILIZATION_TIME_MS = 50
- Sensor::
_stabilizationTime_ms; the Teros 11 is stable after 50ms. - #define TEROS11_MEASUREMENT_TIME_MS = 50
- Sensor::
_measurementTime_ms; the Teros 11 takes25 ms to 50 ms to complete a measurement. - #define TEROS11_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 Terros-11 requires no extra time.
Raw Counts
The raw VWC counts variable from a Meter Teros 11
- Range and accuracy of the raw count values are not specified
Construct a new MeterTeros11_
MeterTeros11_Count(MeterTeros11* parentSense,
const char* uuid = "",
const char* varCode = TEROS11_
Parameters
parentSense
The parent MeterTeros11 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 "RawVWCCounts".
- #define TEROS11_COUNT_RESOLUTION = 1
- Decimals places in string representation; EA should have 1.
- #define TEROS11_COUNT_VAR_NUM = 0
- Sensor variable number; EA is stored in sensorValues[0].
- #define TEROS11_COUNT_VAR_NAME = "counter"
- Variable name in ODM2 controlled vocabulary; "counter".
- #define TEROS11_COUNT_UNIT_NAME = "count"
- Variable unit name in ODM2 controlled vocabulary; "count".
- #define TEROS11_COUNT_DEFAULT_CODE = "RawVWCCounts"
- Default variable short code; "RawVWCCounts".
Temperature
The temperature variable from a Meter Teros 11
- Range is -40°C to 60°C
- Accuracy is:
- ± 1°C, from -40°C to 0°C
- ± 0.5°C, from 0°C to + 60°C
Construct a new MeterTeros11_
MeterTeros11_Temp(MeterTeros11* parentSense,
const char* uuid = "",
const char* varCode = TEROS11_
Parameters
parentSense
The parent MeterTeros11 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 TEROS11_TEMP_RESOLUTION = 2
- Decimals places in string representation; temperature should have 2.
- #define TEROS11_TEMP_VAR_NUM = 1
- Sensor variable number; temperature is stored in sensorValues[1].
- #define TEROS11_TEMP_VAR_NAME = "temperature"
- Variable name in ODM2 controlled vocabulary; "temperature".
- #define TEROS11_TEMP_UNIT_NAME = "degreeCelsius"
- Variable unit name in ODM2 controlled vocabulary; "degreeCelsius" (°C)
- #define TEROS11_TEMP_DEFAULT_CODE = "SoilTemp"
- Default variable short code; "SoilTemp".
EA
The EA variable from a Meter Teros 11
- Range is 1 (air) to 80 (water)
- Accuracy is:
- 1–40 (soil range), ±1 εa (unitless)
- 40–80, 15% of measurement
Construct a new MeterTeros11_
MeterTeros11_Ea(MeterTeros11* parentSense,
const char* uuid = "",
const char* varCode = TEROS11_
Parameters
parentSense
The parent MeterTeros11 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 TEROS11_EA_RESOLUTION = 5
- Decimals places in string representation; EA should have 5.
- #define TEROS11_EA_VAR_NUM = 2
- Sensor variable number; EA is stored in sensorValues[0].
- #define TEROS11_EA_VAR_NAME = "permittivity"
- Variable name in ODM2 controlled vocabulary; "permittivity".
- #define TEROS11_EA_UNIT_NAME = "faradPerMeter"
- Variable unit name in ODM2 controlled vocabulary; "faradPerMeter" (F/m)
- #define TEROS11_EA_DEFAULT_CODE = "SoilEa"
- Default variable short code; "SoilEa".
Volumetric Water Content
The VWC variable from a Meter Teros 11
- Range is:
- Mineral soil calibration: 0.00–0.70 m3/m3 (0 – 70% VWC)
- Soilless media calibration: 0.0–1.0 m3/m3 (0 – 100% VWC)
- Accuracy is:
- Generic calibration: ±0.03 m3/m3 (± 3% VWC) typical in mineral soils that have solution electrical conductivity <8 dS/m
- Medium specific calibration: ±0.01–0.02 m3/m3 (± 1-2% VWC)in any porous medium
Construct a new MeterTeros11_
MeterTeros11_VWC(MeterTeros11* parentSense,
const char* uuid = "",
const char* varCode = TEROS11_
Parameters
parentSense
The parent MeterTeros11 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 TEROS11_VWC_RESOLUTION = 3
- Decimals places in string representation; VWC should have 3.
- #define TEROS11_VWC_VAR_NUM = 3
- Sensor variable number; VWC is stored in sensorValues[2].
- #define TEROS11_VWC_VAR_NAME = "volumetricWaterContent"
- Variable name in ODM2 controlled vocabulary; "volumetricWaterContent".
- #define TEROS11_VWC_UNIT_NAME = "percent"
- Variable unit name in ODM2 controlled vocabulary; "percent" - volumetric percent water content (%, m3/100m3)
- #define TEROS11_VWC_DEFAULT_CODE = "SoilVWC"
- Default variable short code; "SoilVWC".