Specifications

Section 11. Programming Resource Library
11-23
nn = the number of values will be returned in one or more subsequent D
commands
The difference between the two commands is with what happens after the
response is returned to the logger. When running CRBASIC code, with the
standard M[v] command, the datalogger pauses its operations until the time
“ttt” expires, after which it immediately polls the sensor for those values, and
then continues with the remainder of its program. With the C[v] command, the
datalogger continues with its program without pausing, and queries the sensor
for its values on subsequent passes through its program (i.e., those that occur
after the time “ttt” expires). The datalogger immediately issues another C[v]
command to request a measurement, data from which will be requested on the
next scan. Note that these subsequent scans should be rapid enough that the
sensor is still holding those values in its registers before the sensor times out
and discards the data. This “time out” period is fixed by the sensor
manufacturer. In normal operations of the logger, for either measurement
command set, the datalogger issues the subsequent aD0! send data request,
without the user needing to request it. In transparent mode, however, the send
data command will need to be issued to see the values returned. The send data
command is discussed more fully below.
11.3.4.1 Start Measurement Command
The command body that tells a sensor to make measurements is in the form
M[v]. The [v] is an optional number, between 1 and 9, and if supported by the
sensor’s manufacturer will give variants of the basic measurement instruction.
Variants might include a way to change the units that the values are reported
(e.g., English standard to metric), or perhaps additional values (level and
temperature), or maybe a diagnostic of the sensor’s internal battery’s
condition. As mentioned before the response is in the form of “atttnn”.
An example of the entire syntax, for a sensor with the address of 5, might be:
5M! 500410
The response (“atttnn”) indicates that address 5 will have data ready in 4
seconds, and will report 10 values.
Using a variation of the measurement command might be 5M7! 500201 For
this hypothetical sensor, with [v] = 7, the sensor returns its internal battery
voltage. The response could be read as “address 5 will have data ready in 2
seconds, reporting one value.”
11.3.4.2 Start Concurrent Measurement Command
This command is new to Version 1.2 or higher of the SDI-12 Specification.
Older sensors, older loggers, or new sensors that do not meet v1.2
specifications will likely not support this command
The command body is C[v]. The interpretation of “v” is the same as in the
standard measurement command.
After retrieving data from a previous C! command whose timeout for getting
data has expired, the CR1000 will immediately issue another C! command
instead of waiting to do so in the next scan. By doing so, if the sensor timeout
is < the datalogger's scan interval, the C! command will be able to retrieve data