ANB pH Sensors topic
The Sensor and Variable classes for all ANB pH sensors.
This library currently supports all known ANB Sensors pH sensors.
The lower level details of the communication with the sensors is managed by the EnviroDIY ANBSensorsModbus library
Sensor Datasheet
Power Requirements
This sensor is a power hog. It draws ~90mA when measuring and ~60mA when idle. This doesn't seem so bad, until you consider that the sensor could possibly take up to 4.25 minutes to take a sample after the first power on. For some ideas of how long your battery might last with this sensor, see the description of the battery housing on the product page, which includes a chart.
Some recommendations:
- Get a beefy 12V battery and 18V solar panel - regardless of your measurement interval.
- If you want measurements more often than every 5 minutes, leave the sensor always powered
- Size your battery and solar panel accordingly - it will be hungry!
- If you want measurements every 15 minutes or more, turn off power between readings and be aware that the time of the measurement will be offset from the time the logger woke or other sensors took measurements by the time it takes the pH sensor to warm up and take a reading.
Sensor Constructor
ANBpH:: ANBpH(byte modbusAddress,
Stream* stream,
int8_t powerPin,
int8_t powerPin2,
int8_t enablePin = -1,
uint8_t measurementsToAverage = 1)
Construct a new ANB pH object.
Parameters | |
---|---|
modbusAddress | The modbus address of the sensor. |
stream | An Arduino data stream for modbus communication. See notes for more information on what streams can be used. |
powerPin | The pin on the mcu controlling power to the ANB pH sensor. Use -1 if it is continuously powered. |
powerPin2 | The pin on the mcu controlling power to the RS485 adapter, if it is different from that used to power the sensor. Use -1 or omit if not applicable. |
enablePin | The pin on the mcu controlling the direction enable on the RS485 adapter, if necessary; use -1 or omit if not applicable. |
measurementsToAverage | The number of measurements to take and average before giving a "final" result from the sensor; optional with a default value of 1. |
Example Code
An ANB Sensors pH sensor is used in the menu a la carte example.
Classes
- class ANBpH
- The Sensor sub-class for the ANB pH sensors.
- class ANBpH_pH
- The Variable sub-class used for the pH from an ANB Sensors pH sensor.
- class ANBpH_Temp
- The Variable sub-class used for the temperature output from a ANB Sensors pH sensor.
- class ANBpH_Salinity
- The Variable sub-class used for the salinity output from an ANB Sensors pH sensor.
- class ANBpH_SpCond
- The Variable sub-class used for the specific conductance output from a ANB Sensors pH sensor.
- class ANBpH_EC
- The Variable sub-class used for the raw electrical conductivity output from an ANB Sensors pH sensor.
- class ANBpH_HealthCode
- The Variable sub-class used for the health code output from a an ANB Sensors pH sensor.
- class ANBpH_DiagnosticCode
- The Variable sub-class used for the diagnostic code output from a an ANB Sensors pH sensor.
- class ANBpH_StatusCode
- The Variable sub-class used for the status code output from a an ANB Sensors pH sensor.
Defines
- #define ANB_PH_MINIMUM_REQUEST_SPACING = 250
- The minimum spacing between requesting responses from the sensor.
Sensor Variable Counts
The number of variables that can be returned by an ANB Sensors pH sensor
- #define ANB_PH_NUM_VARIABLES = 8
- Sensor::
_numReturnedValues; an ANB Sensors pH sensor can report 8 values. - #define ANB_PH_INC_CALC_VARIABLES = 0
- Sensor::
_incCalcValues; we don't calculate any additional values.
Sensor Timing
The sensor timing for an ANB Sensors pH sensor
The ANB pH sensor takes >3 minutes to complete the first sample after being turned on, but ~6s to complete a subsequent measurement when in continuous power and continuous sampling mode. If the immersion sensor is enabled and a measurement is requested while the sensor is not immersed, the failure response can return in <4 seconds.
More information on the timing can be found in the [sensor output section of the ANB Sensors User Guide](https:/
- #define ANB_PH_WARM_UP_TIME_MS = 5400L
- Sensor::
_warmUpTime_ms; time before sensor responds after power - roughly 5.3 - 5.6 seconds. - #define ANB_PH_WARM_UP_TIME_MAX = 10000L
- The maximum time to wait for a modbus response.
- #define ANB_PH_STABILIZATION_TIME_MS = 50
- Sensor::
_stabilizationTime_ms; the ANB pH sensor does not need to stabilize, but we use this time as the check for ready time. - #define ANB_PH_STABILIZATION_TIME_MAX = 5000L
- The maximum time to wait for ready to measure.
- #define ANB_PH_2ND_IMMERSION_ERROR = 4000L
- The minimum time before a failure response is returned on the 2nd or subsequent value when the immersion sensor is not immersed. This is a guess based on testing.
- #define ANB_PH_2ND_IMMERSION_ERROR_MAX = 12000L
- The minimum time before a failure response is returned on the 2nd or subsequent value when the immersion sensor is not immersed. This is a guess based on testing.
- #define ANB_PH_2ND_VALUE_HIGH_SALT = 5000L
- The minimum time for the 2nd or subsequent values in high salinity (documented new output time of 10.5s)
- #define ANB_PH_2ND_VALUE_HIGH_SALT_MAX = 15000L
- The maximum time for the 2nd or subsequent values in high salinity.
- #define ANB_PH_2ND_VALUE_LOW_SALT = 6000L
- The minimum time for the 2nd or subsequent values in low salinity (documented new output time of 14s).
- #define ANB_PH_2ND_VALUE_LOW_SALT_MAX = 18000L
- The maximum time for the 2nd or subsequent values in low salinity (documented new output time of 14s).
- #define ANB_PH_1ST_IMMERSION_ERROR = 6000L
- The minimum time before a failure response is returned on the first measurement when the immersion sensor is not immersed. This is a guess based on testing.
- #define ANB_PH_1ST_IMMERSION_ERROR_MAX = 12000L
- The maximum time before a failure response is returned on the first measurement when the immersion sensor is not immersed. This is a guess based on testing.
- #define ANB_PH_1ST_VALUE_HIGH_SALT = 120000L
- The minimum time for the first value in high salinity (documented min time of 129s - 9s).
- #define ANB_PH_1ST_VALUE_HIGH_SALT_MAX = 248000L
- The maximum time for the first value in high salinity (documented max time of 238s for a long interval delay + 10s).
- #define ANB_PH_1ST_VALUE_LOW_SALT = 155000L
- The minimum time for the first value in low salinity (documented min time is 184s, but I got responses at 160s).
- #define ANB_PH_1ST_VALUE_LOW_SALT_MAX = 265000L
- The maximum time for the first value in low salinity (documented max time of 255s for a long interval delay + 10s).
pH
The pH variable from an ANB Sensors pH sensor
- Range is 0 to 14 pH
- Accuracy is ± 0.1 pH in low salinity water, ± 0.2 pH in high salinity water
ANBpH_ pH:: ANBpH_pH(ANBpH* parentSense,
const char* uuid = "",
const char* varCode = "ANBpHpH") explicit
Construct a new ANBpH_
Parameters | |
---|---|
parentSense | The parent ANBpH object 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 "ANBpHpH". |
- #define ANB_PH_PH_RESOLUTION = 2
- Decimals places in string representation; soil moisture should have 1.
- #define ANB_PH_PH_VAR_NUM = 0
- Sensor variable number; pH is stored in sensorValues[0].
- #define ANB_PH_PH_VAR_NAME = "pH"
- Variable name in ODM2 controlled vocabulary;.
- #define ANB_PH_PH_UNIT_NAME = "pH"
- Variable unit name in ODM2 controlled vocabulary;.
- #define ANB_PH_PH_DEFAULT_CODE = "ANBpHpH"
- Default variable short code; "ANBpHpH".
Temperature
The temperature variable from an ANB Sensors pH sensor
- Range is -5°C to +40°C
ANBpH_ Temp:: ANBpH_Temp(ANBpH* parentSense,
const char* uuid = "",
const char* varCode = "ANBpHTemp") explicit
Construct a new ANBpH_
Parameters | |
---|---|
parentSense | The parent ANBpH object 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 "ANBpHTemp". |
- #define ANB_PH_TEMP_RESOLUTION = 2
- Decimals places in string representation; temperature should have 1 - resolution is 0.01°C.
- #define ANB_PH_TEMP_VAR_NUM = 1
- Sensor variable number; temperature is stored in sensorValues[1].
- #define ANB_PH_TEMP_VAR_NAME = "temperature"
- Variable name in ODM2 controlled vocabulary; "temperature".
- #define ANB_PH_TEMP_UNIT_NAME = "degreeCelsius"
- Variable unit name in ODM2 controlled vocabulary; "degreeCelsius" (°C)
- #define ANB_PH_TEMP_DEFAULT_CODE = "ANBpHTemp"
- Default variable short code; "ANBpHTemp".
Salinity
The salinity variable from an ANB pH sensor
ANBpH_ Salinity:: ANBpH_Salinity(ANBpH* parentSense,
const char* uuid = "",
const char* varCode = "ANBpHSalinity") explicit
Construct a new ANBpH_
Parameters | |
---|---|
parentSense | The parent ANBpH object 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 "ANBpHSalinity". |
- #define ANB_PH_SALINITY_RESOLUTION = 2
- Decimals places in string representation; salinity should have 2.
- #define ANB_PH_SALINITY_VAR_NUM = 2
- Sensor variable number; salinity is stored in sensorValues[2].
- #define ANB_PH_SALINITY_VAR_NAME = "salinity"
- Variable name in ODM2 controlled vocabulary; "salinity".
- #define ANB_PH_SALINITY_UNIT_NAME = "partPerThousand"
- Variable unit name in ODM2 controlled vocabulary; "partPerThousand" (ppt or ppth)
- #define ANB_PH_SALINITY_DEFAULT_CODE = "ANBpHSalinity"
- Default variable short code; "ANBpHSalinity".
Specific Conductivity
The specific conductance variable from an ANB pH sensor
ANBpH_ SpCond:: ANBpH_SpCond(ANBpH* parentSense,
const char* uuid = "",
const char* varCode = "ANBpHSpCond") explicit
Construct a new ANBpH_
Parameters | |
---|---|
parentSense | The parent ANBpH object 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 "ANBpHSpCond". |
- #define ANB_PH_SPCOND_RESOLUTION = 2
- Decimals places in string representation; specific conductance should have 2.
- #define ANB_PH_SPCOND_VAR_NUM = 3
- Sensor variable number; specific conductance is stored in sensorValues[3].
- #define ANB_PH_SPCOND_VAR_NAME = "specificConductance"
- Variable name in ODM2 controlled vocabulary; "specificConductance".
- #define ANB_PH_SPCOND_UNIT_NAME = "millisiemenPerCentimeter"
- Variable unit name in ODM2 controlled vocabulary; "millisiemenPerCentimeter" (mS/cm)
- #define ANB_PH_SPCOND_DEFAULT_CODE = "ANBpHSpCond"
- Default variable short code; "ANBpHSpCond".
Electrical Conductivity
The raw electrical conductivity variable from an ANB pH sensor
ANBpH_ EC:: ANBpH_EC(ANBpH* parentSense,
const char* uuid = "",
const char* varCode = "ANBpHEC") explicit
Construct a new ANBpH_
Parameters | |
---|---|
parentSense | The parent ANBpH object 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 "ANBpHEC". |
- #define ANB_PH_EC_RESOLUTION = 3
- Decimals places in string representation; raw electrical conductivity should have 2.
- #define ANB_PH_EC_VAR_NUM = 4
- Sensor variable number; conductivity is stored in sensorValues[4].
- #define ANB_PH_EC_VAR_NAME = "electricalConductivity"
- Variable name in ODM2 controlled vocabulary; "electricalConductivity".
- #define ANB_PH_EC_UNIT_NAME = "millisiemenPerCentimeter"
- Variable unit name in ODM2 controlled vocabulary; "millisiemenPerCentimeter" (mS/cm)
- #define ANB_PH_EC_DEFAULT_CODE = "ANBpHEC"
- Default variable short code; "ANBpHEC".
Transducer Health Code
The health code variable from a ANB Sensors pH sensor
These codes indicate the health status of the sensor's transducer.
ANBHealthCode | Value | Explanation | Action |
---|---|---|---|
OK | 0 | Healthy Transducer | No action required |
ABRADE_SOON | 1 | Transducer will need abrading soon | - Ensure salinity setting is correct - Abrade the transducer based on scanning profile and access frequency; if accessed daily, wait until the health number reaches 2 before abrading, otherwise, abrade now for sensors not accessed for weeks/months |
ABRADE_NOW | 2 | Transducer needs abrading now | - Ensure salinity setting is correct - Abrade the transducer |
REPLACE | 3 | Transducer needs replacing | - Ensure salinity setting is correct - Replace the transducer (or transducer not immersed for sensors with serial numbers less than 300200) |
NOT_IMMERSED | 4 | Transducer is not immersed | Immerse the sensor |
NO_REFERENCE | 5 | No valid reference tracker measurement | Please wait for the next measurement |
NO_PH | 6 | No valid pH measurement | Please wait for the next measurement |
UNKNOWN | 255 | Unknown status | Reconnect with the sensor |
Transducer health details can be found here.
Detailed maintenance guidelines including how to abrade the sensor can be found here.
ANBpH_ HealthCode:: ANBpH_HealthCode(ANBpH* parentSense,
const char* uuid = "",
const char* varCode = "ANBpHHealth") explicit
Construct a new ANBpH_
Parameters | |
---|---|
parentSense | The parent ANBpH object 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 "ANBpHHealth". |
- #define ANB_PH_HEALTH_CODE_RESOLUTION = 0
- Decimals places in string representation; the health code has 0.
- #define ANB_PH_HEALTH_CODE_VAR_NUM = 5
- Sensor variable number; health code is stored in sensorValues[4].
- #define ANB_PH_HEALTH_CODE_VAR_NAME = "instrumentStatusCode"
- Variable name in ODM2 controlled vocabulary; "instrumentStatusCode".
- #define ANB_PH_HEALTH_CODE_UNIT_NAME = "dimensionless"
- Variable unit name in ODM2 controlled vocabulary; "dimensionless".
- #define ANB_PH_HEALTH_CODE_DEFAULT_CODE = "ANBpHHealth"
- Default variable short code; "ANBpHHealth".
Diagnostics Code
The diagnostics code variable from a ANB Sensors pH sensor
ANBDiagnosticCode | Value | Explanation | Action |
---|---|---|---|
OK | 0 | Healthy Sensor | None |
BATTERY_ERROR | 1 | Clock Battery Error | If there is no external power to the sensor the real time clock will not hold the programmed time - If the sensor is powered, the time set and data streamed, this failure is not an issue - If the sensor is in autonomous mode the clock will fail if disconnected from the power when it was programmed and placed on an external battery -Users can record when the sensor was first switched on (where the sensor's time will be set to 0) and calculate the times externally, or, if this is not viable, contact support@anbsensors.com |
SD_ERROR | 2 | SD Card Error | Either SD Card has been disabled or A failing in the internal data save has occurred and no new data can be saved to the internal memory - If the sensor is connected to an external communications system the sensor will continue to stream data, however no data will be saved in autonomous mode - Please contact support@anbsensors.com |
SYSTEM_ERROR | 3 | System Error | Contact support@anbsensors.com |
UNKNOWN | 255 | Unknown status | Reconnect with the sensor |
Sensor diagnostic output details can be found here.
ANBpH_ DiagnosticCode:: ANBpH_DiagnosticCode(ANBpH* parentSense,
const char* uuid = "",
const char* varCode = "ANBpHDiagnostic") explicit
Construct a new ANBpH_
Parameters | |
---|---|
parentSense | The parent ANBpH object 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 "ANBpHDiagnostic". |
- #define ANB_PH_DIAGNOSTIC_CODE_RESOLUTION = 0
- Decimals places in string representation; the diagnostic code has 0.
- #define ANB_PH_DIAGNOSTIC_CODE_VAR_NUM = 6
- Sensor variable number; diagnostic code is stored in sensorValues[4].
- #define ANB_PH_DIAGNOSTIC_CODE_VAR_NAME = "instrumentStatusCode"
- Variable name in ODM2 controlled vocabulary; "instrumentStatusCode".
- #define ANB_PH_DIAGNOSTIC_CODE_UNIT_NAME = "dimensionless"
- Variable unit name in ODM2 controlled vocabulary; "dimensionless".
- #define ANB_PH_DIAGNOSTIC_CODE_DEFAULT_CODE = "ANBpHDiagnostic"
- Default variable short code; "ANBpHDiagnostic".
Status Code
The status code variable from a ANB Sensors pH sensor
These codes indicate the current operational status of the sensor.
ANBStatusCode | Value | Explanation |
---|---|---|
SLEEPING | 0 | Sensor is idle and/or following its pre-set interval routine |
INTERVAL_SCANNING | 1 | pH will be updated when measurement completes |
CONTINUOUS_SCANNING | 2 | pH will be automatically updated as per our continuous sequence |
UNKNOWN | 255 | Unknown status; no response from the sensor |
Sensor status code documentation is available here.
ANBpH_ StatusCode:: ANBpH_StatusCode(ANBpH* parentSense,
const char* uuid = "",
const char* varCode = "ANBpHStatus") explicit
Construct a new ANBpH_
Parameters | |
---|---|
parentSense | The parent ANBpH object 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 "ANBpHStatus". |
- #define ANB_PH_STATUS_CODE_RESOLUTION = 0
- Decimals places in string representation; the error code has 0.
- #define ANB_PH_STATUS_CODE_VAR_NUM = 7
- Sensor variable number; error code is stored in sensorValues[4].
- #define ANB_PH_STATUS_CODE_VAR_NAME = "instrumentStatusCode"
- Variable name in ODM2 controlled vocabulary; "instrumentStatusCode".
- #define ANB_PH_STATUS_CODE_UNIT_NAME = "dimensionless"
- Variable unit name in ODM2 controlled vocabulary; "dimensionless".
- #define ANB_PH_STATUS_CODE_DEFAULT_CODE = "ANBpHStatus"
- Default variable short code; "ANBpHStatus".
Define documentation
#define ANB_PH_MINIMUM_REQUEST_SPACING = 250
#include <src/sensors/ANBpH.h>
The minimum spacing between requesting responses from the sensor.
This is used to prevent flooding the sensor with requests.
#define ANB_PH_NUM_VARIABLES = 8
#include <src/sensors/ANBpH.h>
Sensor::
#define ANB_PH_INC_CALC_VARIABLES = 0
#include <src/sensors/ANBpH.h>
Sensor::
#define ANB_PH_WARM_UP_TIME_MS = 5400L
#include <src/sensors/ANBpH.h>
Sensor::
This is the time for communication to begin.
#define ANB_PH_WARM_UP_TIME_MAX = 10000L
#include <src/sensors/ANBpH.h>
The maximum time to wait for a modbus response.
#define ANB_PH_STABILIZATION_TIME_MS = 50
#include <src/sensors/ANBpH.h>
Sensor::
#define ANB_PH_STABILIZATION_TIME_MAX = 5000L
#include <src/sensors/ANBpH.h>
The maximum time to wait for ready to measure.
#define ANB_PH_2ND_IMMERSION_ERROR = 4000L
#include <src/sensors/ANBpH.h>
The minimum time before a failure response is returned on the 2nd or subsequent value when the immersion sensor is not immersed. This is a guess based on testing.
#define ANB_PH_2ND_IMMERSION_ERROR_MAX = 12000L
#include <src/sensors/ANBpH.h>
The minimum time before a failure response is returned on the 2nd or subsequent value when the immersion sensor is not immersed. This is a guess based on testing.
#define ANB_PH_2ND_VALUE_HIGH_SALT = 5000L
#include <src/sensors/ANBpH.h>
The minimum time for the 2nd or subsequent values in high salinity (documented new output time of 10.5s)
#define ANB_PH_2ND_VALUE_HIGH_SALT_MAX = 15000L
#include <src/sensors/ANBpH.h>
The maximum time for the 2nd or subsequent values in high salinity.
#define ANB_PH_2ND_VALUE_LOW_SALT = 6000L
#include <src/sensors/ANBpH.h>
The minimum time for the 2nd or subsequent values in low salinity (documented new output time of 14s).
#define ANB_PH_2ND_VALUE_LOW_SALT_MAX = 18000L
#include <src/sensors/ANBpH.h>
The maximum time for the 2nd or subsequent values in low salinity (documented new output time of 14s).
#define ANB_PH_1ST_IMMERSION_ERROR = 6000L
#include <src/sensors/ANBpH.h>
The minimum time before a failure response is returned on the first measurement when the immersion sensor is not immersed. This is a guess based on testing.
#define ANB_PH_1ST_IMMERSION_ERROR_MAX = 12000L
#include <src/sensors/ANBpH.h>
The maximum time before a failure response is returned on the first measurement when the immersion sensor is not immersed. This is a guess based on testing.
#define ANB_PH_1ST_VALUE_HIGH_SALT = 120000L
#include <src/sensors/ANBpH.h>
The minimum time for the first value in high salinity (documented min time of 129s - 9s).
#define ANB_PH_1ST_VALUE_HIGH_SALT_MAX = 248000L
#include <src/sensors/ANBpH.h>
The maximum time for the first value in high salinity (documented max time of 238s for a long interval delay + 10s).
#define ANB_PH_1ST_VALUE_LOW_SALT = 155000L
#include <src/sensors/ANBpH.h>
The minimum time for the first value in low salinity (documented min time is 184s, but I got responses at 160s).
#define ANB_PH_1ST_VALUE_LOW_SALT_MAX = 265000L
#include <src/sensors/ANBpH.h>
The maximum time for the first value in low salinity (documented max time of 255s for a long interval delay + 10s).
#define ANB_PH_PH_RESOLUTION = 2
#include <src/sensors/ANBpH.h>
Decimals places in string representation; soil moisture should have 1.
- resolution is 0.01.
#define ANB_PH_PH_VAR_NUM = 0
#include <src/sensors/ANBpH.h>
Sensor variable number; pH is stored in sensorValues[0].
#define ANB_PH_PH_VAR_NAME = "pH"
#include <src/sensors/ANBpH.h>
Variable name in ODM2 controlled vocabulary;.
#define ANB_PH_PH_UNIT_NAME = "pH"
#include <src/sensors/ANBpH.h>
Variable unit name in ODM2 controlled vocabulary;.
#define ANB_PH_PH_DEFAULT_CODE = "ANBpHpH"
#include <src/sensors/ANBpH.h>
Default variable short code; "ANBpHpH".
#define ANB_PH_TEMP_RESOLUTION = 2
#include <src/sensors/ANBpH.h>
Decimals places in string representation; temperature should have 1 - resolution is 0.01°C.
#define ANB_PH_TEMP_VAR_NUM = 1
#include <src/sensors/ANBpH.h>
Sensor variable number; temperature is stored in sensorValues[1].
#define ANB_PH_TEMP_VAR_NAME = "temperature"
#include <src/sensors/ANBpH.h>
Variable name in ODM2 controlled vocabulary; "temperature".
#define ANB_PH_TEMP_UNIT_NAME = "degreeCelsius"
#include <src/sensors/ANBpH.h>
Variable unit name in ODM2 controlled vocabulary; "degreeCelsius" (°C)
#define ANB_PH_TEMP_DEFAULT_CODE = "ANBpHTemp"
#include <src/sensors/ANBpH.h>
Default variable short code; "ANBpHTemp".
#define ANB_PH_SALINITY_RESOLUTION = 2
#include <src/sensors/ANBpH.h>
Decimals places in string representation; salinity should have 2.
#define ANB_PH_SALINITY_VAR_NUM = 2
#include <src/sensors/ANBpH.h>
Sensor variable number; salinity is stored in sensorValues[2].
#define ANB_PH_SALINITY_VAR_NAME = "salinity"
#include <src/sensors/ANBpH.h>
Variable name in ODM2 controlled vocabulary; "salinity".
#define ANB_PH_SALINITY_UNIT_NAME = "partPerThousand"
#include <src/sensors/ANBpH.h>
Variable unit name in ODM2 controlled vocabulary; "partPerThousand" (ppt or ppth)
#define ANB_PH_SALINITY_DEFAULT_CODE = "ANBpHSalinity"
#include <src/sensors/ANBpH.h>
Default variable short code; "ANBpHSalinity".
#define ANB_PH_SPCOND_RESOLUTION = 2
#include <src/sensors/ANBpH.h>
Decimals places in string representation; specific conductance should have 2.
#define ANB_PH_SPCOND_VAR_NUM = 3
#include <src/sensors/ANBpH.h>
Sensor variable number; specific conductance is stored in sensorValues[3].
#define ANB_PH_SPCOND_VAR_NAME = "specificConductance"
#include <src/sensors/ANBpH.h>
Variable name in ODM2 controlled vocabulary; "specificConductance".
#define ANB_PH_SPCOND_UNIT_NAME = "millisiemenPerCentimeter"
#include <src/sensors/ANBpH.h>
Variable unit name in ODM2 controlled vocabulary; "millisiemenPerCentimeter" (mS/cm)
#define ANB_PH_SPCOND_DEFAULT_CODE = "ANBpHSpCond"
#include <src/sensors/ANBpH.h>
Default variable short code; "ANBpHSpCond".
#define ANB_PH_EC_RESOLUTION = 3
#include <src/sensors/ANBpH.h>
Decimals places in string representation; raw electrical conductivity should have 2.
#define ANB_PH_EC_VAR_NUM = 4
#include <src/sensors/ANBpH.h>
Sensor variable number; conductivity is stored in sensorValues[4].
#define ANB_PH_EC_VAR_NAME = "electricalConductivity"
#include <src/sensors/ANBpH.h>
Variable name in ODM2 controlled vocabulary; "electricalConductivity".
#define ANB_PH_EC_UNIT_NAME = "millisiemenPerCentimeter"
#include <src/sensors/ANBpH.h>
Variable unit name in ODM2 controlled vocabulary; "millisiemenPerCentimeter" (mS/cm)
#define ANB_PH_EC_DEFAULT_CODE = "ANBpHEC"
#include <src/sensors/ANBpH.h>
Default variable short code; "ANBpHEC".
#define ANB_PH_HEALTH_CODE_RESOLUTION = 0
#include <src/sensors/ANBpH.h>
Decimals places in string representation; the health code has 0.
#define ANB_PH_HEALTH_CODE_VAR_NUM = 5
#include <src/sensors/ANBpH.h>
Sensor variable number; health code is stored in sensorValues[4].
#define ANB_PH_HEALTH_CODE_VAR_NAME = "instrumentStatusCode"
#include <src/sensors/ANBpH.h>
Variable name in ODM2 controlled vocabulary; "instrumentStatusCode".
#define ANB_PH_HEALTH_CODE_UNIT_NAME = "dimensionless"
#include <src/sensors/ANBpH.h>
Variable unit name in ODM2 controlled vocabulary; "dimensionless".
#define ANB_PH_HEALTH_CODE_DEFAULT_CODE = "ANBpHHealth"
#include <src/sensors/ANBpH.h>
Default variable short code; "ANBpHHealth".
#define ANB_PH_DIAGNOSTIC_CODE_RESOLUTION = 0
#include <src/sensors/ANBpH.h>
Decimals places in string representation; the diagnostic code has 0.
#define ANB_PH_DIAGNOSTIC_CODE_VAR_NUM = 6
#include <src/sensors/ANBpH.h>
Sensor variable number; diagnostic code is stored in sensorValues[4].
#define ANB_PH_DIAGNOSTIC_CODE_VAR_NAME = "instrumentStatusCode"
#include <src/sensors/ANBpH.h>
Variable name in ODM2 controlled vocabulary; "instrumentStatusCode".
#define ANB_PH_DIAGNOSTIC_CODE_UNIT_NAME = "dimensionless"
#include <src/sensors/ANBpH.h>
Variable unit name in ODM2 controlled vocabulary; "dimensionless".
#define ANB_PH_DIAGNOSTIC_CODE_DEFAULT_CODE = "ANBpHDiagnostic"
#include <src/sensors/ANBpH.h>
Default variable short code; "ANBpHDiagnostic".
#define ANB_PH_STATUS_CODE_RESOLUTION = 0
#include <src/sensors/ANBpH.h>
Decimals places in string representation; the error code has 0.
#define ANB_PH_STATUS_CODE_VAR_NUM = 7
#include <src/sensors/ANBpH.h>
Sensor variable number; error code is stored in sensorValues[4].
#define ANB_PH_STATUS_CODE_VAR_NAME = "instrumentStatusCode"
#include <src/sensors/ANBpH.h>
Variable name in ODM2 controlled vocabulary; "instrumentStatusCode".
#define ANB_PH_STATUS_CODE_UNIT_NAME = "dimensionless"
#include <src/sensors/ANBpH.h>
Variable unit name in ODM2 controlled vocabulary; "dimensionless".
#define ANB_PH_STATUS_CODE_DEFAULT_CODE = "ANBpHStatus"
#include <src/sensors/ANBpH.h>
Default variable short code; "ANBpHStatus".