TurnerCyclops.h file
Contains the TurnerCyclops sensor subclass and the variable subclasses TurnerCyclops_
- Reference
-
Detailed Descriptions
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:
- 16-bit ADC (ADS1115): < 0.25% (gain error), <0.25 LSB (offset errror)
- 12-bit ADC (ADS1015, using build flag
MS_USE_ADS1015
): < 0.15% (gain error), <3 LSB (offset errror)
Construct a new TurnerCyclops_
TurnerCyclops_Voltage(TurnerCyclops* parentSense,
const char* uuid = "",
const char* varCode = CYCLOPS_
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.