ModularSensors > Files > src / sensors / YosemitechY533.h

YosemitechY533.h file

Contains the YosemitechY533 sensor subclass and the variable subclasses YosemitechY533_ORP and YosemitechY533_Temp.

These are for the Yosemitech Y533 ORP (Oxygen Reduction Potential) sensor.

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 YosemitechY533
The Sensor sub-class for the Yosemitech Y533 ORP sensor.
class YosemitechY533_ORP
The Variable sub-class used for the pH output from a Yosemitech Y533 ORP sensor.
class YosemitechY533_Temp
The Variable sub-class used for the temperature output from a Yosemitech Y533 ORP sensor.

Defines

#define Y533_NUM_VARIABLES = 2
Sensor::_numReturnedValues; the Y533 can report 2 values.
#define Y533_INC_CALC_VARIABLES = 0
Sensor::_incCalcValues; we don't calculate any additional values.

Sensor Timing

The sensor timing for a Yosemitch Y533

#define Y533_WARM_UP_TIME_MS = 500
Sensor::_warmUpTime_ms; time before sensor responds after power - 500ms.
#define Y533_STABILIZATION_TIME_MS = 4500
Sensor::_stabilizationTime_ms; time between "StartMeasurement" command and stable reading - 4.5sec (4500ms).
#define Y533_MEASUREMENT_TIME_MS = 1800
Sensor::_measurementTime_ms; the Y533 takes ~1800ms to complete a measurement.

pH

The ORP variable from a Yosemitch Y533

  • Range is -999 to 999 mV
  • Accuracy is ±20 mV
  • Resolution is 1 mV

YosemitechY533_ORP(YosemitechY533* parentSense, const char* uuid = "", const char* varCode = Y533_ORP_DEFAULT_CODE) explicit

Construct a new YosemitechY533_pH object.

Parameters
parentSense The parent YosemitechY533 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 "Y533pH".

#define Y533_ORP_RESOLUTION = 0
Decimals places in string representation; ph should have 2 - resolution is 1 mV units.
#define Y533_ORP_VAR_NUM = 0
Sensor variable number; ORP is stored in sensorValues[0].
#define Y533_ORP_VAR_NAME = "voltage"
Variable name in ODM2 controlled vocabulary; "voltage" NOTE: ORP should be added to ODM2 CVs, as ORP refers to a specific measure of electron potential relative to a silver chloride reference electrode.
#define Y533_ORP_UNIT_NAME = "millivolt"
Variable unit name in ODM2 controlled vocabulary; "millivolt" (mV)
#define Y533_ORP_DEFAULT_CODE = "Y533ORP"
Default variable short code; "Y533ORP".

Temperature

The temperature variable from a Yosemitch Y533

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

YosemitechY533_Temp(YosemitechY533* parentSense, const char* uuid = "", const char* varCode = Y533_TEMP_DEFAULT_CODE) explicit

Construct a new YosemitechY533_Temp object.

Parameters
parentSense The parent YosemitechY533 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 "Y533Temp".

#define Y533_TEMP_RESOLUTION = 1
Decimals places in string representation; temperature should have 1 - resolution is 0.1°C.
#define Y533_TEMP_VAR_NUM = 1
Sensor variable number; temperature is stored in sensorValues[1].
#define Y533_TEMP_VAR_NAME = "temperature"
Variable name in ODM2 controlled vocabulary; "temperature".
#define Y533_TEMP_UNIT_NAME = "degreeCelsius"
Variable unit name in ODM2 controlled vocabulary; "degreeCelsius" (°C)
#define Y533_TEMP_DEFAULT_CODE = "Y533Temp"
Default variable short code; "Y533Temp".