ModularSensors > Files > src / sensors / KellerAcculevel.h

KellerAcculevel.h file

Contains the KellerAcculevel sensor subclass and the KellerAcculevel_Pressure, KellerAcculevel_Temp, and KellerAcculevel_Height variable subclasses.

These are for Keller Series 30, Class 5, Group 20 sensors using Modbus communication, that are software version 5.20-12.28 and later (i.e. made after the 2012 in the 28th week).

Only tested on the Acculevel.

Classes

class KellerAcculevel
The Sensor sub-class for the Keller Acculevel sensor.
class KellerAcculevel_Pressure
The Variable sub-class used for the gauge pressure (vented and barometric pressure corrected) output from a Keller Acculevel.
class KellerAcculevel_Temp
The Variable sub-class used for the temperature output from a Keller Acculevel.
class KellerAcculevel_Height
The Variable sub-class used for the gauge height (water level with regard to an arbitrary gage datum) output from a Keller Acculevel.

Sensor Timing

The sensor timing for a Keller Acculevel

#define ACCULEVEL_WARM_UP_TIME_MS = 500
Sensor::_warmUpTime_ms; the Acculevel takes about 500 ms to respond.
#define ACCULEVEL_STABILIZATION_TIME_MS = 5000
Sensor::_stabilizationTime_ms; the Acculevel is stable after about 5s (5000ms).
#define ACCULEVEL_MEASUREMENT_TIME_MS = 1500
Sensor::_measurementTime_ms; the Acculevel takes 1500ms to complete a measurement.

Pressure

The pressure variable from a Keller Acculevel

  • Range is 0 to 11 bar
  • Accuracy is Standard ±0.1% FS, Optional ±0.05% FS

KellerAcculevel_Pressure(KellerAcculevel* parentSense, const char* uuid = "", const char* varCode = ACCULEVEL_PRESSURE_DEFAULT_CODE) explicit

Construct a new KellerAcculevel_Pressure object.

Parameters
parentSense The parent KellerAcculevel 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 "kellerAccuPress".

#define ACCULEVEL_PRESSURE_RESOLUTION = 5
Decimals places in string representation; pressure should have 5 - resolution is 0.002%.
#define ACCULEVEL_PRESSURE_DEFAULT_CODE = "kellerAccuPress"
Default variable short code; "kellerAccuPress".

Temperature

The temperature variable from a Keller Acculevel

  • Range is -10°C to 60°C
  • Accuracy is not specified in the sensor datasheet

KellerAcculevel_Temp(KellerAcculevel* parentSense, const char* uuid = "", const char* varCode = ACCULEVEL_TEMP_DEFAULT_CODE) explicit

Construct a new KellerAcculevel_Temp object.

Parameters
parentSense The parent KellerAcculevel 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 "kellerAccuTemp".

#define ACCULEVEL_TEMP_RESOLUTION = 2
Decimals places in string representation; temperature should have 2 - resolution is 0.01°C.
#define ACCULEVEL_TEMP_DEFAULT_CODE = "kellerAccuTemp"
Default variable short code; "kellerAccuTemp".

Height

The height variable from a Keller Acculevel

  • Range is 0 to 900 feet
  • Accuracy is Standard ±0.1% FS, Optional ±0.05% FS

KellerAcculevel_Height(KellerAcculevel* parentSense, const char* uuid = "", const char* varCode = ACCULEVEL_HEIGHT_DEFAULT_CODE) explicit

Construct a new KellerAcculevel_Height object.

Parameters
parentSense The parent KellerAcculevel 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 "kellerAccuHeight".

#define ACCULEVEL_HEIGHT_RESOLUTION = 4
Decimals places in string representation; height should have 4 - resolution is 0.002%.
#define ACCULEVEL_HEIGHT_DEFAULT_CODE = "kellerAccuHeight"
Default variable short code; "kellerAccuHeight".