Fixed startup bug where the driver complains of \ instead of spaces after braces.

r2904 | ffr | 2010-04-30 18:53:17 +1000 (Fri, 30 Apr 2010) | 2 lines
This commit is contained in:
Ferdi Franceschini
2010-04-30 18:53:17 +10:00
committed by Douglas Clowes
parent 1ceb1c7a7e
commit 0ce2db7bac

View File

@@ -285,7 +285,7 @@ proc getValue {tc_root nextState cmd idx} {
# INTYPE? and INSET? commands, respectively, and with the LS336 not having
# the INSET? command
set mustUpdate 0
if { 0 == [string compare -length 3 $::scobj::ls3xx::ls3xx_LSmodel "336"] \
if { 0 == [string compare -length 3 $::scobj::ls3xx::ls3xx_LSmodel "336"]
&& 0 == [string compare -length 7 $::scobj::ls3xx::ls3xx_lastQueryCmd "INTYPE?"] } {
set mustUpdate 1
}
@@ -1788,107 +1788,107 @@ proc createNode {scobj_hpath sct_controller cmdGroup varName readable writable\
# wrCmd actual device write command to be sent to the device
# wrFunc Function to be called to send the wrCmd to the device, typically setValue()
# allowedValues allowed values for the node data - does not permit other
set deviceCommandToplevel {\
sensor sampleSensor 0 1 0 0 1 1 1 text user {CSET? 1} {rdValue} {InpSample } {setPseudoValue} {A,B,C,D}\
sensor Tsample 1 0 0 0 1 1 1 float spy {KRDG? A} {rdValue} {} {setValue} {}\
sensor ctrl_Loop_1 1 0 0 0 1 1 1 text user {CSET? 1} {rdValue} {} {setValue} {}\
sensor ctrlLp1_value 1 0 0 0 1 1 1 float spy {KRDG? A} {rdValue} {} {setValue} {}\
sensor setpoint1 1 1 1 1 1 1 1 float user {SETP? 1} {rdValue} {SETP 1,} {setPoint} {}\
sensor ctrl_Loop_2 1 0 0 0 2 1 1 text user {CSET? 2} {rdValue} {} {setValue} {}\
sensor ctrlLp2_value 1 0 0 0 2 1 1 float spy {KRDG? B} {rdValue} {} {setValue} {}\
sensor setpoint2 1 1 1 1 2 1 1 float user {SETP? 2} {rdValue} {SETP 2,} {setPoint} {}\
sensor ctrl_Loop_3 1 0 0 0 3 0 1 text user {CSET? 3} {rdValue} {} {setValue} {}\
sensor ctrlLp3_value 1 0 0 0 3 0 1 float spy {KRDG? C} {rdValue} {} {setValue} {}\
sensor setpoint3 1 1 1 1 3 0 1 float user {SETP? 3} {rdValue} {SETP 3,} {setPoint} {}\
sensor ctrl_Loop_4 1 0 0 0 4 0 1 text user {CSET? 4} {rdValue} {} {setValue} {}\
sensor ctrlLp4_value 1 0 0 0 4 0 1 float spy {KRDG? D} {rdValue} {} {setValue} {}\
sensor setpoint4 1 1 1 1 4 0 1 float user {SETP? 4} {rdValue} {SETP 4,} {setPoint} {}\
sensor sensorValueA 1 0 1 0 A 1 1 float spy {KRDG? A} {rdInpValue} {} {setValue} {}\
sensor sensorValueB 1 0 1 0 B 1 1 float spy {KRDG? B} {rdInpValue} {} {setValue} {}\
sensor sensorValueC 1 0 1 0 C 1 1 float spy {KRDG? C} {rdInpValue} {} {setValue} {}\
sensor sensorValueD 1 0 1 0 D 1 1 float spy {KRDG? D} {rdInpValue} {} {setValue} {}\
sensor timStamp 1 0 0 0 0 1 0 int user {DATETIME?} {rdValue} {} {setValue} {}\
set deviceCommandToplevel {
sensor sampleSensor 0 1 0 0 1 1 1 text user {CSET? 1} {rdValue} {InpSample } {setPseudoValue} {A,B,C,D}
sensor Tsample 1 0 0 0 1 1 1 float spy {KRDG? A} {rdValue} {} {setValue} {}
sensor ctrl_Loop_1 1 0 0 0 1 1 1 text user {CSET? 1} {rdValue} {} {setValue} {}
sensor ctrlLp1_value 1 0 0 0 1 1 1 float spy {KRDG? A} {rdValue} {} {setValue} {}
sensor setpoint1 1 1 1 1 1 1 1 float user {SETP? 1} {rdValue} {SETP 1,} {setPoint} {}
sensor ctrl_Loop_2 1 0 0 0 2 1 1 text user {CSET? 2} {rdValue} {} {setValue} {}
sensor ctrlLp2_value 1 0 0 0 2 1 1 float spy {KRDG? B} {rdValue} {} {setValue} {}
sensor setpoint2 1 1 1 1 2 1 1 float user {SETP? 2} {rdValue} {SETP 2,} {setPoint} {}
sensor ctrl_Loop_3 1 0 0 0 3 0 1 text user {CSET? 3} {rdValue} {} {setValue} {}
sensor ctrlLp3_value 1 0 0 0 3 0 1 float spy {KRDG? C} {rdValue} {} {setValue} {}
sensor setpoint3 1 1 1 1 3 0 1 float user {SETP? 3} {rdValue} {SETP 3,} {setPoint} {}
sensor ctrl_Loop_4 1 0 0 0 4 0 1 text user {CSET? 4} {rdValue} {} {setValue} {}
sensor ctrlLp4_value 1 0 0 0 4 0 1 float spy {KRDG? D} {rdValue} {} {setValue} {}
sensor setpoint4 1 1 1 1 4 0 1 float user {SETP? 4} {rdValue} {SETP 4,} {setPoint} {}
sensor sensorValueA 1 0 1 0 A 1 1 float spy {KRDG? A} {rdInpValue} {} {setValue} {}
sensor sensorValueB 1 0 1 0 B 1 1 float spy {KRDG? B} {rdInpValue} {} {setValue} {}
sensor sensorValueC 1 0 1 0 C 1 1 float spy {KRDG? C} {rdInpValue} {} {setValue} {}
sensor sensorValueD 1 0 1 0 D 1 1 float spy {KRDG? D} {rdInpValue} {} {setValue} {}
sensor timStamp 1 0 0 0 0 1 0 int user {DATETIME?} {rdValue} {} {setValue} {}
}
set deviceCommand {\
input alarm_Limits_A 1 1 1 0 A 1 1 text spy {ALARM? A} {rdAlarmVal} {ALARM A,} {setValue} {}\
input alarm_Limits_B 1 1 1 0 B 1 1 text spy {ALARM? B} {rdAlarmVal} {ALARM B,} {setValue} {}\
input alarm_Limits_C 1 1 1 0 C 1 1 text spy {ALARM? C} {rdAlarmVal} {ALARM C,} {setValue} {}\
input alarm_Limits_D 1 1 1 0 D 1 1 text spy {ALARM? D} {rdAlarmVal} {ALARM D,} {setValue} {}\
input alarmStatusA 1 0 1 0 A 1 1 text spy {ALARMST? A} {rdValue} {} {setValue} {}\
input alarmStatusB 1 0 1 0 B 1 1 text spy {ALARMST? B} {rdValue} {} {setValue} {}\
input alarmStatusC 1 0 1 0 C 1 1 text spy {ALARMST? C} {rdValue} {} {setValue} {}\
input alarmStatusD 1 0 1 0 D 1 1 text spy {ALARMST? D} {rdValue} {} {setValue} {}\
input inpSetup_A 1 1 1 0 A 1 0 text user {INSET? A} {rdValue} {INSET A,} {setValue} {}\
input inpSetup_B 1 1 1 0 B 1 0 text user {INSET? B} {rdValue} {INSET B,} {setValue} {}\
input inpSetup_C 1 1 1 0 C 1 0 text user {INSET? C} {rdValue} {INSET C,} {setValue} {}\
input inpSetup_D 1 1 1 0 D 1 0 text user {INSET? D} {rdValue} {INSET D,} {setValue} {}\
input inpCalCurve_A 1 1 1 0 A 1 1 int user {INCRV? A} {rdCrvValue} {INCRV A,} {setValue} {}\
input calCurveHdr_A 1 0 1 0 A 1 1 text user {CRVHDR? } {rdValue} {} {setValue} {}\
input inpCalCurve_B 1 1 1 0 B 1 1 int user {INCRV? B} {rdCrvValue} {INCRV B,} {setValue} {}\
input calCurveHdr_B 1 0 1 0 B 1 1 text user {CRVHDR? } {rdValue} {} {setValue} {}\
input inpCalCurve_C 1 1 1 0 C 1 1 int user {INCRV? C} {rdCrvValue} {INCRV C,} {setValue} {}\
input calCurveHdr_C 1 0 1 0 C 1 1 text user {CRVHDR? } {rdValue} {} {setValue} {}\
input inpCalCurve_D 1 1 1 0 D 1 1 int user {INCRV? D} {rdCrvValue} {INCRV D,} {setValue} {}\
input calCurveHdr_D 1 0 1 0 D 1 1 text user {CRVHDR? } {rdValue} {} {setValue} {}\
input sensorTypeA 1 1 1 0 A 1 0 text user {INTYPE? A} {rdValue} {INTYPE A,} {setValue} {}\
input sensorTypeB 1 1 1 0 B 1 0 text user {INTYPE? B} {rdValue} {INTYPE B,} {setValue} {}\
input sensorTypeC 1 1 1 0 C 1 0 text user {INTYPE? C} {rdValue} {INTYPE C,} {setValue} {}\
input sensorTypeD 1 1 1 0 D 1 0 text user {INTYPE? D} {rdValue} {INTYPE D,} {setValue} {}\
input inputTypeA 1 1 1 0 A 0 1 text user {INTYPE? A} {rdValue} {INTYPE A,} {setValue} {}\
input inputTypeB 1 1 1 0 B 0 1 text user {INTYPE? B} {rdValue} {INTYPE B,} {setValue} {}\
input inputTypeC 1 1 1 0 C 0 1 text user {INTYPE? C} {rdValue} {INTYPE C,} {setValue} {}\
input inputTypeD 1 1 1 0 D 0 1 text user {INTYPE? D} {rdValue} {INTYPE D,} {setValue} {}\
input minMaxInpFuncA 1 0 1 0 A 1 0 int user {MNMX? A} {rdValue} {} {setValue} {}\
input minMaxInpFuncB 1 0 1 0 B 1 0 int user {MNMX? B} {rdValue} {} {setValue} {}\
input minMaxInpFuncC 1 0 1 0 C 1 0 int user {MNMX? C} {rdValue} {} {setValue} {}\
input minMaxInpFuncD 1 0 1 0 D 1 0 int user {MNMX? D} {rdValue} {} {setValue} {}\
input sensorStatusA 1 0 1 0 A 1 1 int spy {RDGST? A} {rdBitValue} {} {setValue} {}\
input sensorStatusB 1 0 1 0 B 1 1 int spy {RDGST? B} {rdBitValue} {} {setValue} {}\
input sensorStatusC 1 0 1 0 C 1 1 int spy {RDGST? C} {rdBitValue} {} {setValue} {}\
input sensorStatusD 1 0 1 0 D 1 1 int spy {RDGST? D} {rdBitValue} {} {setValue} {}\
control config_Loop_1 1 1 1 0 1 1 0 text user {CSET? 1} {rdCfgValue} {CSET 1,} {setValue} {}\
control config_Loop_2 1 1 1 0 2 1 0 text user {CSET? 2} {rdCfgValue} {CSET 2,} {setValue} {}\
control ctrl_Limit_1 1 1 1 0 1 1 0 text user {CLIMIT? 1} {rdValue} {CLIMIT 1,} {setValue} {}\
control ctrl_Limit_2 1 1 1 0 2 1 0 text user {CLIMIT? 2} {rdValue} {CLIMIT 2,} {setValue} {}\
control ctrl_Mode_1 1 1 1 0 1 1 0 int user {CMODE? 1} {rdValue} {CMODE 1,} {setValue} {}\
control ctrl_Mode_2 1 1 1 0 2 1 0 int user {CMODE? 2} {rdValue} {CMODE 2,} {setValue} {}\
control outMode_1 1 1 1 0 1 0 1 text user {OUTMODE? 1} {rdCfgValue} {OUTMODE 1,} {setValue} {}\
control outMode_2 1 1 1 0 2 0 1 text user {OUTMODE? 2} {rdCfgValue} {OUTMODE 2,} {setValue} {}\
control outMode_3 1 1 1 0 3 0 1 text user {OUTMODE? 3} {rdCfgValue} {OUTMODE 3,} {setValue} {}\
control outMode_4 1 1 1 0 4 0 1 text user {OUTMODE? 4} {rdCfgValue} {OUTMODE 4,} {setValue} {}\
control manualOut_1 1 1 1 0 1 1 1 text user {MOUT? 1} {rdValue} {MOUT 1,} {setValue} {}\
control manualOut_2 1 1 1 0 2 1 1 text user {MOUT? 2} {rdValue} {MOUT 2,} {setValue} {}\
control manualOut_3 1 1 1 0 3 0 1 text user {MOUT? 3} {rdValue} {MOUT 3,} {setValue} {}\
control manualOut_4 1 1 1 0 4 0 1 text user {MOUT? 4} {rdValue} {MOUT 4,} {setValue} {}\
control pid_Loop_1 1 1 1 0 1 1 1 text user {PID? 1} {rdValue} {PID 1,} {setValue} {}\
control pid_Loop_2 1 1 1 0 2 1 1 text user {PID? 2} {rdValue} {PID 2,} {setValue} {}\
control ramp_Loop_1 1 1 1 0 1 1 1 text user {RAMP? 1} {rdValue} {RAMP 1,} {setValue} {}\
control ramp_Loop_2 1 1 1 0 2 1 1 text user {RAMP? 2} {rdValue} {RAMP 2,} {setValue} {}\
control rampStatus_Loop_1 1 0 1 0 1 1 1 int spy {RAMPST? 1} {rdValue} {} {setValue} {}\
control rampStatus_Loop_2 1 0 1 0 2 1 1 int spy {RAMPST? 2} {rdValue} {} {setValue} {}\
control settleThr_Loop_1 1 1 1 0 1 1 0 float user {SETTLE?} {rdValue} {SETTLE } {setValue} {}\
control settleTime_Loop_1 1 1 1 0 1 1 0 int user {SETTLE?} {rdValue} {SETTLE ,} {setValue} {}\
heater heaterOutpPercent 1 1 1 0 0 1 0 float user {HTR?} {rdValue} {} {setValue} {}\
heater heaterOutput_1 1 1 1 0 1 0 1 float user {HTR? 1} {rdValue} {} {setValue} {}\
heater heaterOutput_2 1 1 1 0 2 0 1 float user {HTR? 2} {rdValue} {} {setValue} {}\
heater heaterStatus 1 0 1 0 0 1 0 int spy {HTRST?} {rdValue} {} {setValue} {}\
heater heaterStatus_1 1 0 1 0 1 0 1 int spy {HTRST? 1} {rdValue} {} {setValue} {}\
heater heaterStatus_2 1 0 1 0 2 0 1 int spy {HTRST? 2} {rdValue} {} {setValue} {}\
heater heaterRange 1 1 1 0 0 1 0 int user {RANGE?} {rdValue} {RANGE } {setValue} {0,1,2,3,4,5}\
heater heaterRange_1 1 1 1 0 0 0 1 int user {RANGE? 1} {rdValue} {RANGE 1,} {setValue} {0,1,2,3}\
heater heaterRange_2 1 1 1 0 0 0 1 int user {RANGE? 2} {rdValue} {RANGE 2,} {setValue} {0,1,2,3}\
heater heaterRange_3 1 1 1 0 0 0 1 int user {RANGE? 3} {rdValue} {RANGE 3,} {setValue} {0,1}\
heater heaterRange_4 1 1 1 0 0 0 1 int user {RANGE? 4} {rdValue} {RANGE 4,} {setValue} {0,1}\
other dateTime 1 1 1 0 0 1 0 text user {DATETIME?} {rdValue} {DATETIME } {setValue} {}\
other device_busy 1 0 1 0 0 1 0 int spy {BUSY?} {rdValue} {} {setValue} {}\
other cfgProtocol_comm 1 1 0 0 0 1 0 text user {COMM?} {rdValue} {COMM } {setValue} {}\
other deviceID_idn 1 0 1 0 0 1 1 text spy {*IDN?} {inTolerance} {} {setValue} {}\
other selftest 1 0 0 0 0 1 1 int user {*TST?} {rdValue} {} {setValue} {}\
other relayStatusHi 1 0 1 0 1 1 1 int spy {RELAYST? 1} {rdValue} {} {setValue} {}\
other relayStatusLo 1 0 1 0 2 1 1 int spy {RELAYST? 2} {rdValue} {} {setValue} {}\
other relayCtrlParmHi 1 1 1 0 0 1 1 int spy {RELAY? 1} {rdValue} {RELAY 1,} {setValue} {}\
other relayCtrlParmLo 1 1 1 0 0 1 1 int spy {RELAY? 2} {rdValue} {RELAY 2,} {setValue} {}\
other statusByte 1 0 1 0 0 1 1 int spy {*STB?} {rdValue} {} {setValue} {}\
set deviceCommand {
input alarm_Limits_A 1 1 1 0 A 1 1 text spy {ALARM? A} {rdAlarmVal} {ALARM A,} {setValue} {}
input alarm_Limits_B 1 1 1 0 B 1 1 text spy {ALARM? B} {rdAlarmVal} {ALARM B,} {setValue} {}
input alarm_Limits_C 1 1 1 0 C 1 1 text spy {ALARM? C} {rdAlarmVal} {ALARM C,} {setValue} {}
input alarm_Limits_D 1 1 1 0 D 1 1 text spy {ALARM? D} {rdAlarmVal} {ALARM D,} {setValue} {}
input alarmStatusA 1 0 1 0 A 1 1 text spy {ALARMST? A} {rdValue} {} {setValue} {}
input alarmStatusB 1 0 1 0 B 1 1 text spy {ALARMST? B} {rdValue} {} {setValue} {}
input alarmStatusC 1 0 1 0 C 1 1 text spy {ALARMST? C} {rdValue} {} {setValue} {}
input alarmStatusD 1 0 1 0 D 1 1 text spy {ALARMST? D} {rdValue} {} {setValue} {}
input inpSetup_A 1 1 1 0 A 1 0 text user {INSET? A} {rdValue} {INSET A,} {setValue} {}
input inpSetup_B 1 1 1 0 B 1 0 text user {INSET? B} {rdValue} {INSET B,} {setValue} {}
input inpSetup_C 1 1 1 0 C 1 0 text user {INSET? C} {rdValue} {INSET C,} {setValue} {}
input inpSetup_D 1 1 1 0 D 1 0 text user {INSET? D} {rdValue} {INSET D,} {setValue} {}
input inpCalCurve_A 1 1 1 0 A 1 1 int user {INCRV? A} {rdCrvValue} {INCRV A,} {setValue} {}
input calCurveHdr_A 1 0 1 0 A 1 1 text user {CRVHDR? } {rdValue} {} {setValue} {}
input inpCalCurve_B 1 1 1 0 B 1 1 int user {INCRV? B} {rdCrvValue} {INCRV B,} {setValue} {}
input calCurveHdr_B 1 0 1 0 B 1 1 text user {CRVHDR? } {rdValue} {} {setValue} {}
input inpCalCurve_C 1 1 1 0 C 1 1 int user {INCRV? C} {rdCrvValue} {INCRV C,} {setValue} {}
input calCurveHdr_C 1 0 1 0 C 1 1 text user {CRVHDR? } {rdValue} {} {setValue} {}
input inpCalCurve_D 1 1 1 0 D 1 1 int user {INCRV? D} {rdCrvValue} {INCRV D,} {setValue} {}
input calCurveHdr_D 1 0 1 0 D 1 1 text user {CRVHDR? } {rdValue} {} {setValue} {}
input sensorTypeA 1 1 1 0 A 1 0 text user {INTYPE? A} {rdValue} {INTYPE A,} {setValue} {}
input sensorTypeB 1 1 1 0 B 1 0 text user {INTYPE? B} {rdValue} {INTYPE B,} {setValue} {}
input sensorTypeC 1 1 1 0 C 1 0 text user {INTYPE? C} {rdValue} {INTYPE C,} {setValue} {}
input sensorTypeD 1 1 1 0 D 1 0 text user {INTYPE? D} {rdValue} {INTYPE D,} {setValue} {}
input inputTypeA 1 1 1 0 A 0 1 text user {INTYPE? A} {rdValue} {INTYPE A,} {setValue} {}
input inputTypeB 1 1 1 0 B 0 1 text user {INTYPE? B} {rdValue} {INTYPE B,} {setValue} {}
input inputTypeC 1 1 1 0 C 0 1 text user {INTYPE? C} {rdValue} {INTYPE C,} {setValue} {}
input inputTypeD 1 1 1 0 D 0 1 text user {INTYPE? D} {rdValue} {INTYPE D,} {setValue} {}
input minMaxInpFuncA 1 0 1 0 A 1 0 int user {MNMX? A} {rdValue} {} {setValue} {}
input minMaxInpFuncB 1 0 1 0 B 1 0 int user {MNMX? B} {rdValue} {} {setValue} {}
input minMaxInpFuncC 1 0 1 0 C 1 0 int user {MNMX? C} {rdValue} {} {setValue} {}
input minMaxInpFuncD 1 0 1 0 D 1 0 int user {MNMX? D} {rdValue} {} {setValue} {}
input sensorStatusA 1 0 1 0 A 1 1 int spy {RDGST? A} {rdBitValue} {} {setValue} {}
input sensorStatusB 1 0 1 0 B 1 1 int spy {RDGST? B} {rdBitValue} {} {setValue} {}
input sensorStatusC 1 0 1 0 C 1 1 int spy {RDGST? C} {rdBitValue} {} {setValue} {}
input sensorStatusD 1 0 1 0 D 1 1 int spy {RDGST? D} {rdBitValue} {} {setValue} {}
control config_Loop_1 1 1 1 0 1 1 0 text user {CSET? 1} {rdCfgValue} {CSET 1,} {setValue} {}
control config_Loop_2 1 1 1 0 2 1 0 text user {CSET? 2} {rdCfgValue} {CSET 2,} {setValue} {}
control ctrl_Limit_1 1 1 1 0 1 1 0 text user {CLIMIT? 1} {rdValue} {CLIMIT 1,} {setValue} {}
control ctrl_Limit_2 1 1 1 0 2 1 0 text user {CLIMIT? 2} {rdValue} {CLIMIT 2,} {setValue} {}
control ctrl_Mode_1 1 1 1 0 1 1 0 int user {CMODE? 1} {rdValue} {CMODE 1,} {setValue} {}
control ctrl_Mode_2 1 1 1 0 2 1 0 int user {CMODE? 2} {rdValue} {CMODE 2,} {setValue} {}
control outMode_1 1 1 1 0 1 0 1 text user {OUTMODE? 1} {rdCfgValue} {OUTMODE 1,} {setValue} {}
control outMode_2 1 1 1 0 2 0 1 text user {OUTMODE? 2} {rdCfgValue} {OUTMODE 2,} {setValue} {}
control outMode_3 1 1 1 0 3 0 1 text user {OUTMODE? 3} {rdCfgValue} {OUTMODE 3,} {setValue} {}
control outMode_4 1 1 1 0 4 0 1 text user {OUTMODE? 4} {rdCfgValue} {OUTMODE 4,} {setValue} {}
control manualOut_1 1 1 1 0 1 1 1 text user {MOUT? 1} {rdValue} {MOUT 1,} {setValue} {}
control manualOut_2 1 1 1 0 2 1 1 text user {MOUT? 2} {rdValue} {MOUT 2,} {setValue} {}
control manualOut_3 1 1 1 0 3 0 1 text user {MOUT? 3} {rdValue} {MOUT 3,} {setValue} {}
control manualOut_4 1 1 1 0 4 0 1 text user {MOUT? 4} {rdValue} {MOUT 4,} {setValue} {}
control pid_Loop_1 1 1 1 0 1 1 1 text user {PID? 1} {rdValue} {PID 1,} {setValue} {}
control pid_Loop_2 1 1 1 0 2 1 1 text user {PID? 2} {rdValue} {PID 2,} {setValue} {}
control ramp_Loop_1 1 1 1 0 1 1 1 text user {RAMP? 1} {rdValue} {RAMP 1,} {setValue} {}
control ramp_Loop_2 1 1 1 0 2 1 1 text user {RAMP? 2} {rdValue} {RAMP 2,} {setValue} {}
control rampStatus_Loop_1 1 0 1 0 1 1 1 int spy {RAMPST? 1} {rdValue} {} {setValue} {}
control rampStatus_Loop_2 1 0 1 0 2 1 1 int spy {RAMPST? 2} {rdValue} {} {setValue} {}
control settleThr_Loop_1 1 1 1 0 1 1 0 float user {SETTLE?} {rdValue} {SETTLE } {setValue} {}
control settleTime_Loop_1 1 1 1 0 1 1 0 int user {SETTLE?} {rdValue} {SETTLE ,} {setValue} {}
heater heaterOutpPercent 1 1 1 0 0 1 0 float user {HTR?} {rdValue} {} {setValue} {}
heater heaterOutput_1 1 1 1 0 1 0 1 float user {HTR? 1} {rdValue} {} {setValue} {}
heater heaterOutput_2 1 1 1 0 2 0 1 float user {HTR? 2} {rdValue} {} {setValue} {}
heater heaterStatus 1 0 1 0 0 1 0 int spy {HTRST?} {rdValue} {} {setValue} {}
heater heaterStatus_1 1 0 1 0 1 0 1 int spy {HTRST? 1} {rdValue} {} {setValue} {}
heater heaterStatus_2 1 0 1 0 2 0 1 int spy {HTRST? 2} {rdValue} {} {setValue} {}
heater heaterRange 1 1 1 0 0 1 0 int user {RANGE?} {rdValue} {RANGE } {setValue} {0,1,2,3,4,5}
heater heaterRange_1 1 1 1 0 0 0 1 int user {RANGE? 1} {rdValue} {RANGE 1,} {setValue} {0,1,2,3}
heater heaterRange_2 1 1 1 0 0 0 1 int user {RANGE? 2} {rdValue} {RANGE 2,} {setValue} {0,1,2,3}
heater heaterRange_3 1 1 1 0 0 0 1 int user {RANGE? 3} {rdValue} {RANGE 3,} {setValue} {0,1}
heater heaterRange_4 1 1 1 0 0 0 1 int user {RANGE? 4} {rdValue} {RANGE 4,} {setValue} {0,1}
other dateTime 1 1 1 0 0 1 0 text user {DATETIME?} {rdValue} {DATETIME } {setValue} {}
other device_busy 1 0 1 0 0 1 0 int spy {BUSY?} {rdValue} {} {setValue} {}
other cfgProtocol_comm 1 1 0 0 0 1 0 text user {COMM?} {rdValue} {COMM } {setValue} {}
other deviceID_idn 1 0 1 0 0 1 1 text spy {*IDN?} {inTolerance} {} {setValue} {}
other selftest 1 0 0 0 0 1 1 int user {*TST?} {rdValue} {} {setValue} {}
other relayStatusHi 1 0 1 0 1 1 1 int spy {RELAYST? 1} {rdValue} {} {setValue} {}
other relayStatusLo 1 0 1 0 2 1 1 int spy {RELAYST? 2} {rdValue} {} {setValue} {}
other relayCtrlParmHi 1 1 1 0 0 1 1 int spy {RELAY? 1} {rdValue} {RELAY 1,} {setValue} {}
other relayCtrlParmLo 1 1 1 0 0 1 1 int spy {RELAY? 2} {rdValue} {RELAY 2,} {setValue} {}
other statusByte 1 0 1 0 0 1 1 int spy {*STB?} {rdValue} {} {setValue} {}
}
# The following 2 commands take no parameter - this makes them difficult to implement in a hipadaba structure
# because they would be nodes without values...