ModularSensors > Files > src / sensors / TurnerCyclops.h

TurnerCyclops.h file

Contains the TurnerCyclops sensor subclass and the variable subclasses TurnerCyclops_Turbidity and TurnerCyclops_Voltage.

These are used for the Turner Scientific Cyclops-7F.

This depends on the soligen2010 fork of the Adafruit ADS1015 library.

Classes

class TurnerCyclops
The Sensor sub-class for the Turner Cyclops-7F submersible fluorometer.
class TurnerCyclops_Voltage
The Variable sub-class used for the raw voltage output from a Turner Cyclops-7F.
class TurnerCyclops_Chlorophyll
The Variable sub-class used for the chlorophyll output from a Turner Cyclops-7F.
class TurnerCyclops_Rhodamine
The Variable sub-class used for the Rhodamine output from a Turner Cyclops-7F.
class TurnerCyclops_Fluorescein
The Variable sub-class used for the fluorescein output from a Turner Cyclops-7F.
class TurnerCyclops_Phycocyanin
The Variable sub-class used for the phycocyanin output from a Turner Cyclops-7F.
class TurnerCyclops_Phycoerythrin
The Variable sub-class used for the phycoerythrin output from a Turner Cyclops-7F.
class TurnerCyclops_CDOM
The Variable sub-class used for the CDOM output from a Turner Cyclops-7F.
class TurnerCyclops_CrudeOil
The Variable sub-class used for the crude oil output from a Turner Cyclops-7F.
class TurnerCyclops_Brighteners
The Variable sub-class used for the opticalBrighteners output from a Turner Cyclops-7F.
class TurnerCyclops_Turbidity
The Variable sub-class used for the turbidity output from a Turner Cyclops-7F.
class TurnerCyclops_PTSA
The Variable sub-class used for the PTSA output from a Turner Cyclops-7F.
class TurnerCyclops_BTEX
The Variable sub-class used for the refined fuels (BTEX) output from a Turner Cyclops-7F.
class TurnerCyclops_Tryptophan
The Variable sub-class used for the tryptophan output from a Turner Cyclops-7F.
class TurnerCyclops_RedChlorophyll
The Variable sub-class used for the chlorophyll output from a Turner Cyclops-7F.

Defines

#define CYCLOPS_NUM_VARIABLES = 2
Sensor::_numReturnedValues; the Cyclops can report 2 values.
#define CYCLOPS_INC_CALC_VARIABLES = 1
Sensor::_incCalcValues; the raw voltage is reported, the other parameter is calculated using the input calibration equation.
#define ADS1115_ADDRESS = 0x48
The assumed address of the ADS1115, 1001 000 (ADDR = GND)

Sensor Timing

The sensor timing for an Cyclops-7F

#define CYCLOPS_WARM_UP_TIME_MS = 2
Sensor::_warmUpTime_ms; the ADS1115 warms up in 2ms.
#define CYCLOPS_STABILIZATION_TIME_MS = 1000
Sensor::_stabilizationTime_ms; minimum stabilization time for the Cyclops-7F is 1s (1000ms).
#define CYCLOPS_MEASUREMENT_TIME_MS = 100
Sensor::_measurementTime_ms; Cyclops takes 100ms to complete a measurement - Maximum data rate = 10Hz (100ms/sample).

Calibrated Parameter Output

The primary output variable from an Cyclops-7F

See the optical specification guide for the minimum detection limit, accuracy, and range of the various Cyclops parameter configurations.

#define CYCLOPS_VAR_NUM = 0
Variable number; the primary variable is stored in sensorValues[0].
#define CYCLOPS_RESOLUTION = 5
Decimals places in string representation; 5.

Voltage

The voltage variable from an Cyclops-7F

  • Range is 0 to 3.6V when using an ADS1x15 powered at 3.3V
    • Full sensor range is 0-5V
  • Accuracy:

TurnerCyclops_Voltage(TurnerCyclops* parentSense, const char* uuid = "", const char* varCode = CYCLOPS_VOLTAGE_DEFAULT_CODE) explicit

Construct a new TurnerCyclops_Voltage object.

Parameters
parentSense The parent TurnerCyclops 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 "CyclopsVoltage".

#define CYCLOPS_VOLTAGE_VAR_NUM = 1
Variable number; voltage is stored in sensorValues[1].
#define CYCLOPS_VOLTAGE_VAR_NAME = "voltage"
Variable name in ODM2 controlled vocabulary; "voltage".
#define CYCLOPS_VOLTAGE_UNIT_NAME = "volt"
Variable unit name in ODM2 controlled vocabulary; "volt".
#define CYCLOPS_VOLTAGE_DEFAULT_CODE = "CyclopsVoltage"
Default variable short code; "CyclopsVoltage".
#define CYCLOPS_VOLTAGE_RESOLUTION = 4
Decimals places in string representation; voltage should have 4.