ModularSensors > Files > sensors / KellerNanolevel.h

KellerNanolevel.h file

Contains the KellerNanolevel sensor subclass and the KellerNanolevel_Pressure, KellerNanolevel_Temp, and KellerNanolevel_Height variable subclasses.

These are for Keller Nanolevel capacitive level sensors.

Classes

class KellerNanolevel
The Sensor sub-class for the Keller nanolevel sensor.
class KellerNanolevel_Pressure
The Variable sub-class used for the gauge pressure (vented and barometric pressure corrected) output from a Keller Nanolevel ceramic capacitive level transmitter.
class KellerNanolevel_Temp
The Variable sub-class used for the temperature output from a Keller Nanolevel ceramic capacitive level transmitter.
class KellerNanolevel_Height
The Variable sub-class used for the gauge height (water level with regard to an arbitrary gage datum) output from a Keller Nanolevel ceramic capacitive level transmitter.

Sensor Timing

The sensor timing for a Keller Nanolevel

#define NANOLEVEL_WARM_UP_TIME_MS = 500
Sensor::_warmUpTime_ms; the Nanolevel warms up in 500ms.
#define NANOLEVEL_STABILIZATION_TIME_MS = 5000
Sensor::_stabilizationTime_ms; the Nanolevel stabilization takes about 5s (5000ms).
#define NANOLEVEL_MEASUREMENT_TIME_MS = 1500
Sensor::_measurementTime_ms; the Nanolevel takes 1500ms to complete a measurement.

Pressure

The pressure variable from a Keller Nanolevel

  • Range is 0 to 300mbar
  • Accuracy is Standard ±0.1% FS, Optional ±0.05% FS

KellerNanolevel_Pressure(KellerNanolevel* parentSense, const char* uuid = "", const char* varCode = NANOLEVEL_PRESSURE_DEFAULT_CODE) explicit

Construct a new KellerNanolevel_Pressure object.

Parameters
parentSense The parent KellerNanolevel 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 "kellerNanoPress".

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

Temperature

The temperature variable from a Keller Nanolevel

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

KellerNanolevel_Temp(KellerNanolevel* parentSense, const char* uuid = "", const char* varCode = NANOLEVEL_TEMP_DEFAULT_CODE) explicit

Construct a new KellerNanolevel_Temp object.

Parameters
parentSense The parent KellerNanolevel 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 "kellerNanoTemp".

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

Height

The height variable from a Keller Nanolevel

  • Range is 0 to 120 inches
  • Accuracy is Standard ±0.1% FS, Optional ±0.05% FS

KellerNanolevel_Height(KellerNanolevel* parentSense, const char* uuid = "", const char* varCode = NANOLEVEL_HEIGHT_DEFAULT_CODE) explicit

Construct a new KellerNanolevel_Height object.

Parameters
parentSense The parent KellerNanolevel 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 "kellerNanoHeight".

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