diff --git a/site_ansto/instrument/config/environment/temperature/sct_oxford_mercury.tcl b/site_ansto/instrument/config/environment/temperature/sct_oxford_mercury.tcl index df8ee782..4b0651f9 100644 --- a/site_ansto/instrument/config/environment/temperature/sct_oxford_mercury.tcl +++ b/site_ansto/instrument/config/environment/temperature/sct_oxford_mercury.tcl @@ -8,7 +8,7 @@ namespace eval ::scobj::oxford_mercury { proc make_config {sct_controller} { set syscat [${sct_controller} transact READ:SYS:CAT] set result "" - set devs [regexp -inline -all {DEV:D[[:alnum:]\.]*:[[:alnum:]]*} ${syscat}] + set devs [regexp -inline -all {DEV:[DM][[:alnum:]\.]*:[[:alnum:]]*} ${syscat}] foreach dev [lsort ${devs}] { set typ [string index [lindex [split ${dev} :] end] 0] set typ [string map {A V} ${typ}] @@ -18,6 +18,34 @@ namespace eval ::scobj::oxford_mercury { clientput "Result: ${result}" return ${result} } + proc read_all {sct_controller} { + set syscat [${sct_controller} transact READ:SYS:CAT] + set devs [regexp -inline -all {DEV:[DM][[:alnum:]\.]*:[[:alnum:]]*} ${syscat}] + foreach dev [lsort ${devs}] { + set response [${sct_controller} transact READ:${dev}] + clientput "Device: ${response}" + } + } + proc read_loop {sct_controller} { + set pat {\m[A-Z]{1,}:[^:]{1,}} + set syscat [${sct_controller} transact READ:SYS:CAT] + set devs [regexp -inline -all {DEV:[DM][[:alnum:]\.]*:[[:alnum:]]*} ${syscat}] + foreach dev [lsort ${devs}] { + set response [${sct_controller} transact READ:${dev}:LOOP] + clientput "Device: ${response}" + clientput " Loop: [regexp -inline -all $pat [string trim ${response}]]" + } + } + proc read_sig {sct_controller} { + set pat {\m[A-Z]{1,}:[^:]{1,}} + set syscat [${sct_controller} transact READ:SYS:CAT] + set devs [regexp -inline -all {DEV:[DM][[:alnum:]\.]*:[[:alnum:]]*} ${syscat}] + foreach dev [lsort ${devs}] { + set response [${sct_controller} transact READ:${dev}:SIG] + clientput "Device: ${response}" + clientput " Sig: [regexp -inline -all $pat [string trim ${response}]]" + } + } # preamble hook code ends } @@ -177,6 +205,43 @@ proc ::scobj::oxford_mercury::noResponse {tc_root} { handle_exception ${catch_status} ${catch_message} } +# function to parse the read of a parameter on a device +proc ::scobj::oxford_mercury::rdOnOff {tc_root} { + set catch_status [ catch { + debug_log ${tc_root} 1 "rdOnOff tc_root=${tc_root} sct=[sct] result=[sct result]" + if { [hpropexists [sct] geterror] } { + hdelprop [sct] geterror + } + set data [sct result] + set nextState "idle" + if {[string equal -nocase -length 7 ${data} "ASCERR:"]} { + # the protocol driver has reported an error + sct geterror "${data}" + error "[sct geterror]" + } +# rdOnOff hook code starts + scan [lindex [split "$data" ":"] end] "%s" data + if {[string equal -nocase ${data} "ON"]} { + set data 1 + } else { + set data 0 + } +# rdOnOff hook code ends + if { [hpropexists [sct] geterror] } { + debug_log ${tc_root} 9 "[sct] error: [sct geterror]" + error "[sct geterror]" + } + if { ${data} != [sct oldval] } { + debug_log ${tc_root} 1 "[sct] changed to new:${data}, from old:[sct oldval]" + sct oldval ${data} + sct update ${data} + sct utime readtime + } + return ${nextState} + } catch_message ] + handle_exception ${catch_status} ${catch_message} +} + # function to parse the read of a parameter on a device proc ::scobj::oxford_mercury::rdText {tc_root} { set catch_status [ catch { @@ -325,6 +390,40 @@ proc ::scobj::oxford_mercury::setValve {tc_root nextState cmd_str} { handle_exception ${catch_status} ${catch_message} } +# function to write a parameter value on a device +proc ::scobj::oxford_mercury::wrOnOff {tc_root nextState cmd_str} { + set catch_status [ catch { + debug_log ${tc_root} 1 "wrOnOff tc_root=${tc_root} sct=[sct] cmd=${cmd_str}" + if { [hpropexists [sct] geterror] } { + hdelprop [sct] geterror + } + set par [sct target] + set cmd "${cmd_str}${par}" +# wrOnOff hook code starts + if { ${par} == 1 } { + set cmd "${cmd_str}ON" + } else { + set cmd "${cmd_str}OFF" + } +# wrOnOff hook code ends + if { [hpropexists [sct] geterror] } { + debug_log ${tc_root} 9 "[sct] error: [sct geterror]" + error "[sct geterror]" + } + if { [hpropexists [sct] driving] } { + if { [hpropexists [sct] writestatus] && [sct writestatus] == "start" } { + sct driving 1 + } + } + debug_log ${tc_root} 1 "wrOnOff sct send ${cmd}" + if {![string equal -nocase -length 10 ${cmd} "@@NOSEND@@"]} { + sct send "${cmd}" + } + return ${nextState} + } catch_message ] + handle_exception ${catch_status} ${catch_message} +} + proc ::scobj::oxford_mercury::mkDriver { sct_controller name device_class simulation_flag ip_address tcp_port id {cards NNNNNNNN} {assoc 00000000} {ttol 1} {ptol 5} {vtol 5} } { ::scobj::oxford_mercury::sics_log 9 "::scobj::oxford_mercury::mkDriver ${sct_controller} ${name} ${device_class} ${simulation_flag} ${ip_address} ${tcp_port} ${id} ${cards} ${assoc} ${ttol} ${ptol} ${vtol}" set ns "[namespace current]" @@ -344,1099 +443,1555 @@ proc ::scobj::oxford_mercury::mkDriver { sct_controller name device_class simula hsetprop ${scobj_hpath} type "part" if {[string equal -nocase [string index ${cards} 4] L]} { - hfactory ${scobj_hpath}/Level plain spy none + hfactory ${scobj_hpath}/level plain spy none - hfactory ${scobj_hpath}/Level/Helium plain user float - hsetprop ${scobj_hpath}/Level/Helium read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB5.L1:LVL:SIG:HEL:LEV} - hsetprop ${scobj_hpath}/Level/Helium rdValue ${ns}::rdValue ${scobj_hpath} - hsetprop ${scobj_hpath}/Level/Helium control true - hsetprop ${scobj_hpath}/Level/Helium data true - hsetprop ${scobj_hpath}/Level/Helium mutable true - hsetprop ${scobj_hpath}/Level/Helium nxsave true - hsetprop ${scobj_hpath}/Level/Helium permlink data_set "T[format "%02d" ${id}]He" - hsetprop ${scobj_hpath}/Level/Helium @description "T[format "%02d" ${id}]He" - hsetprop ${scobj_hpath}/Level/Helium oldval 0.0 - hsetprop ${scobj_hpath}/Level/Helium klass "parameter" - hsetprop ${scobj_hpath}/Level/Helium sdsinfo "::nexus::scobj::sdsinfo" - hsetprop ${scobj_hpath}/Level/Helium type "part" - hsetprop ${scobj_hpath}/Level/Helium nxalias "${name}_Level_Helium" + hfactory ${scobj_hpath}/level/helium plain user float + hsetprop ${scobj_hpath}/level/helium read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB5.L1:LVL:SIG:HEL:LEV} + hsetprop ${scobj_hpath}/level/helium rdValue ${ns}::rdValue ${scobj_hpath} + hsetprop ${scobj_hpath}/level/helium control true + hsetprop ${scobj_hpath}/level/helium data true + hsetprop ${scobj_hpath}/level/helium mutable true + hsetprop ${scobj_hpath}/level/helium nxsave true + hsetprop ${scobj_hpath}/level/helium permlink data_set "T[format "%02d" ${id}]He" + hsetprop ${scobj_hpath}/level/helium @description "T[format "%02d" ${id}]He" + hsetprop ${scobj_hpath}/level/helium oldval 0.0 + hsetprop ${scobj_hpath}/level/helium klass "parameter" + hsetprop ${scobj_hpath}/level/helium sdsinfo "::nexus::scobj::sdsinfo" + hsetprop ${scobj_hpath}/level/helium type "part" + hsetprop ${scobj_hpath}/level/helium nxalias "${name}_level_helium" if {[string equal -nocase "${simulation_flag}" "false"]} { - ${sct_controller} poll ${scobj_hpath}/Level/Helium 15 - hsetprop ${scobj_hpath}/Level/Helium simulated false + ${sct_controller} poll ${scobj_hpath}/level/helium 15 + hsetprop ${scobj_hpath}/level/helium simulated false } else { ::scobj::oxford_mercury::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for oxford_mercury" - hsetprop ${scobj_hpath}/Level/Helium simulated true + hsetprop ${scobj_hpath}/level/helium simulated true } - hfactory ${scobj_hpath}/Level/Nitrogen plain user float - hsetprop ${scobj_hpath}/Level/Nitrogen read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB5.L1:LVL:SIG:NIT:LEV} - hsetprop ${scobj_hpath}/Level/Nitrogen rdValue ${ns}::rdValue ${scobj_hpath} - hsetprop ${scobj_hpath}/Level/Nitrogen control true - hsetprop ${scobj_hpath}/Level/Nitrogen data true - hsetprop ${scobj_hpath}/Level/Nitrogen mutable true - hsetprop ${scobj_hpath}/Level/Nitrogen nxsave true - hsetprop ${scobj_hpath}/Level/Nitrogen permlink data_set "T[format "%02d" ${id}]N2" - hsetprop ${scobj_hpath}/Level/Nitrogen @description "T[format "%02d" ${id}]N2" - hsetprop ${scobj_hpath}/Level/Nitrogen oldval 0.0 - hsetprop ${scobj_hpath}/Level/Nitrogen klass "parameter" - hsetprop ${scobj_hpath}/Level/Nitrogen sdsinfo "::nexus::scobj::sdsinfo" - hsetprop ${scobj_hpath}/Level/Nitrogen type "part" - hsetprop ${scobj_hpath}/Level/Nitrogen nxalias "${name}_Level_Nitrogen" + hfactory ${scobj_hpath}/level/nick plain user text + hsetprop ${scobj_hpath}/level/nick read ${ns}::getValue ${scobj_hpath} rdText {READ:DEV:DB5.L1:LVL:NICK} + hsetprop ${scobj_hpath}/level/nick rdText ${ns}::rdText ${scobj_hpath} + hsetprop ${scobj_hpath}/level/nick control true + hsetprop ${scobj_hpath}/level/nick data true + hsetprop ${scobj_hpath}/level/nick mutable true + hsetprop ${scobj_hpath}/level/nick nxsave true + hsetprop ${scobj_hpath}/level/nick oldval UNKNOWN + hsetprop ${scobj_hpath}/level/nick klass "parameter" + hsetprop ${scobj_hpath}/level/nick sdsinfo "::nexus::scobj::sdsinfo" + hsetprop ${scobj_hpath}/level/nick type "part" + hsetprop ${scobj_hpath}/level/nick nxalias "${name}_level_nick" if {[string equal -nocase "${simulation_flag}" "false"]} { - ${sct_controller} poll ${scobj_hpath}/Level/Nitrogen 15 - hsetprop ${scobj_hpath}/Level/Nitrogen simulated false + ${sct_controller} poll ${scobj_hpath}/level/nick 15 + hsetprop ${scobj_hpath}/level/nick simulated false } else { ::scobj::oxford_mercury::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for oxford_mercury" - hsetprop ${scobj_hpath}/Level/Nitrogen simulated true + hsetprop ${scobj_hpath}/level/nick simulated true } - hfactory ${scobj_hpath}/Level/nick plain user text - hsetprop ${scobj_hpath}/Level/nick read ${ns}::getValue ${scobj_hpath} rdText {READ:DEV:DB5.L1:LVL:NICK} - hsetprop ${scobj_hpath}/Level/nick rdText ${ns}::rdText ${scobj_hpath} - hsetprop ${scobj_hpath}/Level/nick control true - hsetprop ${scobj_hpath}/Level/nick data true - hsetprop ${scobj_hpath}/Level/nick mutable true - hsetprop ${scobj_hpath}/Level/nick nxsave true - hsetprop ${scobj_hpath}/Level/nick oldval UNKNOWN - hsetprop ${scobj_hpath}/Level/nick klass "parameter" - hsetprop ${scobj_hpath}/Level/nick sdsinfo "::nexus::scobj::sdsinfo" - hsetprop ${scobj_hpath}/Level/nick type "part" - hsetprop ${scobj_hpath}/Level/nick nxalias "${name}_Level_nick" + hfactory ${scobj_hpath}/level/nitrogen plain user float + hsetprop ${scobj_hpath}/level/nitrogen read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB5.L1:LVL:SIG:NIT:LEV} + hsetprop ${scobj_hpath}/level/nitrogen rdValue ${ns}::rdValue ${scobj_hpath} + hsetprop ${scobj_hpath}/level/nitrogen control true + hsetprop ${scobj_hpath}/level/nitrogen data true + hsetprop ${scobj_hpath}/level/nitrogen mutable true + hsetprop ${scobj_hpath}/level/nitrogen nxsave true + hsetprop ${scobj_hpath}/level/nitrogen permlink data_set "T[format "%02d" ${id}]N2" + hsetprop ${scobj_hpath}/level/nitrogen @description "T[format "%02d" ${id}]N2" + hsetprop ${scobj_hpath}/level/nitrogen oldval 0.0 + hsetprop ${scobj_hpath}/level/nitrogen klass "parameter" + hsetprop ${scobj_hpath}/level/nitrogen sdsinfo "::nexus::scobj::sdsinfo" + hsetprop ${scobj_hpath}/level/nitrogen type "part" + hsetprop ${scobj_hpath}/level/nitrogen nxalias "${name}_level_nitrogen" if {[string equal -nocase "${simulation_flag}" "false"]} { - ${sct_controller} poll ${scobj_hpath}/Level/nick 15 - hsetprop ${scobj_hpath}/Level/nick simulated false + ${sct_controller} poll ${scobj_hpath}/level/nitrogen 15 + hsetprop ${scobj_hpath}/level/nitrogen simulated false } else { ::scobj::oxford_mercury::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for oxford_mercury" - hsetprop ${scobj_hpath}/Level/nick simulated true + hsetprop ${scobj_hpath}/level/nitrogen simulated true } - hsetprop ${scobj_hpath}/Level data "true" - hsetprop ${scobj_hpath}/Level klass "@none" - hsetprop ${scobj_hpath}/Level type "part" + hsetprop ${scobj_hpath}/level data "true" + hsetprop ${scobj_hpath}/level klass "@none" + hsetprop ${scobj_hpath}/level type "part" } if {[string equal -nocase [string index ${cards} 4] P]} { - hfactory ${scobj_hpath}/Pres5 plain spy none - - hfactory ${scobj_hpath}/Pres5/nick plain user text - hsetprop ${scobj_hpath}/Pres5/nick read ${ns}::getValue ${scobj_hpath} rdText {READ:DEV:DB5.P1:PRES:NICK} - hsetprop ${scobj_hpath}/Pres5/nick rdText ${ns}::rdText ${scobj_hpath} - hsetprop ${scobj_hpath}/Pres5/nick control true - hsetprop ${scobj_hpath}/Pres5/nick data true - hsetprop ${scobj_hpath}/Pres5/nick mutable true - hsetprop ${scobj_hpath}/Pres5/nick nxsave true - hsetprop ${scobj_hpath}/Pres5/nick oldval UNKNOWN - hsetprop ${scobj_hpath}/Pres5/nick klass "parameter" - hsetprop ${scobj_hpath}/Pres5/nick sdsinfo "::nexus::scobj::sdsinfo" - hsetprop ${scobj_hpath}/Pres5/nick type "part" - hsetprop ${scobj_hpath}/Pres5/nick nxalias "${name}_Pres5_nick" - - if {[string equal -nocase "${simulation_flag}" "false"]} { - ${sct_controller} poll ${scobj_hpath}/Pres5/nick 15 - hsetprop ${scobj_hpath}/Pres5/nick simulated false - } else { - ::scobj::oxford_mercury::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for oxford_mercury" - hsetprop ${scobj_hpath}/Pres5/nick simulated true - } - - hfactory ${scobj_hpath}/Pres5/sensor plain user float - hsetprop ${scobj_hpath}/Pres5/sensor read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB5.P1:PRES:SIG:PRES} - hsetprop ${scobj_hpath}/Pres5/sensor rdValue ${ns}::rdValue ${scobj_hpath} - hsetprop ${scobj_hpath}/Pres5/sensor control true - hsetprop ${scobj_hpath}/Pres5/sensor data true - hsetprop ${scobj_hpath}/Pres5/sensor mutable true - hsetprop ${scobj_hpath}/Pres5/sensor nxsave true - hsetprop ${scobj_hpath}/Pres5/sensor units mB - hsetprop ${scobj_hpath}/Pres5/sensor permlink data_set "P[format "%02d" ${id}]PS05" - hsetprop ${scobj_hpath}/Pres5/sensor @description "P[format "%02d" ${id}]PS05" - hsetprop ${scobj_hpath}/Pres5/sensor oldval 0.0 - hsetprop ${scobj_hpath}/Pres5/sensor klass "parameter" - hsetprop ${scobj_hpath}/Pres5/sensor sdsinfo "::nexus::scobj::sdsinfo" - hsetprop ${scobj_hpath}/Pres5/sensor type "part" - hsetprop ${scobj_hpath}/Pres5/sensor nxalias "${name}_Pres5_sensor" - - if {[string equal -nocase "${simulation_flag}" "false"]} { - ${sct_controller} poll ${scobj_hpath}/Pres5/sensor 1 - hsetprop ${scobj_hpath}/Pres5/sensor simulated false - } else { - ::scobj::oxford_mercury::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for oxford_mercury" - hsetprop ${scobj_hpath}/Pres5/sensor simulated true - } + hfactory ${scobj_hpath}/pres5 plain spy none if {[string equal -nocase [string index ${cards} 3] V] && [string equal -nocase [string index ${assoc} 4] 4]} { - hfactory ${scobj_hpath}/Pres5/setpoint plain user float - hsetprop ${scobj_hpath}/Pres5/setpoint read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB5.P1:PRES:LOOP:TSET} - hsetprop ${scobj_hpath}/Pres5/setpoint rdValue ${ns}::rdValue ${scobj_hpath} - hsetprop ${scobj_hpath}/Pres5/setpoint write ${ns}::setPoint ${scobj_hpath} noResponse {SET:DEV:DB8.P1:PRES:LOOP:TSET:} - hsetprop ${scobj_hpath}/Pres5/setpoint noResponse ${ns}::noResponse ${scobj_hpath} - hsetprop ${scobj_hpath}/Pres5/setpoint check ${ns}::checkrange ${scobj_hpath} - hsetprop ${scobj_hpath}/Pres5/setpoint driving 0 - hsetprop ${scobj_hpath}/Pres5/setpoint checklimits ${ns}::checklimits ${scobj_hpath} - hsetprop ${scobj_hpath}/Pres5/setpoint checkstatus ${ns}::checkstatus ${scobj_hpath} - hsetprop ${scobj_hpath}/Pres5/setpoint halt ${ns}::halt ${scobj_hpath} - hsetprop ${scobj_hpath}/Pres5/setpoint driveable Pres5/sensor - hsetprop ${scobj_hpath}/Pres5/setpoint control true - hsetprop ${scobj_hpath}/Pres5/setpoint data true - hsetprop ${scobj_hpath}/Pres5/setpoint mutable true - hsetprop ${scobj_hpath}/Pres5/setpoint nxsave true - hsetprop ${scobj_hpath}/Pres5/setpoint lowerlimit 0 - hsetprop ${scobj_hpath}/Pres5/setpoint upperlimit 333 - hsetprop ${scobj_hpath}/Pres5/setpoint tolerance ${ptol} - hsetprop ${scobj_hpath}/Pres5/setpoint units mB - hsetprop ${scobj_hpath}/Pres5/setpoint permlink data_set "P[format "%02d" ${id}]PSP05" - hsetprop ${scobj_hpath}/Pres5/setpoint @description "P[format "%02d" ${id}]PSP05" - hsetprop ${scobj_hpath}/Pres5/setpoint oldval 0.0 - hsetprop ${scobj_hpath}/Pres5/setpoint klass "parameter" - hsetprop ${scobj_hpath}/Pres5/setpoint sdsinfo "::nexus::scobj::sdsinfo" - hsetprop ${scobj_hpath}/Pres5/setpoint settle_time "15" - hsetprop ${scobj_hpath}/Pres5/setpoint type "drivable" - hsetprop ${scobj_hpath}/Pres5/setpoint nxalias "${name}_Pres5_setpoint" + hfactory ${scobj_hpath}/pres5/auto plain user int + hsetprop ${scobj_hpath}/pres5/auto read ${ns}::getValue ${scobj_hpath} rdOnOff {READ:DEV:DB5.P1:PRES:LOOP:FAUT} + hsetprop ${scobj_hpath}/pres5/auto rdOnOff ${ns}::rdOnOff ${scobj_hpath} + hsetprop ${scobj_hpath}/pres5/auto write ${ns}::wrOnOff ${scobj_hpath} noResponse {SET:DEV:DB5.P1:PRES:LOOP:FAUT:} + hsetprop ${scobj_hpath}/pres5/auto noResponse ${ns}::noResponse ${scobj_hpath} + hsetprop ${scobj_hpath}/pres5/auto check ${ns}::checkrange ${scobj_hpath} + hsetprop ${scobj_hpath}/pres5/auto control true + hsetprop ${scobj_hpath}/pres5/auto data true + hsetprop ${scobj_hpath}/pres5/auto mutable true + hsetprop ${scobj_hpath}/pres5/auto nxsave true + hsetprop ${scobj_hpath}/pres5/auto values 0,1 + hsetprop ${scobj_hpath}/pres5/auto oldval 0 + hsetprop ${scobj_hpath}/pres5/auto klass "parameter" + hsetprop ${scobj_hpath}/pres5/auto sdsinfo "::nexus::scobj::sdsinfo" + hsetprop ${scobj_hpath}/pres5/auto type "part" + hsetprop ${scobj_hpath}/pres5/auto nxalias "${name}_pres5_auto" if {[string equal -nocase "${simulation_flag}" "false"]} { - ${sct_controller} poll ${scobj_hpath}/Pres5/setpoint 5 - ${sct_controller} write ${scobj_hpath}/Pres5/setpoint - hsetprop ${scobj_hpath}/Pres5/setpoint simulated false + ${sct_controller} poll ${scobj_hpath}/pres5/auto 5 + ${sct_controller} write ${scobj_hpath}/pres5/auto + hsetprop ${scobj_hpath}/pres5/auto simulated false } else { ::scobj::oxford_mercury::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for oxford_mercury" - hsetprop ${scobj_hpath}/Pres5/setpoint simulated true + hsetprop ${scobj_hpath}/pres5/auto simulated true } } if {[string equal -nocase [string index ${cards} 3] V] && [string equal -nocase [string index ${assoc} 4] 4]} { - hfactory ${scobj_hpath}/Pres5/valve plain user float - hsetprop ${scobj_hpath}/Pres5/valve read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB4.G1:AUX:SIG:PERC} - hsetprop ${scobj_hpath}/Pres5/valve rdValue ${ns}::rdValue ${scobj_hpath} - hsetprop ${scobj_hpath}/Pres5/valve control true - hsetprop ${scobj_hpath}/Pres5/valve data true - hsetprop ${scobj_hpath}/Pres5/valve mutable true - hsetprop ${scobj_hpath}/Pres5/valve nxsave true - hsetprop ${scobj_hpath}/Pres5/valve oldval 0.0 - hsetprop ${scobj_hpath}/Pres5/valve klass "parameter" - hsetprop ${scobj_hpath}/Pres5/valve sdsinfo "::nexus::scobj::sdsinfo" - hsetprop ${scobj_hpath}/Pres5/valve type "part" - hsetprop ${scobj_hpath}/Pres5/valve nxalias "${name}_Pres5_valve" + hfactory ${scobj_hpath}/pres5/enab plain user int + hsetprop ${scobj_hpath}/pres5/enab read ${ns}::getValue ${scobj_hpath} rdOnOff {READ:DEV:DB5.P1:PRES:LOOP:ENAB} + hsetprop ${scobj_hpath}/pres5/enab rdOnOff ${ns}::rdOnOff ${scobj_hpath} + hsetprop ${scobj_hpath}/pres5/enab write ${ns}::wrOnOff ${scobj_hpath} noResponse {SET:DEV:DB5.P1:PRES:LOOP:ENAB:} + hsetprop ${scobj_hpath}/pres5/enab noResponse ${ns}::noResponse ${scobj_hpath} + hsetprop ${scobj_hpath}/pres5/enab check ${ns}::checkrange ${scobj_hpath} + hsetprop ${scobj_hpath}/pres5/enab control true + hsetprop ${scobj_hpath}/pres5/enab data true + hsetprop ${scobj_hpath}/pres5/enab mutable true + hsetprop ${scobj_hpath}/pres5/enab nxsave true + hsetprop ${scobj_hpath}/pres5/enab values 0,1 + hsetprop ${scobj_hpath}/pres5/enab oldval 0 + hsetprop ${scobj_hpath}/pres5/enab klass "parameter" + hsetprop ${scobj_hpath}/pres5/enab sdsinfo "::nexus::scobj::sdsinfo" + hsetprop ${scobj_hpath}/pres5/enab type "part" + hsetprop ${scobj_hpath}/pres5/enab nxalias "${name}_pres5_enab" if {[string equal -nocase "${simulation_flag}" "false"]} { - ${sct_controller} poll ${scobj_hpath}/Pres5/valve 5 - hsetprop ${scobj_hpath}/Pres5/valve simulated false + ${sct_controller} poll ${scobj_hpath}/pres5/enab 5 + ${sct_controller} write ${scobj_hpath}/pres5/enab + hsetprop ${scobj_hpath}/pres5/enab simulated false } else { ::scobj::oxford_mercury::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for oxford_mercury" - hsetprop ${scobj_hpath}/Pres5/valve simulated true + hsetprop ${scobj_hpath}/pres5/enab simulated true } } - hsetprop ${scobj_hpath}/Pres5 data "true" - hsetprop ${scobj_hpath}/Pres5 klass "@none" - hsetprop ${scobj_hpath}/Pres5 type "part" + + hfactory ${scobj_hpath}/pres5/fset plain user float + hsetprop ${scobj_hpath}/pres5/fset read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB5.P1:PRES:LOOP:FSET} + hsetprop ${scobj_hpath}/pres5/fset rdValue ${ns}::rdValue ${scobj_hpath} + hsetprop ${scobj_hpath}/pres5/fset write ${ns}::setValue ${scobj_hpath} noResponse {SET:DEV:DB5.P1:PRES:LOOP:FSET:} + hsetprop ${scobj_hpath}/pres5/fset noResponse ${ns}::noResponse ${scobj_hpath} + hsetprop ${scobj_hpath}/pres5/fset check ${ns}::checkrange ${scobj_hpath} + hsetprop ${scobj_hpath}/pres5/fset control true + hsetprop ${scobj_hpath}/pres5/fset data true + hsetprop ${scobj_hpath}/pres5/fset mutable true + hsetprop ${scobj_hpath}/pres5/fset nxsave true + hsetprop ${scobj_hpath}/pres5/fset lowerlimit 0 + hsetprop ${scobj_hpath}/pres5/fset upperlimit 100 + hsetprop ${scobj_hpath}/pres5/fset oldval 0.0 + hsetprop ${scobj_hpath}/pres5/fset klass "parameter" + hsetprop ${scobj_hpath}/pres5/fset sdsinfo "::nexus::scobj::sdsinfo" + hsetprop ${scobj_hpath}/pres5/fset type "part" + hsetprop ${scobj_hpath}/pres5/fset nxalias "${name}_pres5_fset" + + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/pres5/fset 5 + ${sct_controller} write ${scobj_hpath}/pres5/fset + hsetprop ${scobj_hpath}/pres5/fset simulated false + } else { + ::scobj::oxford_mercury::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for oxford_mercury" + hsetprop ${scobj_hpath}/pres5/fset simulated true + } + + hfactory ${scobj_hpath}/pres5/nick plain user text + hsetprop ${scobj_hpath}/pres5/nick read ${ns}::getValue ${scobj_hpath} rdText {READ:DEV:DB5.P1:PRES:NICK} + hsetprop ${scobj_hpath}/pres5/nick rdText ${ns}::rdText ${scobj_hpath} + hsetprop ${scobj_hpath}/pres5/nick control true + hsetprop ${scobj_hpath}/pres5/nick data true + hsetprop ${scobj_hpath}/pres5/nick mutable true + hsetprop ${scobj_hpath}/pres5/nick nxsave true + hsetprop ${scobj_hpath}/pres5/nick oldval UNKNOWN + hsetprop ${scobj_hpath}/pres5/nick klass "parameter" + hsetprop ${scobj_hpath}/pres5/nick sdsinfo "::nexus::scobj::sdsinfo" + hsetprop ${scobj_hpath}/pres5/nick type "part" + hsetprop ${scobj_hpath}/pres5/nick nxalias "${name}_pres5_nick" + + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/pres5/nick 15 + hsetprop ${scobj_hpath}/pres5/nick simulated false + } else { + ::scobj::oxford_mercury::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for oxford_mercury" + hsetprop ${scobj_hpath}/pres5/nick simulated true + } + + hfactory ${scobj_hpath}/pres5/sensor plain user float + hsetprop ${scobj_hpath}/pres5/sensor read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB5.P1:PRES:SIG:PRES} + hsetprop ${scobj_hpath}/pres5/sensor rdValue ${ns}::rdValue ${scobj_hpath} + hsetprop ${scobj_hpath}/pres5/sensor control true + hsetprop ${scobj_hpath}/pres5/sensor data true + hsetprop ${scobj_hpath}/pres5/sensor mutable true + hsetprop ${scobj_hpath}/pres5/sensor nxsave true + hsetprop ${scobj_hpath}/pres5/sensor units mB + hsetprop ${scobj_hpath}/pres5/sensor permlink data_set "P[format "%02d" ${id}]PS05" + hsetprop ${scobj_hpath}/pres5/sensor @description "P[format "%02d" ${id}]PS05" + hsetprop ${scobj_hpath}/pres5/sensor oldval 0.0 + hsetprop ${scobj_hpath}/pres5/sensor klass "parameter" + hsetprop ${scobj_hpath}/pres5/sensor sdsinfo "::nexus::scobj::sdsinfo" + hsetprop ${scobj_hpath}/pres5/sensor type "part" + hsetprop ${scobj_hpath}/pres5/sensor nxalias "${name}_pres5_sensor" + + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/pres5/sensor 1 + hsetprop ${scobj_hpath}/pres5/sensor simulated false + } else { + ::scobj::oxford_mercury::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for oxford_mercury" + hsetprop ${scobj_hpath}/pres5/sensor simulated true + } + if {[string equal -nocase [string index ${cards} 3] V] && [string equal -nocase [string index ${assoc} 4] 4]} { - ansto_makesctdrive ${name}_Pres5_setpoint ${scobj_hpath}/Pres5/setpoint ${scobj_hpath}/Pres5/sensor ${sct_controller} + hfactory ${scobj_hpath}/pres5/setpoint plain user float + hsetprop ${scobj_hpath}/pres5/setpoint read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB5.P1:PRES:LOOP:TSET} + hsetprop ${scobj_hpath}/pres5/setpoint rdValue ${ns}::rdValue ${scobj_hpath} + hsetprop ${scobj_hpath}/pres5/setpoint write ${ns}::setPoint ${scobj_hpath} noResponse {SET:DEV:DB8.P1:PRES:LOOP:TSET:} + hsetprop ${scobj_hpath}/pres5/setpoint noResponse ${ns}::noResponse ${scobj_hpath} + hsetprop ${scobj_hpath}/pres5/setpoint check ${ns}::checkrange ${scobj_hpath} + hsetprop ${scobj_hpath}/pres5/setpoint driving 0 + hsetprop ${scobj_hpath}/pres5/setpoint checklimits ${ns}::checklimits ${scobj_hpath} + hsetprop ${scobj_hpath}/pres5/setpoint checkstatus ${ns}::checkstatus ${scobj_hpath} + hsetprop ${scobj_hpath}/pres5/setpoint halt ${ns}::halt ${scobj_hpath} + hsetprop ${scobj_hpath}/pres5/setpoint driveable pres5/sensor + hsetprop ${scobj_hpath}/pres5/setpoint control true + hsetprop ${scobj_hpath}/pres5/setpoint data true + hsetprop ${scobj_hpath}/pres5/setpoint mutable true + hsetprop ${scobj_hpath}/pres5/setpoint nxsave true + hsetprop ${scobj_hpath}/pres5/setpoint lowerlimit 0 + hsetprop ${scobj_hpath}/pres5/setpoint upperlimit 333 + hsetprop ${scobj_hpath}/pres5/setpoint tolerance ${ptol} + hsetprop ${scobj_hpath}/pres5/setpoint units mB + hsetprop ${scobj_hpath}/pres5/setpoint permlink data_set "P[format "%02d" ${id}]PSP05" + hsetprop ${scobj_hpath}/pres5/setpoint @description "P[format "%02d" ${id}]PSP05" + hsetprop ${scobj_hpath}/pres5/setpoint oldval 0.0 + hsetprop ${scobj_hpath}/pres5/setpoint klass "parameter" + hsetprop ${scobj_hpath}/pres5/setpoint sdsinfo "::nexus::scobj::sdsinfo" + hsetprop ${scobj_hpath}/pres5/setpoint settle_time "15" + hsetprop ${scobj_hpath}/pres5/setpoint type "drivable" + hsetprop ${scobj_hpath}/pres5/setpoint nxalias "${name}_pres5_setpoint" + + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/pres5/setpoint 5 + ${sct_controller} write ${scobj_hpath}/pres5/setpoint + hsetprop ${scobj_hpath}/pres5/setpoint simulated false + } else { + ::scobj::oxford_mercury::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for oxford_mercury" + hsetprop ${scobj_hpath}/pres5/setpoint simulated true + } + } + + if {[string equal -nocase [string index ${cards} 3] V] && [string equal -nocase [string index ${assoc} 4] 4]} { + hfactory ${scobj_hpath}/pres5/valve plain user float + hsetprop ${scobj_hpath}/pres5/valve read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB4.G1:AUX:SIG:PERC} + hsetprop ${scobj_hpath}/pres5/valve rdValue ${ns}::rdValue ${scobj_hpath} + hsetprop ${scobj_hpath}/pres5/valve control true + hsetprop ${scobj_hpath}/pres5/valve data true + hsetprop ${scobj_hpath}/pres5/valve mutable true + hsetprop ${scobj_hpath}/pres5/valve nxsave true + hsetprop ${scobj_hpath}/pres5/valve oldval 0.0 + hsetprop ${scobj_hpath}/pres5/valve klass "parameter" + hsetprop ${scobj_hpath}/pres5/valve sdsinfo "::nexus::scobj::sdsinfo" + hsetprop ${scobj_hpath}/pres5/valve type "part" + hsetprop ${scobj_hpath}/pres5/valve nxalias "${name}_pres5_valve" + + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/pres5/valve 5 + hsetprop ${scobj_hpath}/pres5/valve simulated false + } else { + ::scobj::oxford_mercury::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for oxford_mercury" + hsetprop ${scobj_hpath}/pres5/valve simulated true + } + } + hsetprop ${scobj_hpath}/pres5 data "true" + hsetprop ${scobj_hpath}/pres5 klass "@none" + hsetprop ${scobj_hpath}/pres5 type "part" + if {[string equal -nocase [string index ${cards} 3] V] && [string equal -nocase [string index ${assoc} 4] 4]} { + ansto_makesctdrive ${name}_pres5_setpoint ${scobj_hpath}/pres5/setpoint ${scobj_hpath}/pres5/sensor ${sct_controller} } } if {[string equal -nocase [string index ${cards} 7] P]} { - hfactory ${scobj_hpath}/Pres8 plain spy none - - hfactory ${scobj_hpath}/Pres8/nick plain user text - hsetprop ${scobj_hpath}/Pres8/nick read ${ns}::getValue ${scobj_hpath} rdText {READ:DEV:DB8.P1:PRES:NICK} - hsetprop ${scobj_hpath}/Pres8/nick rdText ${ns}::rdText ${scobj_hpath} - hsetprop ${scobj_hpath}/Pres8/nick control true - hsetprop ${scobj_hpath}/Pres8/nick data true - hsetprop ${scobj_hpath}/Pres8/nick mutable true - hsetprop ${scobj_hpath}/Pres8/nick nxsave true - hsetprop ${scobj_hpath}/Pres8/nick oldval UNKNOWN - hsetprop ${scobj_hpath}/Pres8/nick klass "parameter" - hsetprop ${scobj_hpath}/Pres8/nick sdsinfo "::nexus::scobj::sdsinfo" - hsetprop ${scobj_hpath}/Pres8/nick type "part" - hsetprop ${scobj_hpath}/Pres8/nick nxalias "${name}_Pres8_nick" - - if {[string equal -nocase "${simulation_flag}" "false"]} { - ${sct_controller} poll ${scobj_hpath}/Pres8/nick 15 - hsetprop ${scobj_hpath}/Pres8/nick simulated false - } else { - ::scobj::oxford_mercury::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for oxford_mercury" - hsetprop ${scobj_hpath}/Pres8/nick simulated true - } - - hfactory ${scobj_hpath}/Pres8/sensor plain user float - hsetprop ${scobj_hpath}/Pres8/sensor read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB8.P1:PRES:SIG:PRES} - hsetprop ${scobj_hpath}/Pres8/sensor rdValue ${ns}::rdValue ${scobj_hpath} - hsetprop ${scobj_hpath}/Pres8/sensor control true - hsetprop ${scobj_hpath}/Pres8/sensor data true - hsetprop ${scobj_hpath}/Pres8/sensor mutable true - hsetprop ${scobj_hpath}/Pres8/sensor nxsave true - hsetprop ${scobj_hpath}/Pres8/sensor units mB - hsetprop ${scobj_hpath}/Pres8/sensor permlink data_set "P[format "%02d" ${id}]PS08" - hsetprop ${scobj_hpath}/Pres8/sensor @description "P[format "%02d" ${id}]PS08" - hsetprop ${scobj_hpath}/Pres8/sensor oldval 0.0 - hsetprop ${scobj_hpath}/Pres8/sensor klass "parameter" - hsetprop ${scobj_hpath}/Pres8/sensor sdsinfo "::nexus::scobj::sdsinfo" - hsetprop ${scobj_hpath}/Pres8/sensor type "part" - hsetprop ${scobj_hpath}/Pres8/sensor nxalias "${name}_Pres8_sensor" - - if {[string equal -nocase "${simulation_flag}" "false"]} { - ${sct_controller} poll ${scobj_hpath}/Pres8/sensor 1 - hsetprop ${scobj_hpath}/Pres8/sensor simulated false - } else { - ::scobj::oxford_mercury::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for oxford_mercury" - hsetprop ${scobj_hpath}/Pres8/sensor simulated true - } + hfactory ${scobj_hpath}/pres8 plain spy none if {[string equal -nocase [string index ${cards} 3] V] && [string equal -nocase [string index ${assoc} 7] 4]} { - hfactory ${scobj_hpath}/Pres8/setpoint plain user float - hsetprop ${scobj_hpath}/Pres8/setpoint read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB8.P1:PRES:LOOP:TSET} - hsetprop ${scobj_hpath}/Pres8/setpoint rdValue ${ns}::rdValue ${scobj_hpath} - hsetprop ${scobj_hpath}/Pres8/setpoint write ${ns}::setPoint ${scobj_hpath} noResponse {SET:DEV:DB8.P1:PRES:LOOP:TSET:} - hsetprop ${scobj_hpath}/Pres8/setpoint noResponse ${ns}::noResponse ${scobj_hpath} - hsetprop ${scobj_hpath}/Pres8/setpoint check ${ns}::checkrange ${scobj_hpath} - hsetprop ${scobj_hpath}/Pres8/setpoint driving 0 - hsetprop ${scobj_hpath}/Pres8/setpoint checklimits ${ns}::checklimits ${scobj_hpath} - hsetprop ${scobj_hpath}/Pres8/setpoint checkstatus ${ns}::checkstatus ${scobj_hpath} - hsetprop ${scobj_hpath}/Pres8/setpoint halt ${ns}::halt ${scobj_hpath} - hsetprop ${scobj_hpath}/Pres8/setpoint driveable Pres8/sensor - hsetprop ${scobj_hpath}/Pres8/setpoint control true - hsetprop ${scobj_hpath}/Pres8/setpoint data true - hsetprop ${scobj_hpath}/Pres8/setpoint mutable true - hsetprop ${scobj_hpath}/Pres8/setpoint nxsave true - hsetprop ${scobj_hpath}/Pres8/setpoint lowerlimit 0 - hsetprop ${scobj_hpath}/Pres8/setpoint upperlimit 333 - hsetprop ${scobj_hpath}/Pres8/setpoint tolerance ${ptol} - hsetprop ${scobj_hpath}/Pres8/setpoint units mB - hsetprop ${scobj_hpath}/Pres8/setpoint permlink data_set "P[format "%02d" ${id}]PSP08" - hsetprop ${scobj_hpath}/Pres8/setpoint @description "P[format "%02d" ${id}]PSP08" - hsetprop ${scobj_hpath}/Pres8/setpoint oldval 0.0 - hsetprop ${scobj_hpath}/Pres8/setpoint klass "parameter" - hsetprop ${scobj_hpath}/Pres8/setpoint sdsinfo "::nexus::scobj::sdsinfo" - hsetprop ${scobj_hpath}/Pres8/setpoint settle_time "15" - hsetprop ${scobj_hpath}/Pres8/setpoint type "drivable" - hsetprop ${scobj_hpath}/Pres8/setpoint nxalias "${name}_Pres8_setpoint" + hfactory ${scobj_hpath}/pres8/auto plain user int + hsetprop ${scobj_hpath}/pres8/auto read ${ns}::getValue ${scobj_hpath} rdOnOff {READ:DEV:DB8.P1:PRES:LOOP:FAUT} + hsetprop ${scobj_hpath}/pres8/auto rdOnOff ${ns}::rdOnOff ${scobj_hpath} + hsetprop ${scobj_hpath}/pres8/auto write ${ns}::wrOnOff ${scobj_hpath} noResponse {SET:DEV:DB8.P1:PRES:LOOP:FAUT:} + hsetprop ${scobj_hpath}/pres8/auto noResponse ${ns}::noResponse ${scobj_hpath} + hsetprop ${scobj_hpath}/pres8/auto check ${ns}::checkrange ${scobj_hpath} + hsetprop ${scobj_hpath}/pres8/auto control true + hsetprop ${scobj_hpath}/pres8/auto data true + hsetprop ${scobj_hpath}/pres8/auto mutable true + hsetprop ${scobj_hpath}/pres8/auto nxsave true + hsetprop ${scobj_hpath}/pres8/auto values 0,1 + hsetprop ${scobj_hpath}/pres8/auto oldval 0 + hsetprop ${scobj_hpath}/pres8/auto klass "parameter" + hsetprop ${scobj_hpath}/pres8/auto sdsinfo "::nexus::scobj::sdsinfo" + hsetprop ${scobj_hpath}/pres8/auto type "part" + hsetprop ${scobj_hpath}/pres8/auto nxalias "${name}_pres8_auto" if {[string equal -nocase "${simulation_flag}" "false"]} { - ${sct_controller} poll ${scobj_hpath}/Pres8/setpoint 5 - ${sct_controller} write ${scobj_hpath}/Pres8/setpoint - hsetprop ${scobj_hpath}/Pres8/setpoint simulated false + ${sct_controller} poll ${scobj_hpath}/pres8/auto 5 + ${sct_controller} write ${scobj_hpath}/pres8/auto + hsetprop ${scobj_hpath}/pres8/auto simulated false } else { ::scobj::oxford_mercury::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for oxford_mercury" - hsetprop ${scobj_hpath}/Pres8/setpoint simulated true + hsetprop ${scobj_hpath}/pres8/auto simulated true } } if {[string equal -nocase [string index ${cards} 3] V] && [string equal -nocase [string index ${assoc} 7] 4]} { - hfactory ${scobj_hpath}/Pres8/valve plain user float - hsetprop ${scobj_hpath}/Pres8/valve read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB4.G1:AUX:SIG:PERC} - hsetprop ${scobj_hpath}/Pres8/valve rdValue ${ns}::rdValue ${scobj_hpath} - hsetprop ${scobj_hpath}/Pres8/valve control true - hsetprop ${scobj_hpath}/Pres8/valve data true - hsetprop ${scobj_hpath}/Pres8/valve mutable true - hsetprop ${scobj_hpath}/Pres8/valve nxsave true - hsetprop ${scobj_hpath}/Pres8/valve oldval 0.0 - hsetprop ${scobj_hpath}/Pres8/valve klass "parameter" - hsetprop ${scobj_hpath}/Pres8/valve sdsinfo "::nexus::scobj::sdsinfo" - hsetprop ${scobj_hpath}/Pres8/valve type "part" - hsetprop ${scobj_hpath}/Pres8/valve nxalias "${name}_Pres8_valve" + hfactory ${scobj_hpath}/pres8/enab plain user int + hsetprop ${scobj_hpath}/pres8/enab read ${ns}::getValue ${scobj_hpath} rdOnOff {READ:DEV:DB8.P1:PRES:LOOP:ENAB} + hsetprop ${scobj_hpath}/pres8/enab rdOnOff ${ns}::rdOnOff ${scobj_hpath} + hsetprop ${scobj_hpath}/pres8/enab write ${ns}::wrOnOff ${scobj_hpath} noResponse {SET:DEV:DB8.P1:PRES:LOOP:ENAB:} + hsetprop ${scobj_hpath}/pres8/enab noResponse ${ns}::noResponse ${scobj_hpath} + hsetprop ${scobj_hpath}/pres8/enab check ${ns}::checkrange ${scobj_hpath} + hsetprop ${scobj_hpath}/pres8/enab control true + hsetprop ${scobj_hpath}/pres8/enab data true + hsetprop ${scobj_hpath}/pres8/enab mutable true + hsetprop ${scobj_hpath}/pres8/enab nxsave true + hsetprop ${scobj_hpath}/pres8/enab values 0,1 + hsetprop ${scobj_hpath}/pres8/enab oldval 0 + hsetprop ${scobj_hpath}/pres8/enab klass "parameter" + hsetprop ${scobj_hpath}/pres8/enab sdsinfo "::nexus::scobj::sdsinfo" + hsetprop ${scobj_hpath}/pres8/enab type "part" + hsetprop ${scobj_hpath}/pres8/enab nxalias "${name}_pres8_enab" if {[string equal -nocase "${simulation_flag}" "false"]} { - ${sct_controller} poll ${scobj_hpath}/Pres8/valve 5 - hsetprop ${scobj_hpath}/Pres8/valve simulated false + ${sct_controller} poll ${scobj_hpath}/pres8/enab 5 + ${sct_controller} write ${scobj_hpath}/pres8/enab + hsetprop ${scobj_hpath}/pres8/enab simulated false } else { ::scobj::oxford_mercury::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for oxford_mercury" - hsetprop ${scobj_hpath}/Pres8/valve simulated true + hsetprop ${scobj_hpath}/pres8/enab simulated true } } - hsetprop ${scobj_hpath}/Pres8 data "true" - hsetprop ${scobj_hpath}/Pres8 klass "@none" - hsetprop ${scobj_hpath}/Pres8 type "part" + + hfactory ${scobj_hpath}/pres8/fset plain user float + hsetprop ${scobj_hpath}/pres8/fset read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB8.P1:PRES:LOOP:FSET} + hsetprop ${scobj_hpath}/pres8/fset rdValue ${ns}::rdValue ${scobj_hpath} + hsetprop ${scobj_hpath}/pres8/fset write ${ns}::setValue ${scobj_hpath} noResponse {SET:DEV:DB8.P1:PRES:LOOP:FSET:} + hsetprop ${scobj_hpath}/pres8/fset noResponse ${ns}::noResponse ${scobj_hpath} + hsetprop ${scobj_hpath}/pres8/fset check ${ns}::checkrange ${scobj_hpath} + hsetprop ${scobj_hpath}/pres8/fset control true + hsetprop ${scobj_hpath}/pres8/fset data true + hsetprop ${scobj_hpath}/pres8/fset mutable true + hsetprop ${scobj_hpath}/pres8/fset nxsave true + hsetprop ${scobj_hpath}/pres8/fset lowerlimit 0 + hsetprop ${scobj_hpath}/pres8/fset upperlimit 100 + hsetprop ${scobj_hpath}/pres8/fset oldval 0.0 + hsetprop ${scobj_hpath}/pres8/fset klass "parameter" + hsetprop ${scobj_hpath}/pres8/fset sdsinfo "::nexus::scobj::sdsinfo" + hsetprop ${scobj_hpath}/pres8/fset type "part" + hsetprop ${scobj_hpath}/pres8/fset nxalias "${name}_pres8_fset" + + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/pres8/fset 5 + ${sct_controller} write ${scobj_hpath}/pres8/fset + hsetprop ${scobj_hpath}/pres8/fset simulated false + } else { + ::scobj::oxford_mercury::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for oxford_mercury" + hsetprop ${scobj_hpath}/pres8/fset simulated true + } + + hfactory ${scobj_hpath}/pres8/nick plain user text + hsetprop ${scobj_hpath}/pres8/nick read ${ns}::getValue ${scobj_hpath} rdText {READ:DEV:DB8.P1:PRES:NICK} + hsetprop ${scobj_hpath}/pres8/nick rdText ${ns}::rdText ${scobj_hpath} + hsetprop ${scobj_hpath}/pres8/nick control true + hsetprop ${scobj_hpath}/pres8/nick data true + hsetprop ${scobj_hpath}/pres8/nick mutable true + hsetprop ${scobj_hpath}/pres8/nick nxsave true + hsetprop ${scobj_hpath}/pres8/nick oldval UNKNOWN + hsetprop ${scobj_hpath}/pres8/nick klass "parameter" + hsetprop ${scobj_hpath}/pres8/nick sdsinfo "::nexus::scobj::sdsinfo" + hsetprop ${scobj_hpath}/pres8/nick type "part" + hsetprop ${scobj_hpath}/pres8/nick nxalias "${name}_pres8_nick" + + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/pres8/nick 15 + hsetprop ${scobj_hpath}/pres8/nick simulated false + } else { + ::scobj::oxford_mercury::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for oxford_mercury" + hsetprop ${scobj_hpath}/pres8/nick simulated true + } + + hfactory ${scobj_hpath}/pres8/sensor plain user float + hsetprop ${scobj_hpath}/pres8/sensor read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB8.P1:PRES:SIG:PRES} + hsetprop ${scobj_hpath}/pres8/sensor rdValue ${ns}::rdValue ${scobj_hpath} + hsetprop ${scobj_hpath}/pres8/sensor control true + hsetprop ${scobj_hpath}/pres8/sensor data true + hsetprop ${scobj_hpath}/pres8/sensor mutable true + hsetprop ${scobj_hpath}/pres8/sensor nxsave true + hsetprop ${scobj_hpath}/pres8/sensor units mB + hsetprop ${scobj_hpath}/pres8/sensor permlink data_set "P[format "%02d" ${id}]PS08" + hsetprop ${scobj_hpath}/pres8/sensor @description "P[format "%02d" ${id}]PS08" + hsetprop ${scobj_hpath}/pres8/sensor oldval 0.0 + hsetprop ${scobj_hpath}/pres8/sensor klass "parameter" + hsetprop ${scobj_hpath}/pres8/sensor sdsinfo "::nexus::scobj::sdsinfo" + hsetprop ${scobj_hpath}/pres8/sensor type "part" + hsetprop ${scobj_hpath}/pres8/sensor nxalias "${name}_pres8_sensor" + + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/pres8/sensor 1 + hsetprop ${scobj_hpath}/pres8/sensor simulated false + } else { + ::scobj::oxford_mercury::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for oxford_mercury" + hsetprop ${scobj_hpath}/pres8/sensor simulated true + } + if {[string equal -nocase [string index ${cards} 3] V] && [string equal -nocase [string index ${assoc} 7] 4]} { - ansto_makesctdrive ${name}_Pres8_setpoint ${scobj_hpath}/Pres8/setpoint ${scobj_hpath}/Pres8/sensor ${sct_controller} + hfactory ${scobj_hpath}/pres8/setpoint plain user float + hsetprop ${scobj_hpath}/pres8/setpoint read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB8.P1:PRES:LOOP:TSET} + hsetprop ${scobj_hpath}/pres8/setpoint rdValue ${ns}::rdValue ${scobj_hpath} + hsetprop ${scobj_hpath}/pres8/setpoint write ${ns}::setPoint ${scobj_hpath} noResponse {SET:DEV:DB8.P1:PRES:LOOP:TSET:} + hsetprop ${scobj_hpath}/pres8/setpoint noResponse ${ns}::noResponse ${scobj_hpath} + hsetprop ${scobj_hpath}/pres8/setpoint check ${ns}::checkrange ${scobj_hpath} + hsetprop ${scobj_hpath}/pres8/setpoint driving 0 + hsetprop ${scobj_hpath}/pres8/setpoint checklimits ${ns}::checklimits ${scobj_hpath} + hsetprop ${scobj_hpath}/pres8/setpoint checkstatus ${ns}::checkstatus ${scobj_hpath} + hsetprop ${scobj_hpath}/pres8/setpoint halt ${ns}::halt ${scobj_hpath} + hsetprop ${scobj_hpath}/pres8/setpoint driveable pres8/sensor + hsetprop ${scobj_hpath}/pres8/setpoint control true + hsetprop ${scobj_hpath}/pres8/setpoint data true + hsetprop ${scobj_hpath}/pres8/setpoint mutable true + hsetprop ${scobj_hpath}/pres8/setpoint nxsave true + hsetprop ${scobj_hpath}/pres8/setpoint lowerlimit 0 + hsetprop ${scobj_hpath}/pres8/setpoint upperlimit 333 + hsetprop ${scobj_hpath}/pres8/setpoint tolerance ${ptol} + hsetprop ${scobj_hpath}/pres8/setpoint units mB + hsetprop ${scobj_hpath}/pres8/setpoint permlink data_set "P[format "%02d" ${id}]PSP08" + hsetprop ${scobj_hpath}/pres8/setpoint @description "P[format "%02d" ${id}]PSP08" + hsetprop ${scobj_hpath}/pres8/setpoint oldval 0.0 + hsetprop ${scobj_hpath}/pres8/setpoint klass "parameter" + hsetprop ${scobj_hpath}/pres8/setpoint sdsinfo "::nexus::scobj::sdsinfo" + hsetprop ${scobj_hpath}/pres8/setpoint settle_time "15" + hsetprop ${scobj_hpath}/pres8/setpoint type "drivable" + hsetprop ${scobj_hpath}/pres8/setpoint nxalias "${name}_pres8_setpoint" + + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/pres8/setpoint 5 + ${sct_controller} write ${scobj_hpath}/pres8/setpoint + hsetprop ${scobj_hpath}/pres8/setpoint simulated false + } else { + ::scobj::oxford_mercury::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for oxford_mercury" + hsetprop ${scobj_hpath}/pres8/setpoint simulated true + } + } + + if {[string equal -nocase [string index ${cards} 3] V] && [string equal -nocase [string index ${assoc} 7] 4]} { + hfactory ${scobj_hpath}/pres8/valve plain user float + hsetprop ${scobj_hpath}/pres8/valve read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB4.G1:AUX:SIG:PERC} + hsetprop ${scobj_hpath}/pres8/valve rdValue ${ns}::rdValue ${scobj_hpath} + hsetprop ${scobj_hpath}/pres8/valve control true + hsetprop ${scobj_hpath}/pres8/valve data true + hsetprop ${scobj_hpath}/pres8/valve mutable true + hsetprop ${scobj_hpath}/pres8/valve nxsave true + hsetprop ${scobj_hpath}/pres8/valve oldval 0.0 + hsetprop ${scobj_hpath}/pres8/valve klass "parameter" + hsetprop ${scobj_hpath}/pres8/valve sdsinfo "::nexus::scobj::sdsinfo" + hsetprop ${scobj_hpath}/pres8/valve type "part" + hsetprop ${scobj_hpath}/pres8/valve nxalias "${name}_pres8_valve" + + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/pres8/valve 5 + hsetprop ${scobj_hpath}/pres8/valve simulated false + } else { + ::scobj::oxford_mercury::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for oxford_mercury" + hsetprop ${scobj_hpath}/pres8/valve simulated true + } + } + hsetprop ${scobj_hpath}/pres8 data "true" + hsetprop ${scobj_hpath}/pres8 klass "@none" + hsetprop ${scobj_hpath}/pres8 type "part" + if {[string equal -nocase [string index ${cards} 3] V] && [string equal -nocase [string index ${assoc} 7] 4]} { + ansto_makesctdrive ${name}_pres8_setpoint ${scobj_hpath}/pres8/setpoint ${scobj_hpath}/pres8/sensor ${sct_controller} } } - hfactory ${scobj_hpath}/Temp0 plain spy none + hfactory ${scobj_hpath}/temp0 plain spy none - hfactory ${scobj_hpath}/Temp0/nick plain user text - hsetprop ${scobj_hpath}/Temp0/nick read ${ns}::getValue ${scobj_hpath} rdText {READ:DEV:MB1.T1:TEMP:NICK} - hsetprop ${scobj_hpath}/Temp0/nick rdText ${ns}::rdText ${scobj_hpath} - hsetprop ${scobj_hpath}/Temp0/nick control true - hsetprop ${scobj_hpath}/Temp0/nick data true - hsetprop ${scobj_hpath}/Temp0/nick mutable true - hsetprop ${scobj_hpath}/Temp0/nick nxsave true - hsetprop ${scobj_hpath}/Temp0/nick oldval UNKNOWN - hsetprop ${scobj_hpath}/Temp0/nick klass "parameter" - hsetprop ${scobj_hpath}/Temp0/nick sdsinfo "::nexus::scobj::sdsinfo" - hsetprop ${scobj_hpath}/Temp0/nick type "part" - hsetprop ${scobj_hpath}/Temp0/nick nxalias "${name}_Temp0_nick" + hfactory ${scobj_hpath}/temp0/auto plain user int + hsetprop ${scobj_hpath}/temp0/auto read ${ns}::getValue ${scobj_hpath} rdOnOff {READ:DEV:MB1.T1:TEMP:LOOP:ENAB} + hsetprop ${scobj_hpath}/temp0/auto rdOnOff ${ns}::rdOnOff ${scobj_hpath} + hsetprop ${scobj_hpath}/temp0/auto write ${ns}::wrOnOff ${scobj_hpath} noResponse {SET:DEV:MB1.T1:TEMP:LOOP:ENAB:} + hsetprop ${scobj_hpath}/temp0/auto noResponse ${ns}::noResponse ${scobj_hpath} + hsetprop ${scobj_hpath}/temp0/auto check ${ns}::checkrange ${scobj_hpath} + hsetprop ${scobj_hpath}/temp0/auto control true + hsetprop ${scobj_hpath}/temp0/auto data true + hsetprop ${scobj_hpath}/temp0/auto mutable true + hsetprop ${scobj_hpath}/temp0/auto nxsave true + hsetprop ${scobj_hpath}/temp0/auto values 0,1 + hsetprop ${scobj_hpath}/temp0/auto oldval 0 + hsetprop ${scobj_hpath}/temp0/auto klass "parameter" + hsetprop ${scobj_hpath}/temp0/auto sdsinfo "::nexus::scobj::sdsinfo" + hsetprop ${scobj_hpath}/temp0/auto type "part" + hsetprop ${scobj_hpath}/temp0/auto nxalias "${name}_temp0_auto" if {[string equal -nocase "${simulation_flag}" "false"]} { - ${sct_controller} poll ${scobj_hpath}/Temp0/nick 15 - hsetprop ${scobj_hpath}/Temp0/nick simulated false + ${sct_controller} poll ${scobj_hpath}/temp0/auto 5 + ${sct_controller} write ${scobj_hpath}/temp0/auto + hsetprop ${scobj_hpath}/temp0/auto simulated false } else { ::scobj::oxford_mercury::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for oxford_mercury" - hsetprop ${scobj_hpath}/Temp0/nick simulated true + hsetprop ${scobj_hpath}/temp0/auto simulated true } - hfactory ${scobj_hpath}/Temp0/power plain user float - hsetprop ${scobj_hpath}/Temp0/power read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:MB0.H1:HTR:SIG:POWR} - hsetprop ${scobj_hpath}/Temp0/power rdValue ${ns}::rdValue ${scobj_hpath} - hsetprop ${scobj_hpath}/Temp0/power control true - hsetprop ${scobj_hpath}/Temp0/power data true - hsetprop ${scobj_hpath}/Temp0/power mutable true - hsetprop ${scobj_hpath}/Temp0/power nxsave true - hsetprop ${scobj_hpath}/Temp0/power oldval 0.0 - hsetprop ${scobj_hpath}/Temp0/power klass "parameter" - hsetprop ${scobj_hpath}/Temp0/power sdsinfo "::nexus::scobj::sdsinfo" - hsetprop ${scobj_hpath}/Temp0/power type "part" - hsetprop ${scobj_hpath}/Temp0/power nxalias "${name}_Temp0_power" + hfactory ${scobj_hpath}/temp0/nick plain user text + hsetprop ${scobj_hpath}/temp0/nick read ${ns}::getValue ${scobj_hpath} rdText {READ:DEV:MB1.T1:TEMP:NICK} + hsetprop ${scobj_hpath}/temp0/nick rdText ${ns}::rdText ${scobj_hpath} + hsetprop ${scobj_hpath}/temp0/nick control true + hsetprop ${scobj_hpath}/temp0/nick data true + hsetprop ${scobj_hpath}/temp0/nick mutable true + hsetprop ${scobj_hpath}/temp0/nick nxsave true + hsetprop ${scobj_hpath}/temp0/nick oldval UNKNOWN + hsetprop ${scobj_hpath}/temp0/nick klass "parameter" + hsetprop ${scobj_hpath}/temp0/nick sdsinfo "::nexus::scobj::sdsinfo" + hsetprop ${scobj_hpath}/temp0/nick type "part" + hsetprop ${scobj_hpath}/temp0/nick nxalias "${name}_temp0_nick" if {[string equal -nocase "${simulation_flag}" "false"]} { - ${sct_controller} poll ${scobj_hpath}/Temp0/power 5 - hsetprop ${scobj_hpath}/Temp0/power simulated false + ${sct_controller} poll ${scobj_hpath}/temp0/nick 15 + hsetprop ${scobj_hpath}/temp0/nick simulated false } else { ::scobj::oxford_mercury::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for oxford_mercury" - hsetprop ${scobj_hpath}/Temp0/power simulated true + hsetprop ${scobj_hpath}/temp0/nick simulated true } - hfactory ${scobj_hpath}/Temp0/sensor plain user float - hsetprop ${scobj_hpath}/Temp0/sensor read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:MB1.T1:TEMP:SIG:TEMP} - hsetprop ${scobj_hpath}/Temp0/sensor rdValue ${ns}::rdValue ${scobj_hpath} - hsetprop ${scobj_hpath}/Temp0/sensor control true - hsetprop ${scobj_hpath}/Temp0/sensor data true - hsetprop ${scobj_hpath}/Temp0/sensor mutable true - hsetprop ${scobj_hpath}/Temp0/sensor nxsave true - hsetprop ${scobj_hpath}/Temp0/sensor permlink data_set "T[format "%02d" ${id}]S00" - hsetprop ${scobj_hpath}/Temp0/sensor @description "T[format "%02d" ${id}]S00" - hsetprop ${scobj_hpath}/Temp0/sensor oldval 0.0 - hsetprop ${scobj_hpath}/Temp0/sensor klass "parameter" - hsetprop ${scobj_hpath}/Temp0/sensor sdsinfo "::nexus::scobj::sdsinfo" - hsetprop ${scobj_hpath}/Temp0/sensor type "part" - hsetprop ${scobj_hpath}/Temp0/sensor nxalias "${name}_Temp0_sensor" + hfactory ${scobj_hpath}/temp0/sensor plain user float + hsetprop ${scobj_hpath}/temp0/sensor read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:MB1.T1:TEMP:SIG:TEMP} + hsetprop ${scobj_hpath}/temp0/sensor rdValue ${ns}::rdValue ${scobj_hpath} + hsetprop ${scobj_hpath}/temp0/sensor control true + hsetprop ${scobj_hpath}/temp0/sensor data true + hsetprop ${scobj_hpath}/temp0/sensor mutable true + hsetprop ${scobj_hpath}/temp0/sensor nxsave true + hsetprop ${scobj_hpath}/temp0/sensor permlink data_set "T[format "%02d" ${id}]S00" + hsetprop ${scobj_hpath}/temp0/sensor @description "T[format "%02d" ${id}]S00" + hsetprop ${scobj_hpath}/temp0/sensor oldval 0.0 + hsetprop ${scobj_hpath}/temp0/sensor klass "parameter" + hsetprop ${scobj_hpath}/temp0/sensor sdsinfo "::nexus::scobj::sdsinfo" + hsetprop ${scobj_hpath}/temp0/sensor type "part" + hsetprop ${scobj_hpath}/temp0/sensor nxalias "${name}_temp0_sensor" if {[string equal -nocase "${simulation_flag}" "false"]} { - ${sct_controller} poll ${scobj_hpath}/Temp0/sensor 1 - hsetprop ${scobj_hpath}/Temp0/sensor simulated false + ${sct_controller} poll ${scobj_hpath}/temp0/sensor 1 + hsetprop ${scobj_hpath}/temp0/sensor simulated false } else { ::scobj::oxford_mercury::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for oxford_mercury" - hsetprop ${scobj_hpath}/Temp0/sensor simulated true + hsetprop ${scobj_hpath}/temp0/sensor simulated true } - hfactory ${scobj_hpath}/Temp0/setpoint plain user float - hsetprop ${scobj_hpath}/Temp0/setpoint read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:MB1.T1:TEMP:LOOP:TSET} - hsetprop ${scobj_hpath}/Temp0/setpoint rdValue ${ns}::rdValue ${scobj_hpath} - hsetprop ${scobj_hpath}/Temp0/setpoint write ${ns}::setPoint ${scobj_hpath} noResponse {SET:DEV:MB1.T1:TEMP:LOOP:TSET:} - hsetprop ${scobj_hpath}/Temp0/setpoint noResponse ${ns}::noResponse ${scobj_hpath} - hsetprop ${scobj_hpath}/Temp0/setpoint check ${ns}::checkrange ${scobj_hpath} - hsetprop ${scobj_hpath}/Temp0/setpoint driving 0 - hsetprop ${scobj_hpath}/Temp0/setpoint checklimits ${ns}::checklimits ${scobj_hpath} - hsetprop ${scobj_hpath}/Temp0/setpoint checkstatus ${ns}::checkstatus ${scobj_hpath} - hsetprop ${scobj_hpath}/Temp0/setpoint halt ${ns}::halt ${scobj_hpath} - hsetprop ${scobj_hpath}/Temp0/setpoint driveable Temp0/sensor - hsetprop ${scobj_hpath}/Temp0/setpoint control true - hsetprop ${scobj_hpath}/Temp0/setpoint data true - hsetprop ${scobj_hpath}/Temp0/setpoint mutable true - hsetprop ${scobj_hpath}/Temp0/setpoint nxsave true - hsetprop ${scobj_hpath}/Temp0/setpoint lowerlimit 0 - hsetprop ${scobj_hpath}/Temp0/setpoint upperlimit 333 - hsetprop ${scobj_hpath}/Temp0/setpoint tolerance ${ttol} - hsetprop ${scobj_hpath}/Temp0/setpoint permlink data_set "T[format "%02d" ${id}]SP00" - hsetprop ${scobj_hpath}/Temp0/setpoint @description "T[format "%02d" ${id}]SP00" - hsetprop ${scobj_hpath}/Temp0/setpoint oldval 0.0 - hsetprop ${scobj_hpath}/Temp0/setpoint klass "parameter" - hsetprop ${scobj_hpath}/Temp0/setpoint sdsinfo "::nexus::scobj::sdsinfo" - hsetprop ${scobj_hpath}/Temp0/setpoint settle_time "15" - hsetprop ${scobj_hpath}/Temp0/setpoint type "drivable" - hsetprop ${scobj_hpath}/Temp0/setpoint nxalias "${name}_Temp0_setpoint" + hfactory ${scobj_hpath}/temp0/setpoint plain user float + hsetprop ${scobj_hpath}/temp0/setpoint read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:MB1.T1:TEMP:LOOP:TSET} + hsetprop ${scobj_hpath}/temp0/setpoint rdValue ${ns}::rdValue ${scobj_hpath} + hsetprop ${scobj_hpath}/temp0/setpoint write ${ns}::setPoint ${scobj_hpath} noResponse {SET:DEV:MB1.T1:TEMP:LOOP:TSET:} + hsetprop ${scobj_hpath}/temp0/setpoint noResponse ${ns}::noResponse ${scobj_hpath} + hsetprop ${scobj_hpath}/temp0/setpoint check ${ns}::checkrange ${scobj_hpath} + hsetprop ${scobj_hpath}/temp0/setpoint driving 0 + hsetprop ${scobj_hpath}/temp0/setpoint checklimits ${ns}::checklimits ${scobj_hpath} + hsetprop ${scobj_hpath}/temp0/setpoint checkstatus ${ns}::checkstatus ${scobj_hpath} + hsetprop ${scobj_hpath}/temp0/setpoint halt ${ns}::halt ${scobj_hpath} + hsetprop ${scobj_hpath}/temp0/setpoint driveable temp0/sensor + hsetprop ${scobj_hpath}/temp0/setpoint control true + hsetprop ${scobj_hpath}/temp0/setpoint data true + hsetprop ${scobj_hpath}/temp0/setpoint mutable true + hsetprop ${scobj_hpath}/temp0/setpoint nxsave true + hsetprop ${scobj_hpath}/temp0/setpoint lowerlimit 0 + hsetprop ${scobj_hpath}/temp0/setpoint upperlimit 333 + hsetprop ${scobj_hpath}/temp0/setpoint tolerance ${ttol} + hsetprop ${scobj_hpath}/temp0/setpoint permlink data_set "T[format "%02d" ${id}]SP00" + hsetprop ${scobj_hpath}/temp0/setpoint @description "T[format "%02d" ${id}]SP00" + hsetprop ${scobj_hpath}/temp0/setpoint oldval 0.0 + hsetprop ${scobj_hpath}/temp0/setpoint klass "parameter" + hsetprop ${scobj_hpath}/temp0/setpoint sdsinfo "::nexus::scobj::sdsinfo" + hsetprop ${scobj_hpath}/temp0/setpoint settle_time "15" + hsetprop ${scobj_hpath}/temp0/setpoint type "drivable" + hsetprop ${scobj_hpath}/temp0/setpoint nxalias "${name}_temp0_setpoint" if {[string equal -nocase "${simulation_flag}" "false"]} { - ${sct_controller} poll ${scobj_hpath}/Temp0/setpoint 5 - ${sct_controller} write ${scobj_hpath}/Temp0/setpoint - hsetprop ${scobj_hpath}/Temp0/setpoint simulated false + ${sct_controller} poll ${scobj_hpath}/temp0/setpoint 5 + ${sct_controller} write ${scobj_hpath}/temp0/setpoint + hsetprop ${scobj_hpath}/temp0/setpoint simulated false } else { ::scobj::oxford_mercury::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for oxford_mercury" - hsetprop ${scobj_hpath}/Temp0/setpoint simulated true + hsetprop ${scobj_hpath}/temp0/setpoint simulated true } - hsetprop ${scobj_hpath}/Temp0 data "true" - hsetprop ${scobj_hpath}/Temp0 klass "@none" - hsetprop ${scobj_hpath}/Temp0 type "part" - ansto_makesctdrive ${name}_Temp0_setpoint ${scobj_hpath}/Temp0/setpoint ${scobj_hpath}/Temp0/sensor ${sct_controller} + hsetprop ${scobj_hpath}/temp0 data "true" + hsetprop ${scobj_hpath}/temp0 klass "@none" + hsetprop ${scobj_hpath}/temp0 type "part" + + hfactory ${scobj_hpath}/temp0/heater plain spy none + + hfactory ${scobj_hpath}/temp0/heater/hset plain user float + hsetprop ${scobj_hpath}/temp0/heater/hset read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:MB1.T1:TEMP:LOOP:HSET} + hsetprop ${scobj_hpath}/temp0/heater/hset rdValue ${ns}::rdValue ${scobj_hpath} + hsetprop ${scobj_hpath}/temp0/heater/hset write ${ns}::setValue ${scobj_hpath} noResponse {SET:DEV:MB1.T1:TEMP:LOOP:HSET:} + hsetprop ${scobj_hpath}/temp0/heater/hset noResponse ${ns}::noResponse ${scobj_hpath} + hsetprop ${scobj_hpath}/temp0/heater/hset check ${ns}::checkrange ${scobj_hpath} + hsetprop ${scobj_hpath}/temp0/heater/hset control true + hsetprop ${scobj_hpath}/temp0/heater/hset data true + hsetprop ${scobj_hpath}/temp0/heater/hset mutable true + hsetprop ${scobj_hpath}/temp0/heater/hset nxsave true + hsetprop ${scobj_hpath}/temp0/heater/hset lowerlimit 0 + hsetprop ${scobj_hpath}/temp0/heater/hset upperlimit 100 + hsetprop ${scobj_hpath}/temp0/heater/hset oldval 0.0 + hsetprop ${scobj_hpath}/temp0/heater/hset klass "parameter" + hsetprop ${scobj_hpath}/temp0/heater/hset sdsinfo "::nexus::scobj::sdsinfo" + hsetprop ${scobj_hpath}/temp0/heater/hset type "part" + hsetprop ${scobj_hpath}/temp0/heater/hset nxalias "${name}_temp0_heater_hset" + + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/temp0/heater/hset 5 + ${sct_controller} write ${scobj_hpath}/temp0/heater/hset + hsetprop ${scobj_hpath}/temp0/heater/hset simulated false + } else { + ::scobj::oxford_mercury::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for oxford_mercury" + hsetprop ${scobj_hpath}/temp0/heater/hset simulated true + } + + hfactory ${scobj_hpath}/temp0/heater/perc plain user float + hsetprop ${scobj_hpath}/temp0/heater/perc read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:MB0.H1:HTR:SIG:PERC} + hsetprop ${scobj_hpath}/temp0/heater/perc rdValue ${ns}::rdValue ${scobj_hpath} + hsetprop ${scobj_hpath}/temp0/heater/perc control true + hsetprop ${scobj_hpath}/temp0/heater/perc data true + hsetprop ${scobj_hpath}/temp0/heater/perc mutable true + hsetprop ${scobj_hpath}/temp0/heater/perc nxsave true + hsetprop ${scobj_hpath}/temp0/heater/perc oldval 0.0 + hsetprop ${scobj_hpath}/temp0/heater/perc klass "parameter" + hsetprop ${scobj_hpath}/temp0/heater/perc sdsinfo "::nexus::scobj::sdsinfo" + hsetprop ${scobj_hpath}/temp0/heater/perc type "part" + hsetprop ${scobj_hpath}/temp0/heater/perc nxalias "${name}_temp0_heater_perc" + + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/temp0/heater/perc 5 + hsetprop ${scobj_hpath}/temp0/heater/perc simulated false + } else { + ::scobj::oxford_mercury::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for oxford_mercury" + hsetprop ${scobj_hpath}/temp0/heater/perc simulated true + } + + hfactory ${scobj_hpath}/temp0/heater/power plain user float + hsetprop ${scobj_hpath}/temp0/heater/power read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:MB0.H1:HTR:SIG:POWR} + hsetprop ${scobj_hpath}/temp0/heater/power rdValue ${ns}::rdValue ${scobj_hpath} + hsetprop ${scobj_hpath}/temp0/heater/power control true + hsetprop ${scobj_hpath}/temp0/heater/power data true + hsetprop ${scobj_hpath}/temp0/heater/power mutable true + hsetprop ${scobj_hpath}/temp0/heater/power nxsave true + hsetprop ${scobj_hpath}/temp0/heater/power oldval 0.0 + hsetprop ${scobj_hpath}/temp0/heater/power klass "parameter" + hsetprop ${scobj_hpath}/temp0/heater/power sdsinfo "::nexus::scobj::sdsinfo" + hsetprop ${scobj_hpath}/temp0/heater/power type "part" + hsetprop ${scobj_hpath}/temp0/heater/power nxalias "${name}_temp0_heater_power" + + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/temp0/heater/power 5 + hsetprop ${scobj_hpath}/temp0/heater/power simulated false + } else { + ::scobj::oxford_mercury::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for oxford_mercury" + hsetprop ${scobj_hpath}/temp0/heater/power simulated true + } + hsetprop ${scobj_hpath}/temp0/heater data "true" + hsetprop ${scobj_hpath}/temp0/heater klass "@none" + hsetprop ${scobj_hpath}/temp0/heater type "part" + ansto_makesctdrive ${name}_temp0_setpoint ${scobj_hpath}/temp0/setpoint ${scobj_hpath}/temp0/sensor ${sct_controller} if {[string equal -nocase [string index ${cards} 0] T]} { - hfactory ${scobj_hpath}/Temp1 plain spy none + hfactory ${scobj_hpath}/temp1 plain spy none - hfactory ${scobj_hpath}/Temp1/nick plain user text - hsetprop ${scobj_hpath}/Temp1/nick read ${ns}::getValue ${scobj_hpath} rdText {READ:DEV:DB1.T1:TEMP:NICK} - hsetprop ${scobj_hpath}/Temp1/nick rdText ${ns}::rdText ${scobj_hpath} - hsetprop ${scobj_hpath}/Temp1/nick control true - hsetprop ${scobj_hpath}/Temp1/nick data true - hsetprop ${scobj_hpath}/Temp1/nick mutable true - hsetprop ${scobj_hpath}/Temp1/nick nxsave true - hsetprop ${scobj_hpath}/Temp1/nick oldval UNKNOWN - hsetprop ${scobj_hpath}/Temp1/nick klass "parameter" - hsetprop ${scobj_hpath}/Temp1/nick sdsinfo "::nexus::scobj::sdsinfo" - hsetprop ${scobj_hpath}/Temp1/nick type "part" - hsetprop ${scobj_hpath}/Temp1/nick nxalias "${name}_Temp1_nick" + hfactory ${scobj_hpath}/temp1/nick plain user text + hsetprop ${scobj_hpath}/temp1/nick read ${ns}::getValue ${scobj_hpath} rdText {READ:DEV:DB1.T1:TEMP:NICK} + hsetprop ${scobj_hpath}/temp1/nick rdText ${ns}::rdText ${scobj_hpath} + hsetprop ${scobj_hpath}/temp1/nick control true + hsetprop ${scobj_hpath}/temp1/nick data true + hsetprop ${scobj_hpath}/temp1/nick mutable true + hsetprop ${scobj_hpath}/temp1/nick nxsave true + hsetprop ${scobj_hpath}/temp1/nick oldval UNKNOWN + hsetprop ${scobj_hpath}/temp1/nick klass "parameter" + hsetprop ${scobj_hpath}/temp1/nick sdsinfo "::nexus::scobj::sdsinfo" + hsetprop ${scobj_hpath}/temp1/nick type "part" + hsetprop ${scobj_hpath}/temp1/nick nxalias "${name}_temp1_nick" if {[string equal -nocase "${simulation_flag}" "false"]} { - ${sct_controller} poll ${scobj_hpath}/Temp1/nick 15 - hsetprop ${scobj_hpath}/Temp1/nick simulated false + ${sct_controller} poll ${scobj_hpath}/temp1/nick 15 + hsetprop ${scobj_hpath}/temp1/nick simulated false } else { ::scobj::oxford_mercury::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for oxford_mercury" - hsetprop ${scobj_hpath}/Temp1/nick simulated true + hsetprop ${scobj_hpath}/temp1/nick simulated true } - hfactory ${scobj_hpath}/Temp1/sensor plain user float - hsetprop ${scobj_hpath}/Temp1/sensor read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB1.T1:TEMP:SIG:TEMP} - hsetprop ${scobj_hpath}/Temp1/sensor rdValue ${ns}::rdValue ${scobj_hpath} - hsetprop ${scobj_hpath}/Temp1/sensor control true - hsetprop ${scobj_hpath}/Temp1/sensor data true - hsetprop ${scobj_hpath}/Temp1/sensor mutable true - hsetprop ${scobj_hpath}/Temp1/sensor nxsave true - hsetprop ${scobj_hpath}/Temp1/sensor permlink data_set "T[format "%02d" ${id}]S01" - hsetprop ${scobj_hpath}/Temp1/sensor @description "T[format "%02d" ${id}]S01" - hsetprop ${scobj_hpath}/Temp1/sensor oldval 0.0 - hsetprop ${scobj_hpath}/Temp1/sensor klass "parameter" - hsetprop ${scobj_hpath}/Temp1/sensor sdsinfo "::nexus::scobj::sdsinfo" - hsetprop ${scobj_hpath}/Temp1/sensor type "part" - hsetprop ${scobj_hpath}/Temp1/sensor nxalias "${name}_Temp1_sensor" + hfactory ${scobj_hpath}/temp1/sensor plain user float + hsetprop ${scobj_hpath}/temp1/sensor read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB1.T1:TEMP:SIG:TEMP} + hsetprop ${scobj_hpath}/temp1/sensor rdValue ${ns}::rdValue ${scobj_hpath} + hsetprop ${scobj_hpath}/temp1/sensor control true + hsetprop ${scobj_hpath}/temp1/sensor data true + hsetprop ${scobj_hpath}/temp1/sensor mutable true + hsetprop ${scobj_hpath}/temp1/sensor nxsave true + hsetprop ${scobj_hpath}/temp1/sensor permlink data_set "T[format "%02d" ${id}]S01" + hsetprop ${scobj_hpath}/temp1/sensor @description "T[format "%02d" ${id}]S01" + hsetprop ${scobj_hpath}/temp1/sensor oldval 0.0 + hsetprop ${scobj_hpath}/temp1/sensor klass "parameter" + hsetprop ${scobj_hpath}/temp1/sensor sdsinfo "::nexus::scobj::sdsinfo" + hsetprop ${scobj_hpath}/temp1/sensor type "part" + hsetprop ${scobj_hpath}/temp1/sensor nxalias "${name}_temp1_sensor" if {[string equal -nocase "${simulation_flag}" "false"]} { - ${sct_controller} poll ${scobj_hpath}/Temp1/sensor 1 - hsetprop ${scobj_hpath}/Temp1/sensor simulated false + ${sct_controller} poll ${scobj_hpath}/temp1/sensor 1 + hsetprop ${scobj_hpath}/temp1/sensor simulated false } else { ::scobj::oxford_mercury::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for oxford_mercury" - hsetprop ${scobj_hpath}/Temp1/sensor simulated true + hsetprop ${scobj_hpath}/temp1/sensor simulated true } - hsetprop ${scobj_hpath}/Temp1 data "true" - hsetprop ${scobj_hpath}/Temp1 klass "@none" - hsetprop ${scobj_hpath}/Temp1 type "part" + hsetprop ${scobj_hpath}/temp1 data "true" + hsetprop ${scobj_hpath}/temp1 klass "@none" + hsetprop ${scobj_hpath}/temp1 type "part" } if {[string equal -nocase [string index ${cards} 1] T]} { - hfactory ${scobj_hpath}/Temp2 plain spy none + hfactory ${scobj_hpath}/temp2 plain spy none - hfactory ${scobj_hpath}/Temp2/nick plain user text - hsetprop ${scobj_hpath}/Temp2/nick read ${ns}::getValue ${scobj_hpath} rdText {READ:DEV:DB2.T1:TEMP:NICK} - hsetprop ${scobj_hpath}/Temp2/nick rdText ${ns}::rdText ${scobj_hpath} - hsetprop ${scobj_hpath}/Temp2/nick control true - hsetprop ${scobj_hpath}/Temp2/nick data true - hsetprop ${scobj_hpath}/Temp2/nick mutable true - hsetprop ${scobj_hpath}/Temp2/nick nxsave true - hsetprop ${scobj_hpath}/Temp2/nick oldval UNKNOWN - hsetprop ${scobj_hpath}/Temp2/nick klass "parameter" - hsetprop ${scobj_hpath}/Temp2/nick sdsinfo "::nexus::scobj::sdsinfo" - hsetprop ${scobj_hpath}/Temp2/nick type "part" - hsetprop ${scobj_hpath}/Temp2/nick nxalias "${name}_Temp2_nick" + hfactory ${scobj_hpath}/temp2/nick plain user text + hsetprop ${scobj_hpath}/temp2/nick read ${ns}::getValue ${scobj_hpath} rdText {READ:DEV:DB2.T1:TEMP:NICK} + hsetprop ${scobj_hpath}/temp2/nick rdText ${ns}::rdText ${scobj_hpath} + hsetprop ${scobj_hpath}/temp2/nick control true + hsetprop ${scobj_hpath}/temp2/nick data true + hsetprop ${scobj_hpath}/temp2/nick mutable true + hsetprop ${scobj_hpath}/temp2/nick nxsave true + hsetprop ${scobj_hpath}/temp2/nick oldval UNKNOWN + hsetprop ${scobj_hpath}/temp2/nick klass "parameter" + hsetprop ${scobj_hpath}/temp2/nick sdsinfo "::nexus::scobj::sdsinfo" + hsetprop ${scobj_hpath}/temp2/nick type "part" + hsetprop ${scobj_hpath}/temp2/nick nxalias "${name}_temp2_nick" if {[string equal -nocase "${simulation_flag}" "false"]} { - ${sct_controller} poll ${scobj_hpath}/Temp2/nick 15 - hsetprop ${scobj_hpath}/Temp2/nick simulated false + ${sct_controller} poll ${scobj_hpath}/temp2/nick 15 + hsetprop ${scobj_hpath}/temp2/nick simulated false } else { ::scobj::oxford_mercury::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for oxford_mercury" - hsetprop ${scobj_hpath}/Temp2/nick simulated true + hsetprop ${scobj_hpath}/temp2/nick simulated true } - hfactory ${scobj_hpath}/Temp2/sensor plain user float - hsetprop ${scobj_hpath}/Temp2/sensor read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB2.T1:TEMP:SIG:TEMP} - hsetprop ${scobj_hpath}/Temp2/sensor rdValue ${ns}::rdValue ${scobj_hpath} - hsetprop ${scobj_hpath}/Temp2/sensor control true - hsetprop ${scobj_hpath}/Temp2/sensor data true - hsetprop ${scobj_hpath}/Temp2/sensor mutable true - hsetprop ${scobj_hpath}/Temp2/sensor nxsave true - hsetprop ${scobj_hpath}/Temp2/sensor permlink data_set "T[format "%02d" ${id}]S02" - hsetprop ${scobj_hpath}/Temp2/sensor @description "T[format "%02d" ${id}]S02" - hsetprop ${scobj_hpath}/Temp2/sensor oldval 0.0 - hsetprop ${scobj_hpath}/Temp2/sensor klass "parameter" - hsetprop ${scobj_hpath}/Temp2/sensor sdsinfo "::nexus::scobj::sdsinfo" - hsetprop ${scobj_hpath}/Temp2/sensor type "part" - hsetprop ${scobj_hpath}/Temp2/sensor nxalias "${name}_Temp2_sensor" + hfactory ${scobj_hpath}/temp2/sensor plain user float + hsetprop ${scobj_hpath}/temp2/sensor read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB2.T1:TEMP:SIG:TEMP} + hsetprop ${scobj_hpath}/temp2/sensor rdValue ${ns}::rdValue ${scobj_hpath} + hsetprop ${scobj_hpath}/temp2/sensor control true + hsetprop ${scobj_hpath}/temp2/sensor data true + hsetprop ${scobj_hpath}/temp2/sensor mutable true + hsetprop ${scobj_hpath}/temp2/sensor nxsave true + hsetprop ${scobj_hpath}/temp2/sensor permlink data_set "T[format "%02d" ${id}]S02" + hsetprop ${scobj_hpath}/temp2/sensor @description "T[format "%02d" ${id}]S02" + hsetprop ${scobj_hpath}/temp2/sensor oldval 0.0 + hsetprop ${scobj_hpath}/temp2/sensor klass "parameter" + hsetprop ${scobj_hpath}/temp2/sensor sdsinfo "::nexus::scobj::sdsinfo" + hsetprop ${scobj_hpath}/temp2/sensor type "part" + hsetprop ${scobj_hpath}/temp2/sensor nxalias "${name}_temp2_sensor" if {[string equal -nocase "${simulation_flag}" "false"]} { - ${sct_controller} poll ${scobj_hpath}/Temp2/sensor 1 - hsetprop ${scobj_hpath}/Temp2/sensor simulated false + ${sct_controller} poll ${scobj_hpath}/temp2/sensor 1 + hsetprop ${scobj_hpath}/temp2/sensor simulated false } else { ::scobj::oxford_mercury::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for oxford_mercury" - hsetprop ${scobj_hpath}/Temp2/sensor simulated true + hsetprop ${scobj_hpath}/temp2/sensor simulated true } - hsetprop ${scobj_hpath}/Temp2 data "true" - hsetprop ${scobj_hpath}/Temp2 klass "@none" - hsetprop ${scobj_hpath}/Temp2 type "part" + hsetprop ${scobj_hpath}/temp2 data "true" + hsetprop ${scobj_hpath}/temp2 klass "@none" + hsetprop ${scobj_hpath}/temp2 type "part" } if {[string equal -nocase [string index ${cards} 2] T]} { - hfactory ${scobj_hpath}/Temp3 plain spy none + hfactory ${scobj_hpath}/temp3 plain spy none - hfactory ${scobj_hpath}/Temp3/nick plain user text - hsetprop ${scobj_hpath}/Temp3/nick read ${ns}::getValue ${scobj_hpath} rdText {READ:DEV:DB3.T1:TEMP:NICK} - hsetprop ${scobj_hpath}/Temp3/nick rdText ${ns}::rdText ${scobj_hpath} - hsetprop ${scobj_hpath}/Temp3/nick control true - hsetprop ${scobj_hpath}/Temp3/nick data true - hsetprop ${scobj_hpath}/Temp3/nick mutable true - hsetprop ${scobj_hpath}/Temp3/nick nxsave true - hsetprop ${scobj_hpath}/Temp3/nick oldval UNKNOWN - hsetprop ${scobj_hpath}/Temp3/nick klass "parameter" - hsetprop ${scobj_hpath}/Temp3/nick sdsinfo "::nexus::scobj::sdsinfo" - hsetprop ${scobj_hpath}/Temp3/nick type "part" - hsetprop ${scobj_hpath}/Temp3/nick nxalias "${name}_Temp3_nick" + hfactory ${scobj_hpath}/temp3/nick plain user text + hsetprop ${scobj_hpath}/temp3/nick read ${ns}::getValue ${scobj_hpath} rdText {READ:DEV:DB3.T1:TEMP:NICK} + hsetprop ${scobj_hpath}/temp3/nick rdText ${ns}::rdText ${scobj_hpath} + hsetprop ${scobj_hpath}/temp3/nick control true + hsetprop ${scobj_hpath}/temp3/nick data true + hsetprop ${scobj_hpath}/temp3/nick mutable true + hsetprop ${scobj_hpath}/temp3/nick nxsave true + hsetprop ${scobj_hpath}/temp3/nick oldval UNKNOWN + hsetprop ${scobj_hpath}/temp3/nick klass "parameter" + hsetprop ${scobj_hpath}/temp3/nick sdsinfo "::nexus::scobj::sdsinfo" + hsetprop ${scobj_hpath}/temp3/nick type "part" + hsetprop ${scobj_hpath}/temp3/nick nxalias "${name}_temp3_nick" if {[string equal -nocase "${simulation_flag}" "false"]} { - ${sct_controller} poll ${scobj_hpath}/Temp3/nick 15 - hsetprop ${scobj_hpath}/Temp3/nick simulated false + ${sct_controller} poll ${scobj_hpath}/temp3/nick 15 + hsetprop ${scobj_hpath}/temp3/nick simulated false } else { ::scobj::oxford_mercury::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for oxford_mercury" - hsetprop ${scobj_hpath}/Temp3/nick simulated true + hsetprop ${scobj_hpath}/temp3/nick simulated true } - hfactory ${scobj_hpath}/Temp3/sensor plain user float - hsetprop ${scobj_hpath}/Temp3/sensor read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB3.T1:TEMP:SIG:TEMP} - hsetprop ${scobj_hpath}/Temp3/sensor rdValue ${ns}::rdValue ${scobj_hpath} - hsetprop ${scobj_hpath}/Temp3/sensor control true - hsetprop ${scobj_hpath}/Temp3/sensor data true - hsetprop ${scobj_hpath}/Temp3/sensor mutable true - hsetprop ${scobj_hpath}/Temp3/sensor nxsave true - hsetprop ${scobj_hpath}/Temp3/sensor permlink data_set "T[format "%02d" ${id}]S03" - hsetprop ${scobj_hpath}/Temp3/sensor @description "T[format "%02d" ${id}]S03" - hsetprop ${scobj_hpath}/Temp3/sensor oldval 0.0 - hsetprop ${scobj_hpath}/Temp3/sensor klass "parameter" - hsetprop ${scobj_hpath}/Temp3/sensor sdsinfo "::nexus::scobj::sdsinfo" - hsetprop ${scobj_hpath}/Temp3/sensor type "part" - hsetprop ${scobj_hpath}/Temp3/sensor nxalias "${name}_Temp3_sensor" + hfactory ${scobj_hpath}/temp3/sensor plain user float + hsetprop ${scobj_hpath}/temp3/sensor read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB3.T1:TEMP:SIG:TEMP} + hsetprop ${scobj_hpath}/temp3/sensor rdValue ${ns}::rdValue ${scobj_hpath} + hsetprop ${scobj_hpath}/temp3/sensor control true + hsetprop ${scobj_hpath}/temp3/sensor data true + hsetprop ${scobj_hpath}/temp3/sensor mutable true + hsetprop ${scobj_hpath}/temp3/sensor nxsave true + hsetprop ${scobj_hpath}/temp3/sensor permlink data_set "T[format "%02d" ${id}]S03" + hsetprop ${scobj_hpath}/temp3/sensor @description "T[format "%02d" ${id}]S03" + hsetprop ${scobj_hpath}/temp3/sensor oldval 0.0 + hsetprop ${scobj_hpath}/temp3/sensor klass "parameter" + hsetprop ${scobj_hpath}/temp3/sensor sdsinfo "::nexus::scobj::sdsinfo" + hsetprop ${scobj_hpath}/temp3/sensor type "part" + hsetprop ${scobj_hpath}/temp3/sensor nxalias "${name}_temp3_sensor" if {[string equal -nocase "${simulation_flag}" "false"]} { - ${sct_controller} poll ${scobj_hpath}/Temp3/sensor 1 - hsetprop ${scobj_hpath}/Temp3/sensor simulated false + ${sct_controller} poll ${scobj_hpath}/temp3/sensor 1 + hsetprop ${scobj_hpath}/temp3/sensor simulated false } else { ::scobj::oxford_mercury::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for oxford_mercury" - hsetprop ${scobj_hpath}/Temp3/sensor simulated true + hsetprop ${scobj_hpath}/temp3/sensor simulated true } - hsetprop ${scobj_hpath}/Temp3 data "true" - hsetprop ${scobj_hpath}/Temp3 klass "@none" - hsetprop ${scobj_hpath}/Temp3 type "part" + hsetprop ${scobj_hpath}/temp3 data "true" + hsetprop ${scobj_hpath}/temp3 klass "@none" + hsetprop ${scobj_hpath}/temp3 type "part" } if {[string equal -nocase [string index ${cards} 3] T]} { - hfactory ${scobj_hpath}/Temp4 plain spy none + hfactory ${scobj_hpath}/temp4 plain spy none - hfactory ${scobj_hpath}/Temp4/nick plain user text - hsetprop ${scobj_hpath}/Temp4/nick read ${ns}::getValue ${scobj_hpath} rdText {READ:DEV:DB4.T1:TEMP:NICK} - hsetprop ${scobj_hpath}/Temp4/nick rdText ${ns}::rdText ${scobj_hpath} - hsetprop ${scobj_hpath}/Temp4/nick control true - hsetprop ${scobj_hpath}/Temp4/nick data true - hsetprop ${scobj_hpath}/Temp4/nick mutable true - hsetprop ${scobj_hpath}/Temp4/nick nxsave true - hsetprop ${scobj_hpath}/Temp4/nick oldval UNKNOWN - hsetprop ${scobj_hpath}/Temp4/nick klass "parameter" - hsetprop ${scobj_hpath}/Temp4/nick sdsinfo "::nexus::scobj::sdsinfo" - hsetprop ${scobj_hpath}/Temp4/nick type "part" - hsetprop ${scobj_hpath}/Temp4/nick nxalias "${name}_Temp4_nick" + hfactory ${scobj_hpath}/temp4/nick plain user text + hsetprop ${scobj_hpath}/temp4/nick read ${ns}::getValue ${scobj_hpath} rdText {READ:DEV:DB4.T1:TEMP:NICK} + hsetprop ${scobj_hpath}/temp4/nick rdText ${ns}::rdText ${scobj_hpath} + hsetprop ${scobj_hpath}/temp4/nick control true + hsetprop ${scobj_hpath}/temp4/nick data true + hsetprop ${scobj_hpath}/temp4/nick mutable true + hsetprop ${scobj_hpath}/temp4/nick nxsave true + hsetprop ${scobj_hpath}/temp4/nick oldval UNKNOWN + hsetprop ${scobj_hpath}/temp4/nick klass "parameter" + hsetprop ${scobj_hpath}/temp4/nick sdsinfo "::nexus::scobj::sdsinfo" + hsetprop ${scobj_hpath}/temp4/nick type "part" + hsetprop ${scobj_hpath}/temp4/nick nxalias "${name}_temp4_nick" if {[string equal -nocase "${simulation_flag}" "false"]} { - ${sct_controller} poll ${scobj_hpath}/Temp4/nick 15 - hsetprop ${scobj_hpath}/Temp4/nick simulated false + ${sct_controller} poll ${scobj_hpath}/temp4/nick 15 + hsetprop ${scobj_hpath}/temp4/nick simulated false } else { ::scobj::oxford_mercury::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for oxford_mercury" - hsetprop ${scobj_hpath}/Temp4/nick simulated true + hsetprop ${scobj_hpath}/temp4/nick simulated true } - hfactory ${scobj_hpath}/Temp4/sensor plain user float - hsetprop ${scobj_hpath}/Temp4/sensor read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB4.T1:TEMP:SIG:TEMP} - hsetprop ${scobj_hpath}/Temp4/sensor rdValue ${ns}::rdValue ${scobj_hpath} - hsetprop ${scobj_hpath}/Temp4/sensor control true - hsetprop ${scobj_hpath}/Temp4/sensor data true - hsetprop ${scobj_hpath}/Temp4/sensor mutable true - hsetprop ${scobj_hpath}/Temp4/sensor nxsave true - hsetprop ${scobj_hpath}/Temp4/sensor permlink data_set "T[format "%02d" ${id}]S04" - hsetprop ${scobj_hpath}/Temp4/sensor @description "T[format "%02d" ${id}]S04" - hsetprop ${scobj_hpath}/Temp4/sensor oldval 0.0 - hsetprop ${scobj_hpath}/Temp4/sensor klass "parameter" - hsetprop ${scobj_hpath}/Temp4/sensor sdsinfo "::nexus::scobj::sdsinfo" - hsetprop ${scobj_hpath}/Temp4/sensor type "part" - hsetprop ${scobj_hpath}/Temp4/sensor nxalias "${name}_Temp4_sensor" + hfactory ${scobj_hpath}/temp4/sensor plain user float + hsetprop ${scobj_hpath}/temp4/sensor read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB4.T1:TEMP:SIG:TEMP} + hsetprop ${scobj_hpath}/temp4/sensor rdValue ${ns}::rdValue ${scobj_hpath} + hsetprop ${scobj_hpath}/temp4/sensor control true + hsetprop ${scobj_hpath}/temp4/sensor data true + hsetprop ${scobj_hpath}/temp4/sensor mutable true + hsetprop ${scobj_hpath}/temp4/sensor nxsave true + hsetprop ${scobj_hpath}/temp4/sensor permlink data_set "T[format "%02d" ${id}]S04" + hsetprop ${scobj_hpath}/temp4/sensor @description "T[format "%02d" ${id}]S04" + hsetprop ${scobj_hpath}/temp4/sensor oldval 0.0 + hsetprop ${scobj_hpath}/temp4/sensor klass "parameter" + hsetprop ${scobj_hpath}/temp4/sensor sdsinfo "::nexus::scobj::sdsinfo" + hsetprop ${scobj_hpath}/temp4/sensor type "part" + hsetprop ${scobj_hpath}/temp4/sensor nxalias "${name}_temp4_sensor" if {[string equal -nocase "${simulation_flag}" "false"]} { - ${sct_controller} poll ${scobj_hpath}/Temp4/sensor 1 - hsetprop ${scobj_hpath}/Temp4/sensor simulated false + ${sct_controller} poll ${scobj_hpath}/temp4/sensor 1 + hsetprop ${scobj_hpath}/temp4/sensor simulated false } else { ::scobj::oxford_mercury::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for oxford_mercury" - hsetprop ${scobj_hpath}/Temp4/sensor simulated true + hsetprop ${scobj_hpath}/temp4/sensor simulated true } - hsetprop ${scobj_hpath}/Temp4 data "true" - hsetprop ${scobj_hpath}/Temp4 klass "@none" - hsetprop ${scobj_hpath}/Temp4 type "part" + hsetprop ${scobj_hpath}/temp4 data "true" + hsetprop ${scobj_hpath}/temp4 klass "@none" + hsetprop ${scobj_hpath}/temp4 type "part" } if {[string equal -nocase [string index ${cards} 4] T]} { - hfactory ${scobj_hpath}/Temp5 plain spy none + hfactory ${scobj_hpath}/temp5 plain spy none - hfactory ${scobj_hpath}/Temp5/nick plain user text - hsetprop ${scobj_hpath}/Temp5/nick read ${ns}::getValue ${scobj_hpath} rdText {READ:DEV:DB5.T1:TEMP:NICK} - hsetprop ${scobj_hpath}/Temp5/nick rdText ${ns}::rdText ${scobj_hpath} - hsetprop ${scobj_hpath}/Temp5/nick control true - hsetprop ${scobj_hpath}/Temp5/nick data true - hsetprop ${scobj_hpath}/Temp5/nick mutable true - hsetprop ${scobj_hpath}/Temp5/nick nxsave true - hsetprop ${scobj_hpath}/Temp5/nick oldval UNKNOWN - hsetprop ${scobj_hpath}/Temp5/nick klass "parameter" - hsetprop ${scobj_hpath}/Temp5/nick sdsinfo "::nexus::scobj::sdsinfo" - hsetprop ${scobj_hpath}/Temp5/nick type "part" - hsetprop ${scobj_hpath}/Temp5/nick nxalias "${name}_Temp5_nick" + hfactory ${scobj_hpath}/temp5/nick plain user text + hsetprop ${scobj_hpath}/temp5/nick read ${ns}::getValue ${scobj_hpath} rdText {READ:DEV:DB5.T1:TEMP:NICK} + hsetprop ${scobj_hpath}/temp5/nick rdText ${ns}::rdText ${scobj_hpath} + hsetprop ${scobj_hpath}/temp5/nick control true + hsetprop ${scobj_hpath}/temp5/nick data true + hsetprop ${scobj_hpath}/temp5/nick mutable true + hsetprop ${scobj_hpath}/temp5/nick nxsave true + hsetprop ${scobj_hpath}/temp5/nick oldval UNKNOWN + hsetprop ${scobj_hpath}/temp5/nick klass "parameter" + hsetprop ${scobj_hpath}/temp5/nick sdsinfo "::nexus::scobj::sdsinfo" + hsetprop ${scobj_hpath}/temp5/nick type "part" + hsetprop ${scobj_hpath}/temp5/nick nxalias "${name}_temp5_nick" if {[string equal -nocase "${simulation_flag}" "false"]} { - ${sct_controller} poll ${scobj_hpath}/Temp5/nick 15 - hsetprop ${scobj_hpath}/Temp5/nick simulated false + ${sct_controller} poll ${scobj_hpath}/temp5/nick 15 + hsetprop ${scobj_hpath}/temp5/nick simulated false } else { ::scobj::oxford_mercury::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for oxford_mercury" - hsetprop ${scobj_hpath}/Temp5/nick simulated true + hsetprop ${scobj_hpath}/temp5/nick simulated true } - hfactory ${scobj_hpath}/Temp5/sensor plain user float - hsetprop ${scobj_hpath}/Temp5/sensor read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB5.T1:TEMP:SIG:TEMP} - hsetprop ${scobj_hpath}/Temp5/sensor rdValue ${ns}::rdValue ${scobj_hpath} - hsetprop ${scobj_hpath}/Temp5/sensor control true - hsetprop ${scobj_hpath}/Temp5/sensor data true - hsetprop ${scobj_hpath}/Temp5/sensor mutable true - hsetprop ${scobj_hpath}/Temp5/sensor nxsave true - hsetprop ${scobj_hpath}/Temp5/sensor permlink data_set "T[format "%02d" ${id}]S05" - hsetprop ${scobj_hpath}/Temp5/sensor @description "T[format "%02d" ${id}]S05" - hsetprop ${scobj_hpath}/Temp5/sensor oldval 0.0 - hsetprop ${scobj_hpath}/Temp5/sensor klass "parameter" - hsetprop ${scobj_hpath}/Temp5/sensor sdsinfo "::nexus::scobj::sdsinfo" - hsetprop ${scobj_hpath}/Temp5/sensor type "part" - hsetprop ${scobj_hpath}/Temp5/sensor nxalias "${name}_Temp5_sensor" + hfactory ${scobj_hpath}/temp5/sensor plain user float + hsetprop ${scobj_hpath}/temp5/sensor read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB5.T1:TEMP:SIG:TEMP} + hsetprop ${scobj_hpath}/temp5/sensor rdValue ${ns}::rdValue ${scobj_hpath} + hsetprop ${scobj_hpath}/temp5/sensor control true + hsetprop ${scobj_hpath}/temp5/sensor data true + hsetprop ${scobj_hpath}/temp5/sensor mutable true + hsetprop ${scobj_hpath}/temp5/sensor nxsave true + hsetprop ${scobj_hpath}/temp5/sensor permlink data_set "T[format "%02d" ${id}]S05" + hsetprop ${scobj_hpath}/temp5/sensor @description "T[format "%02d" ${id}]S05" + hsetprop ${scobj_hpath}/temp5/sensor oldval 0.0 + hsetprop ${scobj_hpath}/temp5/sensor klass "parameter" + hsetprop ${scobj_hpath}/temp5/sensor sdsinfo "::nexus::scobj::sdsinfo" + hsetprop ${scobj_hpath}/temp5/sensor type "part" + hsetprop ${scobj_hpath}/temp5/sensor nxalias "${name}_temp5_sensor" if {[string equal -nocase "${simulation_flag}" "false"]} { - ${sct_controller} poll ${scobj_hpath}/Temp5/sensor 1 - hsetprop ${scobj_hpath}/Temp5/sensor simulated false + ${sct_controller} poll ${scobj_hpath}/temp5/sensor 1 + hsetprop ${scobj_hpath}/temp5/sensor simulated false } else { ::scobj::oxford_mercury::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for oxford_mercury" - hsetprop ${scobj_hpath}/Temp5/sensor simulated true + hsetprop ${scobj_hpath}/temp5/sensor simulated true } - hsetprop ${scobj_hpath}/Temp5 data "true" - hsetprop ${scobj_hpath}/Temp5 klass "@none" - hsetprop ${scobj_hpath}/Temp5 type "part" + hsetprop ${scobj_hpath}/temp5 data "true" + hsetprop ${scobj_hpath}/temp5 klass "@none" + hsetprop ${scobj_hpath}/temp5 type "part" } if {[string equal -nocase [string index ${cards} 5] T]} { - hfactory ${scobj_hpath}/Temp6 plain spy none - - hfactory ${scobj_hpath}/Temp6/nick plain user text - hsetprop ${scobj_hpath}/Temp6/nick read ${ns}::getValue ${scobj_hpath} rdText {READ:DEV:DB6.T1:TEMP:NICK} - hsetprop ${scobj_hpath}/Temp6/nick rdText ${ns}::rdText ${scobj_hpath} - hsetprop ${scobj_hpath}/Temp6/nick control true - hsetprop ${scobj_hpath}/Temp6/nick data true - hsetprop ${scobj_hpath}/Temp6/nick mutable true - hsetprop ${scobj_hpath}/Temp6/nick nxsave true - hsetprop ${scobj_hpath}/Temp6/nick oldval UNKNOWN - hsetprop ${scobj_hpath}/Temp6/nick klass "parameter" - hsetprop ${scobj_hpath}/Temp6/nick sdsinfo "::nexus::scobj::sdsinfo" - hsetprop ${scobj_hpath}/Temp6/nick type "part" - hsetprop ${scobj_hpath}/Temp6/nick nxalias "${name}_Temp6_nick" - - if {[string equal -nocase "${simulation_flag}" "false"]} { - ${sct_controller} poll ${scobj_hpath}/Temp6/nick 15 - hsetprop ${scobj_hpath}/Temp6/nick simulated false - } else { - ::scobj::oxford_mercury::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for oxford_mercury" - hsetprop ${scobj_hpath}/Temp6/nick simulated true - } + hfactory ${scobj_hpath}/temp6 plain spy none if {[string equal -nocase [string index ${cards} 0] H] && [string equal -nocase [string index ${assoc} 5] 1]} { - hfactory ${scobj_hpath}/Temp6/power plain user float - hsetprop ${scobj_hpath}/Temp6/power read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB1.H1:HTR:SIG:POWR} - hsetprop ${scobj_hpath}/Temp6/power rdValue ${ns}::rdValue ${scobj_hpath} - hsetprop ${scobj_hpath}/Temp6/power control true - hsetprop ${scobj_hpath}/Temp6/power data true - hsetprop ${scobj_hpath}/Temp6/power mutable true - hsetprop ${scobj_hpath}/Temp6/power nxsave true - hsetprop ${scobj_hpath}/Temp6/power oldval 0.0 - hsetprop ${scobj_hpath}/Temp6/power klass "parameter" - hsetprop ${scobj_hpath}/Temp6/power sdsinfo "::nexus::scobj::sdsinfo" - hsetprop ${scobj_hpath}/Temp6/power type "part" - hsetprop ${scobj_hpath}/Temp6/power nxalias "${name}_Temp6_power" + hfactory ${scobj_hpath}/temp6/auto plain user int + hsetprop ${scobj_hpath}/temp6/auto read ${ns}::getValue ${scobj_hpath} rdOnOff {READ:DEV:DB6.T1:TEMP:LOOP:ENAB} + hsetprop ${scobj_hpath}/temp6/auto rdOnOff ${ns}::rdOnOff ${scobj_hpath} + hsetprop ${scobj_hpath}/temp6/auto write ${ns}::wrOnOff ${scobj_hpath} noResponse {SET:DEV:DB6.T1:TEMP:LOOP:ENAB:} + hsetprop ${scobj_hpath}/temp6/auto noResponse ${ns}::noResponse ${scobj_hpath} + hsetprop ${scobj_hpath}/temp6/auto check ${ns}::checkrange ${scobj_hpath} + hsetprop ${scobj_hpath}/temp6/auto control true + hsetprop ${scobj_hpath}/temp6/auto data true + hsetprop ${scobj_hpath}/temp6/auto mutable true + hsetprop ${scobj_hpath}/temp6/auto nxsave true + hsetprop ${scobj_hpath}/temp6/auto values 0,1 + hsetprop ${scobj_hpath}/temp6/auto oldval 0 + hsetprop ${scobj_hpath}/temp6/auto klass "parameter" + hsetprop ${scobj_hpath}/temp6/auto sdsinfo "::nexus::scobj::sdsinfo" + hsetprop ${scobj_hpath}/temp6/auto type "part" + hsetprop ${scobj_hpath}/temp6/auto nxalias "${name}_temp6_auto" if {[string equal -nocase "${simulation_flag}" "false"]} { - ${sct_controller} poll ${scobj_hpath}/Temp6/power 5 - hsetprop ${scobj_hpath}/Temp6/power simulated false + ${sct_controller} poll ${scobj_hpath}/temp6/auto 5 + ${sct_controller} write ${scobj_hpath}/temp6/auto + hsetprop ${scobj_hpath}/temp6/auto simulated false } else { ::scobj::oxford_mercury::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for oxford_mercury" - hsetprop ${scobj_hpath}/Temp6/power simulated true + hsetprop ${scobj_hpath}/temp6/auto simulated true } } - hfactory ${scobj_hpath}/Temp6/sensor plain user float - hsetprop ${scobj_hpath}/Temp6/sensor read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB6.T1:TEMP:SIG:TEMP} - hsetprop ${scobj_hpath}/Temp6/sensor rdValue ${ns}::rdValue ${scobj_hpath} - hsetprop ${scobj_hpath}/Temp6/sensor control true - hsetprop ${scobj_hpath}/Temp6/sensor data true - hsetprop ${scobj_hpath}/Temp6/sensor mutable true - hsetprop ${scobj_hpath}/Temp6/sensor nxsave true - hsetprop ${scobj_hpath}/Temp6/sensor permlink data_set "T[format "%02d" ${id}]S06" - hsetprop ${scobj_hpath}/Temp6/sensor @description "T[format "%02d" ${id}]S06" - hsetprop ${scobj_hpath}/Temp6/sensor oldval 0.0 - hsetprop ${scobj_hpath}/Temp6/sensor klass "parameter" - hsetprop ${scobj_hpath}/Temp6/sensor sdsinfo "::nexus::scobj::sdsinfo" - hsetprop ${scobj_hpath}/Temp6/sensor type "part" - hsetprop ${scobj_hpath}/Temp6/sensor nxalias "${name}_Temp6_sensor" + hfactory ${scobj_hpath}/temp6/nick plain user text + hsetprop ${scobj_hpath}/temp6/nick read ${ns}::getValue ${scobj_hpath} rdText {READ:DEV:DB6.T1:TEMP:NICK} + hsetprop ${scobj_hpath}/temp6/nick rdText ${ns}::rdText ${scobj_hpath} + hsetprop ${scobj_hpath}/temp6/nick control true + hsetprop ${scobj_hpath}/temp6/nick data true + hsetprop ${scobj_hpath}/temp6/nick mutable true + hsetprop ${scobj_hpath}/temp6/nick nxsave true + hsetprop ${scobj_hpath}/temp6/nick oldval UNKNOWN + hsetprop ${scobj_hpath}/temp6/nick klass "parameter" + hsetprop ${scobj_hpath}/temp6/nick sdsinfo "::nexus::scobj::sdsinfo" + hsetprop ${scobj_hpath}/temp6/nick type "part" + hsetprop ${scobj_hpath}/temp6/nick nxalias "${name}_temp6_nick" if {[string equal -nocase "${simulation_flag}" "false"]} { - ${sct_controller} poll ${scobj_hpath}/Temp6/sensor 1 - hsetprop ${scobj_hpath}/Temp6/sensor simulated false + ${sct_controller} poll ${scobj_hpath}/temp6/nick 15 + hsetprop ${scobj_hpath}/temp6/nick simulated false } else { ::scobj::oxford_mercury::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for oxford_mercury" - hsetprop ${scobj_hpath}/Temp6/sensor simulated true + hsetprop ${scobj_hpath}/temp6/nick simulated true + } + + hfactory ${scobj_hpath}/temp6/sensor plain user float + hsetprop ${scobj_hpath}/temp6/sensor read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB6.T1:TEMP:SIG:TEMP} + hsetprop ${scobj_hpath}/temp6/sensor rdValue ${ns}::rdValue ${scobj_hpath} + hsetprop ${scobj_hpath}/temp6/sensor control true + hsetprop ${scobj_hpath}/temp6/sensor data true + hsetprop ${scobj_hpath}/temp6/sensor mutable true + hsetprop ${scobj_hpath}/temp6/sensor nxsave true + hsetprop ${scobj_hpath}/temp6/sensor permlink data_set "T[format "%02d" ${id}]S06" + hsetprop ${scobj_hpath}/temp6/sensor @description "T[format "%02d" ${id}]S06" + hsetprop ${scobj_hpath}/temp6/sensor oldval 0.0 + hsetprop ${scobj_hpath}/temp6/sensor klass "parameter" + hsetprop ${scobj_hpath}/temp6/sensor sdsinfo "::nexus::scobj::sdsinfo" + hsetprop ${scobj_hpath}/temp6/sensor type "part" + hsetprop ${scobj_hpath}/temp6/sensor nxalias "${name}_temp6_sensor" + + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/temp6/sensor 1 + hsetprop ${scobj_hpath}/temp6/sensor simulated false + } else { + ::scobj::oxford_mercury::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for oxford_mercury" + hsetprop ${scobj_hpath}/temp6/sensor simulated true } if {[string equal -nocase [string index ${cards} 0] H] && [string equal -nocase [string index ${assoc} 5] 1]} { - hfactory ${scobj_hpath}/Temp6/setpoint plain user float - hsetprop ${scobj_hpath}/Temp6/setpoint read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB6.T1:TEMP:LOOP:TSET} - hsetprop ${scobj_hpath}/Temp6/setpoint rdValue ${ns}::rdValue ${scobj_hpath} - hsetprop ${scobj_hpath}/Temp6/setpoint write ${ns}::setPoint ${scobj_hpath} noResponse {SET:DEV:DB6.T1:TEMP:LOOP:TSET:} - hsetprop ${scobj_hpath}/Temp6/setpoint noResponse ${ns}::noResponse ${scobj_hpath} - hsetprop ${scobj_hpath}/Temp6/setpoint check ${ns}::checkrange ${scobj_hpath} - hsetprop ${scobj_hpath}/Temp6/setpoint driving 0 - hsetprop ${scobj_hpath}/Temp6/setpoint checklimits ${ns}::checklimits ${scobj_hpath} - hsetprop ${scobj_hpath}/Temp6/setpoint checkstatus ${ns}::checkstatus ${scobj_hpath} - hsetprop ${scobj_hpath}/Temp6/setpoint halt ${ns}::halt ${scobj_hpath} - hsetprop ${scobj_hpath}/Temp6/setpoint driveable Temp6/sensor - hsetprop ${scobj_hpath}/Temp6/setpoint control true - hsetprop ${scobj_hpath}/Temp6/setpoint data true - hsetprop ${scobj_hpath}/Temp6/setpoint mutable true - hsetprop ${scobj_hpath}/Temp6/setpoint nxsave true - hsetprop ${scobj_hpath}/Temp6/setpoint lowerlimit 0 - hsetprop ${scobj_hpath}/Temp6/setpoint upperlimit 333 - hsetprop ${scobj_hpath}/Temp6/setpoint tolerance ${ttol} - hsetprop ${scobj_hpath}/Temp6/setpoint permlink data_set "T[format "%02d" ${id}]SP06" - hsetprop ${scobj_hpath}/Temp6/setpoint @description "T[format "%02d" ${id}]SP06" - hsetprop ${scobj_hpath}/Temp6/setpoint oldval 0.0 - hsetprop ${scobj_hpath}/Temp6/setpoint klass "parameter" - hsetprop ${scobj_hpath}/Temp6/setpoint sdsinfo "::nexus::scobj::sdsinfo" - hsetprop ${scobj_hpath}/Temp6/setpoint settle_time "15" - hsetprop ${scobj_hpath}/Temp6/setpoint type "drivable" - hsetprop ${scobj_hpath}/Temp6/setpoint nxalias "${name}_Temp6_setpoint" + hfactory ${scobj_hpath}/temp6/setpoint plain user float + hsetprop ${scobj_hpath}/temp6/setpoint read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB6.T1:TEMP:LOOP:TSET} + hsetprop ${scobj_hpath}/temp6/setpoint rdValue ${ns}::rdValue ${scobj_hpath} + hsetprop ${scobj_hpath}/temp6/setpoint write ${ns}::setPoint ${scobj_hpath} noResponse {SET:DEV:DB6.T1:TEMP:LOOP:TSET:} + hsetprop ${scobj_hpath}/temp6/setpoint noResponse ${ns}::noResponse ${scobj_hpath} + hsetprop ${scobj_hpath}/temp6/setpoint check ${ns}::checkrange ${scobj_hpath} + hsetprop ${scobj_hpath}/temp6/setpoint driving 0 + hsetprop ${scobj_hpath}/temp6/setpoint checklimits ${ns}::checklimits ${scobj_hpath} + hsetprop ${scobj_hpath}/temp6/setpoint checkstatus ${ns}::checkstatus ${scobj_hpath} + hsetprop ${scobj_hpath}/temp6/setpoint halt ${ns}::halt ${scobj_hpath} + hsetprop ${scobj_hpath}/temp6/setpoint driveable temp6/sensor + hsetprop ${scobj_hpath}/temp6/setpoint control true + hsetprop ${scobj_hpath}/temp6/setpoint data true + hsetprop ${scobj_hpath}/temp6/setpoint mutable true + hsetprop ${scobj_hpath}/temp6/setpoint nxsave true + hsetprop ${scobj_hpath}/temp6/setpoint lowerlimit 0 + hsetprop ${scobj_hpath}/temp6/setpoint upperlimit 333 + hsetprop ${scobj_hpath}/temp6/setpoint tolerance ${ttol} + hsetprop ${scobj_hpath}/temp6/setpoint permlink data_set "T[format "%02d" ${id}]SP06" + hsetprop ${scobj_hpath}/temp6/setpoint @description "T[format "%02d" ${id}]SP06" + hsetprop ${scobj_hpath}/temp6/setpoint oldval 0.0 + hsetprop ${scobj_hpath}/temp6/setpoint klass "parameter" + hsetprop ${scobj_hpath}/temp6/setpoint sdsinfo "::nexus::scobj::sdsinfo" + hsetprop ${scobj_hpath}/temp6/setpoint settle_time "15" + hsetprop ${scobj_hpath}/temp6/setpoint type "drivable" + hsetprop ${scobj_hpath}/temp6/setpoint nxalias "${name}_temp6_setpoint" if {[string equal -nocase "${simulation_flag}" "false"]} { - ${sct_controller} poll ${scobj_hpath}/Temp6/setpoint 5 - ${sct_controller} write ${scobj_hpath}/Temp6/setpoint - hsetprop ${scobj_hpath}/Temp6/setpoint simulated false + ${sct_controller} poll ${scobj_hpath}/temp6/setpoint 5 + ${sct_controller} write ${scobj_hpath}/temp6/setpoint + hsetprop ${scobj_hpath}/temp6/setpoint simulated false } else { ::scobj::oxford_mercury::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for oxford_mercury" - hsetprop ${scobj_hpath}/Temp6/setpoint simulated true + hsetprop ${scobj_hpath}/temp6/setpoint simulated true } } - hsetprop ${scobj_hpath}/Temp6 data "true" - hsetprop ${scobj_hpath}/Temp6 klass "@none" - hsetprop ${scobj_hpath}/Temp6 type "part" + hsetprop ${scobj_hpath}/temp6 data "true" + hsetprop ${scobj_hpath}/temp6 klass "@none" + hsetprop ${scobj_hpath}/temp6 type "part" + if {[string equal -nocase [string index ${cards} 0] H] && [string equal -nocase [string index ${assoc} 5] 1]} { - ansto_makesctdrive ${name}_Temp6_setpoint ${scobj_hpath}/Temp6/setpoint ${scobj_hpath}/Temp6/sensor ${sct_controller} + hfactory ${scobj_hpath}/temp6/heater plain spy none + + hfactory ${scobj_hpath}/temp6/heater/hset plain user float + hsetprop ${scobj_hpath}/temp6/heater/hset read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB6.T1:TEMP:LOOP:HSET} + hsetprop ${scobj_hpath}/temp6/heater/hset rdValue ${ns}::rdValue ${scobj_hpath} + hsetprop ${scobj_hpath}/temp6/heater/hset write ${ns}::setValue ${scobj_hpath} noResponse {SET:DEV:DB6.T1:TEMP:LOOP:HSET:} + hsetprop ${scobj_hpath}/temp6/heater/hset noResponse ${ns}::noResponse ${scobj_hpath} + hsetprop ${scobj_hpath}/temp6/heater/hset check ${ns}::checkrange ${scobj_hpath} + hsetprop ${scobj_hpath}/temp6/heater/hset control true + hsetprop ${scobj_hpath}/temp6/heater/hset data true + hsetprop ${scobj_hpath}/temp6/heater/hset mutable true + hsetprop ${scobj_hpath}/temp6/heater/hset nxsave true + hsetprop ${scobj_hpath}/temp6/heater/hset lowerlimit 0 + hsetprop ${scobj_hpath}/temp6/heater/hset upperlimit 100 + hsetprop ${scobj_hpath}/temp6/heater/hset oldval 0.0 + hsetprop ${scobj_hpath}/temp6/heater/hset klass "parameter" + hsetprop ${scobj_hpath}/temp6/heater/hset sdsinfo "::nexus::scobj::sdsinfo" + hsetprop ${scobj_hpath}/temp6/heater/hset type "part" + hsetprop ${scobj_hpath}/temp6/heater/hset nxalias "${name}_temp6_heater_hset" + + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/temp6/heater/hset 5 + ${sct_controller} write ${scobj_hpath}/temp6/heater/hset + hsetprop ${scobj_hpath}/temp6/heater/hset simulated false + } else { + ::scobj::oxford_mercury::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for oxford_mercury" + hsetprop ${scobj_hpath}/temp6/heater/hset simulated true + } + + hfactory ${scobj_hpath}/temp6/heater/perc plain user float + hsetprop ${scobj_hpath}/temp6/heater/perc read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB1.H1:HTR:SIG:PERC} + hsetprop ${scobj_hpath}/temp6/heater/perc rdValue ${ns}::rdValue ${scobj_hpath} + hsetprop ${scobj_hpath}/temp6/heater/perc control true + hsetprop ${scobj_hpath}/temp6/heater/perc data true + hsetprop ${scobj_hpath}/temp6/heater/perc mutable true + hsetprop ${scobj_hpath}/temp6/heater/perc nxsave true + hsetprop ${scobj_hpath}/temp6/heater/perc oldval 0.0 + hsetprop ${scobj_hpath}/temp6/heater/perc klass "parameter" + hsetprop ${scobj_hpath}/temp6/heater/perc sdsinfo "::nexus::scobj::sdsinfo" + hsetprop ${scobj_hpath}/temp6/heater/perc type "part" + hsetprop ${scobj_hpath}/temp6/heater/perc nxalias "${name}_temp6_heater_perc" + + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/temp6/heater/perc 5 + hsetprop ${scobj_hpath}/temp6/heater/perc simulated false + } else { + ::scobj::oxford_mercury::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for oxford_mercury" + hsetprop ${scobj_hpath}/temp6/heater/perc simulated true + } + + hfactory ${scobj_hpath}/temp6/heater/power plain user float + hsetprop ${scobj_hpath}/temp6/heater/power read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB1.H1:HTR:SIG:POWR} + hsetprop ${scobj_hpath}/temp6/heater/power rdValue ${ns}::rdValue ${scobj_hpath} + hsetprop ${scobj_hpath}/temp6/heater/power control true + hsetprop ${scobj_hpath}/temp6/heater/power data true + hsetprop ${scobj_hpath}/temp6/heater/power mutable true + hsetprop ${scobj_hpath}/temp6/heater/power nxsave true + hsetprop ${scobj_hpath}/temp6/heater/power oldval 0.0 + hsetprop ${scobj_hpath}/temp6/heater/power klass "parameter" + hsetprop ${scobj_hpath}/temp6/heater/power sdsinfo "::nexus::scobj::sdsinfo" + hsetprop ${scobj_hpath}/temp6/heater/power type "part" + hsetprop ${scobj_hpath}/temp6/heater/power nxalias "${name}_temp6_heater_power" + + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/temp6/heater/power 5 + hsetprop ${scobj_hpath}/temp6/heater/power simulated false + } else { + ::scobj::oxford_mercury::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for oxford_mercury" + hsetprop ${scobj_hpath}/temp6/heater/power simulated true + } + hsetprop ${scobj_hpath}/temp6/heater data "true" + hsetprop ${scobj_hpath}/temp6/heater klass "@none" + hsetprop ${scobj_hpath}/temp6/heater type "part" + } + if {[string equal -nocase [string index ${cards} 0] H] && [string equal -nocase [string index ${assoc} 5] 1]} { + ansto_makesctdrive ${name}_temp6_setpoint ${scobj_hpath}/temp6/setpoint ${scobj_hpath}/temp6/sensor ${sct_controller} } } if {[string equal -nocase [string index ${cards} 6] T]} { - hfactory ${scobj_hpath}/Temp7 plain spy none - - hfactory ${scobj_hpath}/Temp7/nick plain user text - hsetprop ${scobj_hpath}/Temp7/nick read ${ns}::getValue ${scobj_hpath} rdText {READ:DEV:DB7.T1:TEMP:NICK} - hsetprop ${scobj_hpath}/Temp7/nick rdText ${ns}::rdText ${scobj_hpath} - hsetprop ${scobj_hpath}/Temp7/nick control true - hsetprop ${scobj_hpath}/Temp7/nick data true - hsetprop ${scobj_hpath}/Temp7/nick mutable true - hsetprop ${scobj_hpath}/Temp7/nick nxsave true - hsetprop ${scobj_hpath}/Temp7/nick oldval UNKNOWN - hsetprop ${scobj_hpath}/Temp7/nick klass "parameter" - hsetprop ${scobj_hpath}/Temp7/nick sdsinfo "::nexus::scobj::sdsinfo" - hsetprop ${scobj_hpath}/Temp7/nick type "part" - hsetprop ${scobj_hpath}/Temp7/nick nxalias "${name}_Temp7_nick" - - if {[string equal -nocase "${simulation_flag}" "false"]} { - ${sct_controller} poll ${scobj_hpath}/Temp7/nick 15 - hsetprop ${scobj_hpath}/Temp7/nick simulated false - } else { - ::scobj::oxford_mercury::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for oxford_mercury" - hsetprop ${scobj_hpath}/Temp7/nick simulated true - } + hfactory ${scobj_hpath}/temp7 plain spy none if {[string equal -nocase [string index ${cards} 1] H] && [string equal -nocase [string index ${assoc} 6] 2]} { - hfactory ${scobj_hpath}/Temp7/power plain user float - hsetprop ${scobj_hpath}/Temp7/power read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB2.H1:HTR:SIG:POWR} - hsetprop ${scobj_hpath}/Temp7/power rdValue ${ns}::rdValue ${scobj_hpath} - hsetprop ${scobj_hpath}/Temp7/power control true - hsetprop ${scobj_hpath}/Temp7/power data true - hsetprop ${scobj_hpath}/Temp7/power mutable true - hsetprop ${scobj_hpath}/Temp7/power nxsave true - hsetprop ${scobj_hpath}/Temp7/power oldval 0.0 - hsetprop ${scobj_hpath}/Temp7/power klass "parameter" - hsetprop ${scobj_hpath}/Temp7/power sdsinfo "::nexus::scobj::sdsinfo" - hsetprop ${scobj_hpath}/Temp7/power type "part" - hsetprop ${scobj_hpath}/Temp7/power nxalias "${name}_Temp7_power" + hfactory ${scobj_hpath}/temp7/auto plain user int + hsetprop ${scobj_hpath}/temp7/auto read ${ns}::getValue ${scobj_hpath} rdOnOff {READ:DEV:DB7.T1:TEMP:LOOP:ENAB} + hsetprop ${scobj_hpath}/temp7/auto rdOnOff ${ns}::rdOnOff ${scobj_hpath} + hsetprop ${scobj_hpath}/temp7/auto write ${ns}::wrOnOff ${scobj_hpath} noResponse {SET:DEV:DB7.T1:TEMP:LOOP:ENAB:} + hsetprop ${scobj_hpath}/temp7/auto noResponse ${ns}::noResponse ${scobj_hpath} + hsetprop ${scobj_hpath}/temp7/auto check ${ns}::checkrange ${scobj_hpath} + hsetprop ${scobj_hpath}/temp7/auto control true + hsetprop ${scobj_hpath}/temp7/auto data true + hsetprop ${scobj_hpath}/temp7/auto mutable true + hsetprop ${scobj_hpath}/temp7/auto nxsave true + hsetprop ${scobj_hpath}/temp7/auto values 0,1 + hsetprop ${scobj_hpath}/temp7/auto oldval 0 + hsetprop ${scobj_hpath}/temp7/auto klass "parameter" + hsetprop ${scobj_hpath}/temp7/auto sdsinfo "::nexus::scobj::sdsinfo" + hsetprop ${scobj_hpath}/temp7/auto type "part" + hsetprop ${scobj_hpath}/temp7/auto nxalias "${name}_temp7_auto" if {[string equal -nocase "${simulation_flag}" "false"]} { - ${sct_controller} poll ${scobj_hpath}/Temp7/power 5 - hsetprop ${scobj_hpath}/Temp7/power simulated false + ${sct_controller} poll ${scobj_hpath}/temp7/auto 5 + ${sct_controller} write ${scobj_hpath}/temp7/auto + hsetprop ${scobj_hpath}/temp7/auto simulated false } else { ::scobj::oxford_mercury::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for oxford_mercury" - hsetprop ${scobj_hpath}/Temp7/power simulated true + hsetprop ${scobj_hpath}/temp7/auto simulated true } } - hfactory ${scobj_hpath}/Temp7/sensor plain user float - hsetprop ${scobj_hpath}/Temp7/sensor read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB7.T1:TEMP:SIG:TEMP} - hsetprop ${scobj_hpath}/Temp7/sensor rdValue ${ns}::rdValue ${scobj_hpath} - hsetprop ${scobj_hpath}/Temp7/sensor control true - hsetprop ${scobj_hpath}/Temp7/sensor data true - hsetprop ${scobj_hpath}/Temp7/sensor mutable true - hsetprop ${scobj_hpath}/Temp7/sensor nxsave true - hsetprop ${scobj_hpath}/Temp7/sensor permlink data_set "T[format "%02d" ${id}]S07" - hsetprop ${scobj_hpath}/Temp7/sensor @description "T[format "%02d" ${id}]S07" - hsetprop ${scobj_hpath}/Temp7/sensor oldval 0.0 - hsetprop ${scobj_hpath}/Temp7/sensor klass "parameter" - hsetprop ${scobj_hpath}/Temp7/sensor sdsinfo "::nexus::scobj::sdsinfo" - hsetprop ${scobj_hpath}/Temp7/sensor type "part" - hsetprop ${scobj_hpath}/Temp7/sensor nxalias "${name}_Temp7_sensor" + hfactory ${scobj_hpath}/temp7/nick plain user text + hsetprop ${scobj_hpath}/temp7/nick read ${ns}::getValue ${scobj_hpath} rdText {READ:DEV:DB7.T1:TEMP:NICK} + hsetprop ${scobj_hpath}/temp7/nick rdText ${ns}::rdText ${scobj_hpath} + hsetprop ${scobj_hpath}/temp7/nick control true + hsetprop ${scobj_hpath}/temp7/nick data true + hsetprop ${scobj_hpath}/temp7/nick mutable true + hsetprop ${scobj_hpath}/temp7/nick nxsave true + hsetprop ${scobj_hpath}/temp7/nick oldval UNKNOWN + hsetprop ${scobj_hpath}/temp7/nick klass "parameter" + hsetprop ${scobj_hpath}/temp7/nick sdsinfo "::nexus::scobj::sdsinfo" + hsetprop ${scobj_hpath}/temp7/nick type "part" + hsetprop ${scobj_hpath}/temp7/nick nxalias "${name}_temp7_nick" if {[string equal -nocase "${simulation_flag}" "false"]} { - ${sct_controller} poll ${scobj_hpath}/Temp7/sensor 1 - hsetprop ${scobj_hpath}/Temp7/sensor simulated false + ${sct_controller} poll ${scobj_hpath}/temp7/nick 15 + hsetprop ${scobj_hpath}/temp7/nick simulated false } else { ::scobj::oxford_mercury::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for oxford_mercury" - hsetprop ${scobj_hpath}/Temp7/sensor simulated true + hsetprop ${scobj_hpath}/temp7/nick simulated true + } + + hfactory ${scobj_hpath}/temp7/sensor plain user float + hsetprop ${scobj_hpath}/temp7/sensor read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB7.T1:TEMP:SIG:TEMP} + hsetprop ${scobj_hpath}/temp7/sensor rdValue ${ns}::rdValue ${scobj_hpath} + hsetprop ${scobj_hpath}/temp7/sensor control true + hsetprop ${scobj_hpath}/temp7/sensor data true + hsetprop ${scobj_hpath}/temp7/sensor mutable true + hsetprop ${scobj_hpath}/temp7/sensor nxsave true + hsetprop ${scobj_hpath}/temp7/sensor permlink data_set "T[format "%02d" ${id}]S07" + hsetprop ${scobj_hpath}/temp7/sensor @description "T[format "%02d" ${id}]S07" + hsetprop ${scobj_hpath}/temp7/sensor oldval 0.0 + hsetprop ${scobj_hpath}/temp7/sensor klass "parameter" + hsetprop ${scobj_hpath}/temp7/sensor sdsinfo "::nexus::scobj::sdsinfo" + hsetprop ${scobj_hpath}/temp7/sensor type "part" + hsetprop ${scobj_hpath}/temp7/sensor nxalias "${name}_temp7_sensor" + + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/temp7/sensor 1 + hsetprop ${scobj_hpath}/temp7/sensor simulated false + } else { + ::scobj::oxford_mercury::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for oxford_mercury" + hsetprop ${scobj_hpath}/temp7/sensor simulated true } if {[string equal -nocase [string index ${cards} 1] H] && [string equal -nocase [string index ${assoc} 6] 2]} { - hfactory ${scobj_hpath}/Temp7/setpoint plain user float - hsetprop ${scobj_hpath}/Temp7/setpoint read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB7.T1:TEMP:LOOP:TSET} - hsetprop ${scobj_hpath}/Temp7/setpoint rdValue ${ns}::rdValue ${scobj_hpath} - hsetprop ${scobj_hpath}/Temp7/setpoint write ${ns}::setPoint ${scobj_hpath} noResponse {SET:DEV:DB7.T1:TEMP:LOOP:TSET:} - hsetprop ${scobj_hpath}/Temp7/setpoint noResponse ${ns}::noResponse ${scobj_hpath} - hsetprop ${scobj_hpath}/Temp7/setpoint check ${ns}::checkrange ${scobj_hpath} - hsetprop ${scobj_hpath}/Temp7/setpoint driving 0 - hsetprop ${scobj_hpath}/Temp7/setpoint checklimits ${ns}::checklimits ${scobj_hpath} - hsetprop ${scobj_hpath}/Temp7/setpoint checkstatus ${ns}::checkstatus ${scobj_hpath} - hsetprop ${scobj_hpath}/Temp7/setpoint halt ${ns}::halt ${scobj_hpath} - hsetprop ${scobj_hpath}/Temp7/setpoint driveable Temp7/sensor - hsetprop ${scobj_hpath}/Temp7/setpoint control true - hsetprop ${scobj_hpath}/Temp7/setpoint data true - hsetprop ${scobj_hpath}/Temp7/setpoint mutable true - hsetprop ${scobj_hpath}/Temp7/setpoint nxsave true - hsetprop ${scobj_hpath}/Temp7/setpoint lowerlimit 0 - hsetprop ${scobj_hpath}/Temp7/setpoint upperlimit 333 - hsetprop ${scobj_hpath}/Temp7/setpoint tolerance ${ttol} - hsetprop ${scobj_hpath}/Temp7/setpoint permlink data_set "T[format "%02d" ${id}]SP07" - hsetprop ${scobj_hpath}/Temp7/setpoint @description "T[format "%02d" ${id}]SP07" - hsetprop ${scobj_hpath}/Temp7/setpoint oldval 0.0 - hsetprop ${scobj_hpath}/Temp7/setpoint klass "parameter" - hsetprop ${scobj_hpath}/Temp7/setpoint sdsinfo "::nexus::scobj::sdsinfo" - hsetprop ${scobj_hpath}/Temp7/setpoint settle_time "15" - hsetprop ${scobj_hpath}/Temp7/setpoint type "drivable" - hsetprop ${scobj_hpath}/Temp7/setpoint nxalias "${name}_Temp7_setpoint" + hfactory ${scobj_hpath}/temp7/setpoint plain user float + hsetprop ${scobj_hpath}/temp7/setpoint read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB7.T1:TEMP:LOOP:TSET} + hsetprop ${scobj_hpath}/temp7/setpoint rdValue ${ns}::rdValue ${scobj_hpath} + hsetprop ${scobj_hpath}/temp7/setpoint write ${ns}::setPoint ${scobj_hpath} noResponse {SET:DEV:DB7.T1:TEMP:LOOP:TSET:} + hsetprop ${scobj_hpath}/temp7/setpoint noResponse ${ns}::noResponse ${scobj_hpath} + hsetprop ${scobj_hpath}/temp7/setpoint check ${ns}::checkrange ${scobj_hpath} + hsetprop ${scobj_hpath}/temp7/setpoint driving 0 + hsetprop ${scobj_hpath}/temp7/setpoint checklimits ${ns}::checklimits ${scobj_hpath} + hsetprop ${scobj_hpath}/temp7/setpoint checkstatus ${ns}::checkstatus ${scobj_hpath} + hsetprop ${scobj_hpath}/temp7/setpoint halt ${ns}::halt ${scobj_hpath} + hsetprop ${scobj_hpath}/temp7/setpoint driveable temp7/sensor + hsetprop ${scobj_hpath}/temp7/setpoint control true + hsetprop ${scobj_hpath}/temp7/setpoint data true + hsetprop ${scobj_hpath}/temp7/setpoint mutable true + hsetprop ${scobj_hpath}/temp7/setpoint nxsave true + hsetprop ${scobj_hpath}/temp7/setpoint lowerlimit 0 + hsetprop ${scobj_hpath}/temp7/setpoint upperlimit 333 + hsetprop ${scobj_hpath}/temp7/setpoint tolerance ${ttol} + hsetprop ${scobj_hpath}/temp7/setpoint permlink data_set "T[format "%02d" ${id}]SP07" + hsetprop ${scobj_hpath}/temp7/setpoint @description "T[format "%02d" ${id}]SP07" + hsetprop ${scobj_hpath}/temp7/setpoint oldval 0.0 + hsetprop ${scobj_hpath}/temp7/setpoint klass "parameter" + hsetprop ${scobj_hpath}/temp7/setpoint sdsinfo "::nexus::scobj::sdsinfo" + hsetprop ${scobj_hpath}/temp7/setpoint settle_time "15" + hsetprop ${scobj_hpath}/temp7/setpoint type "drivable" + hsetprop ${scobj_hpath}/temp7/setpoint nxalias "${name}_temp7_setpoint" if {[string equal -nocase "${simulation_flag}" "false"]} { - ${sct_controller} poll ${scobj_hpath}/Temp7/setpoint 5 - ${sct_controller} write ${scobj_hpath}/Temp7/setpoint - hsetprop ${scobj_hpath}/Temp7/setpoint simulated false + ${sct_controller} poll ${scobj_hpath}/temp7/setpoint 5 + ${sct_controller} write ${scobj_hpath}/temp7/setpoint + hsetprop ${scobj_hpath}/temp7/setpoint simulated false } else { ::scobj::oxford_mercury::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for oxford_mercury" - hsetprop ${scobj_hpath}/Temp7/setpoint simulated true + hsetprop ${scobj_hpath}/temp7/setpoint simulated true } } - hsetprop ${scobj_hpath}/Temp7 data "true" - hsetprop ${scobj_hpath}/Temp7 klass "@none" - hsetprop ${scobj_hpath}/Temp7 type "part" + hsetprop ${scobj_hpath}/temp7 data "true" + hsetprop ${scobj_hpath}/temp7 klass "@none" + hsetprop ${scobj_hpath}/temp7 type "part" + if {[string equal -nocase [string index ${cards} 1] H] && [string equal -nocase [string index ${assoc} 6] 2]} { - ansto_makesctdrive ${name}_Temp7_setpoint ${scobj_hpath}/Temp7/setpoint ${scobj_hpath}/Temp7/sensor ${sct_controller} + hfactory ${scobj_hpath}/temp7/heater plain spy none + + hfactory ${scobj_hpath}/temp7/heater/hset plain user float + hsetprop ${scobj_hpath}/temp7/heater/hset read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB7.T1:TEMP:LOOP:HSET} + hsetprop ${scobj_hpath}/temp7/heater/hset rdValue ${ns}::rdValue ${scobj_hpath} + hsetprop ${scobj_hpath}/temp7/heater/hset write ${ns}::setValue ${scobj_hpath} noResponse {SET:DEV:DB7.T1:TEMP:LOOP:HSET:} + hsetprop ${scobj_hpath}/temp7/heater/hset noResponse ${ns}::noResponse ${scobj_hpath} + hsetprop ${scobj_hpath}/temp7/heater/hset check ${ns}::checkrange ${scobj_hpath} + hsetprop ${scobj_hpath}/temp7/heater/hset control true + hsetprop ${scobj_hpath}/temp7/heater/hset data true + hsetprop ${scobj_hpath}/temp7/heater/hset mutable true + hsetprop ${scobj_hpath}/temp7/heater/hset nxsave true + hsetprop ${scobj_hpath}/temp7/heater/hset lowerlimit 0 + hsetprop ${scobj_hpath}/temp7/heater/hset upperlimit 100 + hsetprop ${scobj_hpath}/temp7/heater/hset oldval 0.0 + hsetprop ${scobj_hpath}/temp7/heater/hset klass "parameter" + hsetprop ${scobj_hpath}/temp7/heater/hset sdsinfo "::nexus::scobj::sdsinfo" + hsetprop ${scobj_hpath}/temp7/heater/hset type "part" + hsetprop ${scobj_hpath}/temp7/heater/hset nxalias "${name}_temp7_heater_hset" + + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/temp7/heater/hset 5 + ${sct_controller} write ${scobj_hpath}/temp7/heater/hset + hsetprop ${scobj_hpath}/temp7/heater/hset simulated false + } else { + ::scobj::oxford_mercury::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for oxford_mercury" + hsetprop ${scobj_hpath}/temp7/heater/hset simulated true + } + + hfactory ${scobj_hpath}/temp7/heater/perc plain user float + hsetprop ${scobj_hpath}/temp7/heater/perc read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB2.H1:HTR:SIG:PERC} + hsetprop ${scobj_hpath}/temp7/heater/perc rdValue ${ns}::rdValue ${scobj_hpath} + hsetprop ${scobj_hpath}/temp7/heater/perc control true + hsetprop ${scobj_hpath}/temp7/heater/perc data true + hsetprop ${scobj_hpath}/temp7/heater/perc mutable true + hsetprop ${scobj_hpath}/temp7/heater/perc nxsave true + hsetprop ${scobj_hpath}/temp7/heater/perc oldval 0.0 + hsetprop ${scobj_hpath}/temp7/heater/perc klass "parameter" + hsetprop ${scobj_hpath}/temp7/heater/perc sdsinfo "::nexus::scobj::sdsinfo" + hsetprop ${scobj_hpath}/temp7/heater/perc type "part" + hsetprop ${scobj_hpath}/temp7/heater/perc nxalias "${name}_temp7_heater_perc" + + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/temp7/heater/perc 5 + hsetprop ${scobj_hpath}/temp7/heater/perc simulated false + } else { + ::scobj::oxford_mercury::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for oxford_mercury" + hsetprop ${scobj_hpath}/temp7/heater/perc simulated true + } + + hfactory ${scobj_hpath}/temp7/heater/power plain user float + hsetprop ${scobj_hpath}/temp7/heater/power read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB2.H1:HTR:SIG:POWR} + hsetprop ${scobj_hpath}/temp7/heater/power rdValue ${ns}::rdValue ${scobj_hpath} + hsetprop ${scobj_hpath}/temp7/heater/power control true + hsetprop ${scobj_hpath}/temp7/heater/power data true + hsetprop ${scobj_hpath}/temp7/heater/power mutable true + hsetprop ${scobj_hpath}/temp7/heater/power nxsave true + hsetprop ${scobj_hpath}/temp7/heater/power oldval 0.0 + hsetprop ${scobj_hpath}/temp7/heater/power klass "parameter" + hsetprop ${scobj_hpath}/temp7/heater/power sdsinfo "::nexus::scobj::sdsinfo" + hsetprop ${scobj_hpath}/temp7/heater/power type "part" + hsetprop ${scobj_hpath}/temp7/heater/power nxalias "${name}_temp7_heater_power" + + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/temp7/heater/power 5 + hsetprop ${scobj_hpath}/temp7/heater/power simulated false + } else { + ::scobj::oxford_mercury::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for oxford_mercury" + hsetprop ${scobj_hpath}/temp7/heater/power simulated true + } + hsetprop ${scobj_hpath}/temp7/heater data "true" + hsetprop ${scobj_hpath}/temp7/heater klass "@none" + hsetprop ${scobj_hpath}/temp7/heater type "part" + } + if {[string equal -nocase [string index ${cards} 1] H] && [string equal -nocase [string index ${assoc} 6] 2]} { + ansto_makesctdrive ${name}_temp7_setpoint ${scobj_hpath}/temp7/setpoint ${scobj_hpath}/temp7/sensor ${sct_controller} } } if {[string equal -nocase [string index ${cards} 7] T]} { - hfactory ${scobj_hpath}/Temp8 plain spy none - - hfactory ${scobj_hpath}/Temp8/nick plain user text - hsetprop ${scobj_hpath}/Temp8/nick read ${ns}::getValue ${scobj_hpath} rdText {READ:DEV:DB8.T1:TEMP:NICK} - hsetprop ${scobj_hpath}/Temp8/nick rdText ${ns}::rdText ${scobj_hpath} - hsetprop ${scobj_hpath}/Temp8/nick control true - hsetprop ${scobj_hpath}/Temp8/nick data true - hsetprop ${scobj_hpath}/Temp8/nick mutable true - hsetprop ${scobj_hpath}/Temp8/nick nxsave true - hsetprop ${scobj_hpath}/Temp8/nick oldval UNKNOWN - hsetprop ${scobj_hpath}/Temp8/nick klass "parameter" - hsetprop ${scobj_hpath}/Temp8/nick sdsinfo "::nexus::scobj::sdsinfo" - hsetprop ${scobj_hpath}/Temp8/nick type "part" - hsetprop ${scobj_hpath}/Temp8/nick nxalias "${name}_Temp8_nick" - - if {[string equal -nocase "${simulation_flag}" "false"]} { - ${sct_controller} poll ${scobj_hpath}/Temp8/nick 15 - hsetprop ${scobj_hpath}/Temp8/nick simulated false - } else { - ::scobj::oxford_mercury::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for oxford_mercury" - hsetprop ${scobj_hpath}/Temp8/nick simulated true - } + hfactory ${scobj_hpath}/temp8 plain spy none if {[string equal -nocase [string index ${cards} 2] H] && [string equal -nocase [string index ${assoc} 7] 3]} { - hfactory ${scobj_hpath}/Temp8/power plain user float - hsetprop ${scobj_hpath}/Temp8/power read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB3.H1:HTR:SIG:POWR} - hsetprop ${scobj_hpath}/Temp8/power rdValue ${ns}::rdValue ${scobj_hpath} - hsetprop ${scobj_hpath}/Temp8/power control true - hsetprop ${scobj_hpath}/Temp8/power data true - hsetprop ${scobj_hpath}/Temp8/power mutable true - hsetprop ${scobj_hpath}/Temp8/power nxsave true - hsetprop ${scobj_hpath}/Temp8/power oldval 0.0 - hsetprop ${scobj_hpath}/Temp8/power klass "parameter" - hsetprop ${scobj_hpath}/Temp8/power sdsinfo "::nexus::scobj::sdsinfo" - hsetprop ${scobj_hpath}/Temp8/power type "part" - hsetprop ${scobj_hpath}/Temp8/power nxalias "${name}_Temp8_power" + hfactory ${scobj_hpath}/temp8/auto plain user int + hsetprop ${scobj_hpath}/temp8/auto read ${ns}::getValue ${scobj_hpath} rdOnOff {READ:DEV:DB8.T1:TEMP:LOOP:ENAB} + hsetprop ${scobj_hpath}/temp8/auto rdOnOff ${ns}::rdOnOff ${scobj_hpath} + hsetprop ${scobj_hpath}/temp8/auto write ${ns}::wrOnOff ${scobj_hpath} noResponse {SET:DEV:DB8.T1:TEMP:LOOP:ENAB:} + hsetprop ${scobj_hpath}/temp8/auto noResponse ${ns}::noResponse ${scobj_hpath} + hsetprop ${scobj_hpath}/temp8/auto check ${ns}::checkrange ${scobj_hpath} + hsetprop ${scobj_hpath}/temp8/auto control true + hsetprop ${scobj_hpath}/temp8/auto data true + hsetprop ${scobj_hpath}/temp8/auto mutable true + hsetprop ${scobj_hpath}/temp8/auto nxsave true + hsetprop ${scobj_hpath}/temp8/auto values 0,1 + hsetprop ${scobj_hpath}/temp8/auto oldval 0 + hsetprop ${scobj_hpath}/temp8/auto klass "parameter" + hsetprop ${scobj_hpath}/temp8/auto sdsinfo "::nexus::scobj::sdsinfo" + hsetprop ${scobj_hpath}/temp8/auto type "part" + hsetprop ${scobj_hpath}/temp8/auto nxalias "${name}_temp8_auto" if {[string equal -nocase "${simulation_flag}" "false"]} { - ${sct_controller} poll ${scobj_hpath}/Temp8/power 5 - hsetprop ${scobj_hpath}/Temp8/power simulated false + ${sct_controller} poll ${scobj_hpath}/temp8/auto 5 + ${sct_controller} write ${scobj_hpath}/temp8/auto + hsetprop ${scobj_hpath}/temp8/auto simulated false } else { ::scobj::oxford_mercury::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for oxford_mercury" - hsetprop ${scobj_hpath}/Temp8/power simulated true + hsetprop ${scobj_hpath}/temp8/auto simulated true } } - hfactory ${scobj_hpath}/Temp8/sensor plain user float - hsetprop ${scobj_hpath}/Temp8/sensor read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB8.T1:TEMP:SIG:TEMP} - hsetprop ${scobj_hpath}/Temp8/sensor rdValue ${ns}::rdValue ${scobj_hpath} - hsetprop ${scobj_hpath}/Temp8/sensor control true - hsetprop ${scobj_hpath}/Temp8/sensor data true - hsetprop ${scobj_hpath}/Temp8/sensor mutable true - hsetprop ${scobj_hpath}/Temp8/sensor nxsave true - hsetprop ${scobj_hpath}/Temp8/sensor permlink data_set "T[format "%02d" ${id}]S08" - hsetprop ${scobj_hpath}/Temp8/sensor @description "T[format "%02d" ${id}]S08" - hsetprop ${scobj_hpath}/Temp8/sensor oldval 0.0 - hsetprop ${scobj_hpath}/Temp8/sensor klass "parameter" - hsetprop ${scobj_hpath}/Temp8/sensor sdsinfo "::nexus::scobj::sdsinfo" - hsetprop ${scobj_hpath}/Temp8/sensor type "part" - hsetprop ${scobj_hpath}/Temp8/sensor nxalias "${name}_Temp8_sensor" + hfactory ${scobj_hpath}/temp8/nick plain user text + hsetprop ${scobj_hpath}/temp8/nick read ${ns}::getValue ${scobj_hpath} rdText {READ:DEV:DB8.T1:TEMP:NICK} + hsetprop ${scobj_hpath}/temp8/nick rdText ${ns}::rdText ${scobj_hpath} + hsetprop ${scobj_hpath}/temp8/nick control true + hsetprop ${scobj_hpath}/temp8/nick data true + hsetprop ${scobj_hpath}/temp8/nick mutable true + hsetprop ${scobj_hpath}/temp8/nick nxsave true + hsetprop ${scobj_hpath}/temp8/nick oldval UNKNOWN + hsetprop ${scobj_hpath}/temp8/nick klass "parameter" + hsetprop ${scobj_hpath}/temp8/nick sdsinfo "::nexus::scobj::sdsinfo" + hsetprop ${scobj_hpath}/temp8/nick type "part" + hsetprop ${scobj_hpath}/temp8/nick nxalias "${name}_temp8_nick" if {[string equal -nocase "${simulation_flag}" "false"]} { - ${sct_controller} poll ${scobj_hpath}/Temp8/sensor 1 - hsetprop ${scobj_hpath}/Temp8/sensor simulated false + ${sct_controller} poll ${scobj_hpath}/temp8/nick 15 + hsetprop ${scobj_hpath}/temp8/nick simulated false } else { ::scobj::oxford_mercury::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for oxford_mercury" - hsetprop ${scobj_hpath}/Temp8/sensor simulated true + hsetprop ${scobj_hpath}/temp8/nick simulated true + } + + hfactory ${scobj_hpath}/temp8/sensor plain user float + hsetprop ${scobj_hpath}/temp8/sensor read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB8.T1:TEMP:SIG:TEMP} + hsetprop ${scobj_hpath}/temp8/sensor rdValue ${ns}::rdValue ${scobj_hpath} + hsetprop ${scobj_hpath}/temp8/sensor control true + hsetprop ${scobj_hpath}/temp8/sensor data true + hsetprop ${scobj_hpath}/temp8/sensor mutable true + hsetprop ${scobj_hpath}/temp8/sensor nxsave true + hsetprop ${scobj_hpath}/temp8/sensor permlink data_set "T[format "%02d" ${id}]S08" + hsetprop ${scobj_hpath}/temp8/sensor @description "T[format "%02d" ${id}]S08" + hsetprop ${scobj_hpath}/temp8/sensor oldval 0.0 + hsetprop ${scobj_hpath}/temp8/sensor klass "parameter" + hsetprop ${scobj_hpath}/temp8/sensor sdsinfo "::nexus::scobj::sdsinfo" + hsetprop ${scobj_hpath}/temp8/sensor type "part" + hsetprop ${scobj_hpath}/temp8/sensor nxalias "${name}_temp8_sensor" + + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/temp8/sensor 1 + hsetprop ${scobj_hpath}/temp8/sensor simulated false + } else { + ::scobj::oxford_mercury::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for oxford_mercury" + hsetprop ${scobj_hpath}/temp8/sensor simulated true } if {[string equal -nocase [string index ${cards} 2] H] && [string equal -nocase [string index ${assoc} 7] 3]} { - hfactory ${scobj_hpath}/Temp8/setpoint plain user float - hsetprop ${scobj_hpath}/Temp8/setpoint read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB8.T1:TEMP:LOOP:TSET} - hsetprop ${scobj_hpath}/Temp8/setpoint rdValue ${ns}::rdValue ${scobj_hpath} - hsetprop ${scobj_hpath}/Temp8/setpoint write ${ns}::setPoint ${scobj_hpath} noResponse {SET:DEV:DB8.T1:TEMP:LOOP:TSET:} - hsetprop ${scobj_hpath}/Temp8/setpoint noResponse ${ns}::noResponse ${scobj_hpath} - hsetprop ${scobj_hpath}/Temp8/setpoint check ${ns}::checkrange ${scobj_hpath} - hsetprop ${scobj_hpath}/Temp8/setpoint driving 0 - hsetprop ${scobj_hpath}/Temp8/setpoint checklimits ${ns}::checklimits ${scobj_hpath} - hsetprop ${scobj_hpath}/Temp8/setpoint checkstatus ${ns}::checkstatus ${scobj_hpath} - hsetprop ${scobj_hpath}/Temp8/setpoint halt ${ns}::halt ${scobj_hpath} - hsetprop ${scobj_hpath}/Temp8/setpoint driveable Temp8/sensor - hsetprop ${scobj_hpath}/Temp8/setpoint control true - hsetprop ${scobj_hpath}/Temp8/setpoint data true - hsetprop ${scobj_hpath}/Temp8/setpoint mutable true - hsetprop ${scobj_hpath}/Temp8/setpoint nxsave true - hsetprop ${scobj_hpath}/Temp8/setpoint lowerlimit 0 - hsetprop ${scobj_hpath}/Temp8/setpoint upperlimit 333 - hsetprop ${scobj_hpath}/Temp8/setpoint tolerance ${ttol} - hsetprop ${scobj_hpath}/Temp8/setpoint permlink data_set "T[format "%02d" ${id}]SP08" - hsetprop ${scobj_hpath}/Temp8/setpoint @description "T[format "%02d" ${id}]SP08" - hsetprop ${scobj_hpath}/Temp8/setpoint oldval 0.0 - hsetprop ${scobj_hpath}/Temp8/setpoint klass "parameter" - hsetprop ${scobj_hpath}/Temp8/setpoint sdsinfo "::nexus::scobj::sdsinfo" - hsetprop ${scobj_hpath}/Temp8/setpoint settle_time "15" - hsetprop ${scobj_hpath}/Temp8/setpoint type "drivable" - hsetprop ${scobj_hpath}/Temp8/setpoint nxalias "${name}_Temp8_setpoint" + hfactory ${scobj_hpath}/temp8/setpoint plain user float + hsetprop ${scobj_hpath}/temp8/setpoint read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB8.T1:TEMP:LOOP:TSET} + hsetprop ${scobj_hpath}/temp8/setpoint rdValue ${ns}::rdValue ${scobj_hpath} + hsetprop ${scobj_hpath}/temp8/setpoint write ${ns}::setPoint ${scobj_hpath} noResponse {SET:DEV:DB8.T1:TEMP:LOOP:TSET:} + hsetprop ${scobj_hpath}/temp8/setpoint noResponse ${ns}::noResponse ${scobj_hpath} + hsetprop ${scobj_hpath}/temp8/setpoint check ${ns}::checkrange ${scobj_hpath} + hsetprop ${scobj_hpath}/temp8/setpoint driving 0 + hsetprop ${scobj_hpath}/temp8/setpoint checklimits ${ns}::checklimits ${scobj_hpath} + hsetprop ${scobj_hpath}/temp8/setpoint checkstatus ${ns}::checkstatus ${scobj_hpath} + hsetprop ${scobj_hpath}/temp8/setpoint halt ${ns}::halt ${scobj_hpath} + hsetprop ${scobj_hpath}/temp8/setpoint driveable temp8/sensor + hsetprop ${scobj_hpath}/temp8/setpoint control true + hsetprop ${scobj_hpath}/temp8/setpoint data true + hsetprop ${scobj_hpath}/temp8/setpoint mutable true + hsetprop ${scobj_hpath}/temp8/setpoint nxsave true + hsetprop ${scobj_hpath}/temp8/setpoint lowerlimit 0 + hsetprop ${scobj_hpath}/temp8/setpoint upperlimit 333 + hsetprop ${scobj_hpath}/temp8/setpoint tolerance ${ttol} + hsetprop ${scobj_hpath}/temp8/setpoint permlink data_set "T[format "%02d" ${id}]SP08" + hsetprop ${scobj_hpath}/temp8/setpoint @description "T[format "%02d" ${id}]SP08" + hsetprop ${scobj_hpath}/temp8/setpoint oldval 0.0 + hsetprop ${scobj_hpath}/temp8/setpoint klass "parameter" + hsetprop ${scobj_hpath}/temp8/setpoint sdsinfo "::nexus::scobj::sdsinfo" + hsetprop ${scobj_hpath}/temp8/setpoint settle_time "15" + hsetprop ${scobj_hpath}/temp8/setpoint type "drivable" + hsetprop ${scobj_hpath}/temp8/setpoint nxalias "${name}_temp8_setpoint" if {[string equal -nocase "${simulation_flag}" "false"]} { - ${sct_controller} poll ${scobj_hpath}/Temp8/setpoint 5 - ${sct_controller} write ${scobj_hpath}/Temp8/setpoint - hsetprop ${scobj_hpath}/Temp8/setpoint simulated false + ${sct_controller} poll ${scobj_hpath}/temp8/setpoint 5 + ${sct_controller} write ${scobj_hpath}/temp8/setpoint + hsetprop ${scobj_hpath}/temp8/setpoint simulated false } else { ::scobj::oxford_mercury::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for oxford_mercury" - hsetprop ${scobj_hpath}/Temp8/setpoint simulated true + hsetprop ${scobj_hpath}/temp8/setpoint simulated true } } - hsetprop ${scobj_hpath}/Temp8 data "true" - hsetprop ${scobj_hpath}/Temp8 klass "@none" - hsetprop ${scobj_hpath}/Temp8 type "part" + hsetprop ${scobj_hpath}/temp8 data "true" + hsetprop ${scobj_hpath}/temp8 klass "@none" + hsetprop ${scobj_hpath}/temp8 type "part" + if {[string equal -nocase [string index ${cards} 2] H] && [string equal -nocase [string index ${assoc} 7] 3]} { - ansto_makesctdrive ${name}_Temp8_setpoint ${scobj_hpath}/Temp8/setpoint ${scobj_hpath}/Temp8/sensor ${sct_controller} + hfactory ${scobj_hpath}/temp8/heater plain spy none + + hfactory ${scobj_hpath}/temp8/heater/hset plain user float + hsetprop ${scobj_hpath}/temp8/heater/hset read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB8.T1:TEMP:LOOP:HSET} + hsetprop ${scobj_hpath}/temp8/heater/hset rdValue ${ns}::rdValue ${scobj_hpath} + hsetprop ${scobj_hpath}/temp8/heater/hset write ${ns}::setValue ${scobj_hpath} noResponse {SET:DEV:DB8.T1:TEMP:LOOP:HSET:} + hsetprop ${scobj_hpath}/temp8/heater/hset noResponse ${ns}::noResponse ${scobj_hpath} + hsetprop ${scobj_hpath}/temp8/heater/hset check ${ns}::checkrange ${scobj_hpath} + hsetprop ${scobj_hpath}/temp8/heater/hset control true + hsetprop ${scobj_hpath}/temp8/heater/hset data true + hsetprop ${scobj_hpath}/temp8/heater/hset mutable true + hsetprop ${scobj_hpath}/temp8/heater/hset nxsave true + hsetprop ${scobj_hpath}/temp8/heater/hset lowerlimit 0 + hsetprop ${scobj_hpath}/temp8/heater/hset upperlimit 100 + hsetprop ${scobj_hpath}/temp8/heater/hset oldval 0.0 + hsetprop ${scobj_hpath}/temp8/heater/hset klass "parameter" + hsetprop ${scobj_hpath}/temp8/heater/hset sdsinfo "::nexus::scobj::sdsinfo" + hsetprop ${scobj_hpath}/temp8/heater/hset type "part" + hsetprop ${scobj_hpath}/temp8/heater/hset nxalias "${name}_temp8_heater_hset" + + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/temp8/heater/hset 5 + ${sct_controller} write ${scobj_hpath}/temp8/heater/hset + hsetprop ${scobj_hpath}/temp8/heater/hset simulated false + } else { + ::scobj::oxford_mercury::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for oxford_mercury" + hsetprop ${scobj_hpath}/temp8/heater/hset simulated true + } + + hfactory ${scobj_hpath}/temp8/heater/perc plain user float + hsetprop ${scobj_hpath}/temp8/heater/perc read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB3.H1:HTR:SIG:PERC} + hsetprop ${scobj_hpath}/temp8/heater/perc rdValue ${ns}::rdValue ${scobj_hpath} + hsetprop ${scobj_hpath}/temp8/heater/perc control true + hsetprop ${scobj_hpath}/temp8/heater/perc data true + hsetprop ${scobj_hpath}/temp8/heater/perc mutable true + hsetprop ${scobj_hpath}/temp8/heater/perc nxsave true + hsetprop ${scobj_hpath}/temp8/heater/perc oldval 0.0 + hsetprop ${scobj_hpath}/temp8/heater/perc klass "parameter" + hsetprop ${scobj_hpath}/temp8/heater/perc sdsinfo "::nexus::scobj::sdsinfo" + hsetprop ${scobj_hpath}/temp8/heater/perc type "part" + hsetprop ${scobj_hpath}/temp8/heater/perc nxalias "${name}_temp8_heater_perc" + + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/temp8/heater/perc 5 + hsetprop ${scobj_hpath}/temp8/heater/perc simulated false + } else { + ::scobj::oxford_mercury::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for oxford_mercury" + hsetprop ${scobj_hpath}/temp8/heater/perc simulated true + } + + hfactory ${scobj_hpath}/temp8/heater/power plain user float + hsetprop ${scobj_hpath}/temp8/heater/power read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB3.H1:HTR:SIG:POWR} + hsetprop ${scobj_hpath}/temp8/heater/power rdValue ${ns}::rdValue ${scobj_hpath} + hsetprop ${scobj_hpath}/temp8/heater/power control true + hsetprop ${scobj_hpath}/temp8/heater/power data true + hsetprop ${scobj_hpath}/temp8/heater/power mutable true + hsetprop ${scobj_hpath}/temp8/heater/power nxsave true + hsetprop ${scobj_hpath}/temp8/heater/power oldval 0.0 + hsetprop ${scobj_hpath}/temp8/heater/power klass "parameter" + hsetprop ${scobj_hpath}/temp8/heater/power sdsinfo "::nexus::scobj::sdsinfo" + hsetprop ${scobj_hpath}/temp8/heater/power type "part" + hsetprop ${scobj_hpath}/temp8/heater/power nxalias "${name}_temp8_heater_power" + + if {[string equal -nocase "${simulation_flag}" "false"]} { + ${sct_controller} poll ${scobj_hpath}/temp8/heater/power 5 + hsetprop ${scobj_hpath}/temp8/heater/power simulated false + } else { + ::scobj::oxford_mercury::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for oxford_mercury" + hsetprop ${scobj_hpath}/temp8/heater/power simulated true + } + hsetprop ${scobj_hpath}/temp8/heater data "true" + hsetprop ${scobj_hpath}/temp8/heater klass "@none" + hsetprop ${scobj_hpath}/temp8/heater type "part" + } + if {[string equal -nocase [string index ${cards} 2] H] && [string equal -nocase [string index ${assoc} 7] 3]} { + ansto_makesctdrive ${name}_temp8_setpoint ${scobj_hpath}/temp8/setpoint ${scobj_hpath}/temp8/sensor ${sct_controller} } } if {[string equal -nocase [string index ${cards} 3] V]} { - hfactory ${scobj_hpath}/Valve plain spy none + hfactory ${scobj_hpath}/valve plain spy none - hfactory ${scobj_hpath}/Valve/nick plain user text - hsetprop ${scobj_hpath}/Valve/nick read ${ns}::getValue ${scobj_hpath} rdText {READ:DEV:DB4.G1:AUX:NICK} - hsetprop ${scobj_hpath}/Valve/nick rdText ${ns}::rdText ${scobj_hpath} - hsetprop ${scobj_hpath}/Valve/nick control true - hsetprop ${scobj_hpath}/Valve/nick data true - hsetprop ${scobj_hpath}/Valve/nick mutable true - hsetprop ${scobj_hpath}/Valve/nick nxsave true - hsetprop ${scobj_hpath}/Valve/nick oldval UNKNOWN - hsetprop ${scobj_hpath}/Valve/nick klass "parameter" - hsetprop ${scobj_hpath}/Valve/nick sdsinfo "::nexus::scobj::sdsinfo" - hsetprop ${scobj_hpath}/Valve/nick type "part" - hsetprop ${scobj_hpath}/Valve/nick nxalias "${name}_Valve_nick" + hfactory ${scobj_hpath}/valve/nick plain user text + hsetprop ${scobj_hpath}/valve/nick read ${ns}::getValue ${scobj_hpath} rdText {READ:DEV:DB4.G1:AUX:NICK} + hsetprop ${scobj_hpath}/valve/nick rdText ${ns}::rdText ${scobj_hpath} + hsetprop ${scobj_hpath}/valve/nick control true + hsetprop ${scobj_hpath}/valve/nick data true + hsetprop ${scobj_hpath}/valve/nick mutable true + hsetprop ${scobj_hpath}/valve/nick nxsave true + hsetprop ${scobj_hpath}/valve/nick oldval UNKNOWN + hsetprop ${scobj_hpath}/valve/nick klass "parameter" + hsetprop ${scobj_hpath}/valve/nick sdsinfo "::nexus::scobj::sdsinfo" + hsetprop ${scobj_hpath}/valve/nick type "part" + hsetprop ${scobj_hpath}/valve/nick nxalias "${name}_valve_nick" if {[string equal -nocase "${simulation_flag}" "false"]} { - ${sct_controller} poll ${scobj_hpath}/Valve/nick 15 - hsetprop ${scobj_hpath}/Valve/nick simulated false + ${sct_controller} poll ${scobj_hpath}/valve/nick 15 + hsetprop ${scobj_hpath}/valve/nick simulated false } else { ::scobj::oxford_mercury::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for oxford_mercury" - hsetprop ${scobj_hpath}/Valve/nick simulated true + hsetprop ${scobj_hpath}/valve/nick simulated true } - hfactory ${scobj_hpath}/Valve/sensor plain user float - hsetprop ${scobj_hpath}/Valve/sensor read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB4.G1:AUX:SIG:PERC} - hsetprop ${scobj_hpath}/Valve/sensor rdValue ${ns}::rdValue ${scobj_hpath} - hsetprop ${scobj_hpath}/Valve/sensor control true - hsetprop ${scobj_hpath}/Valve/sensor data true - hsetprop ${scobj_hpath}/Valve/sensor mutable true - hsetprop ${scobj_hpath}/Valve/sensor nxsave true - hsetprop ${scobj_hpath}/Valve/sensor oldval 0.0 - hsetprop ${scobj_hpath}/Valve/sensor klass "parameter" - hsetprop ${scobj_hpath}/Valve/sensor sdsinfo "::nexus::scobj::sdsinfo" - hsetprop ${scobj_hpath}/Valve/sensor type "part" - hsetprop ${scobj_hpath}/Valve/sensor nxalias "${name}_Valve_sensor" + hfactory ${scobj_hpath}/valve/sensor plain user float + hsetprop ${scobj_hpath}/valve/sensor read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB4.G1:AUX:SIG:PERC} + hsetprop ${scobj_hpath}/valve/sensor rdValue ${ns}::rdValue ${scobj_hpath} + hsetprop ${scobj_hpath}/valve/sensor control true + hsetprop ${scobj_hpath}/valve/sensor data true + hsetprop ${scobj_hpath}/valve/sensor mutable true + hsetprop ${scobj_hpath}/valve/sensor nxsave true + hsetprop ${scobj_hpath}/valve/sensor oldval 0.0 + hsetprop ${scobj_hpath}/valve/sensor klass "parameter" + hsetprop ${scobj_hpath}/valve/sensor sdsinfo "::nexus::scobj::sdsinfo" + hsetprop ${scobj_hpath}/valve/sensor type "part" + hsetprop ${scobj_hpath}/valve/sensor nxalias "${name}_valve_sensor" if {[string equal -nocase "${simulation_flag}" "false"]} { - ${sct_controller} poll ${scobj_hpath}/Valve/sensor 5 - hsetprop ${scobj_hpath}/Valve/sensor simulated false + ${sct_controller} poll ${scobj_hpath}/valve/sensor 5 + hsetprop ${scobj_hpath}/valve/sensor simulated false } else { ::scobj::oxford_mercury::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for oxford_mercury" - hsetprop ${scobj_hpath}/Valve/sensor simulated true + hsetprop ${scobj_hpath}/valve/sensor simulated true } - - hfactory ${scobj_hpath}/Valve/setpoint plain user float - hsetprop ${scobj_hpath}/Valve/setpoint write ${ns}::setValve ${scobj_hpath} noResponse {SET:DEV:DB4.G1:AUX:SIG:OPEN:} - hsetprop ${scobj_hpath}/Valve/setpoint noResponse ${ns}::noResponse ${scobj_hpath} - hsetprop ${scobj_hpath}/Valve/setpoint check ${ns}::checkrange ${scobj_hpath} - hsetprop ${scobj_hpath}/Valve/setpoint driving 0 - hsetprop ${scobj_hpath}/Valve/setpoint checklimits ${ns}::checklimits ${scobj_hpath} - hsetprop ${scobj_hpath}/Valve/setpoint checkstatus ${ns}::checkstatus ${scobj_hpath} - hsetprop ${scobj_hpath}/Valve/setpoint halt ${ns}::halt ${scobj_hpath} - hsetprop ${scobj_hpath}/Valve/setpoint driveable Valve/sensor - hsetprop ${scobj_hpath}/Valve/setpoint control true - hsetprop ${scobj_hpath}/Valve/setpoint data true - hsetprop ${scobj_hpath}/Valve/setpoint mutable true - hsetprop ${scobj_hpath}/Valve/setpoint nxsave true - hsetprop ${scobj_hpath}/Valve/setpoint lowerlimit 0 - hsetprop ${scobj_hpath}/Valve/setpoint upperlimit 100 - hsetprop ${scobj_hpath}/Valve/setpoint tolerance ${vtol} - hsetprop ${scobj_hpath}/Valve/setpoint oldval 0.0 - hsetprop ${scobj_hpath}/Valve/setpoint klass "parameter" - hsetprop ${scobj_hpath}/Valve/setpoint sdsinfo "::nexus::scobj::sdsinfo" - hsetprop ${scobj_hpath}/Valve/setpoint settle_time "30" - hsetprop ${scobj_hpath}/Valve/setpoint type "drivable" - hsetprop ${scobj_hpath}/Valve/setpoint nxalias "${name}_Valve_setpoint" - - if {[string equal -nocase "${simulation_flag}" "false"]} { - ${sct_controller} write ${scobj_hpath}/Valve/setpoint - hsetprop ${scobj_hpath}/Valve/setpoint simulated false - } else { - ::scobj::oxford_mercury::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for oxford_mercury" - hsetprop ${scobj_hpath}/Valve/setpoint simulated true - } - hsetprop ${scobj_hpath}/Valve data "true" - hsetprop ${scobj_hpath}/Valve klass "@none" - hsetprop ${scobj_hpath}/Valve type "part" - ansto_makesctdrive ${name}_Valve_setpoint ${scobj_hpath}/Valve/setpoint ${scobj_hpath}/Valve/sensor ${sct_controller} + hsetprop ${scobj_hpath}/valve data "true" + hsetprop ${scobj_hpath}/valve klass "@none" + hsetprop ${scobj_hpath}/valve type "part" } hsetprop ${scobj_hpath} klass ${device_class} hsetprop ${scobj_hpath} data true