SDI12ResponseLimits struct

Normative size limits for SDI-12 data responses.

From SDI-12 Protocol v1.4, Section 4.4 SDI-12 Commands and Responses:

The maximum number of characters that can be returned in the [values] part of the response to a D command is either 35 or 75. If the D command is issued to retrieve data in response to a concurrent measurement command, or in response to a high-volume ASCII measurement command, the maximum is 75. The maximum is also 75 in response to a continuous measurement command. Otherwise, the maximum is 35.

The entire time for a typical response to be transmitted by a sensor is approximately 380 milliseconds. For a high-volume ASCII response, the time stretches out to 780ms, or 810ms if a CRC is included.

From SDI-12 Protocol v1.4, Table 11 The send data command (aD0!, aD1! . . . aD9!):

  • the maximum number of digits for a data value is 7, even without a decimal point
  • the minimum number of digits for a data value (excluding the decimal point) is 1
  • the maximum number of characters in a data value is 9 (the (polarity sign + 7 digits + the decimal point))
  • SRGD Note: The polarity symbol (+ or -) acts as a delimeter between the numeric values

Public types

enum (anonymous): uint16_t { kValueMaxCharacters = 9U, kStandardValuesMaxCharacters = 35U, kExtendedValuesMaxCharacters = 75U, kBinaryDataMaxBytes = 1000U }

Enum documentation

enum SDI12ResponseLimits::(anonymous): uint16_t

Enumerators
kValueMaxCharacters

Maximum characters in one data value, including sign and decimal point.

kStandardValuesMaxCharacters

Maximum characters in the values portion of a standard data response.

kExtendedValuesMaxCharacters

Maximum characters in the values portion of a concurrent or high-volume ASCII data response.

kBinaryDataMaxBytes

The maximum number of bytes in a high volume binary data (aDB#!) request response.

This does not include the 1 byte address, 2 byte packet size, 1 byte data type, and 2 byte CRC. A high volume binary data response does not end with a CR+LF.

Including the extra characters, the maximum transmission time for a high volume binary data response is approximately 10.1 seconds.