Regen SCT drivers
This commit is contained in:
@@ -86,7 +86,12 @@ proc ::scobj::tsi_smc::checkstatus {tc_root} {
|
||||
# checkstatus hook code goes here
|
||||
if {[sct driving]} {
|
||||
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 { [hpropexists [sct] settle_time] } {
|
||||
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}
|
||||
|
||||
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}
|
||||
@@ -304,11 +310,13 @@ proc ::scobj::tsi_smc::mkDriver { sct_controller name device_class simulation_fl
|
||||
|
||||
if {[string equal -nocase "${simulation_flag}" "false"]} {
|
||||
${sct_controller} write ${scobj_hpath}/setpoint
|
||||
hsetprop ${scobj_hpath}/%s simulated false
|
||||
} else {
|
||||
::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
|
||||
hsetprop ${scobj_hpath}/value control 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} 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}
|
||||
@@ -347,11 +357,13 @@ proc ::scobj::tsi_smc::mkDriver { sct_controller name device_class simulation_fl
|
||||
|
||||
if {[string equal -nocase "${simulation_flag}" "false"]} {
|
||||
${sct_controller} poll ${scobj_hpath}/a/G 1
|
||||
hsetprop ${scobj_hpath}/%s simulated false
|
||||
} else {
|
||||
::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
|
||||
hsetprop ${scobj_hpath}/a/J read ${ns}::getValue ${scobj_hpath} rdValue {J}
|
||||
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"]} {
|
||||
${sct_controller} poll ${scobj_hpath}/a/J 1
|
||||
hsetprop ${scobj_hpath}/%s simulated false
|
||||
} else {
|
||||
::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
|
||||
hsetprop ${scobj_hpath}/a/K read ${ns}::getValue ${scobj_hpath} rdValue {K}
|
||||
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"]} {
|
||||
${sct_controller} poll ${scobj_hpath}/a/K 1
|
||||
hsetprop ${scobj_hpath}/%s simulated false
|
||||
} else {
|
||||
::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
|
||||
hsetprop ${scobj_hpath}/a/N read ${ns}::getValue ${scobj_hpath} rdValue {N}
|
||||
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"]} {
|
||||
${sct_controller} poll ${scobj_hpath}/a/N 1
|
||||
hsetprop ${scobj_hpath}/%s simulated false
|
||||
} else {
|
||||
::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
|
||||
hsetprop ${scobj_hpath}/a/O read ${ns}::getValue ${scobj_hpath} rdValue {O}
|
||||
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"]} {
|
||||
${sct_controller} poll ${scobj_hpath}/a/O 1
|
||||
hsetprop ${scobj_hpath}/%s simulated false
|
||||
} else {
|
||||
::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
|
||||
hsetprop ${scobj_hpath}/a/S read ${ns}::getValue ${scobj_hpath} rdValue {S}
|
||||
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"]} {
|
||||
${sct_controller} poll ${scobj_hpath}/a/S 1
|
||||
hsetprop ${scobj_hpath}/%s simulated false
|
||||
} else {
|
||||
::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 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}
|
||||
@@ -471,11 +495,13 @@ proc ::scobj::tsi_smc::mkDriver { sct_controller name device_class simulation_fl
|
||||
|
||||
if {[string equal -nocase "${simulation_flag}" "false"]} {
|
||||
${sct_controller} write ${scobj_hpath}/b/Lower
|
||||
hsetprop ${scobj_hpath}/%s simulated false
|
||||
} else {
|
||||
::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
|
||||
hsetprop ${scobj_hpath}/b/Pause write ${ns}::setValue ${scobj_hpath} noResponse {P}
|
||||
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"]} {
|
||||
${sct_controller} write ${scobj_hpath}/b/Pause
|
||||
hsetprop ${scobj_hpath}/%s simulated false
|
||||
} else {
|
||||
::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
|
||||
hsetprop ${scobj_hpath}/b/Ramp write ${ns}::setValue ${scobj_hpath} noResponse {R}
|
||||
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"]} {
|
||||
${sct_controller} write ${scobj_hpath}/b/Ramp
|
||||
hsetprop ${scobj_hpath}/%s simulated false
|
||||
} else {
|
||||
::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
|
||||
hsetprop ${scobj_hpath}/b/Rate write ${ns}::setValue ${scobj_hpath} noResponse {A}
|
||||
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"]} {
|
||||
${sct_controller} write ${scobj_hpath}/b/Rate
|
||||
hsetprop ${scobj_hpath}/%s simulated false
|
||||
} else {
|
||||
::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 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
|
||||
|
||||
Reference in New Issue
Block a user