ModularSensors > Files > src / sensors / AtlasScientificEC.h

AtlasScientificEC.h file

Contains the AtlasScientificCO2 subclass of the AtlasParent sensor class along with the variable subclasses AtlasScientificEC_Cond, AtlasScientificEC_TDS, AtlasScientificEC_Salinity and AtlasScientificEC_SpecificGravity.

These are used for any sensor attached to an Atlas EZO conductivity circuit.

Classes

class AtlasScientificEC
The Sensor sub-class for the Atlas Scientific conductivity circuit and sensor.
class AtlasScientificEC_Cond
The Variable sub-class used for the conductivity output from an Atlas Scientific EC EZO circuit.
class AtlasScientificEC_TDS
The Variable sub-class used for the total dissolved solids output from an Atlas Scientific EC EZO circuit.
class AtlasScientificEC_Salinity
The Variable sub-class used for the salinity output from an Atlas Scientific EC EZO circuit.
class AtlasScientificEC_SpecificGravity
The Variable sub-class used for the specific gravity output from an Atlas Scientific EC EZO circuit.

Defines

#define ATLAS_COND_I2C_ADDR = 0x64
Default I2C address is 0x64 (100)
#define ATLAS_COND_NUM_VARIABLES = 4
Sensor::_numReturnedValues; Atlas EZO conductivity circuit can report 4 values.
#define ATLAS_COND_INC_CALC_VARIABLES = 0
Sensor::_incCalcValues; we don't calculate any additional values - though we recommend users include a temperature sensor and calculate specific conductance in their own program.

Sensor Timing

The sensor timing for an Atlas EC (conducticity) sensor

#define ATLAS_COND_WARM_UP_TIME_MS = 745
Sensor::_warmUpTime_ms; Atlas EZO conductivity circuit warms up in 745ms.
#define ATLAS_COND_STABILIZATION_TIME_MS = 0
Sensor::_stabilizationTime_ms; Atlas EZO conductivity circuit is stable 0ms after warm-up. (stable at completion of warm up)
#define ATLAS_COND_MEASUREMENT_TIME_MS = 600
Sensor::_measurementTime_ms; Atlas EZO conductivity circuit takes 600ms to complete a measurement.

Conductivity

The conductivity variable from an Atlas EC (conducticity) sensor

  • Accuracy is ± 2%
  • Range is 0.07 − 500,000+ μS/cm

AtlasScientificEC_Cond(AtlasScientificEC* parentSense, const char* uuid = "", const char* varCode = ATLAS_COND_DEFAULT_CODE) explicit

Construct a new AtlasScientificEC_Cond object.

Parameters
parentSense The parent AtlasScientificEC 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 "AtlasCond".

#define ATLAS_COND_RESOLUTION = 3
Decimals places in string representation; conductivity should have 3.
#define ATLAS_COND_VAR_NUM = 0
Sensor variable number; conductivity is stored in sensorValues[0].
#define ATLAS_COND_VAR_NAME = "electricalConductivity"
Variable name in ODM2 controlled vocabulary; "electricalConductivity".
#define ATLAS_COND_UNIT_NAME = "microsiemenPerCentimeter"
Variable unit name in ODM2 controlled vocabulary; "microsiemenPerCentimeter" (µS/cm)
#define ATLAS_COND_DEFAULT_CODE = "AtlasCond"
Default variable short code; "AtlasCond".

Total Dissolved Solids

The TDS variable from an Atlas EC (conducticity) sensor

  • Accuracy is ± 2%
  • Range is 0.07 − 500,000+ μS/cm

AtlasScientificEC_TDS(AtlasScientificEC* parentSense, const char* uuid = "", const char* varCode = ATLAS_TDS_DEFAULT_CODE) explicit

Construct a new AtlasScientificEC_TDS object.

Parameters
parentSense The parent AtlasScientificEC 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 "AtlasTDS".

#define ATLAS_TDS_RESOLUTION = 3
Decimals places in string representation; TDS should have 3.
#define ATLAS_TDS_VAR_NUM = 1
Sensor variable number; TDS is stored in sensorValues[1].
#define ATLAS_TDS_VAR_NAME = "solidsTotalDissolved"
Variable name in ODM2 controlled vocabulary; "solidsTotalDissolved".
#define ATLAS_TDS_UNIT_NAME = "partPerMillion"
Variable unit name in ODM2 controlled vocabulary; "partPerMillion" (ppm)
#define ATLAS_TDS_DEFAULT_CODE = "AtlasTDS"
Default variable short code; "AtlasTDS".

Salinity

The salinity variable from an Atlas EC (conducticity) sensor

  • Accuracy is ± 2%
  • Range is 0.07 − 500,000+ μS/cm

AtlasScientificEC_Salinity(AtlasScientificEC* parentSense, const char* uuid = "", const char* varCode = ATLAS_SALINITY_DEFAULT_CODE) explicit

Construct a new AtlasScientificEC_Salinity object.

Parameters
parentSense The parent AtlasScientificEC 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 "AtlasSalinity".

#define ATLAS_SALINITY_RESOLUTION = 3
Decimals places in string representation; salinity should have 3.
#define ATLAS_SALINITY_VAR_NUM = 2
Sensor variable number; salinity is stored in sensorValues[2].
#define ATLAS_SALINITY_VAR_NAME = "salinity"
Variable name in ODM2 controlled vocabulary; "salinity".
#define ATLAS_SALINITY_UNIT_NAME = "practicalSalinityUnit"
Variable unit name in ODM2 controlled vocabulary; "practicalSalinityUnit".
#define ATLAS_SALINITY_DEFAULT_CODE = "AtlasSalinity"
Default variable short code; "AtlasSalinity".

Specific Gravity

The specific gravity variable from an Atlas EC (conducticity) sensor

  • Accuracy is ± 2%
  • Range is 0.07 − 500,000+ μS/cm

AtlasScientificEC_SpecificGravity(AtlasScientificEC* parentSense, const char* uuid = "", const char* varCode = ATLAS_SG_DEFAULT_CODE) explicit

Construct a new AtlasScientificEC_SpecificGravity object.

Parameters
parentSense The parent AtlasScientificEC 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 "AtlasSpecGravity".

#define ATLAS_SG_RESOLUTION = 3
Decimals places in string representation; specific gravity should have 3.
#define ATLAS_SG_VAR_NUM = 3
Sensor variable number; specific gravity is stored in sensorValues[3].
#define ATLAS_SG_VAR_NAME = "specificGravity"
Variable name in ODM2 controlled vocabulary; "specificGravity".
#define ATLAS_SG_UNIT_NAME = "dimensionless"
Variable unit name in ODM2 controlled vocabulary; "dimensionless".
#define ATLAS_SG_DEFAULT_CODE = "AtlasSpecGravity"
Default variable short code; "AtlasSpecGravity".