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

@@ -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