ModularSensors > Files > src / sensors / YosemitechY514.h

YosemitechY514.h file

Contains the YosemitechY514 sensor subclass and the variable subclasses YosemitechY514_Chlorophyll and YosemitechY514_Temp.

These are for the Yosemitech Y514 chlorophyll sensor with wiper.

This depends on the YosemitechParent super class.

Documentation for the Modbus Protocol commands and responses can be found within the documentation in the YosemitechModbus library at: https://github.com/EnviroDIY/YosemitechModbus

Classes

class YosemitechY514
The Sensor sub-class for the Yosemitech Y514 sensor.
class YosemitechY514_Chlorophyll
The Variable sub-class used for the chlorophyll concentration output from a Yosemitech Y514-A chlorophyll sensor with wiper.
class YosemitechY514_Temp
The Variable sub-class used for the temperature output from a Yosemitech Y514-A chlorophyll sensor with wiper.

Defines

#define Y514_NUM_VARIABLES = 2
Sensor::_numReturnedValues; the Y514 can report 2 values.
#define Y514_INC_CALC_VARIABLES = 0
Sensor::_incCalcValues; we don't calculate any additional values.

Sensor Timing

The sensor timing for a Yosemitch Y514

#define Y514_WARM_UP_TIME_MS = 1300
Sensor::_warmUpTime_ms; time before sensor responds after power - 1.3 seconds (1300ms).
#define Y514_STABILIZATION_TIME_MS = 8000
Sensor::_stabilizationTime_ms; time between "StartMeasurement" command and stable reading - 8sec (8000ms).
#define Y514_MEASUREMENT_TIME_MS = 2000
Sensor::_measurementTime_ms; the Y514 takes ~2000ms to complete a measurement.

Chlorophyll Concentration

The chlorophyll concentration variable from a Yosemitch Y514

  • Range is 0 to 400 µg/L or 0 to 100 RFU
  • Accuracy is ± 1 %

YosemitechY514_Chlorophyll(YosemitechY514* parentSense, const char* uuid = "", const char* varCode = Y514_CHLORO_DEFAULT_CODE) explicit

Construct a new YosemitechY514_Chlorophyll object.

Parameters
parentSense The parent YosemitechY514 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 "Y514Chloro".

#define Y514_CHLORO_RESOLUTION = 1
Decimals places in string representation; chlorophyll concentration should have 1 - resolution is 0.1 µg/L / 0.1 RFU.
#define Y514_CHLORO_VAR_NUM = 0
Sensor variable number; chlorophyll concentration is stored in sensorValues[0].
#define Y514_CHLORO_VAR_NAME = "chlorophyllFluorescence"
Variable name in ODM2 controlled vocabulary; "chlorophyllFluorescence".
#define Y514_CHLORO_UNIT_NAME = "microgramPerLiter"
Variable unit name in ODM2 controlled vocabulary; "microgramPerLiter" (µg/L)
#define Y514_CHLORO_DEFAULT_CODE = "Y514Chloro"
Default variable short code; "Y514Chloro".

Temperature

The temperature variable from a Yosemitch Y514

  • Range is 0°C to + 50°C
  • Accuracy is ± 0.2°C

YosemitechY514_Temp(YosemitechY514* parentSense, const char* uuid = "", const char* varCode = Y514_TEMP_DEFAULT_CODE) explicit

Construct a new YosemitechY514_Temp object.

Parameters
parentSense The parent YosemitechY514 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 "Y514Temp".

#define Y514_TEMP_RESOLUTION = 1
Decimals places in string representation; temperature should have 1 - resolution is 0.1°C.
#define Y514_TEMP_VAR_NUM = 1
Sensor variable number; temperature is stored in sensorValues[1].
#define Y514_TEMP_VAR_NAME = "temperature"
Variable name in ODM2 controlled vocabulary; "temperature".
#define Y514_TEMP_UNIT_NAME = "degreeCelsius"
Variable unit name in ODM2 controlled vocabulary; "degreeCelsius" (°C)
#define Y514_TEMP_DEFAULT_CODE = "Y514Temp"
Default variable short code; "Y514Temp".