Section 7.  Installation 
 
 
7.7.14.2.2  SDI-12 Extended Command Support 
SDI12Recorder() sends any string enclosed in quotation marks in the Command 
parameter.    If the command string is a non-standard SDI-12 command, any 
response is captured into the variable assigned to the Destination parameter, so 
long as that variable is declared As String.  CRBasic example Use of an SDI-12 
Extended Command
 (p. 253) shows appropriate code for sending an extended SDI-
12 command and receiving the response.    The extended command feature has no 
built-in provision for responding with follow-up commands.    However, the 
program can be coded to parse the response and issue subsequent SDI-12 
commands based on a customized evaluation of the response.    See Serial I/O 
Input Programming Basics 
(p. 286). 
 
 
 Using an SDI-12 Extended Command 
'This program example demonstrates the use of SDI-12 extended commands.  In this example, 
'a temperature measurement, tt.tt, is sent to a CH200 Charging Regulator using the command 
'XTtt.tt!'.  The response from the CH200 should be '0OK', if 0 is the SDI-12 address. 
' 
'Declare Variables 
Public PTemp As Float 
Public SDI12command As String 
Public SDI12result As String 
'Main Program 
BeginProg 
 Scan(20,Sec,3,0) 
 PanelTemp(PTemp,250) 
 SDI12command = "XT" & FormatFloat(PTemp,"%4.2f") & "!" 
 SDI12Recorder(SDI12result,1,0,SDI12command,1.0,0) 
 NextScan 
 
 
7.7.14.3 SDI-12 Sensor Mode 
The CR800 can be programmed to act as an SDI-12 recording device or as an 
SDI-12 sensor. 
For troubleshooting purposes, responses to SDI-12 commands can be captured in 
programmed mode by placing a variable declared As String in the variable 
parameter. Variables not declared As String will capture only numeric data. 
Another troubleshooting tool is the terminal-mode snoop utility, which allows 
monitoring of SDI-12 traffic. Enter terminal mode as described in SDI-12 
Transparent Mode
 (p. 240), issue CRLF (<Enter> key) until CR800> prompt 
appears. Type W and then <Enter>. Type 9 in answer to Select:, 100 in answer to 
Enter timeout (secs):, Y to ASCII (Y)?. SDI-12 communications are then 
opened for viewing. 
The SDI12SensorSetup() / SDI12SensorResponse() instruction pair programs 
the CR800 to behave as an SDI-12 sensor.    A common use of this feature is the 
transfer of data from the CR800 to other Campbell Scientific dataloggers over a 
single-wire interface (terminal configured for SDI-12 to terminal configured for 
SDI-12), or to transfer data to a third-party SDI-12 recorder.