ModularSensors > Files > src / sensors / CampbellClariVUE10.h

CampbellClariVUE10.h file

Contains the CampbellClariVUE10 sensor subclass and the variable subclasses CampbellClariVUE10_Temp, CampbellClariVUE10_Turbidity, and CampbellClariVUE10_ErrorCode.

These are for the Campbell ClariVUE10 digital SDI-12 turbidity sensor.

This depends on the SDI12Sensors parent class.

Classes

class CampbellClariVUE10
The Sensor sub-class for the Campbell ClariVUE10 turbidity sensor.
class CampbellClariVUE10_Turbidity
The Variable sub-class used for the turbidity output from a Campbell ClariVUE10 turbidity sensor.
class CampbellClariVUE10_Temp
The Variable sub-class used for the temperature output from a Campbell ClariVUE10 turbidity sensor.
class CampbellClariVUE10_ErrorCode
The Variable sub-class used for the error code output from a Campbell ClariVUE10 turbidity sensor.

Defines

#define CLARIVUE10_NUM_VARIABLES = 7
Sensor::_numReturnedValues; the ClariVUE10 can report 7 values (although we only keep 3).
#define CLARIVUE10_INC_CALC_VARIABLES = 0
Sensor::_incCalcValues; The ClariVUE calculates averages and other stats on board, but we don't calculate any additional values.

Sensor Timing

The sensor timing for a Campbell ClariVUE10

#define CLARIVUE10_WARM_UP_TIME_MS = 8000
Sensor::_warmUpTime_ms; the ClariVUE10 warms up in 5500ms.
#define CLARIVUE10_STABILIZATION_TIME_MS = 0
Sensor::_stabilizationTime_ms; the ClariVUE10 is stable as soon as it warms up (0ms stabilization).
#define CLARIVUE10_MEASUREMENT_TIME_MS = 11000
Sensor::_measurementTime_ms; the ClariVUE10 takes ~9500ms to complete a measurement.
#define CLARIVUE10_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 ClariVUE requires no extra time.

Turbidity

The turbidity variable from a Campbell ClariVUE10

  • Range is 0 to 4000 FNU.
  • Accuracy ±2% or 0.5 FNU (whichever is greater).

CampbellClariVUE10_Turbidity(CampbellClariVUE10* parentSense, const char* uuid = "", const char* varCode = CLARIVUE10_TURBIDITY_DEFAULT_CODE) explicit

Construct a new CampbellClariVUE10_Turbidity object.

Parameters
parentSense The parent CampbellClariVUE10 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 "ClariVUETurbidity".

#define CLARIVUE10_TURBIDITY_RESOLUTION = 1
Decimals places in string representation; turbidity should have 1 (resolution is 0.2 FNU).
#define CLARIVUE10_TURBIDITY_VAR_NUM = 0
Sensor variable number; turbidity is stored in sensorValues[0].
#define CLARIVUE10_TURBIDITY_VAR_NAME = "turbidity"
Variable name in ODM2 controlled vocabulary; "turbidity".
#define CLARIVUE10_TURBIDITY_UNIT_NAME = "formazinNephelometricUnit"
Variable unit name in ODM2 controlled vocabulary; "formazinNephelometricUnit" (FNU)
#define CLARIVUE10_TURBIDITY_DEFAULT_CODE = "ClariVUETurbidity"
Default variable short code; "ClariVUETurbidity".

Temperature

The temperature variable from a Campbell ClariVUE10

  • Range is -2° to +40°C
  • Accuracy is ± 0.2°C

CampbellClariVUE10_Temp(CampbellClariVUE10* parentSense, const char* uuid = "", const char* varCode = CLARIVUE10_TEMP_DEFAULT_CODE) explicit

Construct a new CampbellClariVUE10_Temp object.

Parameters
parentSense The parent CampbellClariVUE10 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 "ClariVUETempC".

#define CLARIVUE10_TEMP_RESOLUTION = 2
Decimals places in string representation; temperature should have 2 - resolution is 0.01°C.
#define CLARIVUE10_TEMP_VAR_NUM = 5
Sensor variable number; temperature is stored in sensorValues[5].
#define CLARIVUE10_TEMP_VAR_NAME = "temperature"
Variable name in ODM2 controlled vocabulary; "temperature".
#define CLARIVUE10_TEMP_UNIT_NAME = "degreeCelsius"
Variable unit name in ODM2 controlled vocabulary; "degreeCelsius" (°C)
#define CLARIVUE10_TEMP_DEFAULT_CODE = "ClariVUETempC"
Default variable short code; "ClariVUETempC".

Error Code

The error code variable from a Campbell ClariVUE10

  • Significance of error code values is unknown.

CampbellClariVUE10_ErrorCode(CampbellClariVUE10* parentSense, const char* uuid = "", const char* varCode = CLARIVUE10_ERRORCODE_DEFAULT_CODE) explicit

Construct a new CampbellClariVUE10_ErrorCode object.

Parameters
parentSense The parent CampbellClariVUE10 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 "ClariVUEError".

#define CLARIVUE10_ERRORCODE_RESOLUTION = 0
Decimals places in string representation; the error code has 0.
#define CLARIVUE10_ERRORCODE_VAR_NUM = 6
Sensor variable number; error code is stored in sensorValues[2].
#define CLARIVUE10_ERRORCODE_VAR_NAME = "instrumentStatusCode"
Variable name in ODM2 controlled vocabulary; "instrumentStatusCode".
#define CLARIVUE10_ERRORCODE_UNIT_NAME = "dimensionless"
Variable unit name in ODM2 controlled vocabulary; "dimensionless".
#define CLARIVUE10_ERRORCODE_DEFAULT_CODE = "ClariVUEError"
Default variable short code; "ClariVUEError".