|
|
|
|
@@ -88,7 +88,7 @@ proc ::scobj::tsi_smc::checkstatus {tc_root} {
|
|
|
|
|
set sp "[sct target]"
|
|
|
|
|
if {[hpropexists [sct] simulated] && [sct simulated] == "true"} {
|
|
|
|
|
set pv "${sp}"
|
|
|
|
|
hset ${tc_root}/[sct driveable] ${sp}
|
|
|
|
|
hupdateif ${tc_root}/[sct driveable] ${sp}
|
|
|
|
|
}
|
|
|
|
|
set pv "[hval ${tc_root}/[sct driveable]]"
|
|
|
|
|
}
|
|
|
|
|
@@ -279,9 +279,7 @@ proc ::scobj::tsi_smc::mkDriver { sct_controller name device_class simulation_fl
|
|
|
|
|
sicslist setatt ${name} long_name ${name}
|
|
|
|
|
|
|
|
|
|
set scobj_hpath /sics/${name}
|
|
|
|
|
# Start of unnamed group
|
|
|
|
|
|
|
|
|
|
# Start of var: setpoint
|
|
|
|
|
hfactory ${scobj_hpath}/setpoint plain user float
|
|
|
|
|
hsetprop ${scobj_hpath}/setpoint write ${ns}::setGauss ${scobj_hpath} noResponse {}
|
|
|
|
|
hsetprop ${scobj_hpath}/setpoint noResponse ${ns}::noResponse ${scobj_hpath}
|
|
|
|
|
@@ -316,7 +314,6 @@ proc ::scobj::tsi_smc::mkDriver { sct_controller name device_class simulation_fl
|
|
|
|
|
hsetprop ${scobj_hpath}/setpoint simulated true
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
# Start of var: value
|
|
|
|
|
hfactory ${scobj_hpath}/value plain user float
|
|
|
|
|
hsetprop ${scobj_hpath}/value control true
|
|
|
|
|
hsetprop ${scobj_hpath}/value data true
|
|
|
|
|
@@ -335,13 +332,10 @@ proc ::scobj::tsi_smc::mkDriver { sct_controller name device_class simulation_fl
|
|
|
|
|
hsetprop ${scobj_hpath} data "true"
|
|
|
|
|
hsetprop ${scobj_hpath} klass "@none"
|
|
|
|
|
hsetprop ${scobj_hpath} type "part"
|
|
|
|
|
# End of unnamed group
|
|
|
|
|
ansto_makesctdrive ${name}_setpoint ${scobj_hpath}/setpoint ${scobj_hpath}/value ${sct_controller}
|
|
|
|
|
|
|
|
|
|
# Start of named group: a
|
|
|
|
|
hfactory ${scobj_hpath}/a plain spy none
|
|
|
|
|
|
|
|
|
|
# Start of var: G
|
|
|
|
|
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 rdValue ${ns}::rdValue ${scobj_hpath}
|
|
|
|
|
@@ -363,7 +357,6 @@ proc ::scobj::tsi_smc::mkDriver { sct_controller name device_class simulation_fl
|
|
|
|
|
hsetprop ${scobj_hpath}/a/G simulated true
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
# Start of var: J
|
|
|
|
|
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 rdValue ${ns}::rdValue ${scobj_hpath}
|
|
|
|
|
@@ -384,7 +377,6 @@ proc ::scobj::tsi_smc::mkDriver { sct_controller name device_class simulation_fl
|
|
|
|
|
hsetprop ${scobj_hpath}/a/J simulated true
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
# Start of var: K
|
|
|
|
|
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 rdValue ${ns}::rdValue ${scobj_hpath}
|
|
|
|
|
@@ -405,7 +397,6 @@ proc ::scobj::tsi_smc::mkDriver { sct_controller name device_class simulation_fl
|
|
|
|
|
hsetprop ${scobj_hpath}/a/K simulated true
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
# Start of var: N
|
|
|
|
|
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 rdValue ${ns}::rdValue ${scobj_hpath}
|
|
|
|
|
@@ -426,7 +417,6 @@ proc ::scobj::tsi_smc::mkDriver { sct_controller name device_class simulation_fl
|
|
|
|
|
hsetprop ${scobj_hpath}/a/N simulated true
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
# Start of var: O
|
|
|
|
|
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 rdValue ${ns}::rdValue ${scobj_hpath}
|
|
|
|
|
@@ -447,7 +437,6 @@ proc ::scobj::tsi_smc::mkDriver { sct_controller name device_class simulation_fl
|
|
|
|
|
hsetprop ${scobj_hpath}/a/O simulated true
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
# Start of var: S
|
|
|
|
|
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 rdValue ${ns}::rdValue ${scobj_hpath}
|
|
|
|
|
@@ -470,12 +459,9 @@ proc ::scobj::tsi_smc::mkDriver { sct_controller name device_class simulation_fl
|
|
|
|
|
hsetprop ${scobj_hpath}/a data "false"
|
|
|
|
|
hsetprop ${scobj_hpath}/a klass "@none"
|
|
|
|
|
hsetprop ${scobj_hpath}/a type "part"
|
|
|
|
|
# End of named group: a
|
|
|
|
|
|
|
|
|
|
# Start of named group: b
|
|
|
|
|
hfactory ${scobj_hpath}/b plain spy none
|
|
|
|
|
|
|
|
|
|
# Start of var: Lower
|
|
|
|
|
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 noResponse ${ns}::noResponse ${scobj_hpath}
|
|
|
|
|
@@ -501,7 +487,6 @@ proc ::scobj::tsi_smc::mkDriver { sct_controller name device_class simulation_fl
|
|
|
|
|
hsetprop ${scobj_hpath}/b/Lower simulated true
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
# Start of var: Pause
|
|
|
|
|
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 noResponse ${ns}::noResponse ${scobj_hpath}
|
|
|
|
|
@@ -527,7 +512,6 @@ proc ::scobj::tsi_smc::mkDriver { sct_controller name device_class simulation_fl
|
|
|
|
|
hsetprop ${scobj_hpath}/b/Pause simulated true
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
# Start of var: Ramp
|
|
|
|
|
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 noResponse ${ns}::noResponse ${scobj_hpath}
|
|
|
|
|
@@ -553,7 +537,6 @@ proc ::scobj::tsi_smc::mkDriver { sct_controller name device_class simulation_fl
|
|
|
|
|
hsetprop ${scobj_hpath}/b/Ramp simulated true
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
# Start of var: Rate
|
|
|
|
|
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 noResponse ${ns}::noResponse ${scobj_hpath}
|
|
|
|
|
@@ -578,7 +561,6 @@ proc ::scobj::tsi_smc::mkDriver { sct_controller name device_class simulation_fl
|
|
|
|
|
hsetprop ${scobj_hpath}/b data "true"
|
|
|
|
|
hsetprop ${scobj_hpath}/b klass "@none"
|
|
|
|
|
hsetprop ${scobj_hpath}/b type "part"
|
|
|
|
|
# End of named group: b
|
|
|
|
|
hsetprop ${scobj_hpath} klass ${device_class}
|
|
|
|
|
hsetprop ${scobj_hpath} data true
|
|
|
|
|
hsetprop ${scobj_hpath} debug_threshold 5
|
|
|
|
|
@@ -622,8 +604,8 @@ proc add_tsi_smc {name ip_address tcp_port {id 1}} {
|
|
|
|
|
::scobj::tsi_smc::add_driver ${name} "environment" ${simulation_flag} ${ip_address} ${tcp_port} ${id}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
clientput "file evaluation of sct_tsi_smc.tcl"
|
|
|
|
|
::scobj::tsi_smc::sics_log 9 "file evaluation of sct_tsi_smc.tcl"
|
|
|
|
|
clientput "file evaluation of tsi_smc_sct.tcl"
|
|
|
|
|
::scobj::tsi_smc::sics_log 9 "file evaluation of tsi_smc_sct.tcl"
|
|
|
|
|
|
|
|
|
|
proc ::scobj::tsi_smc::read_config {} {
|
|
|
|
|
set catch_status [ catch {
|
|
|
|
|
@@ -710,7 +692,7 @@ proc ::scobj::tsi_smc::read_config {} {
|
|
|
|
|
if { [llength $missing_list] > 0 } {
|
|
|
|
|
error "$name is missing configuration values $missing_list"
|
|
|
|
|
}
|
|
|
|
|
${ns}::mkDriver sct_${name} ${device_class} ${simulation_flag} ${ip_address} ${tcp_port} {*}$arg_list
|
|
|
|
|
${ns}::mkDriver sct_${name} ${name} ${device_class} ${simulation_flag} ${ip_address} ${tcp_port} {*}$arg_list
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|