Regen SCT drivers

This commit is contained in:
Douglas Clowes
2014-09-29 16:48:19 +10:00
parent f86dc33081
commit 3ad3bf3524
20 changed files with 639 additions and 200 deletions

View File

@ -250,9 +250,10 @@ proc ::scobj::astrium_chopper::mkDriver { sct_controller name device_class simul
set scobj_hpath /sics/${name} set scobj_hpath /sics/${name}
# Start of named group: disk_1
hfactory ${scobj_hpath}/disk_1 plain spy none hfactory ${scobj_hpath}/disk_1 plain spy none
# Start of var: aphase
hfactory ${scobj_hpath}/disk_1/aphase plain user float hfactory ${scobj_hpath}/disk_1/aphase plain user float
hsetprop ${scobj_hpath}/disk_1/aphase control true hsetprop ${scobj_hpath}/disk_1/aphase control true
hsetprop ${scobj_hpath}/disk_1/aphase data true hsetprop ${scobj_hpath}/disk_1/aphase data true
@ -264,7 +265,7 @@ proc ::scobj::astrium_chopper::mkDriver { sct_controller name device_class simul
hsetprop ${scobj_hpath}/disk_1/aphase type "part" hsetprop ${scobj_hpath}/disk_1/aphase type "part"
hsetprop ${scobj_hpath}/disk_1/aphase nxalias "${name}_disk_1_aphase" hsetprop ${scobj_hpath}/disk_1/aphase nxalias "${name}_disk_1_aphase"
# Start of var: aspeed
hfactory ${scobj_hpath}/disk_1/aspeed plain user float hfactory ${scobj_hpath}/disk_1/aspeed plain user float
hsetprop ${scobj_hpath}/disk_1/aspeed control true hsetprop ${scobj_hpath}/disk_1/aspeed control true
hsetprop ${scobj_hpath}/disk_1/aspeed data true hsetprop ${scobj_hpath}/disk_1/aspeed data true
@ -276,7 +277,7 @@ proc ::scobj::astrium_chopper::mkDriver { sct_controller name device_class simul
hsetprop ${scobj_hpath}/disk_1/aspeed type "part" hsetprop ${scobj_hpath}/disk_1/aspeed type "part"
hsetprop ${scobj_hpath}/disk_1/aspeed nxalias "${name}_disk_1_aspeed" hsetprop ${scobj_hpath}/disk_1/aspeed nxalias "${name}_disk_1_aspeed"
# Start of var: frequency
hfactory ${scobj_hpath}/disk_1/frequency plain user float hfactory ${scobj_hpath}/disk_1/frequency plain user float
hsetprop ${scobj_hpath}/disk_1/frequency control true hsetprop ${scobj_hpath}/disk_1/frequency control true
hsetprop ${scobj_hpath}/disk_1/frequency data true hsetprop ${scobj_hpath}/disk_1/frequency data true
@ -288,7 +289,7 @@ proc ::scobj::astrium_chopper::mkDriver { sct_controller name device_class simul
hsetprop ${scobj_hpath}/disk_1/frequency type "part" hsetprop ${scobj_hpath}/disk_1/frequency type "part"
hsetprop ${scobj_hpath}/disk_1/frequency nxalias "${name}_disk_1_frequency" hsetprop ${scobj_hpath}/disk_1/frequency nxalias "${name}_disk_1_frequency"
# Start of var: master
hfactory ${scobj_hpath}/disk_1/master plain user text hfactory ${scobj_hpath}/disk_1/master plain user text
hsetprop ${scobj_hpath}/disk_1/master control true hsetprop ${scobj_hpath}/disk_1/master control true
hsetprop ${scobj_hpath}/disk_1/master data true hsetprop ${scobj_hpath}/disk_1/master data true
@ -300,7 +301,7 @@ proc ::scobj::astrium_chopper::mkDriver { sct_controller name device_class simul
hsetprop ${scobj_hpath}/disk_1/master type "part" hsetprop ${scobj_hpath}/disk_1/master type "part"
hsetprop ${scobj_hpath}/disk_1/master nxalias "${name}_disk_1_master" hsetprop ${scobj_hpath}/disk_1/master nxalias "${name}_disk_1_master"
# Start of var: rphase
hfactory ${scobj_hpath}/disk_1/rphase plain user float hfactory ${scobj_hpath}/disk_1/rphase plain user float
hsetprop ${scobj_hpath}/disk_1/rphase control true hsetprop ${scobj_hpath}/disk_1/rphase control true
hsetprop ${scobj_hpath}/disk_1/rphase data true hsetprop ${scobj_hpath}/disk_1/rphase data true
@ -312,7 +313,7 @@ proc ::scobj::astrium_chopper::mkDriver { sct_controller name device_class simul
hsetprop ${scobj_hpath}/disk_1/rphase type "part" hsetprop ${scobj_hpath}/disk_1/rphase type "part"
hsetprop ${scobj_hpath}/disk_1/rphase nxalias "${name}_disk_1_rphase" hsetprop ${scobj_hpath}/disk_1/rphase nxalias "${name}_disk_1_rphase"
# Start of var: rspeed
hfactory ${scobj_hpath}/disk_1/rspeed plain user float hfactory ${scobj_hpath}/disk_1/rspeed plain user float
hsetprop ${scobj_hpath}/disk_1/rspeed control true hsetprop ${scobj_hpath}/disk_1/rspeed control true
hsetprop ${scobj_hpath}/disk_1/rspeed data true hsetprop ${scobj_hpath}/disk_1/rspeed data true
@ -324,7 +325,7 @@ proc ::scobj::astrium_chopper::mkDriver { sct_controller name device_class simul
hsetprop ${scobj_hpath}/disk_1/rspeed type "part" hsetprop ${scobj_hpath}/disk_1/rspeed type "part"
hsetprop ${scobj_hpath}/disk_1/rspeed nxalias "${name}_disk_1_rspeed" hsetprop ${scobj_hpath}/disk_1/rspeed nxalias "${name}_disk_1_rspeed"
# Start of var: state
hfactory ${scobj_hpath}/disk_1/state plain user text hfactory ${scobj_hpath}/disk_1/state plain user text
hsetprop ${scobj_hpath}/disk_1/state read ${ns}::fetchState ${scobj_hpath} readState {1} hsetprop ${scobj_hpath}/disk_1/state read ${ns}::fetchState ${scobj_hpath} readState {1}
hsetprop ${scobj_hpath}/disk_1/state readState ${ns}::readState ${scobj_hpath} hsetprop ${scobj_hpath}/disk_1/state readState ${ns}::readState ${scobj_hpath}
@ -341,16 +342,20 @@ proc ::scobj::astrium_chopper::mkDriver { sct_controller name device_class simul
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/disk_1/state 1 ${sct_controller} poll ${scobj_hpath}/disk_1/state 1
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::astrium_chopper::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for astrium_chopper" ::scobj::astrium_chopper::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for astrium_chopper"
hsetprop ${scobj_hpath}/%s simulated true
} }
hsetprop ${scobj_hpath}/disk_1 data "true" hsetprop ${scobj_hpath}/disk_1 data "true"
hsetprop ${scobj_hpath}/disk_1 klass "@none" hsetprop ${scobj_hpath}/disk_1 klass "@none"
hsetprop ${scobj_hpath}/disk_1 type "part" hsetprop ${scobj_hpath}/disk_1 type "part"
# End of named group: disk_1
# Start of named group: disk_2
hfactory ${scobj_hpath}/disk_2 plain spy none hfactory ${scobj_hpath}/disk_2 plain spy none
# Start of var: aphase
hfactory ${scobj_hpath}/disk_2/aphase plain user float hfactory ${scobj_hpath}/disk_2/aphase plain user float
hsetprop ${scobj_hpath}/disk_2/aphase control true hsetprop ${scobj_hpath}/disk_2/aphase control true
hsetprop ${scobj_hpath}/disk_2/aphase data true hsetprop ${scobj_hpath}/disk_2/aphase data true
@ -362,7 +367,7 @@ proc ::scobj::astrium_chopper::mkDriver { sct_controller name device_class simul
hsetprop ${scobj_hpath}/disk_2/aphase type "part" hsetprop ${scobj_hpath}/disk_2/aphase type "part"
hsetprop ${scobj_hpath}/disk_2/aphase nxalias "${name}_disk_2_aphase" hsetprop ${scobj_hpath}/disk_2/aphase nxalias "${name}_disk_2_aphase"
# Start of var: aspeed
hfactory ${scobj_hpath}/disk_2/aspeed plain user float hfactory ${scobj_hpath}/disk_2/aspeed plain user float
hsetprop ${scobj_hpath}/disk_2/aspeed control true hsetprop ${scobj_hpath}/disk_2/aspeed control true
hsetprop ${scobj_hpath}/disk_2/aspeed data true hsetprop ${scobj_hpath}/disk_2/aspeed data true
@ -374,7 +379,7 @@ proc ::scobj::astrium_chopper::mkDriver { sct_controller name device_class simul
hsetprop ${scobj_hpath}/disk_2/aspeed type "part" hsetprop ${scobj_hpath}/disk_2/aspeed type "part"
hsetprop ${scobj_hpath}/disk_2/aspeed nxalias "${name}_disk_2_aspeed" hsetprop ${scobj_hpath}/disk_2/aspeed nxalias "${name}_disk_2_aspeed"
# Start of var: frequency
hfactory ${scobj_hpath}/disk_2/frequency plain user float hfactory ${scobj_hpath}/disk_2/frequency plain user float
hsetprop ${scobj_hpath}/disk_2/frequency control true hsetprop ${scobj_hpath}/disk_2/frequency control true
hsetprop ${scobj_hpath}/disk_2/frequency data true hsetprop ${scobj_hpath}/disk_2/frequency data true
@ -386,7 +391,7 @@ proc ::scobj::astrium_chopper::mkDriver { sct_controller name device_class simul
hsetprop ${scobj_hpath}/disk_2/frequency type "part" hsetprop ${scobj_hpath}/disk_2/frequency type "part"
hsetprop ${scobj_hpath}/disk_2/frequency nxalias "${name}_disk_2_frequency" hsetprop ${scobj_hpath}/disk_2/frequency nxalias "${name}_disk_2_frequency"
# Start of var: master
hfactory ${scobj_hpath}/disk_2/master plain user text hfactory ${scobj_hpath}/disk_2/master plain user text
hsetprop ${scobj_hpath}/disk_2/master control true hsetprop ${scobj_hpath}/disk_2/master control true
hsetprop ${scobj_hpath}/disk_2/master data true hsetprop ${scobj_hpath}/disk_2/master data true
@ -398,7 +403,7 @@ proc ::scobj::astrium_chopper::mkDriver { sct_controller name device_class simul
hsetprop ${scobj_hpath}/disk_2/master type "part" hsetprop ${scobj_hpath}/disk_2/master type "part"
hsetprop ${scobj_hpath}/disk_2/master nxalias "${name}_disk_2_master" hsetprop ${scobj_hpath}/disk_2/master nxalias "${name}_disk_2_master"
# Start of var: rphase
hfactory ${scobj_hpath}/disk_2/rphase plain user float hfactory ${scobj_hpath}/disk_2/rphase plain user float
hsetprop ${scobj_hpath}/disk_2/rphase control true hsetprop ${scobj_hpath}/disk_2/rphase control true
hsetprop ${scobj_hpath}/disk_2/rphase data true hsetprop ${scobj_hpath}/disk_2/rphase data true
@ -410,7 +415,7 @@ proc ::scobj::astrium_chopper::mkDriver { sct_controller name device_class simul
hsetprop ${scobj_hpath}/disk_2/rphase type "part" hsetprop ${scobj_hpath}/disk_2/rphase type "part"
hsetprop ${scobj_hpath}/disk_2/rphase nxalias "${name}_disk_2_rphase" hsetprop ${scobj_hpath}/disk_2/rphase nxalias "${name}_disk_2_rphase"
# Start of var: rspeed
hfactory ${scobj_hpath}/disk_2/rspeed plain user float hfactory ${scobj_hpath}/disk_2/rspeed plain user float
hsetprop ${scobj_hpath}/disk_2/rspeed control true hsetprop ${scobj_hpath}/disk_2/rspeed control true
hsetprop ${scobj_hpath}/disk_2/rspeed data true hsetprop ${scobj_hpath}/disk_2/rspeed data true
@ -422,7 +427,7 @@ proc ::scobj::astrium_chopper::mkDriver { sct_controller name device_class simul
hsetprop ${scobj_hpath}/disk_2/rspeed type "part" hsetprop ${scobj_hpath}/disk_2/rspeed type "part"
hsetprop ${scobj_hpath}/disk_2/rspeed nxalias "${name}_disk_2_rspeed" hsetprop ${scobj_hpath}/disk_2/rspeed nxalias "${name}_disk_2_rspeed"
# Start of var: state
hfactory ${scobj_hpath}/disk_2/state plain user text hfactory ${scobj_hpath}/disk_2/state plain user text
hsetprop ${scobj_hpath}/disk_2/state read ${ns}::fetchState ${scobj_hpath} readState {2} hsetprop ${scobj_hpath}/disk_2/state read ${ns}::fetchState ${scobj_hpath} readState {2}
hsetprop ${scobj_hpath}/disk_2/state readState ${ns}::readState ${scobj_hpath} hsetprop ${scobj_hpath}/disk_2/state readState ${ns}::readState ${scobj_hpath}
@ -439,16 +444,20 @@ proc ::scobj::astrium_chopper::mkDriver { sct_controller name device_class simul
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/disk_2/state 1 ${sct_controller} poll ${scobj_hpath}/disk_2/state 1
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::astrium_chopper::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for astrium_chopper" ::scobj::astrium_chopper::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for astrium_chopper"
hsetprop ${scobj_hpath}/%s simulated true
} }
hsetprop ${scobj_hpath}/disk_2 data "true" hsetprop ${scobj_hpath}/disk_2 data "true"
hsetprop ${scobj_hpath}/disk_2 klass "@none" hsetprop ${scobj_hpath}/disk_2 klass "@none"
hsetprop ${scobj_hpath}/disk_2 type "part" hsetprop ${scobj_hpath}/disk_2 type "part"
# End of named group: disk_2
# Start of named group: disk_3
hfactory ${scobj_hpath}/disk_3 plain spy none hfactory ${scobj_hpath}/disk_3 plain spy none
# Start of var: aphase
hfactory ${scobj_hpath}/disk_3/aphase plain user float hfactory ${scobj_hpath}/disk_3/aphase plain user float
hsetprop ${scobj_hpath}/disk_3/aphase control true hsetprop ${scobj_hpath}/disk_3/aphase control true
hsetprop ${scobj_hpath}/disk_3/aphase data true hsetprop ${scobj_hpath}/disk_3/aphase data true
@ -460,7 +469,7 @@ proc ::scobj::astrium_chopper::mkDriver { sct_controller name device_class simul
hsetprop ${scobj_hpath}/disk_3/aphase type "part" hsetprop ${scobj_hpath}/disk_3/aphase type "part"
hsetprop ${scobj_hpath}/disk_3/aphase nxalias "${name}_disk_3_aphase" hsetprop ${scobj_hpath}/disk_3/aphase nxalias "${name}_disk_3_aphase"
# Start of var: aspeed
hfactory ${scobj_hpath}/disk_3/aspeed plain user float hfactory ${scobj_hpath}/disk_3/aspeed plain user float
hsetprop ${scobj_hpath}/disk_3/aspeed control true hsetprop ${scobj_hpath}/disk_3/aspeed control true
hsetprop ${scobj_hpath}/disk_3/aspeed data true hsetprop ${scobj_hpath}/disk_3/aspeed data true
@ -472,7 +481,7 @@ proc ::scobj::astrium_chopper::mkDriver { sct_controller name device_class simul
hsetprop ${scobj_hpath}/disk_3/aspeed type "part" hsetprop ${scobj_hpath}/disk_3/aspeed type "part"
hsetprop ${scobj_hpath}/disk_3/aspeed nxalias "${name}_disk_3_aspeed" hsetprop ${scobj_hpath}/disk_3/aspeed nxalias "${name}_disk_3_aspeed"
# Start of var: frequency
hfactory ${scobj_hpath}/disk_3/frequency plain user float hfactory ${scobj_hpath}/disk_3/frequency plain user float
hsetprop ${scobj_hpath}/disk_3/frequency control true hsetprop ${scobj_hpath}/disk_3/frequency control true
hsetprop ${scobj_hpath}/disk_3/frequency data true hsetprop ${scobj_hpath}/disk_3/frequency data true
@ -484,7 +493,7 @@ proc ::scobj::astrium_chopper::mkDriver { sct_controller name device_class simul
hsetprop ${scobj_hpath}/disk_3/frequency type "part" hsetprop ${scobj_hpath}/disk_3/frequency type "part"
hsetprop ${scobj_hpath}/disk_3/frequency nxalias "${name}_disk_3_frequency" hsetprop ${scobj_hpath}/disk_3/frequency nxalias "${name}_disk_3_frequency"
# Start of var: master
hfactory ${scobj_hpath}/disk_3/master plain user text hfactory ${scobj_hpath}/disk_3/master plain user text
hsetprop ${scobj_hpath}/disk_3/master control true hsetprop ${scobj_hpath}/disk_3/master control true
hsetprop ${scobj_hpath}/disk_3/master data true hsetprop ${scobj_hpath}/disk_3/master data true
@ -496,7 +505,7 @@ proc ::scobj::astrium_chopper::mkDriver { sct_controller name device_class simul
hsetprop ${scobj_hpath}/disk_3/master type "part" hsetprop ${scobj_hpath}/disk_3/master type "part"
hsetprop ${scobj_hpath}/disk_3/master nxalias "${name}_disk_3_master" hsetprop ${scobj_hpath}/disk_3/master nxalias "${name}_disk_3_master"
# Start of var: rphase
hfactory ${scobj_hpath}/disk_3/rphase plain user float hfactory ${scobj_hpath}/disk_3/rphase plain user float
hsetprop ${scobj_hpath}/disk_3/rphase control true hsetprop ${scobj_hpath}/disk_3/rphase control true
hsetprop ${scobj_hpath}/disk_3/rphase data true hsetprop ${scobj_hpath}/disk_3/rphase data true
@ -508,7 +517,7 @@ proc ::scobj::astrium_chopper::mkDriver { sct_controller name device_class simul
hsetprop ${scobj_hpath}/disk_3/rphase type "part" hsetprop ${scobj_hpath}/disk_3/rphase type "part"
hsetprop ${scobj_hpath}/disk_3/rphase nxalias "${name}_disk_3_rphase" hsetprop ${scobj_hpath}/disk_3/rphase nxalias "${name}_disk_3_rphase"
# Start of var: rspeed
hfactory ${scobj_hpath}/disk_3/rspeed plain user float hfactory ${scobj_hpath}/disk_3/rspeed plain user float
hsetprop ${scobj_hpath}/disk_3/rspeed control true hsetprop ${scobj_hpath}/disk_3/rspeed control true
hsetprop ${scobj_hpath}/disk_3/rspeed data true hsetprop ${scobj_hpath}/disk_3/rspeed data true
@ -520,7 +529,7 @@ proc ::scobj::astrium_chopper::mkDriver { sct_controller name device_class simul
hsetprop ${scobj_hpath}/disk_3/rspeed type "part" hsetprop ${scobj_hpath}/disk_3/rspeed type "part"
hsetprop ${scobj_hpath}/disk_3/rspeed nxalias "${name}_disk_3_rspeed" hsetprop ${scobj_hpath}/disk_3/rspeed nxalias "${name}_disk_3_rspeed"
# Start of var: state
hfactory ${scobj_hpath}/disk_3/state plain user text hfactory ${scobj_hpath}/disk_3/state plain user text
hsetprop ${scobj_hpath}/disk_3/state read ${ns}::fetchState ${scobj_hpath} readState {3} hsetprop ${scobj_hpath}/disk_3/state read ${ns}::fetchState ${scobj_hpath} readState {3}
hsetprop ${scobj_hpath}/disk_3/state readState ${ns}::readState ${scobj_hpath} hsetprop ${scobj_hpath}/disk_3/state readState ${ns}::readState ${scobj_hpath}
@ -537,16 +546,20 @@ proc ::scobj::astrium_chopper::mkDriver { sct_controller name device_class simul
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/disk_3/state 1 ${sct_controller} poll ${scobj_hpath}/disk_3/state 1
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::astrium_chopper::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for astrium_chopper" ::scobj::astrium_chopper::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for astrium_chopper"
hsetprop ${scobj_hpath}/%s simulated true
} }
hsetprop ${scobj_hpath}/disk_3 data "true" hsetprop ${scobj_hpath}/disk_3 data "true"
hsetprop ${scobj_hpath}/disk_3 klass "@none" hsetprop ${scobj_hpath}/disk_3 klass "@none"
hsetprop ${scobj_hpath}/disk_3 type "part" hsetprop ${scobj_hpath}/disk_3 type "part"
# End of named group: disk_3
# Start of named group: disk_4
hfactory ${scobj_hpath}/disk_4 plain spy none hfactory ${scobj_hpath}/disk_4 plain spy none
# Start of var: aphase
hfactory ${scobj_hpath}/disk_4/aphase plain user float hfactory ${scobj_hpath}/disk_4/aphase plain user float
hsetprop ${scobj_hpath}/disk_4/aphase control true hsetprop ${scobj_hpath}/disk_4/aphase control true
hsetprop ${scobj_hpath}/disk_4/aphase data true hsetprop ${scobj_hpath}/disk_4/aphase data true
@ -558,7 +571,7 @@ proc ::scobj::astrium_chopper::mkDriver { sct_controller name device_class simul
hsetprop ${scobj_hpath}/disk_4/aphase type "part" hsetprop ${scobj_hpath}/disk_4/aphase type "part"
hsetprop ${scobj_hpath}/disk_4/aphase nxalias "${name}_disk_4_aphase" hsetprop ${scobj_hpath}/disk_4/aphase nxalias "${name}_disk_4_aphase"
# Start of var: aspeed
hfactory ${scobj_hpath}/disk_4/aspeed plain user float hfactory ${scobj_hpath}/disk_4/aspeed plain user float
hsetprop ${scobj_hpath}/disk_4/aspeed control true hsetprop ${scobj_hpath}/disk_4/aspeed control true
hsetprop ${scobj_hpath}/disk_4/aspeed data true hsetprop ${scobj_hpath}/disk_4/aspeed data true
@ -570,7 +583,7 @@ proc ::scobj::astrium_chopper::mkDriver { sct_controller name device_class simul
hsetprop ${scobj_hpath}/disk_4/aspeed type "part" hsetprop ${scobj_hpath}/disk_4/aspeed type "part"
hsetprop ${scobj_hpath}/disk_4/aspeed nxalias "${name}_disk_4_aspeed" hsetprop ${scobj_hpath}/disk_4/aspeed nxalias "${name}_disk_4_aspeed"
# Start of var: frequency
hfactory ${scobj_hpath}/disk_4/frequency plain user float hfactory ${scobj_hpath}/disk_4/frequency plain user float
hsetprop ${scobj_hpath}/disk_4/frequency control true hsetprop ${scobj_hpath}/disk_4/frequency control true
hsetprop ${scobj_hpath}/disk_4/frequency data true hsetprop ${scobj_hpath}/disk_4/frequency data true
@ -582,7 +595,7 @@ proc ::scobj::astrium_chopper::mkDriver { sct_controller name device_class simul
hsetprop ${scobj_hpath}/disk_4/frequency type "part" hsetprop ${scobj_hpath}/disk_4/frequency type "part"
hsetprop ${scobj_hpath}/disk_4/frequency nxalias "${name}_disk_4_frequency" hsetprop ${scobj_hpath}/disk_4/frequency nxalias "${name}_disk_4_frequency"
# Start of var: master
hfactory ${scobj_hpath}/disk_4/master plain user text hfactory ${scobj_hpath}/disk_4/master plain user text
hsetprop ${scobj_hpath}/disk_4/master control true hsetprop ${scobj_hpath}/disk_4/master control true
hsetprop ${scobj_hpath}/disk_4/master data true hsetprop ${scobj_hpath}/disk_4/master data true
@ -594,7 +607,7 @@ proc ::scobj::astrium_chopper::mkDriver { sct_controller name device_class simul
hsetprop ${scobj_hpath}/disk_4/master type "part" hsetprop ${scobj_hpath}/disk_4/master type "part"
hsetprop ${scobj_hpath}/disk_4/master nxalias "${name}_disk_4_master" hsetprop ${scobj_hpath}/disk_4/master nxalias "${name}_disk_4_master"
# Start of var: rphase
hfactory ${scobj_hpath}/disk_4/rphase plain user float hfactory ${scobj_hpath}/disk_4/rphase plain user float
hsetprop ${scobj_hpath}/disk_4/rphase control true hsetprop ${scobj_hpath}/disk_4/rphase control true
hsetprop ${scobj_hpath}/disk_4/rphase data true hsetprop ${scobj_hpath}/disk_4/rphase data true
@ -606,7 +619,7 @@ proc ::scobj::astrium_chopper::mkDriver { sct_controller name device_class simul
hsetprop ${scobj_hpath}/disk_4/rphase type "part" hsetprop ${scobj_hpath}/disk_4/rphase type "part"
hsetprop ${scobj_hpath}/disk_4/rphase nxalias "${name}_disk_4_rphase" hsetprop ${scobj_hpath}/disk_4/rphase nxalias "${name}_disk_4_rphase"
# Start of var: rspeed
hfactory ${scobj_hpath}/disk_4/rspeed plain user float hfactory ${scobj_hpath}/disk_4/rspeed plain user float
hsetprop ${scobj_hpath}/disk_4/rspeed control true hsetprop ${scobj_hpath}/disk_4/rspeed control true
hsetprop ${scobj_hpath}/disk_4/rspeed data true hsetprop ${scobj_hpath}/disk_4/rspeed data true
@ -618,7 +631,7 @@ proc ::scobj::astrium_chopper::mkDriver { sct_controller name device_class simul
hsetprop ${scobj_hpath}/disk_4/rspeed type "part" hsetprop ${scobj_hpath}/disk_4/rspeed type "part"
hsetprop ${scobj_hpath}/disk_4/rspeed nxalias "${name}_disk_4_rspeed" hsetprop ${scobj_hpath}/disk_4/rspeed nxalias "${name}_disk_4_rspeed"
# Start of var: state
hfactory ${scobj_hpath}/disk_4/state plain user text hfactory ${scobj_hpath}/disk_4/state plain user text
hsetprop ${scobj_hpath}/disk_4/state read ${ns}::fetchState ${scobj_hpath} readState {4} hsetprop ${scobj_hpath}/disk_4/state read ${ns}::fetchState ${scobj_hpath} readState {4}
hsetprop ${scobj_hpath}/disk_4/state readState ${ns}::readState ${scobj_hpath} hsetprop ${scobj_hpath}/disk_4/state readState ${ns}::readState ${scobj_hpath}
@ -635,12 +648,15 @@ proc ::scobj::astrium_chopper::mkDriver { sct_controller name device_class simul
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/disk_4/state 1 ${sct_controller} poll ${scobj_hpath}/disk_4/state 1
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::astrium_chopper::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for astrium_chopper" ::scobj::astrium_chopper::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for astrium_chopper"
hsetprop ${scobj_hpath}/%s simulated true
} }
hsetprop ${scobj_hpath}/disk_4 data "true" hsetprop ${scobj_hpath}/disk_4 data "true"
hsetprop ${scobj_hpath}/disk_4 klass "@none" hsetprop ${scobj_hpath}/disk_4 klass "@none"
hsetprop ${scobj_hpath}/disk_4 type "part" hsetprop ${scobj_hpath}/disk_4 type "part"
# End of named group: disk_4
hsetprop ${scobj_hpath} klass ${device_class} hsetprop ${scobj_hpath} klass ${device_class}
hsetprop ${scobj_hpath} data true hsetprop ${scobj_hpath} data true
hsetprop ${scobj_hpath} debug_threshold 5 hsetprop ${scobj_hpath} debug_threshold 5

View File

@ -204,8 +204,9 @@ proc ::scobj::shutters::mkDriver { sct_controller name device_class simulation_f
sicslist setatt ${name} long_name ${name} sicslist setatt ${name} long_name ${name}
set scobj_hpath /sics/${name} set scobj_hpath /sics/${name}
# Start of unnamed group
# Start of var: fast_shutter
hfactory ${scobj_hpath}/fast_shutter plain user text hfactory ${scobj_hpath}/fast_shutter plain user text
hsetprop ${scobj_hpath}/fast_shutter read ${ns}::getValue ${scobj_hpath} read_switch_pair {MG @IN[5], @IN[6]} hsetprop ${scobj_hpath}/fast_shutter read ${ns}::getValue ${scobj_hpath} read_switch_pair {MG @IN[5], @IN[6]}
hsetprop ${scobj_hpath}/fast_shutter read_switch_pair ${ns}::read_switch_pair ${scobj_hpath} hsetprop ${scobj_hpath}/fast_shutter read_switch_pair ${ns}::read_switch_pair ${scobj_hpath}
@ -221,11 +222,13 @@ proc ::scobj::shutters::mkDriver { sct_controller name device_class simulation_f
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/fast_shutter 1 ${sct_controller} poll ${scobj_hpath}/fast_shutter 1
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::shutters::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for shutters" ::scobj::shutters::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for shutters"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: rough_100
hfactory ${scobj_hpath}/rough_100 plain user text hfactory ${scobj_hpath}/rough_100 plain user text
hsetprop ${scobj_hpath}/rough_100 read ${ns}::getValue ${scobj_hpath} read_switch_pair {MG @IN[15], @IN[16]} hsetprop ${scobj_hpath}/rough_100 read ${ns}::getValue ${scobj_hpath} read_switch_pair {MG @IN[15], @IN[16]}
hsetprop ${scobj_hpath}/rough_100 read_switch_pair ${ns}::read_switch_pair ${scobj_hpath} hsetprop ${scobj_hpath}/rough_100 read_switch_pair ${ns}::read_switch_pair ${scobj_hpath}
@ -246,11 +249,13 @@ proc ::scobj::shutters::mkDriver { sct_controller name device_class simulation_f
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/rough_100 1 ${sct_controller} poll ${scobj_hpath}/rough_100 1
${sct_controller} write ${scobj_hpath}/rough_100 ${sct_controller} write ${scobj_hpath}/rough_100
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::shutters::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for shutters" ::scobj::shutters::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for shutters"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: rough_40
hfactory ${scobj_hpath}/rough_40 plain user text hfactory ${scobj_hpath}/rough_40 plain user text
hsetprop ${scobj_hpath}/rough_40 read ${ns}::getValue ${scobj_hpath} read_switch_pair {MG @IN[13], @IN[14]} hsetprop ${scobj_hpath}/rough_40 read ${ns}::getValue ${scobj_hpath} read_switch_pair {MG @IN[13], @IN[14]}
hsetprop ${scobj_hpath}/rough_40 read_switch_pair ${ns}::read_switch_pair ${scobj_hpath} hsetprop ${scobj_hpath}/rough_40 read_switch_pair ${ns}::read_switch_pair ${scobj_hpath}
@ -271,14 +276,17 @@ proc ::scobj::shutters::mkDriver { sct_controller name device_class simulation_f
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/rough_40 1 ${sct_controller} poll ${scobj_hpath}/rough_40 1
${sct_controller} write ${scobj_hpath}/rough_40 ${sct_controller} write ${scobj_hpath}/rough_40
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::shutters::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for shutters" ::scobj::shutters::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for shutters"
hsetprop ${scobj_hpath}/%s simulated true
} }
hsetprop ${scobj_hpath} data "true" hsetprop ${scobj_hpath} data "true"
hsetprop ${scobj_hpath} klass "@none" hsetprop ${scobj_hpath} klass "@none"
hsetprop ${scobj_hpath} nxsave "true" hsetprop ${scobj_hpath} nxsave "true"
hsetprop ${scobj_hpath} type "part" hsetprop ${scobj_hpath} type "part"
# End of unnamed group
hsetprop ${scobj_hpath} klass ${device_class} hsetprop ${scobj_hpath} klass ${device_class}
hsetprop ${scobj_hpath} data true hsetprop ${scobj_hpath} data true
hsetprop ${scobj_hpath} debug_threshold 5 hsetprop ${scobj_hpath} debug_threshold 5

View File

@ -212,8 +212,9 @@ proc ::scobj::tank::mkDriver { sct_controller name device_class simulation_flag
sicslist setatt ${name} long_name ${name} sicslist setatt ${name} long_name ${name}
set scobj_hpath /sics/${name} set scobj_hpath /sics/${name}
# Start of unnamed group
# Start of var: pos
hfactory ${scobj_hpath}/pos plain spy float hfactory ${scobj_hpath}/pos plain spy float
hsetprop ${scobj_hpath}/pos read ${ns}::getValue ${scobj_hpath} read_pos {MG _TPH} hsetprop ${scobj_hpath}/pos read ${ns}::getValue ${scobj_hpath} read_pos {MG _TPH}
hsetprop ${scobj_hpath}/pos read_pos ${ns}::read_pos ${scobj_hpath} hsetprop ${scobj_hpath}/pos read_pos ${ns}::read_pos ${scobj_hpath}
@ -229,17 +230,21 @@ proc ::scobj::tank::mkDriver { sct_controller name device_class simulation_flag
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/pos 1 ${sct_controller} poll ${scobj_hpath}/pos 1
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::tank::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for tank" ::scobj::tank::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for tank"
hsetprop ${scobj_hpath}/%s simulated true
} }
hsetprop ${scobj_hpath} data "true" hsetprop ${scobj_hpath} data "true"
hsetprop ${scobj_hpath} klass "@none" hsetprop ${scobj_hpath} klass "@none"
hsetprop ${scobj_hpath} type "part" hsetprop ${scobj_hpath} type "part"
# End of unnamed group
# Start of named group: limits
hfactory ${scobj_hpath}/limits plain spy none hfactory ${scobj_hpath}/limits plain spy none
# Start of var: forward
hfactory ${scobj_hpath}/limits/forward plain user text hfactory ${scobj_hpath}/limits/forward plain user text
hsetprop ${scobj_hpath}/limits/forward read ${ns}::getValue ${scobj_hpath} read_switch {MG _LFH} hsetprop ${scobj_hpath}/limits/forward read ${ns}::getValue ${scobj_hpath} read_switch {MG _LFH}
hsetprop ${scobj_hpath}/limits/forward read_switch ${ns}::read_switch ${scobj_hpath} hsetprop ${scobj_hpath}/limits/forward read_switch ${ns}::read_switch ${scobj_hpath}
@ -255,11 +260,13 @@ proc ::scobj::tank::mkDriver { sct_controller name device_class simulation_flag
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/limits/forward 1 ${sct_controller} poll ${scobj_hpath}/limits/forward 1
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::tank::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for tank" ::scobj::tank::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for tank"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: reverse
hfactory ${scobj_hpath}/limits/reverse plain user text hfactory ${scobj_hpath}/limits/reverse plain user text
hsetprop ${scobj_hpath}/limits/reverse read ${ns}::getValue ${scobj_hpath} read_switch {MG _LRH} hsetprop ${scobj_hpath}/limits/reverse read ${ns}::getValue ${scobj_hpath} read_switch {MG _LRH}
hsetprop ${scobj_hpath}/limits/reverse read_switch ${ns}::read_switch ${scobj_hpath} hsetprop ${scobj_hpath}/limits/reverse read_switch ${ns}::read_switch ${scobj_hpath}
@ -275,16 +282,20 @@ proc ::scobj::tank::mkDriver { sct_controller name device_class simulation_flag
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/limits/reverse 1 ${sct_controller} poll ${scobj_hpath}/limits/reverse 1
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::tank::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for tank" ::scobj::tank::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for tank"
hsetprop ${scobj_hpath}/%s simulated true
} }
hsetprop ${scobj_hpath}/limits data "true" hsetprop ${scobj_hpath}/limits data "true"
hsetprop ${scobj_hpath}/limits klass "@none" hsetprop ${scobj_hpath}/limits klass "@none"
hsetprop ${scobj_hpath}/limits type "part" hsetprop ${scobj_hpath}/limits type "part"
# End of named group: limits
# Start of named group: switches
hfactory ${scobj_hpath}/switches plain spy none hfactory ${scobj_hpath}/switches plain spy none
# Start of var: forward
hfactory ${scobj_hpath}/switches/forward plain user text hfactory ${scobj_hpath}/switches/forward plain user text
hsetprop ${scobj_hpath}/switches/forward read ${ns}::getValue ${scobj_hpath} read_switch {MG @IN[5]} hsetprop ${scobj_hpath}/switches/forward read ${ns}::getValue ${scobj_hpath} read_switch {MG @IN[5]}
hsetprop ${scobj_hpath}/switches/forward read_switch ${ns}::read_switch ${scobj_hpath} hsetprop ${scobj_hpath}/switches/forward read_switch ${ns}::read_switch ${scobj_hpath}
@ -300,11 +311,13 @@ proc ::scobj::tank::mkDriver { sct_controller name device_class simulation_flag
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/switches/forward 1 ${sct_controller} poll ${scobj_hpath}/switches/forward 1
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::tank::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for tank" ::scobj::tank::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for tank"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: reverse
hfactory ${scobj_hpath}/switches/reverse plain user text hfactory ${scobj_hpath}/switches/reverse plain user text
hsetprop ${scobj_hpath}/switches/reverse read ${ns}::getValue ${scobj_hpath} read_switch {MG @IN[6]} hsetprop ${scobj_hpath}/switches/reverse read ${ns}::getValue ${scobj_hpath} read_switch {MG @IN[6]}
hsetprop ${scobj_hpath}/switches/reverse read_switch ${ns}::read_switch ${scobj_hpath} hsetprop ${scobj_hpath}/switches/reverse read_switch ${ns}::read_switch ${scobj_hpath}
@ -320,12 +333,15 @@ proc ::scobj::tank::mkDriver { sct_controller name device_class simulation_flag
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/switches/reverse 1 ${sct_controller} poll ${scobj_hpath}/switches/reverse 1
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::tank::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for tank" ::scobj::tank::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for tank"
hsetprop ${scobj_hpath}/%s simulated true
} }
hsetprop ${scobj_hpath}/switches data "true" hsetprop ${scobj_hpath}/switches data "true"
hsetprop ${scobj_hpath}/switches klass "@none" hsetprop ${scobj_hpath}/switches klass "@none"
hsetprop ${scobj_hpath}/switches type "part" hsetprop ${scobj_hpath}/switches type "part"
# End of named group: switches
hsetprop ${scobj_hpath} klass ${device_class} hsetprop ${scobj_hpath} klass ${device_class}
hsetprop ${scobj_hpath} data true hsetprop ${scobj_hpath} data true
hsetprop ${scobj_hpath} debug_threshold 5 hsetprop ${scobj_hpath} debug_threshold 5

View File

@ -86,7 +86,12 @@ proc ::scobj::hiden_xcs::checkstatus {tc_root} {
# checkstatus hook code goes here # checkstatus hook code goes here
if {[sct driving]} { if {[sct driving]} {
set sp "[sct target]" set sp "[sct target]"
set pv "[hval ${tc_root}/[sct driveable]]" if {[hpropexists [sct] simulated] && [sct simulated] == "true"} {
set pv "${sp}"
hset ${tc_root}/[sct driveable] ${sp}
}
set pv "[hval ${tc_root}/[sct driveable]]"
}
if { abs(${pv} - ${sp}) <= [sct tolerance] } { if { abs(${pv} - ${sp}) <= [sct tolerance] } {
if { [hpropexists [sct] settle_time] } { if { [hpropexists [sct] settle_time] } {
if { [hpropexists [sct] settle_time_start] } { if { [hpropexists [sct] settle_time_start] } {
@ -756,8 +761,9 @@ proc ::scobj::hiden_xcs::mkDriver { sct_controller name device_class simulation_
sicslist setatt ${name} long_name ${name} sicslist setatt ${name} long_name ${name}
set scobj_hpath /sics/${name} set scobj_hpath /sics/${name}
# Start of unnamed group
# Start of var: enabled
hfactory ${scobj_hpath}/enabled plain user int hfactory ${scobj_hpath}/enabled plain user int
hsetprop ${scobj_hpath}/enabled read ${ns}::getValue ${scobj_hpath} read_digital {?DOUT,2} hsetprop ${scobj_hpath}/enabled read ${ns}::getValue ${scobj_hpath} read_digital {?DOUT,2}
hsetprop ${scobj_hpath}/enabled read_digital ${ns}::read_digital ${scobj_hpath} hsetprop ${scobj_hpath}/enabled read_digital ${ns}::read_digital ${scobj_hpath}
@ -780,11 +786,13 @@ proc ::scobj::hiden_xcs::mkDriver { sct_controller name device_class simulation_
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/enabled 10 ${sct_controller} poll ${scobj_hpath}/enabled 10
${sct_controller} write ${scobj_hpath}/enabled ${sct_controller} write ${scobj_hpath}/enabled
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::hiden_xcs::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for hiden_xcs" ::scobj::hiden_xcs::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for hiden_xcs"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: flow1
hfactory ${scobj_hpath}/flow1 plain user float hfactory ${scobj_hpath}/flow1 plain user float
hsetprop ${scobj_hpath}/flow1 control false hsetprop ${scobj_hpath}/flow1 control false
hsetprop ${scobj_hpath}/flow1 data false hsetprop ${scobj_hpath}/flow1 data false
@ -796,7 +804,7 @@ proc ::scobj::hiden_xcs::mkDriver { sct_controller name device_class simulation_
hsetprop ${scobj_hpath}/flow1 type "part" hsetprop ${scobj_hpath}/flow1 type "part"
hsetprop ${scobj_hpath}/flow1 nxalias "${name}_flow1" hsetprop ${scobj_hpath}/flow1 nxalias "${name}_flow1"
# Start of var: flow2
hfactory ${scobj_hpath}/flow2 plain user float hfactory ${scobj_hpath}/flow2 plain user float
hsetprop ${scobj_hpath}/flow2 control false hsetprop ${scobj_hpath}/flow2 control false
hsetprop ${scobj_hpath}/flow2 data false hsetprop ${scobj_hpath}/flow2 data false
@ -808,7 +816,7 @@ proc ::scobj::hiden_xcs::mkDriver { sct_controller name device_class simulation_
hsetprop ${scobj_hpath}/flow2 type "part" hsetprop ${scobj_hpath}/flow2 type "part"
hsetprop ${scobj_hpath}/flow2 nxalias "${name}_flow2" hsetprop ${scobj_hpath}/flow2 nxalias "${name}_flow2"
# Start of var: flow3
hfactory ${scobj_hpath}/flow3 plain user float hfactory ${scobj_hpath}/flow3 plain user float
hsetprop ${scobj_hpath}/flow3 control false hsetprop ${scobj_hpath}/flow3 control false
hsetprop ${scobj_hpath}/flow3 data false hsetprop ${scobj_hpath}/flow3 data false
@ -820,7 +828,7 @@ proc ::scobj::hiden_xcs::mkDriver { sct_controller name device_class simulation_
hsetprop ${scobj_hpath}/flow3 type "part" hsetprop ${scobj_hpath}/flow3 type "part"
hsetprop ${scobj_hpath}/flow3 nxalias "${name}_flow3" hsetprop ${scobj_hpath}/flow3 nxalias "${name}_flow3"
# Start of var: gas_factor
hfactory ${scobj_hpath}/gas_factor plain user float hfactory ${scobj_hpath}/gas_factor plain user float
hsetprop ${scobj_hpath}/gas_factor control true hsetprop ${scobj_hpath}/gas_factor control true
hsetprop ${scobj_hpath}/gas_factor data true hsetprop ${scobj_hpath}/gas_factor data true
@ -833,7 +841,7 @@ proc ::scobj::hiden_xcs::mkDriver { sct_controller name device_class simulation_
hsetprop ${scobj_hpath}/gas_factor type "part" hsetprop ${scobj_hpath}/gas_factor type "part"
hsetprop ${scobj_hpath}/gas_factor nxalias "${name}_gas_factor" hsetprop ${scobj_hpath}/gas_factor nxalias "${name}_gas_factor"
# Start of var: temperature
hfactory ${scobj_hpath}/temperature plain user float hfactory ${scobj_hpath}/temperature plain user float
hsetprop ${scobj_hpath}/temperature control false hsetprop ${scobj_hpath}/temperature control false
hsetprop ${scobj_hpath}/temperature data false hsetprop ${scobj_hpath}/temperature data false
@ -849,10 +857,12 @@ proc ::scobj::hiden_xcs::mkDriver { sct_controller name device_class simulation_
hsetprop ${scobj_hpath} klass "@none" hsetprop ${scobj_hpath} klass "@none"
hsetprop ${scobj_hpath} nxsave "true" hsetprop ${scobj_hpath} nxsave "true"
hsetprop ${scobj_hpath} type "part" hsetprop ${scobj_hpath} type "part"
# End of unnamed group
# Start of named group: analog
hfactory ${scobj_hpath}/analog plain spy none hfactory ${scobj_hpath}/analog plain spy none
# Start of var: ansto_temp
hfactory ${scobj_hpath}/analog/ansto_temp plain user float hfactory ${scobj_hpath}/analog/ansto_temp plain user float
hsetprop ${scobj_hpath}/analog/ansto_temp read ${ns}::getValue ${scobj_hpath} read_sixteen {?AIN,12} hsetprop ${scobj_hpath}/analog/ansto_temp read ${ns}::getValue ${scobj_hpath} read_sixteen {?AIN,12}
hsetprop ${scobj_hpath}/analog/ansto_temp read_sixteen ${ns}::read_sixteen ${scobj_hpath} hsetprop ${scobj_hpath}/analog/ansto_temp read_sixteen ${ns}::read_sixteen ${scobj_hpath}
@ -869,11 +879,13 @@ proc ::scobj::hiden_xcs::mkDriver { sct_controller name device_class simulation_
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/analog/ansto_temp 5 ${sct_controller} poll ${scobj_hpath}/analog/ansto_temp 5
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::hiden_xcs::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for hiden_xcs" ::scobj::hiden_xcs::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for hiden_xcs"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: pv1
hfactory ${scobj_hpath}/analog/pv1 plain user float hfactory ${scobj_hpath}/analog/pv1 plain user float
hsetprop ${scobj_hpath}/analog/pv1 read ${ns}::getValue ${scobj_hpath} read_sixteen {?AIN,0} hsetprop ${scobj_hpath}/analog/pv1 read ${ns}::getValue ${scobj_hpath} read_sixteen {?AIN,0}
hsetprop ${scobj_hpath}/analog/pv1 read_sixteen ${ns}::read_sixteen ${scobj_hpath} hsetprop ${scobj_hpath}/analog/pv1 read_sixteen ${ns}::read_sixteen ${scobj_hpath}
@ -890,11 +902,13 @@ proc ::scobj::hiden_xcs::mkDriver { sct_controller name device_class simulation_
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/analog/pv1 5 ${sct_controller} poll ${scobj_hpath}/analog/pv1 5
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::hiden_xcs::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for hiden_xcs" ::scobj::hiden_xcs::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for hiden_xcs"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: pv2
hfactory ${scobj_hpath}/analog/pv2 plain user float hfactory ${scobj_hpath}/analog/pv2 plain user float
hsetprop ${scobj_hpath}/analog/pv2 read ${ns}::getValue ${scobj_hpath} read_sixteen {?AIN,1} hsetprop ${scobj_hpath}/analog/pv2 read ${ns}::getValue ${scobj_hpath} read_sixteen {?AIN,1}
hsetprop ${scobj_hpath}/analog/pv2 read_sixteen ${ns}::read_sixteen ${scobj_hpath} hsetprop ${scobj_hpath}/analog/pv2 read_sixteen ${ns}::read_sixteen ${scobj_hpath}
@ -911,11 +925,13 @@ proc ::scobj::hiden_xcs::mkDriver { sct_controller name device_class simulation_
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/analog/pv2 5 ${sct_controller} poll ${scobj_hpath}/analog/pv2 5
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::hiden_xcs::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for hiden_xcs" ::scobj::hiden_xcs::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for hiden_xcs"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: pv3
hfactory ${scobj_hpath}/analog/pv3 plain user float hfactory ${scobj_hpath}/analog/pv3 plain user float
hsetprop ${scobj_hpath}/analog/pv3 read ${ns}::getValue ${scobj_hpath} read_sixteen {?AIN,2} hsetprop ${scobj_hpath}/analog/pv3 read ${ns}::getValue ${scobj_hpath} read_sixteen {?AIN,2}
hsetprop ${scobj_hpath}/analog/pv3 read_sixteen ${ns}::read_sixteen ${scobj_hpath} hsetprop ${scobj_hpath}/analog/pv3 read_sixteen ${ns}::read_sixteen ${scobj_hpath}
@ -932,11 +948,13 @@ proc ::scobj::hiden_xcs::mkDriver { sct_controller name device_class simulation_
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/analog/pv3 5 ${sct_controller} poll ${scobj_hpath}/analog/pv3 5
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::hiden_xcs::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for hiden_xcs" ::scobj::hiden_xcs::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for hiden_xcs"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: rhsense
hfactory ${scobj_hpath}/analog/rhsense plain user float hfactory ${scobj_hpath}/analog/rhsense plain user float
hsetprop ${scobj_hpath}/analog/rhsense read ${ns}::getValue ${scobj_hpath} read_sixteen {?AIN,9} hsetprop ${scobj_hpath}/analog/rhsense read ${ns}::getValue ${scobj_hpath} read_sixteen {?AIN,9}
hsetprop ${scobj_hpath}/analog/rhsense read_sixteen ${ns}::read_sixteen ${scobj_hpath} hsetprop ${scobj_hpath}/analog/rhsense read_sixteen ${ns}::read_sixteen ${scobj_hpath}
@ -953,11 +971,13 @@ proc ::scobj::hiden_xcs::mkDriver { sct_controller name device_class simulation_
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/analog/rhsense 5 ${sct_controller} poll ${scobj_hpath}/analog/rhsense 5
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::hiden_xcs::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for hiden_xcs" ::scobj::hiden_xcs::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for hiden_xcs"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: rhtemp
hfactory ${scobj_hpath}/analog/rhtemp plain user float hfactory ${scobj_hpath}/analog/rhtemp plain user float
hsetprop ${scobj_hpath}/analog/rhtemp read ${ns}::getValue ${scobj_hpath} read_sixteen {?AIN,8} hsetprop ${scobj_hpath}/analog/rhtemp read ${ns}::getValue ${scobj_hpath} read_sixteen {?AIN,8}
hsetprop ${scobj_hpath}/analog/rhtemp read_sixteen ${ns}::read_sixteen ${scobj_hpath} hsetprop ${scobj_hpath}/analog/rhtemp read_sixteen ${ns}::read_sixteen ${scobj_hpath}
@ -974,11 +994,13 @@ proc ::scobj::hiden_xcs::mkDriver { sct_controller name device_class simulation_
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/analog/rhtemp 5 ${sct_controller} poll ${scobj_hpath}/analog/rhtemp 5
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::hiden_xcs::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for hiden_xcs" ::scobj::hiden_xcs::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for hiden_xcs"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: sp1
hfactory ${scobj_hpath}/analog/sp1 plain user float hfactory ${scobj_hpath}/analog/sp1 plain user float
hsetprop ${scobj_hpath}/analog/sp1 read ${ns}::getValue ${scobj_hpath} read_twelve {?AOUT,0} hsetprop ${scobj_hpath}/analog/sp1 read ${ns}::getValue ${scobj_hpath} read_twelve {?AOUT,0}
hsetprop ${scobj_hpath}/analog/sp1 read_twelve ${ns}::read_twelve ${scobj_hpath} hsetprop ${scobj_hpath}/analog/sp1 read_twelve ${ns}::read_twelve ${scobj_hpath}
@ -999,11 +1021,13 @@ proc ::scobj::hiden_xcs::mkDriver { sct_controller name device_class simulation_
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/analog/sp1 5 ${sct_controller} poll ${scobj_hpath}/analog/sp1 5
${sct_controller} write ${scobj_hpath}/analog/sp1 ${sct_controller} write ${scobj_hpath}/analog/sp1
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::hiden_xcs::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for hiden_xcs" ::scobj::hiden_xcs::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for hiden_xcs"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: sp2
hfactory ${scobj_hpath}/analog/sp2 plain user float hfactory ${scobj_hpath}/analog/sp2 plain user float
hsetprop ${scobj_hpath}/analog/sp2 read ${ns}::getValue ${scobj_hpath} read_twelve {?AOUT,1} hsetprop ${scobj_hpath}/analog/sp2 read ${ns}::getValue ${scobj_hpath} read_twelve {?AOUT,1}
hsetprop ${scobj_hpath}/analog/sp2 read_twelve ${ns}::read_twelve ${scobj_hpath} hsetprop ${scobj_hpath}/analog/sp2 read_twelve ${ns}::read_twelve ${scobj_hpath}
@ -1024,11 +1048,13 @@ proc ::scobj::hiden_xcs::mkDriver { sct_controller name device_class simulation_
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/analog/sp2 5 ${sct_controller} poll ${scobj_hpath}/analog/sp2 5
${sct_controller} write ${scobj_hpath}/analog/sp2 ${sct_controller} write ${scobj_hpath}/analog/sp2
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::hiden_xcs::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for hiden_xcs" ::scobj::hiden_xcs::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for hiden_xcs"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: sp3
hfactory ${scobj_hpath}/analog/sp3 plain user float hfactory ${scobj_hpath}/analog/sp3 plain user float
hsetprop ${scobj_hpath}/analog/sp3 read ${ns}::getValue ${scobj_hpath} read_twelve {?AOUT,2} hsetprop ${scobj_hpath}/analog/sp3 read ${ns}::getValue ${scobj_hpath} read_twelve {?AOUT,2}
hsetprop ${scobj_hpath}/analog/sp3 read_twelve ${ns}::read_twelve ${scobj_hpath} hsetprop ${scobj_hpath}/analog/sp3 read_twelve ${ns}::read_twelve ${scobj_hpath}
@ -1049,16 +1075,20 @@ proc ::scobj::hiden_xcs::mkDriver { sct_controller name device_class simulation_
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/analog/sp3 5 ${sct_controller} poll ${scobj_hpath}/analog/sp3 5
${sct_controller} write ${scobj_hpath}/analog/sp3 ${sct_controller} write ${scobj_hpath}/analog/sp3
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::hiden_xcs::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for hiden_xcs" ::scobj::hiden_xcs::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for hiden_xcs"
hsetprop ${scobj_hpath}/%s simulated true
} }
hsetprop ${scobj_hpath}/analog data "false" hsetprop ${scobj_hpath}/analog data "false"
hsetprop ${scobj_hpath}/analog klass "@none" hsetprop ${scobj_hpath}/analog klass "@none"
hsetprop ${scobj_hpath}/analog type "part" hsetprop ${scobj_hpath}/analog type "part"
# End of named group: analog
# Start of named group: flow
hfactory ${scobj_hpath}/flow plain spy none hfactory ${scobj_hpath}/flow plain spy none
# Start of var: sensor
hfactory ${scobj_hpath}/flow/sensor plain user float hfactory ${scobj_hpath}/flow/sensor plain user float
hsetprop ${scobj_hpath}/flow/sensor read ${ns}::fetch_flow ${scobj_hpath} read_flow {None} hsetprop ${scobj_hpath}/flow/sensor read ${ns}::fetch_flow ${scobj_hpath} read_flow {None}
hsetprop ${scobj_hpath}/flow/sensor read_flow ${ns}::read_flow ${scobj_hpath} hsetprop ${scobj_hpath}/flow/sensor read_flow ${ns}::read_flow ${scobj_hpath}
@ -1083,11 +1113,13 @@ proc ::scobj::hiden_xcs::mkDriver { sct_controller name device_class simulation_
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/flow/sensor 1 ${sct_controller} poll ${scobj_hpath}/flow/sensor 1
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::hiden_xcs::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for hiden_xcs" ::scobj::hiden_xcs::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for hiden_xcs"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: setpoint
hfactory ${scobj_hpath}/flow/setpoint plain user float hfactory ${scobj_hpath}/flow/setpoint plain user float
hsetprop ${scobj_hpath}/flow/setpoint write ${ns}::write_flow ${scobj_hpath} noResponse {} hsetprop ${scobj_hpath}/flow/setpoint write ${ns}::write_flow ${scobj_hpath} noResponse {}
hsetprop ${scobj_hpath}/flow/setpoint noResponse ${ns}::noResponse ${scobj_hpath} hsetprop ${scobj_hpath}/flow/setpoint noResponse ${ns}::noResponse ${scobj_hpath}
@ -1115,18 +1147,22 @@ proc ::scobj::hiden_xcs::mkDriver { sct_controller name device_class simulation_
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} write ${scobj_hpath}/flow/setpoint ${sct_controller} write ${scobj_hpath}/flow/setpoint
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::hiden_xcs::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for hiden_xcs" ::scobj::hiden_xcs::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for hiden_xcs"
hsetprop ${scobj_hpath}/%s simulated true
} }
hsetprop ${scobj_hpath}/flow data "true" hsetprop ${scobj_hpath}/flow data "true"
hsetprop ${scobj_hpath}/flow klass "@none" hsetprop ${scobj_hpath}/flow klass "@none"
hsetprop ${scobj_hpath}/flow nxsave "true" hsetprop ${scobj_hpath}/flow nxsave "true"
hsetprop ${scobj_hpath}/flow type "part" hsetprop ${scobj_hpath}/flow type "part"
# End of named group: flow
ansto_makesctdrive ${name}_flow_setpoint ${scobj_hpath}/flow/setpoint ${scobj_hpath}/flow/sensor ${sct_controller} ansto_makesctdrive ${name}_flow_setpoint ${scobj_hpath}/flow/setpoint ${scobj_hpath}/flow/sensor ${sct_controller}
# Start of named group: humidity
hfactory ${scobj_hpath}/humidity plain spy none hfactory ${scobj_hpath}/humidity plain spy none
# Start of var: sensor
hfactory ${scobj_hpath}/humidity/sensor plain user float hfactory ${scobj_hpath}/humidity/sensor plain user float
hsetprop ${scobj_hpath}/humidity/sensor read ${ns}::getValue ${scobj_hpath} read_all_data {?ALL DATA} hsetprop ${scobj_hpath}/humidity/sensor read ${ns}::getValue ${scobj_hpath} read_all_data {?ALL DATA}
hsetprop ${scobj_hpath}/humidity/sensor read_all_data ${ns}::read_all_data ${scobj_hpath} hsetprop ${scobj_hpath}/humidity/sensor read_all_data ${ns}::read_all_data ${scobj_hpath}
@ -1151,11 +1187,13 @@ proc ::scobj::hiden_xcs::mkDriver { sct_controller name device_class simulation_
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/humidity/sensor 1 ${sct_controller} poll ${scobj_hpath}/humidity/sensor 1
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::hiden_xcs::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for hiden_xcs" ::scobj::hiden_xcs::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for hiden_xcs"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: setpoint
hfactory ${scobj_hpath}/humidity/setpoint plain user float hfactory ${scobj_hpath}/humidity/setpoint plain user float
hsetprop ${scobj_hpath}/humidity/setpoint write ${ns}::write_humidity ${scobj_hpath} noResponse {} hsetprop ${scobj_hpath}/humidity/setpoint write ${ns}::write_humidity ${scobj_hpath} noResponse {}
hsetprop ${scobj_hpath}/humidity/setpoint noResponse ${ns}::noResponse ${scobj_hpath} hsetprop ${scobj_hpath}/humidity/setpoint noResponse ${ns}::noResponse ${scobj_hpath}
@ -1183,13 +1221,16 @@ proc ::scobj::hiden_xcs::mkDriver { sct_controller name device_class simulation_
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} write ${scobj_hpath}/humidity/setpoint ${sct_controller} write ${scobj_hpath}/humidity/setpoint
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::hiden_xcs::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for hiden_xcs" ::scobj::hiden_xcs::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for hiden_xcs"
hsetprop ${scobj_hpath}/%s simulated true
} }
hsetprop ${scobj_hpath}/humidity data "true" hsetprop ${scobj_hpath}/humidity data "true"
hsetprop ${scobj_hpath}/humidity klass "@none" hsetprop ${scobj_hpath}/humidity klass "@none"
hsetprop ${scobj_hpath}/humidity nxsave "true" hsetprop ${scobj_hpath}/humidity nxsave "true"
hsetprop ${scobj_hpath}/humidity type "part" hsetprop ${scobj_hpath}/humidity type "part"
# End of named group: humidity
ansto_makesctdrive ${name}_humidity_setpoint ${scobj_hpath}/humidity/setpoint ${scobj_hpath}/humidity/sensor ${sct_controller} ansto_makesctdrive ${name}_humidity_setpoint ${scobj_hpath}/humidity/setpoint ${scobj_hpath}/humidity/sensor ${sct_controller}
hsetprop ${scobj_hpath} klass ${device_class} hsetprop ${scobj_hpath} klass ${device_class}
hsetprop ${scobj_hpath} data true hsetprop ${scobj_hpath} data true

View File

@ -89,7 +89,12 @@ proc ::scobj::huber_pilot::checkstatus {tc_root} {
# checkstatus hook code goes here # checkstatus hook code goes here
if {[sct driving]} { if {[sct driving]} {
set sp "[sct target]" set sp "[sct target]"
set pv "[hval ${tc_root}/[sct driveable]]" if {[hpropexists [sct] simulated] && [sct simulated] == "true"} {
set pv "${sp}"
hset ${tc_root}/[sct driveable] ${sp}
}
set pv "[hval ${tc_root}/[sct driveable]]"
}
if { abs(${pv} - ${sp}) <= [sct tolerance] } { if { abs(${pv} - ${sp}) <= [sct tolerance] } {
if { [hpropexists [sct] settle_time] } { if { [hpropexists [sct] settle_time] } {
if { [hpropexists [sct] settle_time_start] } { if { [hpropexists [sct] settle_time_start] } {
@ -301,9 +306,10 @@ proc ::scobj::huber_pilot::mkDriver { sct_controller name device_class simulatio
set scobj_hpath /sics/${name} set scobj_hpath /sics/${name}
# Start of named group: Loop1
hfactory ${scobj_hpath}/Loop1 plain spy none hfactory ${scobj_hpath}/Loop1 plain spy none
# Start of var: sensor_int
hfactory ${scobj_hpath}/Loop1/sensor_int plain user float hfactory ${scobj_hpath}/Loop1/sensor_int plain user float
hsetprop ${scobj_hpath}/Loop1/sensor_int read ${ns}::getValue ${scobj_hpath} rdTemp {01} hsetprop ${scobj_hpath}/Loop1/sensor_int read ${ns}::getValue ${scobj_hpath} rdTemp {01}
hsetprop ${scobj_hpath}/Loop1/sensor_int rdTemp ${ns}::rdTemp ${scobj_hpath} hsetprop ${scobj_hpath}/Loop1/sensor_int rdTemp ${ns}::rdTemp ${scobj_hpath}
@ -321,11 +327,13 @@ proc ::scobj::huber_pilot::mkDriver { sct_controller name device_class simulatio
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/Loop1/sensor_int 1 ${sct_controller} poll ${scobj_hpath}/Loop1/sensor_int 1
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::huber_pilot::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for huber_pilot" ::scobj::huber_pilot::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for huber_pilot"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: setpoint
hfactory ${scobj_hpath}/Loop1/setpoint plain user float hfactory ${scobj_hpath}/Loop1/setpoint plain user float
hsetprop ${scobj_hpath}/Loop1/setpoint read ${ns}::getValue ${scobj_hpath} rdTemp {00} hsetprop ${scobj_hpath}/Loop1/setpoint read ${ns}::getValue ${scobj_hpath} rdTemp {00}
hsetprop ${scobj_hpath}/Loop1/setpoint rdTemp ${ns}::rdTemp ${scobj_hpath} hsetprop ${scobj_hpath}/Loop1/setpoint rdTemp ${ns}::rdTemp ${scobj_hpath}
@ -356,11 +364,13 @@ proc ::scobj::huber_pilot::mkDriver { sct_controller name device_class simulatio
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/Loop1/setpoint 1 ${sct_controller} poll ${scobj_hpath}/Loop1/setpoint 1
${sct_controller} write ${scobj_hpath}/Loop1/setpoint ${sct_controller} write ${scobj_hpath}/Loop1/setpoint
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::huber_pilot::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for huber_pilot" ::scobj::huber_pilot::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for huber_pilot"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: vMaxSP
hfactory ${scobj_hpath}/Loop1/vMaxSP plain user float hfactory ${scobj_hpath}/Loop1/vMaxSP plain user float
hsetprop ${scobj_hpath}/Loop1/vMaxSP read ${ns}::getValue ${scobj_hpath} rdTemp {31} hsetprop ${scobj_hpath}/Loop1/vMaxSP read ${ns}::getValue ${scobj_hpath} rdTemp {31}
hsetprop ${scobj_hpath}/Loop1/vMaxSP rdTemp ${ns}::rdTemp ${scobj_hpath} hsetprop ${scobj_hpath}/Loop1/vMaxSP rdTemp ${ns}::rdTemp ${scobj_hpath}
@ -376,11 +386,13 @@ proc ::scobj::huber_pilot::mkDriver { sct_controller name device_class simulatio
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/Loop1/vMaxSP 1 ${sct_controller} poll ${scobj_hpath}/Loop1/vMaxSP 1
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::huber_pilot::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for huber_pilot" ::scobj::huber_pilot::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for huber_pilot"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: vMinSP
hfactory ${scobj_hpath}/Loop1/vMinSP plain user float hfactory ${scobj_hpath}/Loop1/vMinSP plain user float
hsetprop ${scobj_hpath}/Loop1/vMinSP read ${ns}::getValue ${scobj_hpath} rdTemp {30} hsetprop ${scobj_hpath}/Loop1/vMinSP read ${ns}::getValue ${scobj_hpath} rdTemp {30}
hsetprop ${scobj_hpath}/Loop1/vMinSP rdTemp ${ns}::rdTemp ${scobj_hpath} hsetprop ${scobj_hpath}/Loop1/vMinSP rdTemp ${ns}::rdTemp ${scobj_hpath}
@ -396,11 +408,13 @@ proc ::scobj::huber_pilot::mkDriver { sct_controller name device_class simulatio
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/Loop1/vMinSP 1 ${sct_controller} poll ${scobj_hpath}/Loop1/vMinSP 1
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::huber_pilot::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for huber_pilot" ::scobj::huber_pilot::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for huber_pilot"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: vTE
hfactory ${scobj_hpath}/Loop1/vTE plain user float hfactory ${scobj_hpath}/Loop1/vTE plain user float
hsetprop ${scobj_hpath}/Loop1/vTE read ${ns}::getValue ${scobj_hpath} rdTemp {07} hsetprop ${scobj_hpath}/Loop1/vTE read ${ns}::getValue ${scobj_hpath} rdTemp {07}
hsetprop ${scobj_hpath}/Loop1/vTE rdTemp ${ns}::rdTemp ${scobj_hpath} hsetprop ${scobj_hpath}/Loop1/vTE rdTemp ${ns}::rdTemp ${scobj_hpath}
@ -418,11 +432,13 @@ proc ::scobj::huber_pilot::mkDriver { sct_controller name device_class simulatio
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/Loop1/vTE 1 ${sct_controller} poll ${scobj_hpath}/Loop1/vTE 1
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::huber_pilot::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for huber_pilot" ::scobj::huber_pilot::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for huber_pilot"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: vTmpActive
hfactory ${scobj_hpath}/Loop1/vTmpActive plain user int hfactory ${scobj_hpath}/Loop1/vTmpActive plain user int
hsetprop ${scobj_hpath}/Loop1/vTmpActive read ${ns}::getValue ${scobj_hpath} rdStatus {14} hsetprop ${scobj_hpath}/Loop1/vTmpActive read ${ns}::getValue ${scobj_hpath} rdStatus {14}
hsetprop ${scobj_hpath}/Loop1/vTmpActive rdStatus ${ns}::rdStatus ${scobj_hpath} hsetprop ${scobj_hpath}/Loop1/vTmpActive rdStatus ${ns}::rdStatus ${scobj_hpath}
@ -438,11 +454,13 @@ proc ::scobj::huber_pilot::mkDriver { sct_controller name device_class simulatio
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/Loop1/vTmpActive 1 ${sct_controller} poll ${scobj_hpath}/Loop1/vTmpActive 1
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::huber_pilot::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for huber_pilot" ::scobj::huber_pilot::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for huber_pilot"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: vTmpMode
hfactory ${scobj_hpath}/Loop1/vTmpMode plain user int hfactory ${scobj_hpath}/Loop1/vTmpMode plain user int
hsetprop ${scobj_hpath}/Loop1/vTmpMode read ${ns}::getValue ${scobj_hpath} rdStatus {13} hsetprop ${scobj_hpath}/Loop1/vTmpMode read ${ns}::getValue ${scobj_hpath} rdStatus {13}
hsetprop ${scobj_hpath}/Loop1/vTmpMode rdStatus ${ns}::rdStatus ${scobj_hpath} hsetprop ${scobj_hpath}/Loop1/vTmpMode rdStatus ${ns}::rdStatus ${scobj_hpath}
@ -458,12 +476,15 @@ proc ::scobj::huber_pilot::mkDriver { sct_controller name device_class simulatio
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/Loop1/vTmpMode 1 ${sct_controller} poll ${scobj_hpath}/Loop1/vTmpMode 1
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::huber_pilot::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for huber_pilot" ::scobj::huber_pilot::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for huber_pilot"
hsetprop ${scobj_hpath}/%s simulated true
} }
hsetprop ${scobj_hpath}/Loop1 data "true" hsetprop ${scobj_hpath}/Loop1 data "true"
hsetprop ${scobj_hpath}/Loop1 klass "@none" hsetprop ${scobj_hpath}/Loop1 klass "@none"
hsetprop ${scobj_hpath}/Loop1 type "part" hsetprop ${scobj_hpath}/Loop1 type "part"
# End of named group: Loop1
ansto_makesctdrive ${name}_Loop1_setpoint ${scobj_hpath}/Loop1/setpoint ${scobj_hpath}/Loop1/sensor_int ${sct_controller} ansto_makesctdrive ${name}_Loop1_setpoint ${scobj_hpath}/Loop1/setpoint ${scobj_hpath}/Loop1/sensor_int ${sct_controller}
hsetprop ${scobj_hpath} klass ${device_class} hsetprop ${scobj_hpath} klass ${device_class}
hsetprop ${scobj_hpath} data true hsetprop ${scobj_hpath} data true

View File

@ -251,8 +251,9 @@ proc ::scobj::isotech_ps::mkDriver { sct_controller name device_class simulation
sicslist setatt ${name} long_name ${name} sicslist setatt ${name} long_name ${name}
set scobj_hpath /sics/${name} set scobj_hpath /sics/${name}
# Start of unnamed group
# Start of var: amps
hfactory ${scobj_hpath}/amps plain user float hfactory ${scobj_hpath}/amps plain user float
hsetprop ${scobj_hpath}/amps read ${ns}::getValue ${scobj_hpath} rdValue {A} hsetprop ${scobj_hpath}/amps read ${ns}::getValue ${scobj_hpath} rdValue {A}
hsetprop ${scobj_hpath}/amps rdValue ${ns}::rdValue ${scobj_hpath} hsetprop ${scobj_hpath}/amps rdValue ${ns}::rdValue ${scobj_hpath}
@ -269,11 +270,13 @@ proc ::scobj::isotech_ps::mkDriver { sct_controller name device_class simulation
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/amps 5 ${sct_controller} poll ${scobj_hpath}/amps 5
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::isotech_ps::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for isotech_ps" ::scobj::isotech_ps::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for isotech_ps"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: relay
hfactory ${scobj_hpath}/relay plain user int hfactory ${scobj_hpath}/relay plain user int
hsetprop ${scobj_hpath}/relay read ${ns}::getValue ${scobj_hpath} read_relay {F} hsetprop ${scobj_hpath}/relay read ${ns}::getValue ${scobj_hpath} read_relay {F}
hsetprop ${scobj_hpath}/relay read_relay ${ns}::read_relay ${scobj_hpath} hsetprop ${scobj_hpath}/relay read_relay ${ns}::read_relay ${scobj_hpath}
@ -293,11 +296,13 @@ proc ::scobj::isotech_ps::mkDriver { sct_controller name device_class simulation
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/relay 5 ${sct_controller} poll ${scobj_hpath}/relay 5
${sct_controller} write ${scobj_hpath}/relay ${sct_controller} write ${scobj_hpath}/relay
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::isotech_ps::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for isotech_ps" ::scobj::isotech_ps::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for isotech_ps"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: volts
hfactory ${scobj_hpath}/volts plain user float hfactory ${scobj_hpath}/volts plain user float
hsetprop ${scobj_hpath}/volts read ${ns}::getValue ${scobj_hpath} rdValue {V} hsetprop ${scobj_hpath}/volts read ${ns}::getValue ${scobj_hpath} rdValue {V}
hsetprop ${scobj_hpath}/volts rdValue ${ns}::rdValue ${scobj_hpath} hsetprop ${scobj_hpath}/volts rdValue ${ns}::rdValue ${scobj_hpath}
@ -318,13 +323,16 @@ proc ::scobj::isotech_ps::mkDriver { sct_controller name device_class simulation
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/volts 5 ${sct_controller} poll ${scobj_hpath}/volts 5
${sct_controller} write ${scobj_hpath}/volts ${sct_controller} write ${scobj_hpath}/volts
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::isotech_ps::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for isotech_ps" ::scobj::isotech_ps::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for isotech_ps"
hsetprop ${scobj_hpath}/%s simulated true
} }
hsetprop ${scobj_hpath} data "true" hsetprop ${scobj_hpath} data "true"
hsetprop ${scobj_hpath} klass "@none" hsetprop ${scobj_hpath} klass "@none"
hsetprop ${scobj_hpath} type "part" hsetprop ${scobj_hpath} type "part"
# End of unnamed group
hsetprop ${scobj_hpath} klass ${device_class} hsetprop ${scobj_hpath} klass ${device_class}
hsetprop ${scobj_hpath} data true hsetprop ${scobj_hpath} data true
hsetprop ${scobj_hpath} debug_threshold 5 hsetprop ${scobj_hpath} debug_threshold 5

View File

@ -86,7 +86,12 @@ proc ::scobj::tsi_smc::checkstatus {tc_root} {
# checkstatus hook code goes here # checkstatus hook code goes here
if {[sct driving]} { if {[sct driving]} {
set sp "[sct target]" set sp "[sct target]"
set pv "[hval ${tc_root}/[sct driveable]]" if {[hpropexists [sct] simulated] && [sct simulated] == "true"} {
set pv "${sp}"
hset ${tc_root}/[sct driveable] ${sp}
}
set pv "[hval ${tc_root}/[sct driveable]]"
}
if { abs(${pv} - ${sp}) <= [sct tolerance] } { if { abs(${pv} - ${sp}) <= [sct tolerance] } {
if { [hpropexists [sct] settle_time] } { if { [hpropexists [sct] settle_time] } {
if { [hpropexists [sct] settle_time_start] } { if { [hpropexists [sct] settle_time_start] } {
@ -274,8 +279,9 @@ proc ::scobj::tsi_smc::mkDriver { sct_controller name device_class simulation_fl
sicslist setatt ${name} long_name ${name} sicslist setatt ${name} long_name ${name}
set scobj_hpath /sics/${name} set scobj_hpath /sics/${name}
# Start of unnamed group
# Start of var: setpoint
hfactory ${scobj_hpath}/setpoint plain user float hfactory ${scobj_hpath}/setpoint plain user float
hsetprop ${scobj_hpath}/setpoint write ${ns}::setGauss ${scobj_hpath} noResponse {} hsetprop ${scobj_hpath}/setpoint write ${ns}::setGauss ${scobj_hpath} noResponse {}
hsetprop ${scobj_hpath}/setpoint noResponse ${ns}::noResponse ${scobj_hpath} hsetprop ${scobj_hpath}/setpoint noResponse ${ns}::noResponse ${scobj_hpath}
@ -304,11 +310,13 @@ proc ::scobj::tsi_smc::mkDriver { sct_controller name device_class simulation_fl
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} write ${scobj_hpath}/setpoint ${sct_controller} write ${scobj_hpath}/setpoint
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::tsi_smc::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for tsi_smc" ::scobj::tsi_smc::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for tsi_smc"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: value
hfactory ${scobj_hpath}/value plain user float hfactory ${scobj_hpath}/value plain user float
hsetprop ${scobj_hpath}/value control true hsetprop ${scobj_hpath}/value control true
hsetprop ${scobj_hpath}/value data true hsetprop ${scobj_hpath}/value data true
@ -327,11 +335,13 @@ proc ::scobj::tsi_smc::mkDriver { sct_controller name device_class simulation_fl
hsetprop ${scobj_hpath} data "true" hsetprop ${scobj_hpath} data "true"
hsetprop ${scobj_hpath} klass "@none" hsetprop ${scobj_hpath} klass "@none"
hsetprop ${scobj_hpath} type "part" hsetprop ${scobj_hpath} type "part"
# End of unnamed group
ansto_makesctdrive ${name}_setpoint ${scobj_hpath}/setpoint ${scobj_hpath}/value ${sct_controller} ansto_makesctdrive ${name}_setpoint ${scobj_hpath}/setpoint ${scobj_hpath}/value ${sct_controller}
# Start of named group: a
hfactory ${scobj_hpath}/a plain spy none hfactory ${scobj_hpath}/a plain spy none
# Start of var: G
hfactory ${scobj_hpath}/a/G plain user text hfactory ${scobj_hpath}/a/G plain user text
hsetprop ${scobj_hpath}/a/G read ${ns}::getValue ${scobj_hpath} rdValue {G} hsetprop ${scobj_hpath}/a/G read ${ns}::getValue ${scobj_hpath} rdValue {G}
hsetprop ${scobj_hpath}/a/G rdValue ${ns}::rdValue ${scobj_hpath} hsetprop ${scobj_hpath}/a/G rdValue ${ns}::rdValue ${scobj_hpath}
@ -347,11 +357,13 @@ proc ::scobj::tsi_smc::mkDriver { sct_controller name device_class simulation_fl
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/a/G 1 ${sct_controller} poll ${scobj_hpath}/a/G 1
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::tsi_smc::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for tsi_smc" ::scobj::tsi_smc::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for tsi_smc"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: J
hfactory ${scobj_hpath}/a/J plain user text hfactory ${scobj_hpath}/a/J plain user text
hsetprop ${scobj_hpath}/a/J read ${ns}::getValue ${scobj_hpath} rdValue {J} hsetprop ${scobj_hpath}/a/J read ${ns}::getValue ${scobj_hpath} rdValue {J}
hsetprop ${scobj_hpath}/a/J rdValue ${ns}::rdValue ${scobj_hpath} hsetprop ${scobj_hpath}/a/J rdValue ${ns}::rdValue ${scobj_hpath}
@ -366,11 +378,13 @@ proc ::scobj::tsi_smc::mkDriver { sct_controller name device_class simulation_fl
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/a/J 1 ${sct_controller} poll ${scobj_hpath}/a/J 1
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::tsi_smc::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for tsi_smc" ::scobj::tsi_smc::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for tsi_smc"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: K
hfactory ${scobj_hpath}/a/K plain user text hfactory ${scobj_hpath}/a/K plain user text
hsetprop ${scobj_hpath}/a/K read ${ns}::getValue ${scobj_hpath} rdValue {K} hsetprop ${scobj_hpath}/a/K read ${ns}::getValue ${scobj_hpath} rdValue {K}
hsetprop ${scobj_hpath}/a/K rdValue ${ns}::rdValue ${scobj_hpath} hsetprop ${scobj_hpath}/a/K rdValue ${ns}::rdValue ${scobj_hpath}
@ -385,11 +399,13 @@ proc ::scobj::tsi_smc::mkDriver { sct_controller name device_class simulation_fl
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/a/K 1 ${sct_controller} poll ${scobj_hpath}/a/K 1
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::tsi_smc::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for tsi_smc" ::scobj::tsi_smc::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for tsi_smc"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: N
hfactory ${scobj_hpath}/a/N plain user text hfactory ${scobj_hpath}/a/N plain user text
hsetprop ${scobj_hpath}/a/N read ${ns}::getValue ${scobj_hpath} rdValue {N} hsetprop ${scobj_hpath}/a/N read ${ns}::getValue ${scobj_hpath} rdValue {N}
hsetprop ${scobj_hpath}/a/N rdValue ${ns}::rdValue ${scobj_hpath} hsetprop ${scobj_hpath}/a/N rdValue ${ns}::rdValue ${scobj_hpath}
@ -404,11 +420,13 @@ proc ::scobj::tsi_smc::mkDriver { sct_controller name device_class simulation_fl
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/a/N 1 ${sct_controller} poll ${scobj_hpath}/a/N 1
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::tsi_smc::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for tsi_smc" ::scobj::tsi_smc::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for tsi_smc"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: O
hfactory ${scobj_hpath}/a/O plain user text hfactory ${scobj_hpath}/a/O plain user text
hsetprop ${scobj_hpath}/a/O read ${ns}::getValue ${scobj_hpath} rdValue {O} hsetprop ${scobj_hpath}/a/O read ${ns}::getValue ${scobj_hpath} rdValue {O}
hsetprop ${scobj_hpath}/a/O rdValue ${ns}::rdValue ${scobj_hpath} hsetprop ${scobj_hpath}/a/O rdValue ${ns}::rdValue ${scobj_hpath}
@ -423,11 +441,13 @@ proc ::scobj::tsi_smc::mkDriver { sct_controller name device_class simulation_fl
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/a/O 1 ${sct_controller} poll ${scobj_hpath}/a/O 1
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::tsi_smc::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for tsi_smc" ::scobj::tsi_smc::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for tsi_smc"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: S
hfactory ${scobj_hpath}/a/S plain user text hfactory ${scobj_hpath}/a/S plain user text
hsetprop ${scobj_hpath}/a/S read ${ns}::getValue ${scobj_hpath} rdValue {S} hsetprop ${scobj_hpath}/a/S read ${ns}::getValue ${scobj_hpath} rdValue {S}
hsetprop ${scobj_hpath}/a/S rdValue ${ns}::rdValue ${scobj_hpath} hsetprop ${scobj_hpath}/a/S rdValue ${ns}::rdValue ${scobj_hpath}
@ -442,16 +462,20 @@ proc ::scobj::tsi_smc::mkDriver { sct_controller name device_class simulation_fl
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/a/S 1 ${sct_controller} poll ${scobj_hpath}/a/S 1
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::tsi_smc::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for tsi_smc" ::scobj::tsi_smc::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for tsi_smc"
hsetprop ${scobj_hpath}/%s simulated true
} }
hsetprop ${scobj_hpath}/a data "false" hsetprop ${scobj_hpath}/a data "false"
hsetprop ${scobj_hpath}/a klass "@none" hsetprop ${scobj_hpath}/a klass "@none"
hsetprop ${scobj_hpath}/a type "part" hsetprop ${scobj_hpath}/a type "part"
# End of named group: a
# Start of named group: b
hfactory ${scobj_hpath}/b plain spy none hfactory ${scobj_hpath}/b plain spy none
# Start of var: Lower
hfactory ${scobj_hpath}/b/Lower plain user float hfactory ${scobj_hpath}/b/Lower plain user float
hsetprop ${scobj_hpath}/b/Lower write ${ns}::setValue ${scobj_hpath} noResponse {L} hsetprop ${scobj_hpath}/b/Lower write ${ns}::setValue ${scobj_hpath} noResponse {L}
hsetprop ${scobj_hpath}/b/Lower noResponse ${ns}::noResponse ${scobj_hpath} hsetprop ${scobj_hpath}/b/Lower noResponse ${ns}::noResponse ${scobj_hpath}
@ -471,11 +495,13 @@ proc ::scobj::tsi_smc::mkDriver { sct_controller name device_class simulation_fl
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} write ${scobj_hpath}/b/Lower ${sct_controller} write ${scobj_hpath}/b/Lower
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::tsi_smc::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for tsi_smc" ::scobj::tsi_smc::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for tsi_smc"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: Pause
hfactory ${scobj_hpath}/b/Pause plain user int hfactory ${scobj_hpath}/b/Pause plain user int
hsetprop ${scobj_hpath}/b/Pause write ${ns}::setValue ${scobj_hpath} noResponse {P} hsetprop ${scobj_hpath}/b/Pause write ${ns}::setValue ${scobj_hpath} noResponse {P}
hsetprop ${scobj_hpath}/b/Pause noResponse ${ns}::noResponse ${scobj_hpath} hsetprop ${scobj_hpath}/b/Pause noResponse ${ns}::noResponse ${scobj_hpath}
@ -495,11 +521,13 @@ proc ::scobj::tsi_smc::mkDriver { sct_controller name device_class simulation_fl
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} write ${scobj_hpath}/b/Pause ${sct_controller} write ${scobj_hpath}/b/Pause
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::tsi_smc::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for tsi_smc" ::scobj::tsi_smc::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for tsi_smc"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: Ramp
hfactory ${scobj_hpath}/b/Ramp plain user int hfactory ${scobj_hpath}/b/Ramp plain user int
hsetprop ${scobj_hpath}/b/Ramp write ${ns}::setValue ${scobj_hpath} noResponse {R} hsetprop ${scobj_hpath}/b/Ramp write ${ns}::setValue ${scobj_hpath} noResponse {R}
hsetprop ${scobj_hpath}/b/Ramp noResponse ${ns}::noResponse ${scobj_hpath} hsetprop ${scobj_hpath}/b/Ramp noResponse ${ns}::noResponse ${scobj_hpath}
@ -519,11 +547,13 @@ proc ::scobj::tsi_smc::mkDriver { sct_controller name device_class simulation_fl
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} write ${scobj_hpath}/b/Ramp ${sct_controller} write ${scobj_hpath}/b/Ramp
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::tsi_smc::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for tsi_smc" ::scobj::tsi_smc::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for tsi_smc"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: Rate
hfactory ${scobj_hpath}/b/Rate plain user float hfactory ${scobj_hpath}/b/Rate plain user float
hsetprop ${scobj_hpath}/b/Rate write ${ns}::setValue ${scobj_hpath} noResponse {A} hsetprop ${scobj_hpath}/b/Rate write ${ns}::setValue ${scobj_hpath} noResponse {A}
hsetprop ${scobj_hpath}/b/Rate noResponse ${ns}::noResponse ${scobj_hpath} hsetprop ${scobj_hpath}/b/Rate noResponse ${ns}::noResponse ${scobj_hpath}
@ -540,12 +570,15 @@ proc ::scobj::tsi_smc::mkDriver { sct_controller name device_class simulation_fl
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} write ${scobj_hpath}/b/Rate ${sct_controller} write ${scobj_hpath}/b/Rate
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::tsi_smc::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for tsi_smc" ::scobj::tsi_smc::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for tsi_smc"
hsetprop ${scobj_hpath}/%s simulated true
} }
hsetprop ${scobj_hpath}/b data "true" hsetprop ${scobj_hpath}/b data "true"
hsetprop ${scobj_hpath}/b klass "@none" hsetprop ${scobj_hpath}/b klass "@none"
hsetprop ${scobj_hpath}/b type "part" hsetprop ${scobj_hpath}/b type "part"
# End of named group: b
hsetprop ${scobj_hpath} klass ${device_class} hsetprop ${scobj_hpath} klass ${device_class}
hsetprop ${scobj_hpath} data true hsetprop ${scobj_hpath} data true
hsetprop ${scobj_hpath} debug_threshold 5 hsetprop ${scobj_hpath} debug_threshold 5

View File

@ -86,7 +86,12 @@ proc ::scobj::nhq_200::checkstatus {tc_root} {
# checkstatus hook code goes here # checkstatus hook code goes here
if {[sct driving]} { if {[sct driving]} {
set sp "[sct target]" set sp "[sct target]"
set pv "[hval ${tc_root}/[sct driveable]]" if {[hpropexists [sct] simulated] && [sct simulated] == "true"} {
set pv "${sp}"
hset ${tc_root}/[sct driveable] ${sp}
}
set pv "[hval ${tc_root}/[sct driveable]]"
}
if { abs(${pv} - ${sp}) <= [sct tolerance] } { if { abs(${pv} - ${sp}) <= [sct tolerance] } {
if { [hpropexists [sct] settle_time] } { if { [hpropexists [sct] settle_time] } {
if { [hpropexists [sct] settle_time_start] } { if { [hpropexists [sct] settle_time_start] } {
@ -280,8 +285,9 @@ proc ::scobj::nhq_200::mkDriver { sct_controller name device_class simulation_fl
sicslist setatt ${name} long_name ${name} sicslist setatt ${name} long_name ${name}
set scobj_hpath /sics/${name} set scobj_hpath /sics/${name}
# Start of unnamed group
# Start of var: break
hfactory ${scobj_hpath}/break plain user int hfactory ${scobj_hpath}/break plain user int
hsetprop ${scobj_hpath}/break read ${ns}::getValue ${scobj_hpath} rdValue {W} hsetprop ${scobj_hpath}/break read ${ns}::getValue ${scobj_hpath} rdValue {W}
hsetprop ${scobj_hpath}/break rdValue ${ns}::rdValue ${scobj_hpath} hsetprop ${scobj_hpath}/break rdValue ${ns}::rdValue ${scobj_hpath}
@ -297,11 +303,13 @@ proc ::scobj::nhq_200::mkDriver { sct_controller name device_class simulation_fl
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/break 10 ${sct_controller} poll ${scobj_hpath}/break 10
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::nhq_200::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for nhq_200" ::scobj::nhq_200::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for nhq_200"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: id
hfactory ${scobj_hpath}/id plain user text hfactory ${scobj_hpath}/id plain user text
hsetprop ${scobj_hpath}/id read ${ns}::getValue ${scobj_hpath} rdValue {#} hsetprop ${scobj_hpath}/id read ${ns}::getValue ${scobj_hpath} rdValue {#}
hsetprop ${scobj_hpath}/id rdValue ${ns}::rdValue ${scobj_hpath} hsetprop ${scobj_hpath}/id rdValue ${ns}::rdValue ${scobj_hpath}
@ -317,17 +325,21 @@ proc ::scobj::nhq_200::mkDriver { sct_controller name device_class simulation_fl
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/id 10 ${sct_controller} poll ${scobj_hpath}/id 10
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::nhq_200::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for nhq_200" ::scobj::nhq_200::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for nhq_200"
hsetprop ${scobj_hpath}/%s simulated true
} }
hsetprop ${scobj_hpath} data "true" hsetprop ${scobj_hpath} data "true"
hsetprop ${scobj_hpath} klass "@none" hsetprop ${scobj_hpath} klass "@none"
hsetprop ${scobj_hpath} type "part" hsetprop ${scobj_hpath} type "part"
# End of unnamed group
# Start of named group: ch1
hfactory ${scobj_hpath}/ch1 plain spy none hfactory ${scobj_hpath}/ch1 plain spy none
# Start of var: auto_start
hfactory ${scobj_hpath}/ch1/auto_start plain user int hfactory ${scobj_hpath}/ch1/auto_start plain user int
hsetprop ${scobj_hpath}/ch1/auto_start read ${ns}::getValue ${scobj_hpath} rdValue {A1} hsetprop ${scobj_hpath}/ch1/auto_start read ${ns}::getValue ${scobj_hpath} rdValue {A1}
hsetprop ${scobj_hpath}/ch1/auto_start rdValue ${ns}::rdValue ${scobj_hpath} hsetprop ${scobj_hpath}/ch1/auto_start rdValue ${ns}::rdValue ${scobj_hpath}
@ -347,11 +359,13 @@ proc ::scobj::nhq_200::mkDriver { sct_controller name device_class simulation_fl
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/ch1/auto_start 5 ${sct_controller} poll ${scobj_hpath}/ch1/auto_start 5
${sct_controller} write ${scobj_hpath}/ch1/auto_start ${sct_controller} write ${scobj_hpath}/ch1/auto_start
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::nhq_200::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for nhq_200" ::scobj::nhq_200::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for nhq_200"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: current
hfactory ${scobj_hpath}/ch1/current plain user text hfactory ${scobj_hpath}/ch1/current plain user text
hsetprop ${scobj_hpath}/ch1/current read ${ns}::getValue ${scobj_hpath} rdCurrent {I1} hsetprop ${scobj_hpath}/ch1/current read ${ns}::getValue ${scobj_hpath} rdCurrent {I1}
hsetprop ${scobj_hpath}/ch1/current rdCurrent ${ns}::rdCurrent ${scobj_hpath} hsetprop ${scobj_hpath}/ch1/current rdCurrent ${ns}::rdCurrent ${scobj_hpath}
@ -367,11 +381,13 @@ proc ::scobj::nhq_200::mkDriver { sct_controller name device_class simulation_fl
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/ch1/current 5 ${sct_controller} poll ${scobj_hpath}/ch1/current 5
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::nhq_200::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for nhq_200" ::scobj::nhq_200::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for nhq_200"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: go
hfactory ${scobj_hpath}/ch1/go plain user int hfactory ${scobj_hpath}/ch1/go plain user int
hsetprop ${scobj_hpath}/ch1/go write ${ns}::setValue ${scobj_hpath} noResponse {G1} hsetprop ${scobj_hpath}/ch1/go write ${ns}::setValue ${scobj_hpath} noResponse {G1}
hsetprop ${scobj_hpath}/ch1/go noResponse ${ns}::noResponse ${scobj_hpath} hsetprop ${scobj_hpath}/ch1/go noResponse ${ns}::noResponse ${scobj_hpath}
@ -388,11 +404,13 @@ proc ::scobj::nhq_200::mkDriver { sct_controller name device_class simulation_fl
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} write ${scobj_hpath}/ch1/go ${sct_controller} write ${scobj_hpath}/ch1/go
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::nhq_200::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for nhq_200" ::scobj::nhq_200::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for nhq_200"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: i_lim
hfactory ${scobj_hpath}/ch1/i_lim plain user int hfactory ${scobj_hpath}/ch1/i_lim plain user int
hsetprop ${scobj_hpath}/ch1/i_lim read ${ns}::getValue ${scobj_hpath} rdValue {N1} hsetprop ${scobj_hpath}/ch1/i_lim read ${ns}::getValue ${scobj_hpath} rdValue {N1}
hsetprop ${scobj_hpath}/ch1/i_lim rdValue ${ns}::rdValue ${scobj_hpath} hsetprop ${scobj_hpath}/ch1/i_lim rdValue ${ns}::rdValue ${scobj_hpath}
@ -408,11 +426,13 @@ proc ::scobj::nhq_200::mkDriver { sct_controller name device_class simulation_fl
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/ch1/i_lim 5 ${sct_controller} poll ${scobj_hpath}/ch1/i_lim 5
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::nhq_200::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for nhq_200" ::scobj::nhq_200::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for nhq_200"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: i_trip
hfactory ${scobj_hpath}/ch1/i_trip plain user int hfactory ${scobj_hpath}/ch1/i_trip plain user int
hsetprop ${scobj_hpath}/ch1/i_trip read ${ns}::getValue ${scobj_hpath} rdValue {L1} hsetprop ${scobj_hpath}/ch1/i_trip read ${ns}::getValue ${scobj_hpath} rdValue {L1}
hsetprop ${scobj_hpath}/ch1/i_trip rdValue ${ns}::rdValue ${scobj_hpath} hsetprop ${scobj_hpath}/ch1/i_trip rdValue ${ns}::rdValue ${scobj_hpath}
@ -432,11 +452,13 @@ proc ::scobj::nhq_200::mkDriver { sct_controller name device_class simulation_fl
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/ch1/i_trip 5 ${sct_controller} poll ${scobj_hpath}/ch1/i_trip 5
${sct_controller} write ${scobj_hpath}/ch1/i_trip ${sct_controller} write ${scobj_hpath}/ch1/i_trip
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::nhq_200::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for nhq_200" ::scobj::nhq_200::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for nhq_200"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: module
hfactory ${scobj_hpath}/ch1/module plain user int hfactory ${scobj_hpath}/ch1/module plain user int
hsetprop ${scobj_hpath}/ch1/module read ${ns}::getValue ${scobj_hpath} rdValue {T1} hsetprop ${scobj_hpath}/ch1/module read ${ns}::getValue ${scobj_hpath} rdValue {T1}
hsetprop ${scobj_hpath}/ch1/module rdValue ${ns}::rdValue ${scobj_hpath} hsetprop ${scobj_hpath}/ch1/module rdValue ${ns}::rdValue ${scobj_hpath}
@ -452,11 +474,13 @@ proc ::scobj::nhq_200::mkDriver { sct_controller name device_class simulation_fl
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/ch1/module 5 ${sct_controller} poll ${scobj_hpath}/ch1/module 5
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::nhq_200::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for nhq_200" ::scobj::nhq_200::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for nhq_200"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: status
hfactory ${scobj_hpath}/ch1/status plain user text hfactory ${scobj_hpath}/ch1/status plain user text
hsetprop ${scobj_hpath}/ch1/status read ${ns}::getValue ${scobj_hpath} rdValue {S1} hsetprop ${scobj_hpath}/ch1/status read ${ns}::getValue ${scobj_hpath} rdValue {S1}
hsetprop ${scobj_hpath}/ch1/status rdValue ${ns}::rdValue ${scobj_hpath} hsetprop ${scobj_hpath}/ch1/status rdValue ${ns}::rdValue ${scobj_hpath}
@ -472,11 +496,13 @@ proc ::scobj::nhq_200::mkDriver { sct_controller name device_class simulation_fl
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/ch1/status 5 ${sct_controller} poll ${scobj_hpath}/ch1/status 5
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::nhq_200::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for nhq_200" ::scobj::nhq_200::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for nhq_200"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: v_lim
hfactory ${scobj_hpath}/ch1/v_lim plain user int hfactory ${scobj_hpath}/ch1/v_lim plain user int
hsetprop ${scobj_hpath}/ch1/v_lim read ${ns}::getValue ${scobj_hpath} rdValue {M1} hsetprop ${scobj_hpath}/ch1/v_lim read ${ns}::getValue ${scobj_hpath} rdValue {M1}
hsetprop ${scobj_hpath}/ch1/v_lim rdValue ${ns}::rdValue ${scobj_hpath} hsetprop ${scobj_hpath}/ch1/v_lim rdValue ${ns}::rdValue ${scobj_hpath}
@ -492,11 +518,13 @@ proc ::scobj::nhq_200::mkDriver { sct_controller name device_class simulation_fl
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/ch1/v_lim 5 ${sct_controller} poll ${scobj_hpath}/ch1/v_lim 5
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::nhq_200::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for nhq_200" ::scobj::nhq_200::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for nhq_200"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: v_ramp
hfactory ${scobj_hpath}/ch1/v_ramp plain user int hfactory ${scobj_hpath}/ch1/v_ramp plain user int
hsetprop ${scobj_hpath}/ch1/v_ramp read ${ns}::getValue ${scobj_hpath} rdValue {V1} hsetprop ${scobj_hpath}/ch1/v_ramp read ${ns}::getValue ${scobj_hpath} rdValue {V1}
hsetprop ${scobj_hpath}/ch1/v_ramp rdValue ${ns}::rdValue ${scobj_hpath} hsetprop ${scobj_hpath}/ch1/v_ramp rdValue ${ns}::rdValue ${scobj_hpath}
@ -516,11 +544,13 @@ proc ::scobj::nhq_200::mkDriver { sct_controller name device_class simulation_fl
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/ch1/v_ramp 5 ${sct_controller} poll ${scobj_hpath}/ch1/v_ramp 5
${sct_controller} write ${scobj_hpath}/ch1/v_ramp ${sct_controller} write ${scobj_hpath}/ch1/v_ramp
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::nhq_200::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for nhq_200" ::scobj::nhq_200::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for nhq_200"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: v_sp
hfactory ${scobj_hpath}/ch1/v_sp plain user int hfactory ${scobj_hpath}/ch1/v_sp plain user int
hsetprop ${scobj_hpath}/ch1/v_sp read ${ns}::getValue ${scobj_hpath} rdValue {D1} hsetprop ${scobj_hpath}/ch1/v_sp read ${ns}::getValue ${scobj_hpath} rdValue {D1}
hsetprop ${scobj_hpath}/ch1/v_sp rdValue ${ns}::rdValue ${scobj_hpath} hsetprop ${scobj_hpath}/ch1/v_sp rdValue ${ns}::rdValue ${scobj_hpath}
@ -549,11 +579,13 @@ proc ::scobj::nhq_200::mkDriver { sct_controller name device_class simulation_fl
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/ch1/v_sp 5 ${sct_controller} poll ${scobj_hpath}/ch1/v_sp 5
${sct_controller} write ${scobj_hpath}/ch1/v_sp ${sct_controller} write ${scobj_hpath}/ch1/v_sp
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::nhq_200::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for nhq_200" ::scobj::nhq_200::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for nhq_200"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: voltage
hfactory ${scobj_hpath}/ch1/voltage plain user int hfactory ${scobj_hpath}/ch1/voltage plain user int
hsetprop ${scobj_hpath}/ch1/voltage read ${ns}::getValue ${scobj_hpath} rdVoltage {U1} hsetprop ${scobj_hpath}/ch1/voltage read ${ns}::getValue ${scobj_hpath} rdVoltage {U1}
hsetprop ${scobj_hpath}/ch1/voltage rdVoltage ${ns}::rdVoltage ${scobj_hpath} hsetprop ${scobj_hpath}/ch1/voltage rdVoltage ${ns}::rdVoltage ${scobj_hpath}
@ -569,17 +601,21 @@ proc ::scobj::nhq_200::mkDriver { sct_controller name device_class simulation_fl
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/ch1/voltage 5 ${sct_controller} poll ${scobj_hpath}/ch1/voltage 5
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::nhq_200::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for nhq_200" ::scobj::nhq_200::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for nhq_200"
hsetprop ${scobj_hpath}/%s simulated true
} }
hsetprop ${scobj_hpath}/ch1 data "true" hsetprop ${scobj_hpath}/ch1 data "true"
hsetprop ${scobj_hpath}/ch1 klass "@none" hsetprop ${scobj_hpath}/ch1 klass "@none"
hsetprop ${scobj_hpath}/ch1 type "part" hsetprop ${scobj_hpath}/ch1 type "part"
# End of named group: ch1
ansto_makesctdrive ${name}_ch1_v_sp ${scobj_hpath}/ch1/v_sp ${scobj_hpath}/ch1/voltage ${sct_controller} ansto_makesctdrive ${name}_ch1_v_sp ${scobj_hpath}/ch1/v_sp ${scobj_hpath}/ch1/voltage ${sct_controller}
# Start of named group: ch2
hfactory ${scobj_hpath}/ch2 plain spy none hfactory ${scobj_hpath}/ch2 plain spy none
# Start of var: auto_start
hfactory ${scobj_hpath}/ch2/auto_start plain user int hfactory ${scobj_hpath}/ch2/auto_start plain user int
hsetprop ${scobj_hpath}/ch2/auto_start read ${ns}::getValue ${scobj_hpath} rdValue {A2} hsetprop ${scobj_hpath}/ch2/auto_start read ${ns}::getValue ${scobj_hpath} rdValue {A2}
hsetprop ${scobj_hpath}/ch2/auto_start rdValue ${ns}::rdValue ${scobj_hpath} hsetprop ${scobj_hpath}/ch2/auto_start rdValue ${ns}::rdValue ${scobj_hpath}
@ -599,11 +635,13 @@ proc ::scobj::nhq_200::mkDriver { sct_controller name device_class simulation_fl
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/ch2/auto_start 5 ${sct_controller} poll ${scobj_hpath}/ch2/auto_start 5
${sct_controller} write ${scobj_hpath}/ch2/auto_start ${sct_controller} write ${scobj_hpath}/ch2/auto_start
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::nhq_200::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for nhq_200" ::scobj::nhq_200::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for nhq_200"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: current
hfactory ${scobj_hpath}/ch2/current plain user text hfactory ${scobj_hpath}/ch2/current plain user text
hsetprop ${scobj_hpath}/ch2/current read ${ns}::getValue ${scobj_hpath} rdCurrent {I2} hsetprop ${scobj_hpath}/ch2/current read ${ns}::getValue ${scobj_hpath} rdCurrent {I2}
hsetprop ${scobj_hpath}/ch2/current rdCurrent ${ns}::rdCurrent ${scobj_hpath} hsetprop ${scobj_hpath}/ch2/current rdCurrent ${ns}::rdCurrent ${scobj_hpath}
@ -619,11 +657,13 @@ proc ::scobj::nhq_200::mkDriver { sct_controller name device_class simulation_fl
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/ch2/current 5 ${sct_controller} poll ${scobj_hpath}/ch2/current 5
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::nhq_200::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for nhq_200" ::scobj::nhq_200::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for nhq_200"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: go
hfactory ${scobj_hpath}/ch2/go plain user int hfactory ${scobj_hpath}/ch2/go plain user int
hsetprop ${scobj_hpath}/ch2/go write ${ns}::setValue ${scobj_hpath} noResponse {G2} hsetprop ${scobj_hpath}/ch2/go write ${ns}::setValue ${scobj_hpath} noResponse {G2}
hsetprop ${scobj_hpath}/ch2/go noResponse ${ns}::noResponse ${scobj_hpath} hsetprop ${scobj_hpath}/ch2/go noResponse ${ns}::noResponse ${scobj_hpath}
@ -640,11 +680,13 @@ proc ::scobj::nhq_200::mkDriver { sct_controller name device_class simulation_fl
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} write ${scobj_hpath}/ch2/go ${sct_controller} write ${scobj_hpath}/ch2/go
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::nhq_200::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for nhq_200" ::scobj::nhq_200::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for nhq_200"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: i_lim
hfactory ${scobj_hpath}/ch2/i_lim plain user int hfactory ${scobj_hpath}/ch2/i_lim plain user int
hsetprop ${scobj_hpath}/ch2/i_lim read ${ns}::getValue ${scobj_hpath} rdValue {N2} hsetprop ${scobj_hpath}/ch2/i_lim read ${ns}::getValue ${scobj_hpath} rdValue {N2}
hsetprop ${scobj_hpath}/ch2/i_lim rdValue ${ns}::rdValue ${scobj_hpath} hsetprop ${scobj_hpath}/ch2/i_lim rdValue ${ns}::rdValue ${scobj_hpath}
@ -660,11 +702,13 @@ proc ::scobj::nhq_200::mkDriver { sct_controller name device_class simulation_fl
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/ch2/i_lim 5 ${sct_controller} poll ${scobj_hpath}/ch2/i_lim 5
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::nhq_200::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for nhq_200" ::scobj::nhq_200::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for nhq_200"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: i_trip
hfactory ${scobj_hpath}/ch2/i_trip plain user int hfactory ${scobj_hpath}/ch2/i_trip plain user int
hsetprop ${scobj_hpath}/ch2/i_trip read ${ns}::getValue ${scobj_hpath} rdValue {L2} hsetprop ${scobj_hpath}/ch2/i_trip read ${ns}::getValue ${scobj_hpath} rdValue {L2}
hsetprop ${scobj_hpath}/ch2/i_trip rdValue ${ns}::rdValue ${scobj_hpath} hsetprop ${scobj_hpath}/ch2/i_trip rdValue ${ns}::rdValue ${scobj_hpath}
@ -684,11 +728,13 @@ proc ::scobj::nhq_200::mkDriver { sct_controller name device_class simulation_fl
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/ch2/i_trip 5 ${sct_controller} poll ${scobj_hpath}/ch2/i_trip 5
${sct_controller} write ${scobj_hpath}/ch2/i_trip ${sct_controller} write ${scobj_hpath}/ch2/i_trip
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::nhq_200::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for nhq_200" ::scobj::nhq_200::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for nhq_200"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: module
hfactory ${scobj_hpath}/ch2/module plain user int hfactory ${scobj_hpath}/ch2/module plain user int
hsetprop ${scobj_hpath}/ch2/module read ${ns}::getValue ${scobj_hpath} rdValue {T2} hsetprop ${scobj_hpath}/ch2/module read ${ns}::getValue ${scobj_hpath} rdValue {T2}
hsetprop ${scobj_hpath}/ch2/module rdValue ${ns}::rdValue ${scobj_hpath} hsetprop ${scobj_hpath}/ch2/module rdValue ${ns}::rdValue ${scobj_hpath}
@ -704,11 +750,13 @@ proc ::scobj::nhq_200::mkDriver { sct_controller name device_class simulation_fl
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/ch2/module 5 ${sct_controller} poll ${scobj_hpath}/ch2/module 5
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::nhq_200::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for nhq_200" ::scobj::nhq_200::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for nhq_200"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: status
hfactory ${scobj_hpath}/ch2/status plain user text hfactory ${scobj_hpath}/ch2/status plain user text
hsetprop ${scobj_hpath}/ch2/status read ${ns}::getValue ${scobj_hpath} rdValue {S2} hsetprop ${scobj_hpath}/ch2/status read ${ns}::getValue ${scobj_hpath} rdValue {S2}
hsetprop ${scobj_hpath}/ch2/status rdValue ${ns}::rdValue ${scobj_hpath} hsetprop ${scobj_hpath}/ch2/status rdValue ${ns}::rdValue ${scobj_hpath}
@ -724,11 +772,13 @@ proc ::scobj::nhq_200::mkDriver { sct_controller name device_class simulation_fl
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/ch2/status 5 ${sct_controller} poll ${scobj_hpath}/ch2/status 5
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::nhq_200::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for nhq_200" ::scobj::nhq_200::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for nhq_200"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: v_lim
hfactory ${scobj_hpath}/ch2/v_lim plain user int hfactory ${scobj_hpath}/ch2/v_lim plain user int
hsetprop ${scobj_hpath}/ch2/v_lim read ${ns}::getValue ${scobj_hpath} rdValue {M2} hsetprop ${scobj_hpath}/ch2/v_lim read ${ns}::getValue ${scobj_hpath} rdValue {M2}
hsetprop ${scobj_hpath}/ch2/v_lim rdValue ${ns}::rdValue ${scobj_hpath} hsetprop ${scobj_hpath}/ch2/v_lim rdValue ${ns}::rdValue ${scobj_hpath}
@ -744,11 +794,13 @@ proc ::scobj::nhq_200::mkDriver { sct_controller name device_class simulation_fl
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/ch2/v_lim 5 ${sct_controller} poll ${scobj_hpath}/ch2/v_lim 5
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::nhq_200::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for nhq_200" ::scobj::nhq_200::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for nhq_200"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: v_ramp
hfactory ${scobj_hpath}/ch2/v_ramp plain user int hfactory ${scobj_hpath}/ch2/v_ramp plain user int
hsetprop ${scobj_hpath}/ch2/v_ramp read ${ns}::getValue ${scobj_hpath} rdValue {V2} hsetprop ${scobj_hpath}/ch2/v_ramp read ${ns}::getValue ${scobj_hpath} rdValue {V2}
hsetprop ${scobj_hpath}/ch2/v_ramp rdValue ${ns}::rdValue ${scobj_hpath} hsetprop ${scobj_hpath}/ch2/v_ramp rdValue ${ns}::rdValue ${scobj_hpath}
@ -768,11 +820,13 @@ proc ::scobj::nhq_200::mkDriver { sct_controller name device_class simulation_fl
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/ch2/v_ramp 5 ${sct_controller} poll ${scobj_hpath}/ch2/v_ramp 5
${sct_controller} write ${scobj_hpath}/ch2/v_ramp ${sct_controller} write ${scobj_hpath}/ch2/v_ramp
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::nhq_200::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for nhq_200" ::scobj::nhq_200::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for nhq_200"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: v_sp
hfactory ${scobj_hpath}/ch2/v_sp plain user int hfactory ${scobj_hpath}/ch2/v_sp plain user int
hsetprop ${scobj_hpath}/ch2/v_sp read ${ns}::getValue ${scobj_hpath} rdValue {D2} hsetprop ${scobj_hpath}/ch2/v_sp read ${ns}::getValue ${scobj_hpath} rdValue {D2}
hsetprop ${scobj_hpath}/ch2/v_sp rdValue ${ns}::rdValue ${scobj_hpath} hsetprop ${scobj_hpath}/ch2/v_sp rdValue ${ns}::rdValue ${scobj_hpath}
@ -801,11 +855,13 @@ proc ::scobj::nhq_200::mkDriver { sct_controller name device_class simulation_fl
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/ch2/v_sp 5 ${sct_controller} poll ${scobj_hpath}/ch2/v_sp 5
${sct_controller} write ${scobj_hpath}/ch2/v_sp ${sct_controller} write ${scobj_hpath}/ch2/v_sp
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::nhq_200::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for nhq_200" ::scobj::nhq_200::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for nhq_200"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: voltage
hfactory ${scobj_hpath}/ch2/voltage plain user int hfactory ${scobj_hpath}/ch2/voltage plain user int
hsetprop ${scobj_hpath}/ch2/voltage read ${ns}::getValue ${scobj_hpath} rdVoltage {U2} hsetprop ${scobj_hpath}/ch2/voltage read ${ns}::getValue ${scobj_hpath} rdVoltage {U2}
hsetprop ${scobj_hpath}/ch2/voltage rdVoltage ${ns}::rdVoltage ${scobj_hpath} hsetprop ${scobj_hpath}/ch2/voltage rdVoltage ${ns}::rdVoltage ${scobj_hpath}
@ -821,12 +877,15 @@ proc ::scobj::nhq_200::mkDriver { sct_controller name device_class simulation_fl
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/ch2/voltage 5 ${sct_controller} poll ${scobj_hpath}/ch2/voltage 5
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::nhq_200::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for nhq_200" ::scobj::nhq_200::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for nhq_200"
hsetprop ${scobj_hpath}/%s simulated true
} }
hsetprop ${scobj_hpath}/ch2 data "true" hsetprop ${scobj_hpath}/ch2 data "true"
hsetprop ${scobj_hpath}/ch2 klass "@none" hsetprop ${scobj_hpath}/ch2 klass "@none"
hsetprop ${scobj_hpath}/ch2 type "part" hsetprop ${scobj_hpath}/ch2 type "part"
# End of named group: ch2
ansto_makesctdrive ${name}_ch2_v_sp ${scobj_hpath}/ch2/v_sp ${scobj_hpath}/ch2/voltage ${sct_controller} ansto_makesctdrive ${name}_ch2_v_sp ${scobj_hpath}/ch2/v_sp ${scobj_hpath}/ch2/voltage ${sct_controller}
hsetprop ${scobj_hpath} klass ${device_class} hsetprop ${scobj_hpath} klass ${device_class}
hsetprop ${scobj_hpath} data true hsetprop ${scobj_hpath} data true

View File

@ -201,8 +201,9 @@ proc ::scobj::omron_hldc::mkDriver { sct_controller name device_class simulation
sicslist setatt ${name} long_name ${name} sicslist setatt ${name} long_name ${name}
set scobj_hpath /sics/${name} set scobj_hpath /sics/${name}
# Start of unnamed group
# Start of var: distance
hfactory ${scobj_hpath}/distance plain user float hfactory ${scobj_hpath}/distance plain user float
hsetprop ${scobj_hpath}/distance read ${ns}::getValue ${scobj_hpath} read_mm {0201C02030008001} hsetprop ${scobj_hpath}/distance read ${ns}::getValue ${scobj_hpath} read_mm {0201C02030008001}
hsetprop ${scobj_hpath}/distance read_mm ${ns}::read_mm ${scobj_hpath} hsetprop ${scobj_hpath}/distance read_mm ${ns}::read_mm ${scobj_hpath}
@ -218,11 +219,13 @@ proc ::scobj::omron_hldc::mkDriver { sct_controller name device_class simulation
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/distance 1 ${sct_controller} poll ${scobj_hpath}/distance 1
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::omron_hldc::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for omron_hldc" ::scobj::omron_hldc::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for omron_hldc"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: id
hfactory ${scobj_hpath}/id plain user text hfactory ${scobj_hpath}/id plain user text
hsetprop ${scobj_hpath}/id read ${ns}::getValue ${scobj_hpath} read_id {0501} hsetprop ${scobj_hpath}/id read ${ns}::getValue ${scobj_hpath} read_id {0501}
hsetprop ${scobj_hpath}/id read_id ${ns}::read_id ${scobj_hpath} hsetprop ${scobj_hpath}/id read_id ${ns}::read_id ${scobj_hpath}
@ -238,13 +241,16 @@ proc ::scobj::omron_hldc::mkDriver { sct_controller name device_class simulation
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/id 10 ${sct_controller} poll ${scobj_hpath}/id 10
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::omron_hldc::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for omron_hldc" ::scobj::omron_hldc::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for omron_hldc"
hsetprop ${scobj_hpath}/%s simulated true
} }
hsetprop ${scobj_hpath} data "true" hsetprop ${scobj_hpath} data "true"
hsetprop ${scobj_hpath} klass "@none" hsetprop ${scobj_hpath} klass "@none"
hsetprop ${scobj_hpath} type "part" hsetprop ${scobj_hpath} type "part"
# End of unnamed group
hsetprop ${scobj_hpath} klass ${device_class} hsetprop ${scobj_hpath} klass ${device_class}
hsetprop ${scobj_hpath} data true hsetprop ${scobj_hpath} data true
hsetprop ${scobj_hpath} debug_threshold 5 hsetprop ${scobj_hpath} debug_threshold 5

View File

@ -86,7 +86,12 @@ proc ::scobj::julabo_lh45_gen::checkstatus {tc_root} {
# checkstatus hook code goes here # checkstatus hook code goes here
if {[sct driving]} { if {[sct driving]} {
set sp "[sct target]" set sp "[sct target]"
set pv "[hval ${tc_root}/[sct driveable]]" if {[hpropexists [sct] simulated] && [sct simulated] == "true"} {
set pv "${sp}"
hset ${tc_root}/[sct driveable] ${sp}
}
set pv "[hval ${tc_root}/[sct driveable]]"
}
if { abs(${pv} - ${sp}) <= [sct tolerance] } { if { abs(${pv} - ${sp}) <= [sct tolerance] } {
if { [hpropexists [sct] settle_time] } { if { [hpropexists [sct] settle_time] } {
if { [hpropexists [sct] settle_time_start] } { if { [hpropexists [sct] settle_time_start] } {
@ -375,8 +380,9 @@ proc ::scobj::julabo_lh45_gen::mkDriver { sct_controller name device_class simul
sicslist setatt ${name} long_name ${name} sicslist setatt ${name} long_name ${name}
set scobj_hpath /sics/${name} set scobj_hpath /sics/${name}
# Start of unnamed group
# Start of var: heating_power_percent
hfactory ${scobj_hpath}/heating_power_percent plain user float hfactory ${scobj_hpath}/heating_power_percent plain user float
hsetprop ${scobj_hpath}/heating_power_percent read ${ns}::getValue ${scobj_hpath} rdValue {in_pv_01} hsetprop ${scobj_hpath}/heating_power_percent read ${ns}::getValue ${scobj_hpath} rdValue {in_pv_01}
hsetprop ${scobj_hpath}/heating_power_percent rdValue ${ns}::rdValue ${scobj_hpath} hsetprop ${scobj_hpath}/heating_power_percent rdValue ${ns}::rdValue ${scobj_hpath}
@ -392,11 +398,13 @@ proc ::scobj::julabo_lh45_gen::mkDriver { sct_controller name device_class simul
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/heating_power_percent 1 ${sct_controller} poll ${scobj_hpath}/heating_power_percent 1
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::julabo_lh45_gen::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for julabo_lh45_gen" ::scobj::julabo_lh45_gen::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for julabo_lh45_gen"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: lh45_lasterror
hfactory ${scobj_hpath}/lh45_lasterror plain user text hfactory ${scobj_hpath}/lh45_lasterror plain user text
hsetprop ${scobj_hpath}/lh45_lasterror control true hsetprop ${scobj_hpath}/lh45_lasterror control true
hsetprop ${scobj_hpath}/lh45_lasterror data true hsetprop ${scobj_hpath}/lh45_lasterror data true
@ -408,7 +416,7 @@ proc ::scobj::julabo_lh45_gen::mkDriver { sct_controller name device_class simul
hsetprop ${scobj_hpath}/lh45_lasterror type "part" hsetprop ${scobj_hpath}/lh45_lasterror type "part"
hsetprop ${scobj_hpath}/lh45_lasterror nxalias "${name}_lh45_lasterror" hsetprop ${scobj_hpath}/lh45_lasterror nxalias "${name}_lh45_lasterror"
# Start of var: lh45_state
hfactory ${scobj_hpath}/lh45_state plain user text hfactory ${scobj_hpath}/lh45_state plain user text
hsetprop ${scobj_hpath}/lh45_state read ${ns}::getState ${scobj_hpath} rdState {status} hsetprop ${scobj_hpath}/lh45_state read ${ns}::getState ${scobj_hpath} rdState {status}
hsetprop ${scobj_hpath}/lh45_state rdState ${ns}::rdState ${scobj_hpath} hsetprop ${scobj_hpath}/lh45_state rdState ${ns}::rdState ${scobj_hpath}
@ -424,11 +432,13 @@ proc ::scobj::julabo_lh45_gen::mkDriver { sct_controller name device_class simul
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/lh45_state 1 ${sct_controller} poll ${scobj_hpath}/lh45_state 1
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::julabo_lh45_gen::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for julabo_lh45_gen" ::scobj::julabo_lh45_gen::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for julabo_lh45_gen"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: overtemp_warnlimit
hfactory ${scobj_hpath}/overtemp_warnlimit plain user float hfactory ${scobj_hpath}/overtemp_warnlimit plain user float
hsetprop ${scobj_hpath}/overtemp_warnlimit read ${ns}::getValue ${scobj_hpath} rdValue {in_sp_03} hsetprop ${scobj_hpath}/overtemp_warnlimit read ${ns}::getValue ${scobj_hpath} rdValue {in_sp_03}
hsetprop ${scobj_hpath}/overtemp_warnlimit rdValue ${ns}::rdValue ${scobj_hpath} hsetprop ${scobj_hpath}/overtemp_warnlimit rdValue ${ns}::rdValue ${scobj_hpath}
@ -444,11 +454,13 @@ proc ::scobj::julabo_lh45_gen::mkDriver { sct_controller name device_class simul
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/overtemp_warnlimit 1 ${sct_controller} poll ${scobj_hpath}/overtemp_warnlimit 1
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::julabo_lh45_gen::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for julabo_lh45_gen" ::scobj::julabo_lh45_gen::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for julabo_lh45_gen"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: remote_ctrl
hfactory ${scobj_hpath}/remote_ctrl plain spy text hfactory ${scobj_hpath}/remote_ctrl plain spy text
hsetprop ${scobj_hpath}/remote_ctrl control true hsetprop ${scobj_hpath}/remote_ctrl control true
hsetprop ${scobj_hpath}/remote_ctrl data true hsetprop ${scobj_hpath}/remote_ctrl data true
@ -460,7 +472,7 @@ proc ::scobj::julabo_lh45_gen::mkDriver { sct_controller name device_class simul
hsetprop ${scobj_hpath}/remote_ctrl type "part" hsetprop ${scobj_hpath}/remote_ctrl type "part"
hsetprop ${scobj_hpath}/remote_ctrl nxalias "${name}_remote_ctrl" hsetprop ${scobj_hpath}/remote_ctrl nxalias "${name}_remote_ctrl"
# Start of var: setpoint
hfactory ${scobj_hpath}/setpoint plain user float hfactory ${scobj_hpath}/setpoint plain user float
hsetprop ${scobj_hpath}/setpoint read ${ns}::getValue ${scobj_hpath} rdValue {in_sp_00} hsetprop ${scobj_hpath}/setpoint read ${ns}::getValue ${scobj_hpath} rdValue {in_sp_00}
hsetprop ${scobj_hpath}/setpoint rdValue ${ns}::rdValue ${scobj_hpath} hsetprop ${scobj_hpath}/setpoint rdValue ${ns}::rdValue ${scobj_hpath}
@ -491,11 +503,13 @@ proc ::scobj::julabo_lh45_gen::mkDriver { sct_controller name device_class simul
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/setpoint 1 ${sct_controller} poll ${scobj_hpath}/setpoint 1
${sct_controller} write ${scobj_hpath}/setpoint ${sct_controller} write ${scobj_hpath}/setpoint
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::julabo_lh45_gen::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for julabo_lh45_gen" ::scobj::julabo_lh45_gen::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for julabo_lh45_gen"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: subtemp_warnlimit
hfactory ${scobj_hpath}/subtemp_warnlimit plain user float hfactory ${scobj_hpath}/subtemp_warnlimit plain user float
hsetprop ${scobj_hpath}/subtemp_warnlimit read ${ns}::getValue ${scobj_hpath} rdValue {in_sp_04} hsetprop ${scobj_hpath}/subtemp_warnlimit read ${ns}::getValue ${scobj_hpath} rdValue {in_sp_04}
hsetprop ${scobj_hpath}/subtemp_warnlimit rdValue ${ns}::rdValue ${scobj_hpath} hsetprop ${scobj_hpath}/subtemp_warnlimit rdValue ${ns}::rdValue ${scobj_hpath}
@ -511,18 +525,22 @@ proc ::scobj::julabo_lh45_gen::mkDriver { sct_controller name device_class simul
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/subtemp_warnlimit 1 ${sct_controller} poll ${scobj_hpath}/subtemp_warnlimit 1
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::julabo_lh45_gen::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for julabo_lh45_gen" ::scobj::julabo_lh45_gen::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for julabo_lh45_gen"
hsetprop ${scobj_hpath}/%s simulated true
} }
hsetprop ${scobj_hpath} data "true" hsetprop ${scobj_hpath} data "true"
hsetprop ${scobj_hpath} klass "@none" hsetprop ${scobj_hpath} klass "@none"
hsetprop ${scobj_hpath} type "part" hsetprop ${scobj_hpath} type "part"
# End of unnamed group
ansto_makesctdrive ${name}_setpoint ${scobj_hpath}/setpoint ${scobj_hpath}/sensor/value ${sct_controller} ansto_makesctdrive ${name}_setpoint ${scobj_hpath}/setpoint ${scobj_hpath}/sensor/value ${sct_controller}
# Start of named group: mode
hfactory ${scobj_hpath}/mode plain spy none hfactory ${scobj_hpath}/mode plain spy none
# Start of var: ext_else_bath
hfactory ${scobj_hpath}/mode/ext_else_bath plain user int hfactory ${scobj_hpath}/mode/ext_else_bath plain user int
hsetprop ${scobj_hpath}/mode/ext_else_bath read ${ns}::getValue ${scobj_hpath} rdValue {in_mode_04} hsetprop ${scobj_hpath}/mode/ext_else_bath read ${ns}::getValue ${scobj_hpath} rdValue {in_mode_04}
hsetprop ${scobj_hpath}/mode/ext_else_bath rdValue ${ns}::rdValue ${scobj_hpath} hsetprop ${scobj_hpath}/mode/ext_else_bath rdValue ${ns}::rdValue ${scobj_hpath}
@ -542,11 +560,13 @@ proc ::scobj::julabo_lh45_gen::mkDriver { sct_controller name device_class simul
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/mode/ext_else_bath 1 ${sct_controller} poll ${scobj_hpath}/mode/ext_else_bath 1
${sct_controller} write ${scobj_hpath}/mode/ext_else_bath ${sct_controller} write ${scobj_hpath}/mode/ext_else_bath
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::julabo_lh45_gen::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for julabo_lh45_gen" ::scobj::julabo_lh45_gen::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for julabo_lh45_gen"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: on_else_off
hfactory ${scobj_hpath}/mode/on_else_off plain user int hfactory ${scobj_hpath}/mode/on_else_off plain user int
hsetprop ${scobj_hpath}/mode/on_else_off read ${ns}::getValue ${scobj_hpath} rdValue {in_mode_05} hsetprop ${scobj_hpath}/mode/on_else_off read ${ns}::getValue ${scobj_hpath} rdValue {in_mode_05}
hsetprop ${scobj_hpath}/mode/on_else_off rdValue ${ns}::rdValue ${scobj_hpath} hsetprop ${scobj_hpath}/mode/on_else_off rdValue ${ns}::rdValue ${scobj_hpath}
@ -566,16 +586,20 @@ proc ::scobj::julabo_lh45_gen::mkDriver { sct_controller name device_class simul
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/mode/on_else_off 1 ${sct_controller} poll ${scobj_hpath}/mode/on_else_off 1
${sct_controller} write ${scobj_hpath}/mode/on_else_off ${sct_controller} write ${scobj_hpath}/mode/on_else_off
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::julabo_lh45_gen::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for julabo_lh45_gen" ::scobj::julabo_lh45_gen::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for julabo_lh45_gen"
hsetprop ${scobj_hpath}/%s simulated true
} }
hsetprop ${scobj_hpath}/mode data "true" hsetprop ${scobj_hpath}/mode data "true"
hsetprop ${scobj_hpath}/mode klass "@none" hsetprop ${scobj_hpath}/mode klass "@none"
hsetprop ${scobj_hpath}/mode type "part" hsetprop ${scobj_hpath}/mode type "part"
# End of named group: mode
# Start of named group: sensor
hfactory ${scobj_hpath}/sensor plain spy none hfactory ${scobj_hpath}/sensor plain spy none
# Start of var: bathtemp
hfactory ${scobj_hpath}/sensor/bathtemp plain internal float hfactory ${scobj_hpath}/sensor/bathtemp plain internal float
hsetprop ${scobj_hpath}/sensor/bathtemp read ${ns}::getValue ${scobj_hpath} rdSensor {in_pv_00} hsetprop ${scobj_hpath}/sensor/bathtemp read ${ns}::getValue ${scobj_hpath} rdSensor {in_pv_00}
hsetprop ${scobj_hpath}/sensor/bathtemp rdSensor ${ns}::rdSensor ${scobj_hpath} hsetprop ${scobj_hpath}/sensor/bathtemp rdSensor ${ns}::rdSensor ${scobj_hpath}
@ -593,11 +617,13 @@ proc ::scobj::julabo_lh45_gen::mkDriver { sct_controller name device_class simul
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/sensor/bathtemp 1 ${sct_controller} poll ${scobj_hpath}/sensor/bathtemp 1
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::julabo_lh45_gen::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for julabo_lh45_gen" ::scobj::julabo_lh45_gen::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for julabo_lh45_gen"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: end_temperature
hfactory ${scobj_hpath}/sensor/end_temperature plain internal float hfactory ${scobj_hpath}/sensor/end_temperature plain internal float
hsetprop ${scobj_hpath}/sensor/end_temperature control true hsetprop ${scobj_hpath}/sensor/end_temperature control true
hsetprop ${scobj_hpath}/sensor/end_temperature data true hsetprop ${scobj_hpath}/sensor/end_temperature data true
@ -610,7 +636,7 @@ proc ::scobj::julabo_lh45_gen::mkDriver { sct_controller name device_class simul
hsetprop ${scobj_hpath}/sensor/end_temperature units "C" hsetprop ${scobj_hpath}/sensor/end_temperature units "C"
hsetprop ${scobj_hpath}/sensor/end_temperature nxalias "${name}_sensor_end_temperature" hsetprop ${scobj_hpath}/sensor/end_temperature nxalias "${name}_sensor_end_temperature"
# Start of var: external
hfactory ${scobj_hpath}/sensor/external plain internal float hfactory ${scobj_hpath}/sensor/external plain internal float
hsetprop ${scobj_hpath}/sensor/external read ${ns}::getValue ${scobj_hpath} rdSensor {in_pv_02} hsetprop ${scobj_hpath}/sensor/external read ${ns}::getValue ${scobj_hpath} rdSensor {in_pv_02}
hsetprop ${scobj_hpath}/sensor/external rdSensor ${ns}::rdSensor ${scobj_hpath} hsetprop ${scobj_hpath}/sensor/external rdSensor ${ns}::rdSensor ${scobj_hpath}
@ -628,11 +654,13 @@ proc ::scobj::julabo_lh45_gen::mkDriver { sct_controller name device_class simul
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/sensor/external 1 ${sct_controller} poll ${scobj_hpath}/sensor/external 1
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::julabo_lh45_gen::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for julabo_lh45_gen" ::scobj::julabo_lh45_gen::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for julabo_lh45_gen"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: start_temperature
hfactory ${scobj_hpath}/sensor/start_temperature plain internal float hfactory ${scobj_hpath}/sensor/start_temperature plain internal float
hsetprop ${scobj_hpath}/sensor/start_temperature control true hsetprop ${scobj_hpath}/sensor/start_temperature control true
hsetprop ${scobj_hpath}/sensor/start_temperature data true hsetprop ${scobj_hpath}/sensor/start_temperature data true
@ -645,7 +673,7 @@ proc ::scobj::julabo_lh45_gen::mkDriver { sct_controller name device_class simul
hsetprop ${scobj_hpath}/sensor/start_temperature units "C" hsetprop ${scobj_hpath}/sensor/start_temperature units "C"
hsetprop ${scobj_hpath}/sensor/start_temperature nxalias "${name}_sensor_start_temperature" hsetprop ${scobj_hpath}/sensor/start_temperature nxalias "${name}_sensor_start_temperature"
# Start of var: value
hfactory ${scobj_hpath}/sensor/value plain internal float hfactory ${scobj_hpath}/sensor/value plain internal float
hsetprop ${scobj_hpath}/sensor/value control true hsetprop ${scobj_hpath}/sensor/value control true
hsetprop ${scobj_hpath}/sensor/value data true hsetprop ${scobj_hpath}/sensor/value data true
@ -662,6 +690,7 @@ proc ::scobj::julabo_lh45_gen::mkDriver { sct_controller name device_class simul
hsetprop ${scobj_hpath}/sensor data "true" hsetprop ${scobj_hpath}/sensor data "true"
hsetprop ${scobj_hpath}/sensor klass "@none" hsetprop ${scobj_hpath}/sensor klass "@none"
hsetprop ${scobj_hpath}/sensor type "part" hsetprop ${scobj_hpath}/sensor type "part"
# End of named group: sensor
hsetprop ${scobj_hpath} klass ${device_class} hsetprop ${scobj_hpath} klass ${device_class}
hsetprop ${scobj_hpath} data true hsetprop ${scobj_hpath} data true
hsetprop ${scobj_hpath} debug_threshold 5 hsetprop ${scobj_hpath} debug_threshold 5

View File

@ -168,8 +168,9 @@ proc ::scobj::lakeshore_218::mkDriver { sct_controller name device_class simulat
sicslist setatt ${name} long_name ${name} sicslist setatt ${name} long_name ${name}
set scobj_hpath /sics/${name} set scobj_hpath /sics/${name}
# Start of unnamed group
# Start of var: krdg
hfactory ${scobj_hpath}/krdg plain user text hfactory ${scobj_hpath}/krdg plain user text
hsetprop ${scobj_hpath}/krdg read ${ns}::getValue ${scobj_hpath} rdValue {KRDG? 0} hsetprop ${scobj_hpath}/krdg read ${ns}::getValue ${scobj_hpath} rdValue {KRDG? 0}
hsetprop ${scobj_hpath}/krdg rdValue ${ns}::rdValue ${scobj_hpath} hsetprop ${scobj_hpath}/krdg rdValue ${ns}::rdValue ${scobj_hpath}
@ -185,17 +186,21 @@ proc ::scobj::lakeshore_218::mkDriver { sct_controller name device_class simulat
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/krdg 1 ${sct_controller} poll ${scobj_hpath}/krdg 1
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::lakeshore_218::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for lakeshore_218" ::scobj::lakeshore_218::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for lakeshore_218"
hsetprop ${scobj_hpath}/%s simulated true
} }
hsetprop ${scobj_hpath} data "false" hsetprop ${scobj_hpath} data "false"
hsetprop ${scobj_hpath} klass "@none" hsetprop ${scobj_hpath} klass "@none"
hsetprop ${scobj_hpath} type "part" hsetprop ${scobj_hpath} type "part"
# End of unnamed group
# Start of named group: sensor
hfactory ${scobj_hpath}/sensor plain spy none hfactory ${scobj_hpath}/sensor plain spy none
# Start of var: ch1
hfactory ${scobj_hpath}/sensor/ch1 plain user float hfactory ${scobj_hpath}/sensor/ch1 plain user float
hsetprop ${scobj_hpath}/sensor/ch1 read ${ns}::getTemp ${scobj_hpath} rdValue {0} hsetprop ${scobj_hpath}/sensor/ch1 read ${ns}::getTemp ${scobj_hpath} rdValue {0}
hsetprop ${scobj_hpath}/sensor/ch1 rdValue ${ns}::rdValue ${scobj_hpath} hsetprop ${scobj_hpath}/sensor/ch1 rdValue ${ns}::rdValue ${scobj_hpath}
@ -211,11 +216,13 @@ proc ::scobj::lakeshore_218::mkDriver { sct_controller name device_class simulat
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/sensor/ch1 1 ${sct_controller} poll ${scobj_hpath}/sensor/ch1 1
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::lakeshore_218::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for lakeshore_218" ::scobj::lakeshore_218::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for lakeshore_218"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: ch2
hfactory ${scobj_hpath}/sensor/ch2 plain user float hfactory ${scobj_hpath}/sensor/ch2 plain user float
hsetprop ${scobj_hpath}/sensor/ch2 read ${ns}::getTemp ${scobj_hpath} rdValue {1} hsetprop ${scobj_hpath}/sensor/ch2 read ${ns}::getTemp ${scobj_hpath} rdValue {1}
hsetprop ${scobj_hpath}/sensor/ch2 rdValue ${ns}::rdValue ${scobj_hpath} hsetprop ${scobj_hpath}/sensor/ch2 rdValue ${ns}::rdValue ${scobj_hpath}
@ -231,11 +238,13 @@ proc ::scobj::lakeshore_218::mkDriver { sct_controller name device_class simulat
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/sensor/ch2 1 ${sct_controller} poll ${scobj_hpath}/sensor/ch2 1
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::lakeshore_218::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for lakeshore_218" ::scobj::lakeshore_218::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for lakeshore_218"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: ch3
hfactory ${scobj_hpath}/sensor/ch3 plain user float hfactory ${scobj_hpath}/sensor/ch3 plain user float
hsetprop ${scobj_hpath}/sensor/ch3 read ${ns}::getTemp ${scobj_hpath} rdValue {2} hsetprop ${scobj_hpath}/sensor/ch3 read ${ns}::getTemp ${scobj_hpath} rdValue {2}
hsetprop ${scobj_hpath}/sensor/ch3 rdValue ${ns}::rdValue ${scobj_hpath} hsetprop ${scobj_hpath}/sensor/ch3 rdValue ${ns}::rdValue ${scobj_hpath}
@ -251,11 +260,13 @@ proc ::scobj::lakeshore_218::mkDriver { sct_controller name device_class simulat
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/sensor/ch3 1 ${sct_controller} poll ${scobj_hpath}/sensor/ch3 1
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::lakeshore_218::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for lakeshore_218" ::scobj::lakeshore_218::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for lakeshore_218"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: ch4
hfactory ${scobj_hpath}/sensor/ch4 plain user float hfactory ${scobj_hpath}/sensor/ch4 plain user float
hsetprop ${scobj_hpath}/sensor/ch4 read ${ns}::getTemp ${scobj_hpath} rdValue {3} hsetprop ${scobj_hpath}/sensor/ch4 read ${ns}::getTemp ${scobj_hpath} rdValue {3}
hsetprop ${scobj_hpath}/sensor/ch4 rdValue ${ns}::rdValue ${scobj_hpath} hsetprop ${scobj_hpath}/sensor/ch4 rdValue ${ns}::rdValue ${scobj_hpath}
@ -271,11 +282,13 @@ proc ::scobj::lakeshore_218::mkDriver { sct_controller name device_class simulat
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/sensor/ch4 1 ${sct_controller} poll ${scobj_hpath}/sensor/ch4 1
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::lakeshore_218::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for lakeshore_218" ::scobj::lakeshore_218::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for lakeshore_218"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: ch5
hfactory ${scobj_hpath}/sensor/ch5 plain user float hfactory ${scobj_hpath}/sensor/ch5 plain user float
hsetprop ${scobj_hpath}/sensor/ch5 read ${ns}::getTemp ${scobj_hpath} rdValue {4} hsetprop ${scobj_hpath}/sensor/ch5 read ${ns}::getTemp ${scobj_hpath} rdValue {4}
hsetprop ${scobj_hpath}/sensor/ch5 rdValue ${ns}::rdValue ${scobj_hpath} hsetprop ${scobj_hpath}/sensor/ch5 rdValue ${ns}::rdValue ${scobj_hpath}
@ -291,11 +304,13 @@ proc ::scobj::lakeshore_218::mkDriver { sct_controller name device_class simulat
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/sensor/ch5 1 ${sct_controller} poll ${scobj_hpath}/sensor/ch5 1
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::lakeshore_218::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for lakeshore_218" ::scobj::lakeshore_218::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for lakeshore_218"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: ch6
hfactory ${scobj_hpath}/sensor/ch6 plain user float hfactory ${scobj_hpath}/sensor/ch6 plain user float
hsetprop ${scobj_hpath}/sensor/ch6 read ${ns}::getTemp ${scobj_hpath} rdValue {5} hsetprop ${scobj_hpath}/sensor/ch6 read ${ns}::getTemp ${scobj_hpath} rdValue {5}
hsetprop ${scobj_hpath}/sensor/ch6 rdValue ${ns}::rdValue ${scobj_hpath} hsetprop ${scobj_hpath}/sensor/ch6 rdValue ${ns}::rdValue ${scobj_hpath}
@ -311,11 +326,13 @@ proc ::scobj::lakeshore_218::mkDriver { sct_controller name device_class simulat
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/sensor/ch6 1 ${sct_controller} poll ${scobj_hpath}/sensor/ch6 1
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::lakeshore_218::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for lakeshore_218" ::scobj::lakeshore_218::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for lakeshore_218"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: ch7
hfactory ${scobj_hpath}/sensor/ch7 plain user float hfactory ${scobj_hpath}/sensor/ch7 plain user float
hsetprop ${scobj_hpath}/sensor/ch7 read ${ns}::getTemp ${scobj_hpath} rdValue {6} hsetprop ${scobj_hpath}/sensor/ch7 read ${ns}::getTemp ${scobj_hpath} rdValue {6}
hsetprop ${scobj_hpath}/sensor/ch7 rdValue ${ns}::rdValue ${scobj_hpath} hsetprop ${scobj_hpath}/sensor/ch7 rdValue ${ns}::rdValue ${scobj_hpath}
@ -331,11 +348,13 @@ proc ::scobj::lakeshore_218::mkDriver { sct_controller name device_class simulat
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/sensor/ch7 1 ${sct_controller} poll ${scobj_hpath}/sensor/ch7 1
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::lakeshore_218::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for lakeshore_218" ::scobj::lakeshore_218::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for lakeshore_218"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: ch8
hfactory ${scobj_hpath}/sensor/ch8 plain user float hfactory ${scobj_hpath}/sensor/ch8 plain user float
hsetprop ${scobj_hpath}/sensor/ch8 read ${ns}::getTemp ${scobj_hpath} rdValue {7} hsetprop ${scobj_hpath}/sensor/ch8 read ${ns}::getTemp ${scobj_hpath} rdValue {7}
hsetprop ${scobj_hpath}/sensor/ch8 rdValue ${ns}::rdValue ${scobj_hpath} hsetprop ${scobj_hpath}/sensor/ch8 rdValue ${ns}::rdValue ${scobj_hpath}
@ -351,12 +370,15 @@ proc ::scobj::lakeshore_218::mkDriver { sct_controller name device_class simulat
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/sensor/ch8 1 ${sct_controller} poll ${scobj_hpath}/sensor/ch8 1
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::lakeshore_218::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for lakeshore_218" ::scobj::lakeshore_218::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for lakeshore_218"
hsetprop ${scobj_hpath}/%s simulated true
} }
hsetprop ${scobj_hpath}/sensor data "true" hsetprop ${scobj_hpath}/sensor data "true"
hsetprop ${scobj_hpath}/sensor klass "@none" hsetprop ${scobj_hpath}/sensor klass "@none"
hsetprop ${scobj_hpath}/sensor type "part" hsetprop ${scobj_hpath}/sensor type "part"
# End of named group: sensor
hsetprop ${scobj_hpath} klass ${device_class} hsetprop ${scobj_hpath} klass ${device_class}
hsetprop ${scobj_hpath} data true hsetprop ${scobj_hpath} data true
hsetprop ${scobj_hpath} debug_threshold 5 hsetprop ${scobj_hpath} debug_threshold 5

View File

@ -86,7 +86,12 @@ proc ::scobj::mercury_base::checkstatus {tc_root} {
# checkstatus hook code goes here # checkstatus hook code goes here
if {[sct driving]} { if {[sct driving]} {
set sp "[sct target]" set sp "[sct target]"
set pv "[hval ${tc_root}/[sct driveable]]" if {[hpropexists [sct] simulated] && [sct simulated] == "true"} {
set pv "${sp}"
hset ${tc_root}/[sct driveable] ${sp}
}
set pv "[hval ${tc_root}/[sct driveable]]"
}
if { abs(${pv} - ${sp}) <= [sct tolerance] } { if { abs(${pv} - ${sp}) <= [sct tolerance] } {
if { [hpropexists [sct] settle_time] } { if { [hpropexists [sct] settle_time] } {
if { [hpropexists [sct] settle_time_start] } { if { [hpropexists [sct] settle_time_start] } {
@ -278,9 +283,10 @@ proc ::scobj::mercury_base::mkDriver { sct_controller name device_class simulati
set scobj_hpath /sics/${name} set scobj_hpath /sics/${name}
# Start of named group: Loop1
hfactory ${scobj_hpath}/Loop1 plain spy none hfactory ${scobj_hpath}/Loop1 plain spy none
# Start of var: nick
hfactory ${scobj_hpath}/Loop1/nick plain user text hfactory ${scobj_hpath}/Loop1/nick plain user text
hsetprop ${scobj_hpath}/Loop1/nick read ${ns}::getValue ${scobj_hpath} rdText {READ:DEV:MB1.T1:TEMP:NICK} hsetprop ${scobj_hpath}/Loop1/nick read ${ns}::getValue ${scobj_hpath} rdText {READ:DEV:MB1.T1:TEMP:NICK}
hsetprop ${scobj_hpath}/Loop1/nick rdText ${ns}::rdText ${scobj_hpath} hsetprop ${scobj_hpath}/Loop1/nick rdText ${ns}::rdText ${scobj_hpath}
@ -296,11 +302,13 @@ proc ::scobj::mercury_base::mkDriver { sct_controller name device_class simulati
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/Loop1/nick 15 ${sct_controller} poll ${scobj_hpath}/Loop1/nick 15
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::mercury_base::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_base" ::scobj::mercury_base::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_base"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: power
hfactory ${scobj_hpath}/Loop1/power plain user float hfactory ${scobj_hpath}/Loop1/power plain user float
hsetprop ${scobj_hpath}/Loop1/power read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:MB0.H1:HTR:SIG:POWR} hsetprop ${scobj_hpath}/Loop1/power read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:MB0.H1:HTR:SIG:POWR}
hsetprop ${scobj_hpath}/Loop1/power rdValue ${ns}::rdValue ${scobj_hpath} hsetprop ${scobj_hpath}/Loop1/power rdValue ${ns}::rdValue ${scobj_hpath}
@ -316,11 +324,13 @@ proc ::scobj::mercury_base::mkDriver { sct_controller name device_class simulati
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/Loop1/power 5 ${sct_controller} poll ${scobj_hpath}/Loop1/power 5
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::mercury_base::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_base" ::scobj::mercury_base::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_base"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: sensor
hfactory ${scobj_hpath}/Loop1/sensor plain user float hfactory ${scobj_hpath}/Loop1/sensor plain user float
hsetprop ${scobj_hpath}/Loop1/sensor read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:MB1.T1:TEMP:SIG:TEMP} hsetprop ${scobj_hpath}/Loop1/sensor read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:MB1.T1:TEMP:SIG:TEMP}
hsetprop ${scobj_hpath}/Loop1/sensor rdValue ${ns}::rdValue ${scobj_hpath} hsetprop ${scobj_hpath}/Loop1/sensor rdValue ${ns}::rdValue ${scobj_hpath}
@ -338,11 +348,13 @@ proc ::scobj::mercury_base::mkDriver { sct_controller name device_class simulati
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/Loop1/sensor 1 ${sct_controller} poll ${scobj_hpath}/Loop1/sensor 1
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::mercury_base::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_base" ::scobj::mercury_base::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_base"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: setpoint
hfactory ${scobj_hpath}/Loop1/setpoint plain user float hfactory ${scobj_hpath}/Loop1/setpoint plain user float
hsetprop ${scobj_hpath}/Loop1/setpoint read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:MB1.T1:TEMP:LOOP:TSET} hsetprop ${scobj_hpath}/Loop1/setpoint read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:MB1.T1:TEMP:LOOP:TSET}
hsetprop ${scobj_hpath}/Loop1/setpoint rdValue ${ns}::rdValue ${scobj_hpath} hsetprop ${scobj_hpath}/Loop1/setpoint rdValue ${ns}::rdValue ${scobj_hpath}
@ -373,17 +385,21 @@ proc ::scobj::mercury_base::mkDriver { sct_controller name device_class simulati
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/Loop1/setpoint 5 ${sct_controller} poll ${scobj_hpath}/Loop1/setpoint 5
${sct_controller} write ${scobj_hpath}/Loop1/setpoint ${sct_controller} write ${scobj_hpath}/Loop1/setpoint
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::mercury_base::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_base" ::scobj::mercury_base::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_base"
hsetprop ${scobj_hpath}/%s simulated true
} }
hsetprop ${scobj_hpath}/Loop1 data "true" hsetprop ${scobj_hpath}/Loop1 data "true"
hsetprop ${scobj_hpath}/Loop1 klass "@none" hsetprop ${scobj_hpath}/Loop1 klass "@none"
hsetprop ${scobj_hpath}/Loop1 type "part" hsetprop ${scobj_hpath}/Loop1 type "part"
# End of named group: Loop1
ansto_makesctdrive ${name}_Loop1_setpoint ${scobj_hpath}/Loop1/setpoint ${scobj_hpath}/Loop1/sensor ${sct_controller} ansto_makesctdrive ${name}_Loop1_setpoint ${scobj_hpath}/Loop1/setpoint ${scobj_hpath}/Loop1/sensor ${sct_controller}
# Start of named group: Loop2
hfactory ${scobj_hpath}/Loop2 plain spy none hfactory ${scobj_hpath}/Loop2 plain spy none
# Start of var: nick
hfactory ${scobj_hpath}/Loop2/nick plain user text hfactory ${scobj_hpath}/Loop2/nick plain user text
hsetprop ${scobj_hpath}/Loop2/nick read ${ns}::getValue ${scobj_hpath} rdText {READ:DEV:DB6.T1:TEMP:NICK} hsetprop ${scobj_hpath}/Loop2/nick read ${ns}::getValue ${scobj_hpath} rdText {READ:DEV:DB6.T1:TEMP:NICK}
hsetprop ${scobj_hpath}/Loop2/nick rdText ${ns}::rdText ${scobj_hpath} hsetprop ${scobj_hpath}/Loop2/nick rdText ${ns}::rdText ${scobj_hpath}
@ -399,11 +415,13 @@ proc ::scobj::mercury_base::mkDriver { sct_controller name device_class simulati
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/Loop2/nick 15 ${sct_controller} poll ${scobj_hpath}/Loop2/nick 15
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::mercury_base::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_base" ::scobj::mercury_base::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_base"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: power
hfactory ${scobj_hpath}/Loop2/power plain user float hfactory ${scobj_hpath}/Loop2/power plain user float
hsetprop ${scobj_hpath}/Loop2/power read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB1.H1:HTR:SIG:POWR} hsetprop ${scobj_hpath}/Loop2/power read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB1.H1:HTR:SIG:POWR}
hsetprop ${scobj_hpath}/Loop2/power rdValue ${ns}::rdValue ${scobj_hpath} hsetprop ${scobj_hpath}/Loop2/power rdValue ${ns}::rdValue ${scobj_hpath}
@ -419,11 +437,13 @@ proc ::scobj::mercury_base::mkDriver { sct_controller name device_class simulati
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/Loop2/power 5 ${sct_controller} poll ${scobj_hpath}/Loop2/power 5
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::mercury_base::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_base" ::scobj::mercury_base::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_base"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: sensor
hfactory ${scobj_hpath}/Loop2/sensor plain user float hfactory ${scobj_hpath}/Loop2/sensor plain user float
hsetprop ${scobj_hpath}/Loop2/sensor read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB6.T1:TEMP:SIG:TEMP} hsetprop ${scobj_hpath}/Loop2/sensor read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB6.T1:TEMP:SIG:TEMP}
hsetprop ${scobj_hpath}/Loop2/sensor rdValue ${ns}::rdValue ${scobj_hpath} hsetprop ${scobj_hpath}/Loop2/sensor rdValue ${ns}::rdValue ${scobj_hpath}
@ -441,11 +461,13 @@ proc ::scobj::mercury_base::mkDriver { sct_controller name device_class simulati
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/Loop2/sensor 1 ${sct_controller} poll ${scobj_hpath}/Loop2/sensor 1
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::mercury_base::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_base" ::scobj::mercury_base::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_base"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: setpoint
hfactory ${scobj_hpath}/Loop2/setpoint plain user float hfactory ${scobj_hpath}/Loop2/setpoint plain user float
hsetprop ${scobj_hpath}/Loop2/setpoint read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB6.T1:TEMP:LOOP:TSET} hsetprop ${scobj_hpath}/Loop2/setpoint read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB6.T1:TEMP:LOOP:TSET}
hsetprop ${scobj_hpath}/Loop2/setpoint rdValue ${ns}::rdValue ${scobj_hpath} hsetprop ${scobj_hpath}/Loop2/setpoint rdValue ${ns}::rdValue ${scobj_hpath}
@ -476,17 +498,21 @@ proc ::scobj::mercury_base::mkDriver { sct_controller name device_class simulati
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/Loop2/setpoint 5 ${sct_controller} poll ${scobj_hpath}/Loop2/setpoint 5
${sct_controller} write ${scobj_hpath}/Loop2/setpoint ${sct_controller} write ${scobj_hpath}/Loop2/setpoint
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::mercury_base::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_base" ::scobj::mercury_base::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_base"
hsetprop ${scobj_hpath}/%s simulated true
} }
hsetprop ${scobj_hpath}/Loop2 data "true" hsetprop ${scobj_hpath}/Loop2 data "true"
hsetprop ${scobj_hpath}/Loop2 klass "@none" hsetprop ${scobj_hpath}/Loop2 klass "@none"
hsetprop ${scobj_hpath}/Loop2 type "part" hsetprop ${scobj_hpath}/Loop2 type "part"
# End of named group: Loop2
ansto_makesctdrive ${name}_Loop2_setpoint ${scobj_hpath}/Loop2/setpoint ${scobj_hpath}/Loop2/sensor ${sct_controller} ansto_makesctdrive ${name}_Loop2_setpoint ${scobj_hpath}/Loop2/setpoint ${scobj_hpath}/Loop2/sensor ${sct_controller}
# Start of named group: Loop3
hfactory ${scobj_hpath}/Loop3 plain spy none hfactory ${scobj_hpath}/Loop3 plain spy none
# Start of var: nick
hfactory ${scobj_hpath}/Loop3/nick plain user text hfactory ${scobj_hpath}/Loop3/nick plain user text
hsetprop ${scobj_hpath}/Loop3/nick read ${ns}::getValue ${scobj_hpath} rdText {READ:DEV:DB7.T1:TEMP:NICK} hsetprop ${scobj_hpath}/Loop3/nick read ${ns}::getValue ${scobj_hpath} rdText {READ:DEV:DB7.T1:TEMP:NICK}
hsetprop ${scobj_hpath}/Loop3/nick rdText ${ns}::rdText ${scobj_hpath} hsetprop ${scobj_hpath}/Loop3/nick rdText ${ns}::rdText ${scobj_hpath}
@ -502,11 +528,13 @@ proc ::scobj::mercury_base::mkDriver { sct_controller name device_class simulati
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/Loop3/nick 15 ${sct_controller} poll ${scobj_hpath}/Loop3/nick 15
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::mercury_base::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_base" ::scobj::mercury_base::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_base"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: power
hfactory ${scobj_hpath}/Loop3/power plain user float hfactory ${scobj_hpath}/Loop3/power plain user float
hsetprop ${scobj_hpath}/Loop3/power read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB2.H1:HTR:SIG:POWR} hsetprop ${scobj_hpath}/Loop3/power read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB2.H1:HTR:SIG:POWR}
hsetprop ${scobj_hpath}/Loop3/power rdValue ${ns}::rdValue ${scobj_hpath} hsetprop ${scobj_hpath}/Loop3/power rdValue ${ns}::rdValue ${scobj_hpath}
@ -522,11 +550,13 @@ proc ::scobj::mercury_base::mkDriver { sct_controller name device_class simulati
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/Loop3/power 5 ${sct_controller} poll ${scobj_hpath}/Loop3/power 5
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::mercury_base::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_base" ::scobj::mercury_base::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_base"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: sensor
hfactory ${scobj_hpath}/Loop3/sensor plain user float hfactory ${scobj_hpath}/Loop3/sensor plain user float
hsetprop ${scobj_hpath}/Loop3/sensor read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB7.T1:TEMP:SIG:TEMP} hsetprop ${scobj_hpath}/Loop3/sensor read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB7.T1:TEMP:SIG:TEMP}
hsetprop ${scobj_hpath}/Loop3/sensor rdValue ${ns}::rdValue ${scobj_hpath} hsetprop ${scobj_hpath}/Loop3/sensor rdValue ${ns}::rdValue ${scobj_hpath}
@ -544,11 +574,13 @@ proc ::scobj::mercury_base::mkDriver { sct_controller name device_class simulati
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/Loop3/sensor 1 ${sct_controller} poll ${scobj_hpath}/Loop3/sensor 1
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::mercury_base::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_base" ::scobj::mercury_base::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_base"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: setpoint
hfactory ${scobj_hpath}/Loop3/setpoint plain user float hfactory ${scobj_hpath}/Loop3/setpoint plain user float
hsetprop ${scobj_hpath}/Loop3/setpoint read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB7.T1:TEMP:LOOP:TSET} hsetprop ${scobj_hpath}/Loop3/setpoint read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB7.T1:TEMP:LOOP:TSET}
hsetprop ${scobj_hpath}/Loop3/setpoint rdValue ${ns}::rdValue ${scobj_hpath} hsetprop ${scobj_hpath}/Loop3/setpoint rdValue ${ns}::rdValue ${scobj_hpath}
@ -579,12 +611,15 @@ proc ::scobj::mercury_base::mkDriver { sct_controller name device_class simulati
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/Loop3/setpoint 5 ${sct_controller} poll ${scobj_hpath}/Loop3/setpoint 5
${sct_controller} write ${scobj_hpath}/Loop3/setpoint ${sct_controller} write ${scobj_hpath}/Loop3/setpoint
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::mercury_base::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_base" ::scobj::mercury_base::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_base"
hsetprop ${scobj_hpath}/%s simulated true
} }
hsetprop ${scobj_hpath}/Loop3 data "true" hsetprop ${scobj_hpath}/Loop3 data "true"
hsetprop ${scobj_hpath}/Loop3 klass "@none" hsetprop ${scobj_hpath}/Loop3 klass "@none"
hsetprop ${scobj_hpath}/Loop3 type "part" hsetprop ${scobj_hpath}/Loop3 type "part"
# End of named group: Loop3
ansto_makesctdrive ${name}_Loop3_setpoint ${scobj_hpath}/Loop3/setpoint ${scobj_hpath}/Loop3/sensor ${sct_controller} ansto_makesctdrive ${name}_Loop3_setpoint ${scobj_hpath}/Loop3/setpoint ${scobj_hpath}/Loop3/sensor ${sct_controller}
hsetprop ${scobj_hpath} klass ${device_class} hsetprop ${scobj_hpath} klass ${device_class}
hsetprop ${scobj_hpath} data true hsetprop ${scobj_hpath} data true

View File

@ -149,9 +149,10 @@ proc ::scobj::mercury_level::mkDriver { sct_controller name device_class simulat
set scobj_hpath /sics/${name} set scobj_hpath /sics/${name}
# Start of named group: Level
hfactory ${scobj_hpath}/Level plain spy none hfactory ${scobj_hpath}/Level plain spy none
# Start of var: Helium
hfactory ${scobj_hpath}/Level/Helium plain user float 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 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 rdValue ${ns}::rdValue ${scobj_hpath}
@ -169,11 +170,13 @@ proc ::scobj::mercury_level::mkDriver { sct_controller name device_class simulat
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/Level/Helium 15 ${sct_controller} poll ${scobj_hpath}/Level/Helium 15
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::mercury_level::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_level" ::scobj::mercury_level::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_level"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: Nitrogen
hfactory ${scobj_hpath}/Level/Nitrogen plain user float 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 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 rdValue ${ns}::rdValue ${scobj_hpath}
@ -191,12 +194,15 @@ proc ::scobj::mercury_level::mkDriver { sct_controller name device_class simulat
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/Level/Nitrogen 15 ${sct_controller} poll ${scobj_hpath}/Level/Nitrogen 15
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::mercury_level::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_level" ::scobj::mercury_level::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_level"
hsetprop ${scobj_hpath}/%s simulated true
} }
hsetprop ${scobj_hpath}/Level data "true" hsetprop ${scobj_hpath}/Level data "true"
hsetprop ${scobj_hpath}/Level klass "@none" hsetprop ${scobj_hpath}/Level klass "@none"
hsetprop ${scobj_hpath}/Level type "part" hsetprop ${scobj_hpath}/Level type "part"
# End of named group: Level
hsetprop ${scobj_hpath} klass ${device_class} hsetprop ${scobj_hpath} klass ${device_class}
hsetprop ${scobj_hpath} data true hsetprop ${scobj_hpath} data true
hsetprop ${scobj_hpath} debug_threshold 5 hsetprop ${scobj_hpath} debug_threshold 5

View File

@ -86,7 +86,12 @@ proc ::scobj::mercury_pres::checkstatus {tc_root} {
# checkstatus hook code goes here # checkstatus hook code goes here
if {[sct driving]} { if {[sct driving]} {
set sp "[sct target]" set sp "[sct target]"
set pv "[hval ${tc_root}/[sct driveable]]" if {[hpropexists [sct] simulated] && [sct simulated] == "true"} {
set pv "${sp}"
hset ${tc_root}/[sct driveable] ${sp}
}
set pv "[hval ${tc_root}/[sct driveable]]"
}
if { abs(${pv} - ${sp}) <= [sct tolerance] } { if { abs(${pv} - ${sp}) <= [sct tolerance] } {
if { [hpropexists [sct] settle_time] } { if { [hpropexists [sct] settle_time] } {
if { [hpropexists [sct] settle_time_start] } { if { [hpropexists [sct] settle_time_start] } {
@ -284,9 +289,10 @@ proc ::scobj::mercury_pres::mkDriver { sct_controller name device_class simulati
set scobj_hpath /sics/${name} set scobj_hpath /sics/${name}
# Start of named group: Loop8
hfactory ${scobj_hpath}/Loop8 plain spy none hfactory ${scobj_hpath}/Loop8 plain spy none
# Start of var: nick
hfactory ${scobj_hpath}/Loop8/nick plain user text hfactory ${scobj_hpath}/Loop8/nick plain user text
hsetprop ${scobj_hpath}/Loop8/nick read ${ns}::getValue ${scobj_hpath} rdText {READ:DEV:DB8.P1:PRES:NICK} hsetprop ${scobj_hpath}/Loop8/nick read ${ns}::getValue ${scobj_hpath} rdText {READ:DEV:DB8.P1:PRES:NICK}
hsetprop ${scobj_hpath}/Loop8/nick rdText ${ns}::rdText ${scobj_hpath} hsetprop ${scobj_hpath}/Loop8/nick rdText ${ns}::rdText ${scobj_hpath}
@ -302,11 +308,13 @@ proc ::scobj::mercury_pres::mkDriver { sct_controller name device_class simulati
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/Loop8/nick 15 ${sct_controller} poll ${scobj_hpath}/Loop8/nick 15
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::mercury_pres::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_pres" ::scobj::mercury_pres::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_pres"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: sensor
hfactory ${scobj_hpath}/Loop8/sensor plain user float hfactory ${scobj_hpath}/Loop8/sensor plain user float
hsetprop ${scobj_hpath}/Loop8/sensor read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB8.P1:PRES:SIG:PRES} hsetprop ${scobj_hpath}/Loop8/sensor read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB8.P1:PRES:SIG:PRES}
hsetprop ${scobj_hpath}/Loop8/sensor rdValue ${ns}::rdValue ${scobj_hpath} hsetprop ${scobj_hpath}/Loop8/sensor rdValue ${ns}::rdValue ${scobj_hpath}
@ -325,11 +333,13 @@ proc ::scobj::mercury_pres::mkDriver { sct_controller name device_class simulati
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/Loop8/sensor 1 ${sct_controller} poll ${scobj_hpath}/Loop8/sensor 1
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::mercury_pres::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_pres" ::scobj::mercury_pres::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_pres"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: setpoint
hfactory ${scobj_hpath}/Loop8/setpoint plain user float hfactory ${scobj_hpath}/Loop8/setpoint plain user float
hsetprop ${scobj_hpath}/Loop8/setpoint read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB8.P1:PRES:LOOP:TSET} hsetprop ${scobj_hpath}/Loop8/setpoint read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB8.P1:PRES:LOOP:TSET}
hsetprop ${scobj_hpath}/Loop8/setpoint rdValue ${ns}::rdValue ${scobj_hpath} hsetprop ${scobj_hpath}/Loop8/setpoint rdValue ${ns}::rdValue ${scobj_hpath}
@ -361,12 +371,15 @@ proc ::scobj::mercury_pres::mkDriver { sct_controller name device_class simulati
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/Loop8/setpoint 5 ${sct_controller} poll ${scobj_hpath}/Loop8/setpoint 5
${sct_controller} write ${scobj_hpath}/Loop8/setpoint ${sct_controller} write ${scobj_hpath}/Loop8/setpoint
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::mercury_pres::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_pres" ::scobj::mercury_pres::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_pres"
hsetprop ${scobj_hpath}/%s simulated true
} }
hsetprop ${scobj_hpath}/Loop8 data "true" hsetprop ${scobj_hpath}/Loop8 data "true"
hsetprop ${scobj_hpath}/Loop8 klass "@none" hsetprop ${scobj_hpath}/Loop8 klass "@none"
hsetprop ${scobj_hpath}/Loop8 type "part" hsetprop ${scobj_hpath}/Loop8 type "part"
# End of named group: Loop8
ansto_makesctdrive ${name}_Loop8_setpoint ${scobj_hpath}/Loop8/setpoint ${scobj_hpath}/Loop8/sensor ${sct_controller} ansto_makesctdrive ${name}_Loop8_setpoint ${scobj_hpath}/Loop8/setpoint ${scobj_hpath}/Loop8/sensor ${sct_controller}
hsetprop ${scobj_hpath} klass ${device_class} hsetprop ${scobj_hpath} klass ${device_class}
hsetprop ${scobj_hpath} data true hsetprop ${scobj_hpath} data true

View File

@ -86,7 +86,12 @@ proc ::scobj::mercury_scpi::checkstatus {tc_root} {
# checkstatus hook code goes here # checkstatus hook code goes here
if {[sct driving]} { if {[sct driving]} {
set sp "[sct target]" set sp "[sct target]"
set pv "[hval ${tc_root}/[sct driveable]]" if {[hpropexists [sct] simulated] && [sct simulated] == "true"} {
set pv "${sp}"
hset ${tc_root}/[sct driveable] ${sp}
}
set pv "[hval ${tc_root}/[sct driveable]]"
}
if { abs(${pv} - ${sp}) <= [sct tolerance] } { if { abs(${pv} - ${sp}) <= [sct tolerance] } {
if { [hpropexists [sct] settle_time] } { if { [hpropexists [sct] settle_time] } {
if { [hpropexists [sct] settle_time_start] } { if { [hpropexists [sct] settle_time_start] } {
@ -312,9 +317,10 @@ proc ::scobj::mercury_scpi::mkDriver { sct_controller name device_class simulati
set scobj_hpath /sics/${name} set scobj_hpath /sics/${name}
# Start of named group: Level
hfactory ${scobj_hpath}/Level plain spy none hfactory ${scobj_hpath}/Level plain spy none
# Start of var: Helium
hfactory ${scobj_hpath}/Level/Helium plain user float 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 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 rdValue ${ns}::rdValue ${scobj_hpath}
@ -332,11 +338,13 @@ proc ::scobj::mercury_scpi::mkDriver { sct_controller name device_class simulati
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/Level/Helium 15 ${sct_controller} poll ${scobj_hpath}/Level/Helium 15
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::mercury_scpi::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_scpi" ::scobj::mercury_scpi::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_scpi"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: Nitrogen
hfactory ${scobj_hpath}/Level/Nitrogen plain user float 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 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 rdValue ${ns}::rdValue ${scobj_hpath}
@ -354,16 +362,20 @@ proc ::scobj::mercury_scpi::mkDriver { sct_controller name device_class simulati
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/Level/Nitrogen 15 ${sct_controller} poll ${scobj_hpath}/Level/Nitrogen 15
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::mercury_scpi::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_scpi" ::scobj::mercury_scpi::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_scpi"
hsetprop ${scobj_hpath}/%s simulated true
} }
hsetprop ${scobj_hpath}/Level data "true" hsetprop ${scobj_hpath}/Level data "true"
hsetprop ${scobj_hpath}/Level klass "@none" hsetprop ${scobj_hpath}/Level klass "@none"
hsetprop ${scobj_hpath}/Level type "part" hsetprop ${scobj_hpath}/Level type "part"
# End of named group: Level
# Start of named group: Loop1
hfactory ${scobj_hpath}/Loop1 plain spy none hfactory ${scobj_hpath}/Loop1 plain spy none
# Start of var: nick
hfactory ${scobj_hpath}/Loop1/nick plain user text hfactory ${scobj_hpath}/Loop1/nick plain user text
hsetprop ${scobj_hpath}/Loop1/nick read ${ns}::getValue ${scobj_hpath} rdText {READ:DEV:MB1.T1:TEMP:NICK} hsetprop ${scobj_hpath}/Loop1/nick read ${ns}::getValue ${scobj_hpath} rdText {READ:DEV:MB1.T1:TEMP:NICK}
hsetprop ${scobj_hpath}/Loop1/nick rdText ${ns}::rdText ${scobj_hpath} hsetprop ${scobj_hpath}/Loop1/nick rdText ${ns}::rdText ${scobj_hpath}
@ -379,11 +391,13 @@ proc ::scobj::mercury_scpi::mkDriver { sct_controller name device_class simulati
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/Loop1/nick 15 ${sct_controller} poll ${scobj_hpath}/Loop1/nick 15
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::mercury_scpi::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_scpi" ::scobj::mercury_scpi::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_scpi"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: power
hfactory ${scobj_hpath}/Loop1/power plain user float hfactory ${scobj_hpath}/Loop1/power plain user float
hsetprop ${scobj_hpath}/Loop1/power read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:MB0.H1:HTR:SIG:POWR} hsetprop ${scobj_hpath}/Loop1/power read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:MB0.H1:HTR:SIG:POWR}
hsetprop ${scobj_hpath}/Loop1/power rdValue ${ns}::rdValue ${scobj_hpath} hsetprop ${scobj_hpath}/Loop1/power rdValue ${ns}::rdValue ${scobj_hpath}
@ -399,11 +413,13 @@ proc ::scobj::mercury_scpi::mkDriver { sct_controller name device_class simulati
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/Loop1/power 5 ${sct_controller} poll ${scobj_hpath}/Loop1/power 5
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::mercury_scpi::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_scpi" ::scobj::mercury_scpi::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_scpi"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: sensor
hfactory ${scobj_hpath}/Loop1/sensor plain user float hfactory ${scobj_hpath}/Loop1/sensor plain user float
hsetprop ${scobj_hpath}/Loop1/sensor read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:MB1.T1:TEMP:SIG:TEMP} hsetprop ${scobj_hpath}/Loop1/sensor read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:MB1.T1:TEMP:SIG:TEMP}
hsetprop ${scobj_hpath}/Loop1/sensor rdValue ${ns}::rdValue ${scobj_hpath} hsetprop ${scobj_hpath}/Loop1/sensor rdValue ${ns}::rdValue ${scobj_hpath}
@ -421,11 +437,13 @@ proc ::scobj::mercury_scpi::mkDriver { sct_controller name device_class simulati
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/Loop1/sensor 1 ${sct_controller} poll ${scobj_hpath}/Loop1/sensor 1
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::mercury_scpi::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_scpi" ::scobj::mercury_scpi::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_scpi"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: setpoint
hfactory ${scobj_hpath}/Loop1/setpoint plain user float hfactory ${scobj_hpath}/Loop1/setpoint plain user float
hsetprop ${scobj_hpath}/Loop1/setpoint read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:MB1.T1:TEMP:LOOP:TSET} hsetprop ${scobj_hpath}/Loop1/setpoint read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:MB1.T1:TEMP:LOOP:TSET}
hsetprop ${scobj_hpath}/Loop1/setpoint rdValue ${ns}::rdValue ${scobj_hpath} hsetprop ${scobj_hpath}/Loop1/setpoint rdValue ${ns}::rdValue ${scobj_hpath}
@ -456,17 +474,21 @@ proc ::scobj::mercury_scpi::mkDriver { sct_controller name device_class simulati
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/Loop1/setpoint 5 ${sct_controller} poll ${scobj_hpath}/Loop1/setpoint 5
${sct_controller} write ${scobj_hpath}/Loop1/setpoint ${sct_controller} write ${scobj_hpath}/Loop1/setpoint
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::mercury_scpi::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_scpi" ::scobj::mercury_scpi::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_scpi"
hsetprop ${scobj_hpath}/%s simulated true
} }
hsetprop ${scobj_hpath}/Loop1 data "true" hsetprop ${scobj_hpath}/Loop1 data "true"
hsetprop ${scobj_hpath}/Loop1 klass "@none" hsetprop ${scobj_hpath}/Loop1 klass "@none"
hsetprop ${scobj_hpath}/Loop1 type "part" hsetprop ${scobj_hpath}/Loop1 type "part"
# End of named group: Loop1
ansto_makesctdrive ${name}_Loop1_setpoint ${scobj_hpath}/Loop1/setpoint ${scobj_hpath}/Loop1/sensor ${sct_controller} ansto_makesctdrive ${name}_Loop1_setpoint ${scobj_hpath}/Loop1/setpoint ${scobj_hpath}/Loop1/sensor ${sct_controller}
# Start of named group: Loop2
hfactory ${scobj_hpath}/Loop2 plain spy none hfactory ${scobj_hpath}/Loop2 plain spy none
# Start of var: nick
hfactory ${scobj_hpath}/Loop2/nick plain user text hfactory ${scobj_hpath}/Loop2/nick plain user text
hsetprop ${scobj_hpath}/Loop2/nick read ${ns}::getValue ${scobj_hpath} rdText {READ:DEV:DB6.T1:TEMP:NICK} hsetprop ${scobj_hpath}/Loop2/nick read ${ns}::getValue ${scobj_hpath} rdText {READ:DEV:DB6.T1:TEMP:NICK}
hsetprop ${scobj_hpath}/Loop2/nick rdText ${ns}::rdText ${scobj_hpath} hsetprop ${scobj_hpath}/Loop2/nick rdText ${ns}::rdText ${scobj_hpath}
@ -482,11 +504,13 @@ proc ::scobj::mercury_scpi::mkDriver { sct_controller name device_class simulati
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/Loop2/nick 15 ${sct_controller} poll ${scobj_hpath}/Loop2/nick 15
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::mercury_scpi::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_scpi" ::scobj::mercury_scpi::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_scpi"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: power
hfactory ${scobj_hpath}/Loop2/power plain user float hfactory ${scobj_hpath}/Loop2/power plain user float
hsetprop ${scobj_hpath}/Loop2/power read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB1.H1:HTR:SIG:POWR} hsetprop ${scobj_hpath}/Loop2/power read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB1.H1:HTR:SIG:POWR}
hsetprop ${scobj_hpath}/Loop2/power rdValue ${ns}::rdValue ${scobj_hpath} hsetprop ${scobj_hpath}/Loop2/power rdValue ${ns}::rdValue ${scobj_hpath}
@ -502,11 +526,13 @@ proc ::scobj::mercury_scpi::mkDriver { sct_controller name device_class simulati
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/Loop2/power 5 ${sct_controller} poll ${scobj_hpath}/Loop2/power 5
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::mercury_scpi::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_scpi" ::scobj::mercury_scpi::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_scpi"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: sensor
hfactory ${scobj_hpath}/Loop2/sensor plain user float hfactory ${scobj_hpath}/Loop2/sensor plain user float
hsetprop ${scobj_hpath}/Loop2/sensor read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB6.T1:TEMP:SIG:TEMP} hsetprop ${scobj_hpath}/Loop2/sensor read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB6.T1:TEMP:SIG:TEMP}
hsetprop ${scobj_hpath}/Loop2/sensor rdValue ${ns}::rdValue ${scobj_hpath} hsetprop ${scobj_hpath}/Loop2/sensor rdValue ${ns}::rdValue ${scobj_hpath}
@ -524,11 +550,13 @@ proc ::scobj::mercury_scpi::mkDriver { sct_controller name device_class simulati
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/Loop2/sensor 1 ${sct_controller} poll ${scobj_hpath}/Loop2/sensor 1
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::mercury_scpi::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_scpi" ::scobj::mercury_scpi::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_scpi"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: setpoint
hfactory ${scobj_hpath}/Loop2/setpoint plain user float hfactory ${scobj_hpath}/Loop2/setpoint plain user float
hsetprop ${scobj_hpath}/Loop2/setpoint read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB6.T1:TEMP:LOOP:TSET} hsetprop ${scobj_hpath}/Loop2/setpoint read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB6.T1:TEMP:LOOP:TSET}
hsetprop ${scobj_hpath}/Loop2/setpoint rdValue ${ns}::rdValue ${scobj_hpath} hsetprop ${scobj_hpath}/Loop2/setpoint rdValue ${ns}::rdValue ${scobj_hpath}
@ -559,17 +587,21 @@ proc ::scobj::mercury_scpi::mkDriver { sct_controller name device_class simulati
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/Loop2/setpoint 5 ${sct_controller} poll ${scobj_hpath}/Loop2/setpoint 5
${sct_controller} write ${scobj_hpath}/Loop2/setpoint ${sct_controller} write ${scobj_hpath}/Loop2/setpoint
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::mercury_scpi::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_scpi" ::scobj::mercury_scpi::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_scpi"
hsetprop ${scobj_hpath}/%s simulated true
} }
hsetprop ${scobj_hpath}/Loop2 data "true" hsetprop ${scobj_hpath}/Loop2 data "true"
hsetprop ${scobj_hpath}/Loop2 klass "@none" hsetprop ${scobj_hpath}/Loop2 klass "@none"
hsetprop ${scobj_hpath}/Loop2 type "part" hsetprop ${scobj_hpath}/Loop2 type "part"
# End of named group: Loop2
ansto_makesctdrive ${name}_Loop2_setpoint ${scobj_hpath}/Loop2/setpoint ${scobj_hpath}/Loop2/sensor ${sct_controller} ansto_makesctdrive ${name}_Loop2_setpoint ${scobj_hpath}/Loop2/setpoint ${scobj_hpath}/Loop2/sensor ${sct_controller}
# Start of named group: Loop3
hfactory ${scobj_hpath}/Loop3 plain spy none hfactory ${scobj_hpath}/Loop3 plain spy none
# Start of var: nick
hfactory ${scobj_hpath}/Loop3/nick plain user text hfactory ${scobj_hpath}/Loop3/nick plain user text
hsetprop ${scobj_hpath}/Loop3/nick read ${ns}::getValue ${scobj_hpath} rdText {READ:DEV:DB7.T1:TEMP:NICK} hsetprop ${scobj_hpath}/Loop3/nick read ${ns}::getValue ${scobj_hpath} rdText {READ:DEV:DB7.T1:TEMP:NICK}
hsetprop ${scobj_hpath}/Loop3/nick rdText ${ns}::rdText ${scobj_hpath} hsetprop ${scobj_hpath}/Loop3/nick rdText ${ns}::rdText ${scobj_hpath}
@ -585,11 +617,13 @@ proc ::scobj::mercury_scpi::mkDriver { sct_controller name device_class simulati
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/Loop3/nick 15 ${sct_controller} poll ${scobj_hpath}/Loop3/nick 15
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::mercury_scpi::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_scpi" ::scobj::mercury_scpi::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_scpi"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: power
hfactory ${scobj_hpath}/Loop3/power plain user float hfactory ${scobj_hpath}/Loop3/power plain user float
hsetprop ${scobj_hpath}/Loop3/power read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB2.H1:HTR:SIG:POWR} hsetprop ${scobj_hpath}/Loop3/power read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB2.H1:HTR:SIG:POWR}
hsetprop ${scobj_hpath}/Loop3/power rdValue ${ns}::rdValue ${scobj_hpath} hsetprop ${scobj_hpath}/Loop3/power rdValue ${ns}::rdValue ${scobj_hpath}
@ -605,11 +639,13 @@ proc ::scobj::mercury_scpi::mkDriver { sct_controller name device_class simulati
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/Loop3/power 5 ${sct_controller} poll ${scobj_hpath}/Loop3/power 5
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::mercury_scpi::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_scpi" ::scobj::mercury_scpi::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_scpi"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: sensor
hfactory ${scobj_hpath}/Loop3/sensor plain user float hfactory ${scobj_hpath}/Loop3/sensor plain user float
hsetprop ${scobj_hpath}/Loop3/sensor read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB7.T1:TEMP:SIG:TEMP} hsetprop ${scobj_hpath}/Loop3/sensor read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB7.T1:TEMP:SIG:TEMP}
hsetprop ${scobj_hpath}/Loop3/sensor rdValue ${ns}::rdValue ${scobj_hpath} hsetprop ${scobj_hpath}/Loop3/sensor rdValue ${ns}::rdValue ${scobj_hpath}
@ -627,11 +663,13 @@ proc ::scobj::mercury_scpi::mkDriver { sct_controller name device_class simulati
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/Loop3/sensor 1 ${sct_controller} poll ${scobj_hpath}/Loop3/sensor 1
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::mercury_scpi::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_scpi" ::scobj::mercury_scpi::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_scpi"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: setpoint
hfactory ${scobj_hpath}/Loop3/setpoint plain user float hfactory ${scobj_hpath}/Loop3/setpoint plain user float
hsetprop ${scobj_hpath}/Loop3/setpoint read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB7.T1:TEMP:LOOP:TSET} hsetprop ${scobj_hpath}/Loop3/setpoint read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB7.T1:TEMP:LOOP:TSET}
hsetprop ${scobj_hpath}/Loop3/setpoint rdValue ${ns}::rdValue ${scobj_hpath} hsetprop ${scobj_hpath}/Loop3/setpoint rdValue ${ns}::rdValue ${scobj_hpath}
@ -662,17 +700,21 @@ proc ::scobj::mercury_scpi::mkDriver { sct_controller name device_class simulati
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/Loop3/setpoint 5 ${sct_controller} poll ${scobj_hpath}/Loop3/setpoint 5
${sct_controller} write ${scobj_hpath}/Loop3/setpoint ${sct_controller} write ${scobj_hpath}/Loop3/setpoint
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::mercury_scpi::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_scpi" ::scobj::mercury_scpi::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_scpi"
hsetprop ${scobj_hpath}/%s simulated true
} }
hsetprop ${scobj_hpath}/Loop3 data "true" hsetprop ${scobj_hpath}/Loop3 data "true"
hsetprop ${scobj_hpath}/Loop3 klass "@none" hsetprop ${scobj_hpath}/Loop3 klass "@none"
hsetprop ${scobj_hpath}/Loop3 type "part" hsetprop ${scobj_hpath}/Loop3 type "part"
# End of named group: Loop3
ansto_makesctdrive ${name}_Loop3_setpoint ${scobj_hpath}/Loop3/setpoint ${scobj_hpath}/Loop3/sensor ${sct_controller} ansto_makesctdrive ${name}_Loop3_setpoint ${scobj_hpath}/Loop3/setpoint ${scobj_hpath}/Loop3/sensor ${sct_controller}
# Start of named group: Loop4
hfactory ${scobj_hpath}/Loop4 plain spy none hfactory ${scobj_hpath}/Loop4 plain spy none
# Start of var: nick
hfactory ${scobj_hpath}/Loop4/nick plain user text hfactory ${scobj_hpath}/Loop4/nick plain user text
hsetprop ${scobj_hpath}/Loop4/nick read ${ns}::getValue ${scobj_hpath} rdText {READ:DEV:DB8.T1:TEMP:NICK} hsetprop ${scobj_hpath}/Loop4/nick read ${ns}::getValue ${scobj_hpath} rdText {READ:DEV:DB8.T1:TEMP:NICK}
hsetprop ${scobj_hpath}/Loop4/nick rdText ${ns}::rdText ${scobj_hpath} hsetprop ${scobj_hpath}/Loop4/nick rdText ${ns}::rdText ${scobj_hpath}
@ -688,11 +730,13 @@ proc ::scobj::mercury_scpi::mkDriver { sct_controller name device_class simulati
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/Loop4/nick 15 ${sct_controller} poll ${scobj_hpath}/Loop4/nick 15
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::mercury_scpi::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_scpi" ::scobj::mercury_scpi::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_scpi"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: power
hfactory ${scobj_hpath}/Loop4/power plain user float hfactory ${scobj_hpath}/Loop4/power plain user float
hsetprop ${scobj_hpath}/Loop4/power read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB3.H1:HTR:SIG:POWR} hsetprop ${scobj_hpath}/Loop4/power read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB3.H1:HTR:SIG:POWR}
hsetprop ${scobj_hpath}/Loop4/power rdValue ${ns}::rdValue ${scobj_hpath} hsetprop ${scobj_hpath}/Loop4/power rdValue ${ns}::rdValue ${scobj_hpath}
@ -708,11 +752,13 @@ proc ::scobj::mercury_scpi::mkDriver { sct_controller name device_class simulati
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/Loop4/power 5 ${sct_controller} poll ${scobj_hpath}/Loop4/power 5
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::mercury_scpi::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_scpi" ::scobj::mercury_scpi::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_scpi"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: sensor
hfactory ${scobj_hpath}/Loop4/sensor plain user float hfactory ${scobj_hpath}/Loop4/sensor plain user float
hsetprop ${scobj_hpath}/Loop4/sensor read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB8.T1:TEMP:SIG:TEMP} hsetprop ${scobj_hpath}/Loop4/sensor read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB8.T1:TEMP:SIG:TEMP}
hsetprop ${scobj_hpath}/Loop4/sensor rdValue ${ns}::rdValue ${scobj_hpath} hsetprop ${scobj_hpath}/Loop4/sensor rdValue ${ns}::rdValue ${scobj_hpath}
@ -730,11 +776,13 @@ proc ::scobj::mercury_scpi::mkDriver { sct_controller name device_class simulati
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/Loop4/sensor 1 ${sct_controller} poll ${scobj_hpath}/Loop4/sensor 1
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::mercury_scpi::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_scpi" ::scobj::mercury_scpi::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_scpi"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: setpoint
hfactory ${scobj_hpath}/Loop4/setpoint plain user float hfactory ${scobj_hpath}/Loop4/setpoint plain user float
hsetprop ${scobj_hpath}/Loop4/setpoint read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB8.T1:TEMP:LOOP:TSET} hsetprop ${scobj_hpath}/Loop4/setpoint read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB8.T1:TEMP:LOOP:TSET}
hsetprop ${scobj_hpath}/Loop4/setpoint rdValue ${ns}::rdValue ${scobj_hpath} hsetprop ${scobj_hpath}/Loop4/setpoint rdValue ${ns}::rdValue ${scobj_hpath}
@ -765,17 +813,21 @@ proc ::scobj::mercury_scpi::mkDriver { sct_controller name device_class simulati
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/Loop4/setpoint 5 ${sct_controller} poll ${scobj_hpath}/Loop4/setpoint 5
${sct_controller} write ${scobj_hpath}/Loop4/setpoint ${sct_controller} write ${scobj_hpath}/Loop4/setpoint
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::mercury_scpi::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_scpi" ::scobj::mercury_scpi::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_scpi"
hsetprop ${scobj_hpath}/%s simulated true
} }
hsetprop ${scobj_hpath}/Loop4 data "true" hsetprop ${scobj_hpath}/Loop4 data "true"
hsetprop ${scobj_hpath}/Loop4 klass "@none" hsetprop ${scobj_hpath}/Loop4 klass "@none"
hsetprop ${scobj_hpath}/Loop4 type "part" hsetprop ${scobj_hpath}/Loop4 type "part"
# End of named group: Loop4
ansto_makesctdrive ${name}_Loop4_setpoint ${scobj_hpath}/Loop4/setpoint ${scobj_hpath}/Loop4/sensor ${sct_controller} ansto_makesctdrive ${name}_Loop4_setpoint ${scobj_hpath}/Loop4/setpoint ${scobj_hpath}/Loop4/sensor ${sct_controller}
# Start of named group: Valve
hfactory ${scobj_hpath}/Valve plain spy none hfactory ${scobj_hpath}/Valve plain spy none
# Start of var: sensor
hfactory ${scobj_hpath}/Valve/sensor plain user float 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:OPEN} hsetprop ${scobj_hpath}/Valve/sensor read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB4.G1:AUX:SIG:OPEN}
hsetprop ${scobj_hpath}/Valve/sensor rdValue ${ns}::rdValue ${scobj_hpath} hsetprop ${scobj_hpath}/Valve/sensor rdValue ${ns}::rdValue ${scobj_hpath}
@ -793,11 +845,13 @@ proc ::scobj::mercury_scpi::mkDriver { sct_controller name device_class simulati
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/Valve/sensor 5 ${sct_controller} poll ${scobj_hpath}/Valve/sensor 5
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::mercury_scpi::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_scpi" ::scobj::mercury_scpi::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_scpi"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: setpoint
hfactory ${scobj_hpath}/Valve/setpoint plain user float 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 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 noResponse ${ns}::noResponse ${scobj_hpath}
@ -825,12 +879,15 @@ proc ::scobj::mercury_scpi::mkDriver { sct_controller name device_class simulati
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} write ${scobj_hpath}/Valve/setpoint ${sct_controller} write ${scobj_hpath}/Valve/setpoint
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::mercury_scpi::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_scpi" ::scobj::mercury_scpi::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_scpi"
hsetprop ${scobj_hpath}/%s simulated true
} }
hsetprop ${scobj_hpath}/Valve data "true" hsetprop ${scobj_hpath}/Valve data "true"
hsetprop ${scobj_hpath}/Valve klass "@none" hsetprop ${scobj_hpath}/Valve klass "@none"
hsetprop ${scobj_hpath}/Valve type "part" hsetprop ${scobj_hpath}/Valve type "part"
# End of named group: Valve
ansto_makesctdrive ${name}_Valve_setpoint ${scobj_hpath}/Valve/setpoint ${scobj_hpath}/Valve/sensor ${sct_controller} ansto_makesctdrive ${name}_Valve_setpoint ${scobj_hpath}/Valve/setpoint ${scobj_hpath}/Valve/sensor ${sct_controller}
hsetprop ${scobj_hpath} klass ${device_class} hsetprop ${scobj_hpath} klass ${device_class}
hsetprop ${scobj_hpath} data true hsetprop ${scobj_hpath} data true

View File

@ -86,7 +86,12 @@ proc ::scobj::mercury_temp::checkstatus {tc_root} {
# checkstatus hook code goes here # checkstatus hook code goes here
if {[sct driving]} { if {[sct driving]} {
set sp "[sct target]" set sp "[sct target]"
set pv "[hval ${tc_root}/[sct driveable]]" if {[hpropexists [sct] simulated] && [sct simulated] == "true"} {
set pv "${sp}"
hset ${tc_root}/[sct driveable] ${sp}
}
set pv "[hval ${tc_root}/[sct driveable]]"
}
if { abs(${pv} - ${sp}) <= [sct tolerance] } { if { abs(${pv} - ${sp}) <= [sct tolerance] } {
if { [hpropexists [sct] settle_time] } { if { [hpropexists [sct] settle_time] } {
if { [hpropexists [sct] settle_time_start] } { if { [hpropexists [sct] settle_time_start] } {
@ -278,9 +283,10 @@ proc ::scobj::mercury_temp::mkDriver { sct_controller name device_class simulati
set scobj_hpath /sics/${name} set scobj_hpath /sics/${name}
# Start of named group: Loop4
hfactory ${scobj_hpath}/Loop4 plain spy none hfactory ${scobj_hpath}/Loop4 plain spy none
# Start of var: nick
hfactory ${scobj_hpath}/Loop4/nick plain user text hfactory ${scobj_hpath}/Loop4/nick plain user text
hsetprop ${scobj_hpath}/Loop4/nick read ${ns}::getValue ${scobj_hpath} rdText {READ:DEV:DB8.T1:TEMP:NICK} hsetprop ${scobj_hpath}/Loop4/nick read ${ns}::getValue ${scobj_hpath} rdText {READ:DEV:DB8.T1:TEMP:NICK}
hsetprop ${scobj_hpath}/Loop4/nick rdText ${ns}::rdText ${scobj_hpath} hsetprop ${scobj_hpath}/Loop4/nick rdText ${ns}::rdText ${scobj_hpath}
@ -296,11 +302,13 @@ proc ::scobj::mercury_temp::mkDriver { sct_controller name device_class simulati
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/Loop4/nick 15 ${sct_controller} poll ${scobj_hpath}/Loop4/nick 15
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::mercury_temp::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_temp" ::scobj::mercury_temp::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_temp"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: power
hfactory ${scobj_hpath}/Loop4/power plain user float hfactory ${scobj_hpath}/Loop4/power plain user float
hsetprop ${scobj_hpath}/Loop4/power read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB3.H1:HTR:SIG:POWR} hsetprop ${scobj_hpath}/Loop4/power read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB3.H1:HTR:SIG:POWR}
hsetprop ${scobj_hpath}/Loop4/power rdValue ${ns}::rdValue ${scobj_hpath} hsetprop ${scobj_hpath}/Loop4/power rdValue ${ns}::rdValue ${scobj_hpath}
@ -316,11 +324,13 @@ proc ::scobj::mercury_temp::mkDriver { sct_controller name device_class simulati
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/Loop4/power 5 ${sct_controller} poll ${scobj_hpath}/Loop4/power 5
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::mercury_temp::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_temp" ::scobj::mercury_temp::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_temp"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: sensor
hfactory ${scobj_hpath}/Loop4/sensor plain user float hfactory ${scobj_hpath}/Loop4/sensor plain user float
hsetprop ${scobj_hpath}/Loop4/sensor read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB8.T1:TEMP:SIG:TEMP} hsetprop ${scobj_hpath}/Loop4/sensor read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB8.T1:TEMP:SIG:TEMP}
hsetprop ${scobj_hpath}/Loop4/sensor rdValue ${ns}::rdValue ${scobj_hpath} hsetprop ${scobj_hpath}/Loop4/sensor rdValue ${ns}::rdValue ${scobj_hpath}
@ -338,11 +348,13 @@ proc ::scobj::mercury_temp::mkDriver { sct_controller name device_class simulati
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/Loop4/sensor 1 ${sct_controller} poll ${scobj_hpath}/Loop4/sensor 1
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::mercury_temp::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_temp" ::scobj::mercury_temp::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_temp"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: setpoint
hfactory ${scobj_hpath}/Loop4/setpoint plain user float hfactory ${scobj_hpath}/Loop4/setpoint plain user float
hsetprop ${scobj_hpath}/Loop4/setpoint read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB8.T1:TEMP:LOOP:TSET} hsetprop ${scobj_hpath}/Loop4/setpoint read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB8.T1:TEMP:LOOP:TSET}
hsetprop ${scobj_hpath}/Loop4/setpoint rdValue ${ns}::rdValue ${scobj_hpath} hsetprop ${scobj_hpath}/Loop4/setpoint rdValue ${ns}::rdValue ${scobj_hpath}
@ -373,12 +385,15 @@ proc ::scobj::mercury_temp::mkDriver { sct_controller name device_class simulati
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/Loop4/setpoint 5 ${sct_controller} poll ${scobj_hpath}/Loop4/setpoint 5
${sct_controller} write ${scobj_hpath}/Loop4/setpoint ${sct_controller} write ${scobj_hpath}/Loop4/setpoint
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::mercury_temp::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_temp" ::scobj::mercury_temp::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_temp"
hsetprop ${scobj_hpath}/%s simulated true
} }
hsetprop ${scobj_hpath}/Loop4 data "true" hsetprop ${scobj_hpath}/Loop4 data "true"
hsetprop ${scobj_hpath}/Loop4 klass "@none" hsetprop ${scobj_hpath}/Loop4 klass "@none"
hsetprop ${scobj_hpath}/Loop4 type "part" hsetprop ${scobj_hpath}/Loop4 type "part"
# End of named group: Loop4
ansto_makesctdrive ${name}_Loop4_setpoint ${scobj_hpath}/Loop4/setpoint ${scobj_hpath}/Loop4/sensor ${sct_controller} ansto_makesctdrive ${name}_Loop4_setpoint ${scobj_hpath}/Loop4/setpoint ${scobj_hpath}/Loop4/sensor ${sct_controller}
hsetprop ${scobj_hpath} klass ${device_class} hsetprop ${scobj_hpath} klass ${device_class}
hsetprop ${scobj_hpath} data true hsetprop ${scobj_hpath} data true

View File

@ -86,7 +86,12 @@ proc ::scobj::mercury_valve::checkstatus {tc_root} {
# checkstatus hook code goes here # checkstatus hook code goes here
if {[sct driving]} { if {[sct driving]} {
set sp "[sct target]" set sp "[sct target]"
set pv "[hval ${tc_root}/[sct driveable]]" if {[hpropexists [sct] simulated] && [sct simulated] == "true"} {
set pv "${sp}"
hset ${tc_root}/[sct driveable] ${sp}
}
set pv "[hval ${tc_root}/[sct driveable]]"
}
if { abs(${pv} - ${sp}) <= [sct tolerance] } { if { abs(${pv} - ${sp}) <= [sct tolerance] } {
if { [hpropexists [sct] settle_time] } { if { [hpropexists [sct] settle_time] } {
if { [hpropexists [sct] settle_time_start] } { if { [hpropexists [sct] settle_time_start] } {
@ -256,9 +261,10 @@ proc ::scobj::mercury_valve::mkDriver { sct_controller name device_class simulat
set scobj_hpath /sics/${name} set scobj_hpath /sics/${name}
# Start of named group: Valve
hfactory ${scobj_hpath}/Valve plain spy none hfactory ${scobj_hpath}/Valve plain spy none
# Start of var: sensor
hfactory ${scobj_hpath}/Valve/sensor plain user float 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:OPEN} hsetprop ${scobj_hpath}/Valve/sensor read ${ns}::getValue ${scobj_hpath} rdValue {READ:DEV:DB4.G1:AUX:SIG:OPEN}
hsetprop ${scobj_hpath}/Valve/sensor rdValue ${ns}::rdValue ${scobj_hpath} hsetprop ${scobj_hpath}/Valve/sensor rdValue ${ns}::rdValue ${scobj_hpath}
@ -276,11 +282,13 @@ proc ::scobj::mercury_valve::mkDriver { sct_controller name device_class simulat
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/Valve/sensor 5 ${sct_controller} poll ${scobj_hpath}/Valve/sensor 5
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::mercury_valve::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_valve" ::scobj::mercury_valve::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_valve"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: setpoint
hfactory ${scobj_hpath}/Valve/setpoint plain user float 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 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 noResponse ${ns}::noResponse ${scobj_hpath}
@ -308,12 +316,15 @@ proc ::scobj::mercury_valve::mkDriver { sct_controller name device_class simulat
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} write ${scobj_hpath}/Valve/setpoint ${sct_controller} write ${scobj_hpath}/Valve/setpoint
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::mercury_valve::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_valve" ::scobj::mercury_valve::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for mercury_valve"
hsetprop ${scobj_hpath}/%s simulated true
} }
hsetprop ${scobj_hpath}/Valve data "true" hsetprop ${scobj_hpath}/Valve data "true"
hsetprop ${scobj_hpath}/Valve klass "@none" hsetprop ${scobj_hpath}/Valve klass "@none"
hsetprop ${scobj_hpath}/Valve type "part" hsetprop ${scobj_hpath}/Valve type "part"
# End of named group: Valve
ansto_makesctdrive ${name}_Valve_setpoint ${scobj_hpath}/Valve/setpoint ${scobj_hpath}/Valve/sensor ${sct_controller} ansto_makesctdrive ${name}_Valve_setpoint ${scobj_hpath}/Valve/setpoint ${scobj_hpath}/Valve/sensor ${sct_controller}
hsetprop ${scobj_hpath} klass ${device_class} hsetprop ${scobj_hpath} klass ${device_class}
hsetprop ${scobj_hpath} data true hsetprop ${scobj_hpath} data true

View File

@ -125,7 +125,12 @@ proc ::scobj::pfeiffer_hg::checkstatus {tc_root} {
# checkstatus hook code goes here # checkstatus hook code goes here
if {[sct driving]} { if {[sct driving]} {
set sp "[sct target]" set sp "[sct target]"
set pv "[hval ${tc_root}/[sct driveable]]" if {[hpropexists [sct] simulated] && [sct simulated] == "true"} {
set pv "${sp}"
hset ${tc_root}/[sct driveable] ${sp}
}
set pv "[hval ${tc_root}/[sct driveable]]"
}
if { abs(${pv} - ${sp}) <= [sct tolerance] } { if { abs(${pv} - ${sp}) <= [sct tolerance] } {
if { [hpropexists [sct] settle_time] } { if { [hpropexists [sct] settle_time] } {
if { [hpropexists [sct] settle_time_start] } { if { [hpropexists [sct] settle_time_start] } {
@ -383,8 +388,9 @@ proc ::scobj::pfeiffer_hg::mkDriver { sct_controller name device_class simulatio
sicslist setatt ${name} long_name ${name} sicslist setatt ${name} long_name ${name}
set scobj_hpath /sics/${name} set scobj_hpath /sics/${name}
# Start of unnamed group
# Start of var: status
hfactory ${scobj_hpath}/status plain user int hfactory ${scobj_hpath}/status plain user int
hsetprop ${scobj_hpath}/status control true hsetprop ${scobj_hpath}/status control true
hsetprop ${scobj_hpath}/status data true hsetprop ${scobj_hpath}/status data true
@ -399,10 +405,12 @@ proc ::scobj::pfeiffer_hg::mkDriver { sct_controller name device_class simulatio
hsetprop ${scobj_hpath} data "true" hsetprop ${scobj_hpath} data "true"
hsetprop ${scobj_hpath} klass "@none" hsetprop ${scobj_hpath} klass "@none"
hsetprop ${scobj_hpath} type "part" hsetprop ${scobj_hpath} type "part"
# End of unnamed group
# Start of named group: pressure
hfactory ${scobj_hpath}/pressure plain spy none hfactory ${scobj_hpath}/pressure plain spy none
# Start of var: sensor
hfactory ${scobj_hpath}/pressure/sensor plain user float hfactory ${scobj_hpath}/pressure/sensor plain user float
hsetprop ${scobj_hpath}/pressure/sensor read ${ns}::sendPR1 ${scobj_hpath} readPR1 {PR1} hsetprop ${scobj_hpath}/pressure/sensor read ${ns}::sendPR1 ${scobj_hpath} readPR1 {PR1}
hsetprop ${scobj_hpath}/pressure/sensor readPR1 ${ns}::readPR1 ${scobj_hpath} hsetprop ${scobj_hpath}/pressure/sensor readPR1 ${ns}::readPR1 ${scobj_hpath}
@ -429,11 +437,13 @@ proc ::scobj::pfeiffer_hg::mkDriver { sct_controller name device_class simulatio
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/pressure/sensor 1 ${sct_controller} poll ${scobj_hpath}/pressure/sensor 1
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::pfeiffer_hg::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for pfeiffer_hg" ::scobj::pfeiffer_hg::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for pfeiffer_hg"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: setpoint
hfactory ${scobj_hpath}/pressure/setpoint plain user float hfactory ${scobj_hpath}/pressure/setpoint plain user float
hsetprop ${scobj_hpath}/pressure/setpoint write ${ns}::setPoint ${scobj_hpath} noResponse {@} hsetprop ${scobj_hpath}/pressure/setpoint write ${ns}::setPoint ${scobj_hpath} noResponse {@}
hsetprop ${scobj_hpath}/pressure/setpoint noResponse ${ns}::noResponse ${scobj_hpath} hsetprop ${scobj_hpath}/pressure/setpoint noResponse ${ns}::noResponse ${scobj_hpath}
@ -461,12 +471,15 @@ proc ::scobj::pfeiffer_hg::mkDriver { sct_controller name device_class simulatio
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} write ${scobj_hpath}/pressure/setpoint ${sct_controller} write ${scobj_hpath}/pressure/setpoint
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::pfeiffer_hg::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for pfeiffer_hg" ::scobj::pfeiffer_hg::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for pfeiffer_hg"
hsetprop ${scobj_hpath}/%s simulated true
} }
hsetprop ${scobj_hpath}/pressure data "true" hsetprop ${scobj_hpath}/pressure data "true"
hsetprop ${scobj_hpath}/pressure klass "@none" hsetprop ${scobj_hpath}/pressure klass "@none"
hsetprop ${scobj_hpath}/pressure type "part" hsetprop ${scobj_hpath}/pressure type "part"
# End of named group: pressure
ansto_makesctdrive ${name}_pressure_setpoint ${scobj_hpath}/pressure/setpoint ${scobj_hpath}/pressure/sensor ${sct_controller} ansto_makesctdrive ${name}_pressure_setpoint ${scobj_hpath}/pressure/setpoint ${scobj_hpath}/pressure/sensor ${sct_controller}
hsetprop ${scobj_hpath} klass ${device_class} hsetprop ${scobj_hpath} klass ${device_class}
hsetprop ${scobj_hpath} data true hsetprop ${scobj_hpath} data true

View File

@ -273,8 +273,9 @@ proc ::scobj::west_6100::mkDriver { sct_controller name device_class simulation_
sicslist setatt ${name} long_name ${name} sicslist setatt ${name} long_name ${name}
set scobj_hpath /sics/${name} set scobj_hpath /sics/${name}
# Start of unnamed group
# Start of var: alarm1
hfactory ${scobj_hpath}/alarm1 plain user float hfactory ${scobj_hpath}/alarm1 plain user float
hsetprop ${scobj_hpath}/alarm1 read ${ns}::getDecimal ${scobj_hpath} rdDecimal {13} hsetprop ${scobj_hpath}/alarm1 read ${ns}::getDecimal ${scobj_hpath} rdDecimal {13}
hsetprop ${scobj_hpath}/alarm1 rdDecimal ${ns}::rdDecimal ${scobj_hpath} hsetprop ${scobj_hpath}/alarm1 rdDecimal ${ns}::rdDecimal ${scobj_hpath}
@ -294,11 +295,13 @@ proc ::scobj::west_6100::mkDriver { sct_controller name device_class simulation_
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/alarm1 1 ${sct_controller} poll ${scobj_hpath}/alarm1 1
${sct_controller} write ${scobj_hpath}/alarm1 ${sct_controller} write ${scobj_hpath}/alarm1
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::west_6100::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for west_6100" ::scobj::west_6100::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for west_6100"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: alarm2
hfactory ${scobj_hpath}/alarm2 plain user float hfactory ${scobj_hpath}/alarm2 plain user float
hsetprop ${scobj_hpath}/alarm2 read ${ns}::getDecimal ${scobj_hpath} rdDecimal {14} hsetprop ${scobj_hpath}/alarm2 read ${ns}::getDecimal ${scobj_hpath} rdDecimal {14}
hsetprop ${scobj_hpath}/alarm2 rdDecimal ${ns}::rdDecimal ${scobj_hpath} hsetprop ${scobj_hpath}/alarm2 rdDecimal ${ns}::rdDecimal ${scobj_hpath}
@ -318,11 +321,13 @@ proc ::scobj::west_6100::mkDriver { sct_controller name device_class simulation_
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/alarm2 1 ${sct_controller} poll ${scobj_hpath}/alarm2 1
${sct_controller} write ${scobj_hpath}/alarm2 ${sct_controller} write ${scobj_hpath}/alarm2
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::west_6100::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for west_6100" ::scobj::west_6100::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for west_6100"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: power
hfactory ${scobj_hpath}/power plain user int hfactory ${scobj_hpath}/power plain user int
hsetprop ${scobj_hpath}/power read ${ns}::getInteger ${scobj_hpath} rdInteger {3} hsetprop ${scobj_hpath}/power read ${ns}::getInteger ${scobj_hpath} rdInteger {3}
hsetprop ${scobj_hpath}/power rdInteger ${ns}::rdInteger ${scobj_hpath} hsetprop ${scobj_hpath}/power rdInteger ${ns}::rdInteger ${scobj_hpath}
@ -338,11 +343,13 @@ proc ::scobj::west_6100::mkDriver { sct_controller name device_class simulation_
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/power 1 ${sct_controller} poll ${scobj_hpath}/power 1
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::west_6100::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for west_6100" ::scobj::west_6100::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for west_6100"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: powermax
hfactory ${scobj_hpath}/powermax plain user int hfactory ${scobj_hpath}/powermax plain user int
hsetprop ${scobj_hpath}/powermax read ${ns}::getInteger ${scobj_hpath} rdInteger {20} hsetprop ${scobj_hpath}/powermax read ${ns}::getInteger ${scobj_hpath} rdInteger {20}
hsetprop ${scobj_hpath}/powermax rdInteger ${ns}::rdInteger ${scobj_hpath} hsetprop ${scobj_hpath}/powermax rdInteger ${ns}::rdInteger ${scobj_hpath}
@ -362,11 +369,13 @@ proc ::scobj::west_6100::mkDriver { sct_controller name device_class simulation_
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/powermax 1 ${sct_controller} poll ${scobj_hpath}/powermax 1
${sct_controller} write ${scobj_hpath}/powermax ${sct_controller} write ${scobj_hpath}/powermax
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::west_6100::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for west_6100" ::scobj::west_6100::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for west_6100"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: ramprate
hfactory ${scobj_hpath}/ramprate plain user float hfactory ${scobj_hpath}/ramprate plain user float
hsetprop ${scobj_hpath}/ramprate read ${ns}::getDecimal ${scobj_hpath} rdDecimal {24} hsetprop ${scobj_hpath}/ramprate read ${ns}::getDecimal ${scobj_hpath} rdDecimal {24}
hsetprop ${scobj_hpath}/ramprate rdDecimal ${ns}::rdDecimal ${scobj_hpath} hsetprop ${scobj_hpath}/ramprate rdDecimal ${ns}::rdDecimal ${scobj_hpath}
@ -386,11 +395,13 @@ proc ::scobj::west_6100::mkDriver { sct_controller name device_class simulation_
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/ramprate 1 ${sct_controller} poll ${scobj_hpath}/ramprate 1
${sct_controller} write ${scobj_hpath}/ramprate ${sct_controller} write ${scobj_hpath}/ramprate
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::west_6100::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for west_6100" ::scobj::west_6100::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for west_6100"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: sensor
hfactory ${scobj_hpath}/sensor plain user float hfactory ${scobj_hpath}/sensor plain user float
hsetprop ${scobj_hpath}/sensor read ${ns}::getDecimal ${scobj_hpath} rdDecimal {1} hsetprop ${scobj_hpath}/sensor read ${ns}::getDecimal ${scobj_hpath} rdDecimal {1}
hsetprop ${scobj_hpath}/sensor rdDecimal ${ns}::rdDecimal ${scobj_hpath} hsetprop ${scobj_hpath}/sensor rdDecimal ${ns}::rdDecimal ${scobj_hpath}
@ -406,11 +417,13 @@ proc ::scobj::west_6100::mkDriver { sct_controller name device_class simulation_
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/sensor 1 ${sct_controller} poll ${scobj_hpath}/sensor 1
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::west_6100::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for west_6100" ::scobj::west_6100::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for west_6100"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: setpoint
hfactory ${scobj_hpath}/setpoint plain user float hfactory ${scobj_hpath}/setpoint plain user float
hsetprop ${scobj_hpath}/setpoint read ${ns}::getDecimal ${scobj_hpath} rdDecimal {2} hsetprop ${scobj_hpath}/setpoint read ${ns}::getDecimal ${scobj_hpath} rdDecimal {2}
hsetprop ${scobj_hpath}/setpoint rdDecimal ${ns}::rdDecimal ${scobj_hpath} hsetprop ${scobj_hpath}/setpoint rdDecimal ${ns}::rdDecimal ${scobj_hpath}
@ -430,11 +443,13 @@ proc ::scobj::west_6100::mkDriver { sct_controller name device_class simulation_
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/setpoint 1 ${sct_controller} poll ${scobj_hpath}/setpoint 1
${sct_controller} write ${scobj_hpath}/setpoint ${sct_controller} write ${scobj_hpath}/setpoint
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::west_6100::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for west_6100" ::scobj::west_6100::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for west_6100"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: w_sp
hfactory ${scobj_hpath}/w_sp plain user float hfactory ${scobj_hpath}/w_sp plain user float
hsetprop ${scobj_hpath}/w_sp read ${ns}::getDecimal ${scobj_hpath} rdDecimal {21} hsetprop ${scobj_hpath}/w_sp read ${ns}::getDecimal ${scobj_hpath} rdDecimal {21}
hsetprop ${scobj_hpath}/w_sp rdDecimal ${ns}::rdDecimal ${scobj_hpath} hsetprop ${scobj_hpath}/w_sp rdDecimal ${ns}::rdDecimal ${scobj_hpath}
@ -454,17 +469,21 @@ proc ::scobj::west_6100::mkDriver { sct_controller name device_class simulation_
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/w_sp 1 ${sct_controller} poll ${scobj_hpath}/w_sp 1
${sct_controller} write ${scobj_hpath}/w_sp ${sct_controller} write ${scobj_hpath}/w_sp
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::west_6100::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for west_6100" ::scobj::west_6100::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for west_6100"
hsetprop ${scobj_hpath}/%s simulated true
} }
hsetprop ${scobj_hpath} data "true" hsetprop ${scobj_hpath} data "true"
hsetprop ${scobj_hpath} klass "@none" hsetprop ${scobj_hpath} klass "@none"
hsetprop ${scobj_hpath} type "part" hsetprop ${scobj_hpath} type "part"
# End of unnamed group
# Start of named group: aux
hfactory ${scobj_hpath}/aux plain spy none hfactory ${scobj_hpath}/aux plain spy none
# Start of var: decimal
hfactory ${scobj_hpath}/aux/decimal plain user int hfactory ${scobj_hpath}/aux/decimal plain user int
hsetprop ${scobj_hpath}/aux/decimal read ${ns}::getInteger ${scobj_hpath} rdInteger {18} hsetprop ${scobj_hpath}/aux/decimal read ${ns}::getInteger ${scobj_hpath} rdInteger {18}
hsetprop ${scobj_hpath}/aux/decimal rdInteger ${ns}::rdInteger ${scobj_hpath} hsetprop ${scobj_hpath}/aux/decimal rdInteger ${ns}::rdInteger ${scobj_hpath}
@ -480,11 +499,13 @@ proc ::scobj::west_6100::mkDriver { sct_controller name device_class simulation_
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/aux/decimal 2 ${sct_controller} poll ${scobj_hpath}/aux/decimal 2
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::west_6100::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for west_6100" ::scobj::west_6100::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for west_6100"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: instatus
hfactory ${scobj_hpath}/aux/instatus plain user int hfactory ${scobj_hpath}/aux/instatus plain user int
hsetprop ${scobj_hpath}/aux/instatus read ${ns}::getInteger ${scobj_hpath} rdInteger {133} hsetprop ${scobj_hpath}/aux/instatus read ${ns}::getInteger ${scobj_hpath} rdInteger {133}
hsetprop ${scobj_hpath}/aux/instatus rdInteger ${ns}::rdInteger ${scobj_hpath} hsetprop ${scobj_hpath}/aux/instatus rdInteger ${ns}::rdInteger ${scobj_hpath}
@ -499,11 +520,13 @@ proc ::scobj::west_6100::mkDriver { sct_controller name device_class simulation_
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/aux/instatus 2 ${sct_controller} poll ${scobj_hpath}/aux/instatus 2
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::west_6100::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for west_6100" ::scobj::west_6100::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for west_6100"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: model
hfactory ${scobj_hpath}/aux/model plain user int hfactory ${scobj_hpath}/aux/model plain user int
hsetprop ${scobj_hpath}/aux/model read ${ns}::getInteger ${scobj_hpath} rdInteger {122} hsetprop ${scobj_hpath}/aux/model read ${ns}::getInteger ${scobj_hpath} rdInteger {122}
hsetprop ${scobj_hpath}/aux/model rdInteger ${ns}::rdInteger ${scobj_hpath} hsetprop ${scobj_hpath}/aux/model rdInteger ${ns}::rdInteger ${scobj_hpath}
@ -518,12 +541,15 @@ proc ::scobj::west_6100::mkDriver { sct_controller name device_class simulation_
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/aux/model 2 ${sct_controller} poll ${scobj_hpath}/aux/model 2
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::west_6100::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for west_6100" ::scobj::west_6100::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for west_6100"
hsetprop ${scobj_hpath}/%s simulated true
} }
hsetprop ${scobj_hpath}/aux data "false" hsetprop ${scobj_hpath}/aux data "false"
hsetprop ${scobj_hpath}/aux klass "@none" hsetprop ${scobj_hpath}/aux klass "@none"
hsetprop ${scobj_hpath}/aux type "part" hsetprop ${scobj_hpath}/aux type "part"
# End of named group: aux
hsetprop ${scobj_hpath} klass ${device_class} hsetprop ${scobj_hpath} klass ${device_class}
hsetprop ${scobj_hpath} data true hsetprop ${scobj_hpath} data true
hsetprop ${scobj_hpath} debug_threshold 5 hsetprop ${scobj_hpath} debug_threshold 5

View File

@ -227,8 +227,9 @@ proc ::scobj::reactor_status::mkDriver { sct_controller name device_class simula
sicslist setatt ${name} long_name ${name} sicslist setatt ${name} long_name ${name}
set scobj_hpath /sics/${name} set scobj_hpath /sics/${name}
# Start of unnamed group
# Start of var: cg123
hfactory ${scobj_hpath}/cg123 plain spy float hfactory ${scobj_hpath}/cg123 plain spy float
hsetprop ${scobj_hpath}/cg123 control true hsetprop ${scobj_hpath}/cg123 control true
hsetprop ${scobj_hpath}/cg123 data true hsetprop ${scobj_hpath}/cg123 data true
@ -240,7 +241,7 @@ proc ::scobj::reactor_status::mkDriver { sct_controller name device_class simula
hsetprop ${scobj_hpath}/cg123 type "part" hsetprop ${scobj_hpath}/cg123 type "part"
hsetprop ${scobj_hpath}/cg123 nxalias "${name}_cg123" hsetprop ${scobj_hpath}/cg123 nxalias "${name}_cg123"
# Start of var: cns_out
hfactory ${scobj_hpath}/cns_out plain spy float hfactory ${scobj_hpath}/cns_out plain spy float
hsetprop ${scobj_hpath}/cns_out control true hsetprop ${scobj_hpath}/cns_out control true
hsetprop ${scobj_hpath}/cns_out data true hsetprop ${scobj_hpath}/cns_out data true
@ -252,7 +253,7 @@ proc ::scobj::reactor_status::mkDriver { sct_controller name device_class simula
hsetprop ${scobj_hpath}/cns_out type "part" hsetprop ${scobj_hpath}/cns_out type "part"
hsetprop ${scobj_hpath}/cns_out nxalias "${name}_cns_out" hsetprop ${scobj_hpath}/cns_out nxalias "${name}_cns_out"
# Start of var: power
hfactory ${scobj_hpath}/power plain spy float hfactory ${scobj_hpath}/power plain spy float
hsetprop ${scobj_hpath}/power control true hsetprop ${scobj_hpath}/power control true
hsetprop ${scobj_hpath}/power data true hsetprop ${scobj_hpath}/power data true
@ -264,7 +265,7 @@ proc ::scobj::reactor_status::mkDriver { sct_controller name device_class simula
hsetprop ${scobj_hpath}/power type "part" hsetprop ${scobj_hpath}/power type "part"
hsetprop ${scobj_hpath}/power nxalias "${name}_power" hsetprop ${scobj_hpath}/power nxalias "${name}_power"
# Start of var: status
hfactory ${scobj_hpath}/status plain spy text hfactory ${scobj_hpath}/status plain spy text
hsetprop ${scobj_hpath}/status read ${ns}::getState ${scobj_hpath} rdAll {GET /Bragg/proposal/reactor.jsp?type=ALL} hsetprop ${scobj_hpath}/status read ${ns}::getState ${scobj_hpath} rdAll {GET /Bragg/proposal/reactor.jsp?type=ALL}
hsetprop ${scobj_hpath}/status rdAll ${ns}::rdAll ${scobj_hpath} hsetprop ${scobj_hpath}/status rdAll ${ns}::rdAll ${scobj_hpath}
@ -279,11 +280,13 @@ proc ::scobj::reactor_status::mkDriver { sct_controller name device_class simula
if {[string equal -nocase "${simulation_flag}" "false"]} { if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/status 30 ${sct_controller} poll ${scobj_hpath}/status 30
hsetprop ${scobj_hpath}/%s simulated false
} else { } else {
::scobj::reactor_status::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for reactor_status" ::scobj::reactor_status::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for reactor_status"
hsetprop ${scobj_hpath}/%s simulated true
} }
# Start of var: tg123
hfactory ${scobj_hpath}/tg123 plain spy float hfactory ${scobj_hpath}/tg123 plain spy float
hsetprop ${scobj_hpath}/tg123 control true hsetprop ${scobj_hpath}/tg123 control true
hsetprop ${scobj_hpath}/tg123 data true hsetprop ${scobj_hpath}/tg123 data true
@ -295,7 +298,7 @@ proc ::scobj::reactor_status::mkDriver { sct_controller name device_class simula
hsetprop ${scobj_hpath}/tg123 type "part" hsetprop ${scobj_hpath}/tg123 type "part"
hsetprop ${scobj_hpath}/tg123 nxalias "${name}_tg123" hsetprop ${scobj_hpath}/tg123 nxalias "${name}_tg123"
# Start of var: tg4
hfactory ${scobj_hpath}/tg4 plain spy float hfactory ${scobj_hpath}/tg4 plain spy float
hsetprop ${scobj_hpath}/tg4 control true hsetprop ${scobj_hpath}/tg4 control true
hsetprop ${scobj_hpath}/tg4 data true hsetprop ${scobj_hpath}/tg4 data true
@ -311,6 +314,7 @@ proc ::scobj::reactor_status::mkDriver { sct_controller name device_class simula
hsetprop ${scobj_hpath} data "true" hsetprop ${scobj_hpath} data "true"
hsetprop ${scobj_hpath} klass "@none" hsetprop ${scobj_hpath} klass "@none"
hsetprop ${scobj_hpath} type "part" hsetprop ${scobj_hpath} type "part"
# End of unnamed group
hsetprop ${scobj_hpath} klass ${device_class} hsetprop ${scobj_hpath} klass ${device_class}
hsetprop ${scobj_hpath} data true hsetprop ${scobj_hpath} data true
hsetprop ${scobj_hpath} debug_threshold 5 hsetprop ${scobj_hpath} debug_threshold 5