Regenerate SCT drivers

This commit is contained in:
Douglas Clowes
2014-11-13 14:20:52 +11:00
parent 8f977bb98f
commit ee4cd27f0e
5 changed files with 376 additions and 319 deletions

View File

@@ -177,8 +177,16 @@ proc ::scobj::astrium_chopper::readState {tc_root} {
set rhs "[string trim [lindex ${lst} 1]]"
sct "attr_${lhs}" "${rhs}"
set base [pathname [sct]]
foreach node [list ASPEED RSPEED APHASE RPHASE MASTER] {
if { [string equal -nocase "${lhs}" "${node}"] } {
switch [string toupper ${lhs}] {
"ASPEED" {
if [string is double "${rhs}"] {
set freq [expr "${rhs}" / 60.0]
if { "[hval ${base}/frequency]" != "${freq}" } {
hset ${base}/frequency ${freq}
}
}
}
"RSPEED" - "APHASE" - "RPHASE" - "MASTER" {
if { "[hval ${base}/${node}]" != "${rhs}" } {
hset ${base}/${node} "${rhs}"
}
@@ -245,333 +253,377 @@ proc ::scobj::astrium_chopper::mkDriver { sct_controller name device_class simul
set scobj_hpath /sics/${name}
hfactory ${scobj_hpath}/blade_1 plain spy none
hfactory ${scobj_hpath}/disk_1 plain spy none
hfactory ${scobj_hpath}/blade_1/aphase plain user float
hsetprop ${scobj_hpath}/blade_1/aphase control true
hsetprop ${scobj_hpath}/blade_1/aphase data true
hsetprop ${scobj_hpath}/blade_1/aphase mutable true
hsetprop ${scobj_hpath}/blade_1/aphase nxsave true
hsetprop ${scobj_hpath}/blade_1/aphase oldval 0.0
hsetprop ${scobj_hpath}/blade_1/aphase klass "parameter"
hsetprop ${scobj_hpath}/blade_1/aphase sdsinfo "::nexus::scobj::sdsinfo"
hsetprop ${scobj_hpath}/blade_1/aphase type "part"
hsetprop ${scobj_hpath}/blade_1/aphase nxalias "${name}_blade_1_aphase"
hfactory ${scobj_hpath}/disk_1/aphase plain user float
hsetprop ${scobj_hpath}/disk_1/aphase control true
hsetprop ${scobj_hpath}/disk_1/aphase data true
hsetprop ${scobj_hpath}/disk_1/aphase mutable true
hsetprop ${scobj_hpath}/disk_1/aphase nxsave true
hsetprop ${scobj_hpath}/disk_1/aphase oldval 0.0
hsetprop ${scobj_hpath}/disk_1/aphase klass "parameter"
hsetprop ${scobj_hpath}/disk_1/aphase sdsinfo "::nexus::scobj::sdsinfo"
hsetprop ${scobj_hpath}/disk_1/aphase type "part"
hsetprop ${scobj_hpath}/disk_1/aphase nxalias "${name}_disk_1_aphase"
hfactory ${scobj_hpath}/blade_1/aspeed plain user float
hsetprop ${scobj_hpath}/blade_1/aspeed control true
hsetprop ${scobj_hpath}/blade_1/aspeed data true
hsetprop ${scobj_hpath}/blade_1/aspeed mutable true
hsetprop ${scobj_hpath}/blade_1/aspeed nxsave true
hsetprop ${scobj_hpath}/blade_1/aspeed oldval 0.0
hsetprop ${scobj_hpath}/blade_1/aspeed klass "parameter"
hsetprop ${scobj_hpath}/blade_1/aspeed sdsinfo "::nexus::scobj::sdsinfo"
hsetprop ${scobj_hpath}/blade_1/aspeed type "part"
hsetprop ${scobj_hpath}/blade_1/aspeed nxalias "${name}_blade_1_aspeed"
hfactory ${scobj_hpath}/disk_1/aspeed plain user float
hsetprop ${scobj_hpath}/disk_1/aspeed control true
hsetprop ${scobj_hpath}/disk_1/aspeed data true
hsetprop ${scobj_hpath}/disk_1/aspeed mutable true
hsetprop ${scobj_hpath}/disk_1/aspeed nxsave true
hsetprop ${scobj_hpath}/disk_1/aspeed oldval 0.0
hsetprop ${scobj_hpath}/disk_1/aspeed klass "parameter"
hsetprop ${scobj_hpath}/disk_1/aspeed sdsinfo "::nexus::scobj::sdsinfo"
hsetprop ${scobj_hpath}/disk_1/aspeed type "part"
hsetprop ${scobj_hpath}/disk_1/aspeed nxalias "${name}_disk_1_aspeed"
hfactory ${scobj_hpath}/blade_1/master plain user text
hsetprop ${scobj_hpath}/blade_1/master control true
hsetprop ${scobj_hpath}/blade_1/master data true
hsetprop ${scobj_hpath}/blade_1/master mutable true
hsetprop ${scobj_hpath}/blade_1/master nxsave true
hsetprop ${scobj_hpath}/blade_1/master oldval UNKNOWN
hsetprop ${scobj_hpath}/blade_1/master klass "parameter"
hsetprop ${scobj_hpath}/blade_1/master sdsinfo "::nexus::scobj::sdsinfo"
hsetprop ${scobj_hpath}/blade_1/master type "part"
hsetprop ${scobj_hpath}/blade_1/master nxalias "${name}_blade_1_master"
hfactory ${scobj_hpath}/disk_1/frequency plain user float
hsetprop ${scobj_hpath}/disk_1/frequency control true
hsetprop ${scobj_hpath}/disk_1/frequency data true
hsetprop ${scobj_hpath}/disk_1/frequency mutable true
hsetprop ${scobj_hpath}/disk_1/frequency nxsave true
hsetprop ${scobj_hpath}/disk_1/frequency oldval 0.0
hsetprop ${scobj_hpath}/disk_1/frequency klass "parameter"
hsetprop ${scobj_hpath}/disk_1/frequency sdsinfo "::nexus::scobj::sdsinfo"
hsetprop ${scobj_hpath}/disk_1/frequency type "part"
hsetprop ${scobj_hpath}/disk_1/frequency nxalias "${name}_disk_1_frequency"
hfactory ${scobj_hpath}/blade_1/rphase plain user float
hsetprop ${scobj_hpath}/blade_1/rphase control true
hsetprop ${scobj_hpath}/blade_1/rphase data true
hsetprop ${scobj_hpath}/blade_1/rphase mutable true
hsetprop ${scobj_hpath}/blade_1/rphase nxsave true
hsetprop ${scobj_hpath}/blade_1/rphase oldval 0.0
hsetprop ${scobj_hpath}/blade_1/rphase klass "parameter"
hsetprop ${scobj_hpath}/blade_1/rphase sdsinfo "::nexus::scobj::sdsinfo"
hsetprop ${scobj_hpath}/blade_1/rphase type "part"
hsetprop ${scobj_hpath}/blade_1/rphase nxalias "${name}_blade_1_rphase"
hfactory ${scobj_hpath}/disk_1/master plain user text
hsetprop ${scobj_hpath}/disk_1/master control true
hsetprop ${scobj_hpath}/disk_1/master data true
hsetprop ${scobj_hpath}/disk_1/master mutable true
hsetprop ${scobj_hpath}/disk_1/master nxsave true
hsetprop ${scobj_hpath}/disk_1/master oldval UNKNOWN
hsetprop ${scobj_hpath}/disk_1/master klass "parameter"
hsetprop ${scobj_hpath}/disk_1/master sdsinfo "::nexus::scobj::sdsinfo"
hsetprop ${scobj_hpath}/disk_1/master type "part"
hsetprop ${scobj_hpath}/disk_1/master nxalias "${name}_disk_1_master"
hfactory ${scobj_hpath}/blade_1/rspeed plain user float
hsetprop ${scobj_hpath}/blade_1/rspeed control true
hsetprop ${scobj_hpath}/blade_1/rspeed data true
hsetprop ${scobj_hpath}/blade_1/rspeed mutable true
hsetprop ${scobj_hpath}/blade_1/rspeed nxsave true
hsetprop ${scobj_hpath}/blade_1/rspeed oldval 0.0
hsetprop ${scobj_hpath}/blade_1/rspeed klass "parameter"
hsetprop ${scobj_hpath}/blade_1/rspeed sdsinfo "::nexus::scobj::sdsinfo"
hsetprop ${scobj_hpath}/blade_1/rspeed type "part"
hsetprop ${scobj_hpath}/blade_1/rspeed nxalias "${name}_blade_1_rspeed"
hfactory ${scobj_hpath}/disk_1/rphase plain user float
hsetprop ${scobj_hpath}/disk_1/rphase control true
hsetprop ${scobj_hpath}/disk_1/rphase data true
hsetprop ${scobj_hpath}/disk_1/rphase mutable true
hsetprop ${scobj_hpath}/disk_1/rphase nxsave true
hsetprop ${scobj_hpath}/disk_1/rphase oldval 0.0
hsetprop ${scobj_hpath}/disk_1/rphase klass "parameter"
hsetprop ${scobj_hpath}/disk_1/rphase sdsinfo "::nexus::scobj::sdsinfo"
hsetprop ${scobj_hpath}/disk_1/rphase type "part"
hsetprop ${scobj_hpath}/disk_1/rphase nxalias "${name}_disk_1_rphase"
hfactory ${scobj_hpath}/blade_1/state plain user text
hsetprop ${scobj_hpath}/blade_1/state read ${ns}::fetchState ${scobj_hpath} readState {1}
hsetprop ${scobj_hpath}/blade_1/state readState ${ns}::readState ${scobj_hpath}
hsetprop ${scobj_hpath}/blade_1/state control true
hsetprop ${scobj_hpath}/blade_1/state data true
hsetprop ${scobj_hpath}/blade_1/state mutable true
hsetprop ${scobj_hpath}/blade_1/state nxsave true
hsetprop ${scobj_hpath}/blade_1/state oldval UNKNOWN
hsetprop ${scobj_hpath}/blade_1/state klass "parameter"
hsetprop ${scobj_hpath}/blade_1/state my_state "idle"
hsetprop ${scobj_hpath}/blade_1/state sdsinfo "::nexus::scobj::sdsinfo"
hsetprop ${scobj_hpath}/blade_1/state type "part"
hsetprop ${scobj_hpath}/blade_1/state nxalias "${name}_blade_1_state"
hfactory ${scobj_hpath}/disk_1/rspeed plain user float
hsetprop ${scobj_hpath}/disk_1/rspeed control true
hsetprop ${scobj_hpath}/disk_1/rspeed data true
hsetprop ${scobj_hpath}/disk_1/rspeed mutable true
hsetprop ${scobj_hpath}/disk_1/rspeed nxsave true
hsetprop ${scobj_hpath}/disk_1/rspeed oldval 0.0
hsetprop ${scobj_hpath}/disk_1/rspeed klass "parameter"
hsetprop ${scobj_hpath}/disk_1/rspeed sdsinfo "::nexus::scobj::sdsinfo"
hsetprop ${scobj_hpath}/disk_1/rspeed type "part"
hsetprop ${scobj_hpath}/disk_1/rspeed nxalias "${name}_disk_1_rspeed"
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 readState ${ns}::readState ${scobj_hpath}
hsetprop ${scobj_hpath}/disk_1/state control true
hsetprop ${scobj_hpath}/disk_1/state data true
hsetprop ${scobj_hpath}/disk_1/state mutable true
hsetprop ${scobj_hpath}/disk_1/state nxsave true
hsetprop ${scobj_hpath}/disk_1/state oldval UNKNOWN
hsetprop ${scobj_hpath}/disk_1/state klass "parameter"
hsetprop ${scobj_hpath}/disk_1/state my_state "idle"
hsetprop ${scobj_hpath}/disk_1/state sdsinfo "::nexus::scobj::sdsinfo"
hsetprop ${scobj_hpath}/disk_1/state type "part"
hsetprop ${scobj_hpath}/disk_1/state nxalias "${name}_disk_1_state"
if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/blade_1/state 1
hsetprop ${scobj_hpath}/blade_1/state simulated false
${sct_controller} poll ${scobj_hpath}/disk_1/state 1
hsetprop ${scobj_hpath}/disk_1/state simulated false
} else {
::scobj::astrium_chopper::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for astrium_chopper"
hsetprop ${scobj_hpath}/blade_1/state simulated true
hsetprop ${scobj_hpath}/disk_1/state simulated true
}
hsetprop ${scobj_hpath}/blade_1 data "true"
hsetprop ${scobj_hpath}/blade_1 klass "@none"
hsetprop ${scobj_hpath}/blade_1 type "part"
hsetprop ${scobj_hpath}/disk_1 data "true"
hsetprop ${scobj_hpath}/disk_1 klass "@none"
hsetprop ${scobj_hpath}/disk_1 type "part"
hfactory ${scobj_hpath}/blade_2 plain spy none
hfactory ${scobj_hpath}/disk_2 plain spy none
hfactory ${scobj_hpath}/blade_2/aphase plain user float
hsetprop ${scobj_hpath}/blade_2/aphase control true
hsetprop ${scobj_hpath}/blade_2/aphase data true
hsetprop ${scobj_hpath}/blade_2/aphase mutable true
hsetprop ${scobj_hpath}/blade_2/aphase nxsave true
hsetprop ${scobj_hpath}/blade_2/aphase oldval 0.0
hsetprop ${scobj_hpath}/blade_2/aphase klass "parameter"
hsetprop ${scobj_hpath}/blade_2/aphase sdsinfo "::nexus::scobj::sdsinfo"
hsetprop ${scobj_hpath}/blade_2/aphase type "part"
hsetprop ${scobj_hpath}/blade_2/aphase nxalias "${name}_blade_2_aphase"
hfactory ${scobj_hpath}/disk_2/aphase plain user float
hsetprop ${scobj_hpath}/disk_2/aphase control true
hsetprop ${scobj_hpath}/disk_2/aphase data true
hsetprop ${scobj_hpath}/disk_2/aphase mutable true
hsetprop ${scobj_hpath}/disk_2/aphase nxsave true
hsetprop ${scobj_hpath}/disk_2/aphase oldval 0.0
hsetprop ${scobj_hpath}/disk_2/aphase klass "parameter"
hsetprop ${scobj_hpath}/disk_2/aphase sdsinfo "::nexus::scobj::sdsinfo"
hsetprop ${scobj_hpath}/disk_2/aphase type "part"
hsetprop ${scobj_hpath}/disk_2/aphase nxalias "${name}_disk_2_aphase"
hfactory ${scobj_hpath}/blade_2/aspeed plain user float
hsetprop ${scobj_hpath}/blade_2/aspeed control true
hsetprop ${scobj_hpath}/blade_2/aspeed data true
hsetprop ${scobj_hpath}/blade_2/aspeed mutable true
hsetprop ${scobj_hpath}/blade_2/aspeed nxsave true
hsetprop ${scobj_hpath}/blade_2/aspeed oldval 0.0
hsetprop ${scobj_hpath}/blade_2/aspeed klass "parameter"
hsetprop ${scobj_hpath}/blade_2/aspeed sdsinfo "::nexus::scobj::sdsinfo"
hsetprop ${scobj_hpath}/blade_2/aspeed type "part"
hsetprop ${scobj_hpath}/blade_2/aspeed nxalias "${name}_blade_2_aspeed"
hfactory ${scobj_hpath}/disk_2/aspeed plain user float
hsetprop ${scobj_hpath}/disk_2/aspeed control true
hsetprop ${scobj_hpath}/disk_2/aspeed data true
hsetprop ${scobj_hpath}/disk_2/aspeed mutable true
hsetprop ${scobj_hpath}/disk_2/aspeed nxsave true
hsetprop ${scobj_hpath}/disk_2/aspeed oldval 0.0
hsetprop ${scobj_hpath}/disk_2/aspeed klass "parameter"
hsetprop ${scobj_hpath}/disk_2/aspeed sdsinfo "::nexus::scobj::sdsinfo"
hsetprop ${scobj_hpath}/disk_2/aspeed type "part"
hsetprop ${scobj_hpath}/disk_2/aspeed nxalias "${name}_disk_2_aspeed"
hfactory ${scobj_hpath}/blade_2/master plain user text
hsetprop ${scobj_hpath}/blade_2/master control true
hsetprop ${scobj_hpath}/blade_2/master data true
hsetprop ${scobj_hpath}/blade_2/master mutable true
hsetprop ${scobj_hpath}/blade_2/master nxsave true
hsetprop ${scobj_hpath}/blade_2/master oldval UNKNOWN
hsetprop ${scobj_hpath}/blade_2/master klass "parameter"
hsetprop ${scobj_hpath}/blade_2/master sdsinfo "::nexus::scobj::sdsinfo"
hsetprop ${scobj_hpath}/blade_2/master type "part"
hsetprop ${scobj_hpath}/blade_2/master nxalias "${name}_blade_2_master"
hfactory ${scobj_hpath}/disk_2/frequency plain user float
hsetprop ${scobj_hpath}/disk_2/frequency control true
hsetprop ${scobj_hpath}/disk_2/frequency data true
hsetprop ${scobj_hpath}/disk_2/frequency mutable true
hsetprop ${scobj_hpath}/disk_2/frequency nxsave true
hsetprop ${scobj_hpath}/disk_2/frequency oldval 0.0
hsetprop ${scobj_hpath}/disk_2/frequency klass "parameter"
hsetprop ${scobj_hpath}/disk_2/frequency sdsinfo "::nexus::scobj::sdsinfo"
hsetprop ${scobj_hpath}/disk_2/frequency type "part"
hsetprop ${scobj_hpath}/disk_2/frequency nxalias "${name}_disk_2_frequency"
hfactory ${scobj_hpath}/blade_2/rphase plain user float
hsetprop ${scobj_hpath}/blade_2/rphase control true
hsetprop ${scobj_hpath}/blade_2/rphase data true
hsetprop ${scobj_hpath}/blade_2/rphase mutable true
hsetprop ${scobj_hpath}/blade_2/rphase nxsave true
hsetprop ${scobj_hpath}/blade_2/rphase oldval 0.0
hsetprop ${scobj_hpath}/blade_2/rphase klass "parameter"
hsetprop ${scobj_hpath}/blade_2/rphase sdsinfo "::nexus::scobj::sdsinfo"
hsetprop ${scobj_hpath}/blade_2/rphase type "part"
hsetprop ${scobj_hpath}/blade_2/rphase nxalias "${name}_blade_2_rphase"
hfactory ${scobj_hpath}/disk_2/master plain user text
hsetprop ${scobj_hpath}/disk_2/master control true
hsetprop ${scobj_hpath}/disk_2/master data true
hsetprop ${scobj_hpath}/disk_2/master mutable true
hsetprop ${scobj_hpath}/disk_2/master nxsave true
hsetprop ${scobj_hpath}/disk_2/master oldval UNKNOWN
hsetprop ${scobj_hpath}/disk_2/master klass "parameter"
hsetprop ${scobj_hpath}/disk_2/master sdsinfo "::nexus::scobj::sdsinfo"
hsetprop ${scobj_hpath}/disk_2/master type "part"
hsetprop ${scobj_hpath}/disk_2/master nxalias "${name}_disk_2_master"
hfactory ${scobj_hpath}/blade_2/rspeed plain user float
hsetprop ${scobj_hpath}/blade_2/rspeed control true
hsetprop ${scobj_hpath}/blade_2/rspeed data true
hsetprop ${scobj_hpath}/blade_2/rspeed mutable true
hsetprop ${scobj_hpath}/blade_2/rspeed nxsave true
hsetprop ${scobj_hpath}/blade_2/rspeed oldval 0.0
hsetprop ${scobj_hpath}/blade_2/rspeed klass "parameter"
hsetprop ${scobj_hpath}/blade_2/rspeed sdsinfo "::nexus::scobj::sdsinfo"
hsetprop ${scobj_hpath}/blade_2/rspeed type "part"
hsetprop ${scobj_hpath}/blade_2/rspeed nxalias "${name}_blade_2_rspeed"
hfactory ${scobj_hpath}/disk_2/rphase plain user float
hsetprop ${scobj_hpath}/disk_2/rphase control true
hsetprop ${scobj_hpath}/disk_2/rphase data true
hsetprop ${scobj_hpath}/disk_2/rphase mutable true
hsetprop ${scobj_hpath}/disk_2/rphase nxsave true
hsetprop ${scobj_hpath}/disk_2/rphase oldval 0.0
hsetprop ${scobj_hpath}/disk_2/rphase klass "parameter"
hsetprop ${scobj_hpath}/disk_2/rphase sdsinfo "::nexus::scobj::sdsinfo"
hsetprop ${scobj_hpath}/disk_2/rphase type "part"
hsetprop ${scobj_hpath}/disk_2/rphase nxalias "${name}_disk_2_rphase"
hfactory ${scobj_hpath}/blade_2/state plain user text
hsetprop ${scobj_hpath}/blade_2/state read ${ns}::fetchState ${scobj_hpath} readState {2}
hsetprop ${scobj_hpath}/blade_2/state readState ${ns}::readState ${scobj_hpath}
hsetprop ${scobj_hpath}/blade_2/state control true
hsetprop ${scobj_hpath}/blade_2/state data true
hsetprop ${scobj_hpath}/blade_2/state mutable true
hsetprop ${scobj_hpath}/blade_2/state nxsave true
hsetprop ${scobj_hpath}/blade_2/state oldval UNKNOWN
hsetprop ${scobj_hpath}/blade_2/state klass "parameter"
hsetprop ${scobj_hpath}/blade_2/state my_state "idle"
hsetprop ${scobj_hpath}/blade_2/state sdsinfo "::nexus::scobj::sdsinfo"
hsetprop ${scobj_hpath}/blade_2/state type "part"
hsetprop ${scobj_hpath}/blade_2/state nxalias "${name}_blade_2_state"
hfactory ${scobj_hpath}/disk_2/rspeed plain user float
hsetprop ${scobj_hpath}/disk_2/rspeed control true
hsetprop ${scobj_hpath}/disk_2/rspeed data true
hsetprop ${scobj_hpath}/disk_2/rspeed mutable true
hsetprop ${scobj_hpath}/disk_2/rspeed nxsave true
hsetprop ${scobj_hpath}/disk_2/rspeed oldval 0.0
hsetprop ${scobj_hpath}/disk_2/rspeed klass "parameter"
hsetprop ${scobj_hpath}/disk_2/rspeed sdsinfo "::nexus::scobj::sdsinfo"
hsetprop ${scobj_hpath}/disk_2/rspeed type "part"
hsetprop ${scobj_hpath}/disk_2/rspeed nxalias "${name}_disk_2_rspeed"
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 readState ${ns}::readState ${scobj_hpath}
hsetprop ${scobj_hpath}/disk_2/state control true
hsetprop ${scobj_hpath}/disk_2/state data true
hsetprop ${scobj_hpath}/disk_2/state mutable true
hsetprop ${scobj_hpath}/disk_2/state nxsave true
hsetprop ${scobj_hpath}/disk_2/state oldval UNKNOWN
hsetprop ${scobj_hpath}/disk_2/state klass "parameter"
hsetprop ${scobj_hpath}/disk_2/state my_state "idle"
hsetprop ${scobj_hpath}/disk_2/state sdsinfo "::nexus::scobj::sdsinfo"
hsetprop ${scobj_hpath}/disk_2/state type "part"
hsetprop ${scobj_hpath}/disk_2/state nxalias "${name}_disk_2_state"
if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/blade_2/state 1
hsetprop ${scobj_hpath}/blade_2/state simulated false
${sct_controller} poll ${scobj_hpath}/disk_2/state 1
hsetprop ${scobj_hpath}/disk_2/state simulated false
} else {
::scobj::astrium_chopper::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for astrium_chopper"
hsetprop ${scobj_hpath}/blade_2/state simulated true
hsetprop ${scobj_hpath}/disk_2/state simulated true
}
hsetprop ${scobj_hpath}/blade_2 data "true"
hsetprop ${scobj_hpath}/blade_2 klass "@none"
hsetprop ${scobj_hpath}/blade_2 type "part"
hsetprop ${scobj_hpath}/disk_2 data "true"
hsetprop ${scobj_hpath}/disk_2 klass "@none"
hsetprop ${scobj_hpath}/disk_2 type "part"
hfactory ${scobj_hpath}/blade_3 plain spy none
hfactory ${scobj_hpath}/disk_3 plain spy none
hfactory ${scobj_hpath}/blade_3/aphase plain user float
hsetprop ${scobj_hpath}/blade_3/aphase control true
hsetprop ${scobj_hpath}/blade_3/aphase data true
hsetprop ${scobj_hpath}/blade_3/aphase mutable true
hsetprop ${scobj_hpath}/blade_3/aphase nxsave true
hsetprop ${scobj_hpath}/blade_3/aphase oldval 0.0
hsetprop ${scobj_hpath}/blade_3/aphase klass "parameter"
hsetprop ${scobj_hpath}/blade_3/aphase sdsinfo "::nexus::scobj::sdsinfo"
hsetprop ${scobj_hpath}/blade_3/aphase type "part"
hsetprop ${scobj_hpath}/blade_3/aphase nxalias "${name}_blade_3_aphase"
hfactory ${scobj_hpath}/disk_3/aphase plain user float
hsetprop ${scobj_hpath}/disk_3/aphase control true
hsetprop ${scobj_hpath}/disk_3/aphase data true
hsetprop ${scobj_hpath}/disk_3/aphase mutable true
hsetprop ${scobj_hpath}/disk_3/aphase nxsave true
hsetprop ${scobj_hpath}/disk_3/aphase oldval 0.0
hsetprop ${scobj_hpath}/disk_3/aphase klass "parameter"
hsetprop ${scobj_hpath}/disk_3/aphase sdsinfo "::nexus::scobj::sdsinfo"
hsetprop ${scobj_hpath}/disk_3/aphase type "part"
hsetprop ${scobj_hpath}/disk_3/aphase nxalias "${name}_disk_3_aphase"
hfactory ${scobj_hpath}/blade_3/aspeed plain user float
hsetprop ${scobj_hpath}/blade_3/aspeed control true
hsetprop ${scobj_hpath}/blade_3/aspeed data true
hsetprop ${scobj_hpath}/blade_3/aspeed mutable true
hsetprop ${scobj_hpath}/blade_3/aspeed nxsave true
hsetprop ${scobj_hpath}/blade_3/aspeed oldval 0.0
hsetprop ${scobj_hpath}/blade_3/aspeed klass "parameter"
hsetprop ${scobj_hpath}/blade_3/aspeed sdsinfo "::nexus::scobj::sdsinfo"
hsetprop ${scobj_hpath}/blade_3/aspeed type "part"
hsetprop ${scobj_hpath}/blade_3/aspeed nxalias "${name}_blade_3_aspeed"
hfactory ${scobj_hpath}/disk_3/aspeed plain user float
hsetprop ${scobj_hpath}/disk_3/aspeed control true
hsetprop ${scobj_hpath}/disk_3/aspeed data true
hsetprop ${scobj_hpath}/disk_3/aspeed mutable true
hsetprop ${scobj_hpath}/disk_3/aspeed nxsave true
hsetprop ${scobj_hpath}/disk_3/aspeed oldval 0.0
hsetprop ${scobj_hpath}/disk_3/aspeed klass "parameter"
hsetprop ${scobj_hpath}/disk_3/aspeed sdsinfo "::nexus::scobj::sdsinfo"
hsetprop ${scobj_hpath}/disk_3/aspeed type "part"
hsetprop ${scobj_hpath}/disk_3/aspeed nxalias "${name}_disk_3_aspeed"
hfactory ${scobj_hpath}/blade_3/master plain user text
hsetprop ${scobj_hpath}/blade_3/master control true
hsetprop ${scobj_hpath}/blade_3/master data true
hsetprop ${scobj_hpath}/blade_3/master mutable true
hsetprop ${scobj_hpath}/blade_3/master nxsave true
hsetprop ${scobj_hpath}/blade_3/master oldval UNKNOWN
hsetprop ${scobj_hpath}/blade_3/master klass "parameter"
hsetprop ${scobj_hpath}/blade_3/master sdsinfo "::nexus::scobj::sdsinfo"
hsetprop ${scobj_hpath}/blade_3/master type "part"
hsetprop ${scobj_hpath}/blade_3/master nxalias "${name}_blade_3_master"
hfactory ${scobj_hpath}/disk_3/frequency plain user float
hsetprop ${scobj_hpath}/disk_3/frequency control true
hsetprop ${scobj_hpath}/disk_3/frequency data true
hsetprop ${scobj_hpath}/disk_3/frequency mutable true
hsetprop ${scobj_hpath}/disk_3/frequency nxsave true
hsetprop ${scobj_hpath}/disk_3/frequency oldval 0.0
hsetprop ${scobj_hpath}/disk_3/frequency klass "parameter"
hsetprop ${scobj_hpath}/disk_3/frequency sdsinfo "::nexus::scobj::sdsinfo"
hsetprop ${scobj_hpath}/disk_3/frequency type "part"
hsetprop ${scobj_hpath}/disk_3/frequency nxalias "${name}_disk_3_frequency"
hfactory ${scobj_hpath}/blade_3/rphase plain user float
hsetprop ${scobj_hpath}/blade_3/rphase control true
hsetprop ${scobj_hpath}/blade_3/rphase data true
hsetprop ${scobj_hpath}/blade_3/rphase mutable true
hsetprop ${scobj_hpath}/blade_3/rphase nxsave true
hsetprop ${scobj_hpath}/blade_3/rphase oldval 0.0
hsetprop ${scobj_hpath}/blade_3/rphase klass "parameter"
hsetprop ${scobj_hpath}/blade_3/rphase sdsinfo "::nexus::scobj::sdsinfo"
hsetprop ${scobj_hpath}/blade_3/rphase type "part"
hsetprop ${scobj_hpath}/blade_3/rphase nxalias "${name}_blade_3_rphase"
hfactory ${scobj_hpath}/disk_3/master plain user text
hsetprop ${scobj_hpath}/disk_3/master control true
hsetprop ${scobj_hpath}/disk_3/master data true
hsetprop ${scobj_hpath}/disk_3/master mutable true
hsetprop ${scobj_hpath}/disk_3/master nxsave true
hsetprop ${scobj_hpath}/disk_3/master oldval UNKNOWN
hsetprop ${scobj_hpath}/disk_3/master klass "parameter"
hsetprop ${scobj_hpath}/disk_3/master sdsinfo "::nexus::scobj::sdsinfo"
hsetprop ${scobj_hpath}/disk_3/master type "part"
hsetprop ${scobj_hpath}/disk_3/master nxalias "${name}_disk_3_master"
hfactory ${scobj_hpath}/blade_3/rspeed plain user float
hsetprop ${scobj_hpath}/blade_3/rspeed control true
hsetprop ${scobj_hpath}/blade_3/rspeed data true
hsetprop ${scobj_hpath}/blade_3/rspeed mutable true
hsetprop ${scobj_hpath}/blade_3/rspeed nxsave true
hsetprop ${scobj_hpath}/blade_3/rspeed oldval 0.0
hsetprop ${scobj_hpath}/blade_3/rspeed klass "parameter"
hsetprop ${scobj_hpath}/blade_3/rspeed sdsinfo "::nexus::scobj::sdsinfo"
hsetprop ${scobj_hpath}/blade_3/rspeed type "part"
hsetprop ${scobj_hpath}/blade_3/rspeed nxalias "${name}_blade_3_rspeed"
hfactory ${scobj_hpath}/disk_3/rphase plain user float
hsetprop ${scobj_hpath}/disk_3/rphase control true
hsetprop ${scobj_hpath}/disk_3/rphase data true
hsetprop ${scobj_hpath}/disk_3/rphase mutable true
hsetprop ${scobj_hpath}/disk_3/rphase nxsave true
hsetprop ${scobj_hpath}/disk_3/rphase oldval 0.0
hsetprop ${scobj_hpath}/disk_3/rphase klass "parameter"
hsetprop ${scobj_hpath}/disk_3/rphase sdsinfo "::nexus::scobj::sdsinfo"
hsetprop ${scobj_hpath}/disk_3/rphase type "part"
hsetprop ${scobj_hpath}/disk_3/rphase nxalias "${name}_disk_3_rphase"
hfactory ${scobj_hpath}/blade_3/state plain user text
hsetprop ${scobj_hpath}/blade_3/state read ${ns}::fetchState ${scobj_hpath} readState {3}
hsetprop ${scobj_hpath}/blade_3/state readState ${ns}::readState ${scobj_hpath}
hsetprop ${scobj_hpath}/blade_3/state control true
hsetprop ${scobj_hpath}/blade_3/state data true
hsetprop ${scobj_hpath}/blade_3/state mutable true
hsetprop ${scobj_hpath}/blade_3/state nxsave true
hsetprop ${scobj_hpath}/blade_3/state oldval UNKNOWN
hsetprop ${scobj_hpath}/blade_3/state klass "parameter"
hsetprop ${scobj_hpath}/blade_3/state my_state "idle"
hsetprop ${scobj_hpath}/blade_3/state sdsinfo "::nexus::scobj::sdsinfo"
hsetprop ${scobj_hpath}/blade_3/state type "part"
hsetprop ${scobj_hpath}/blade_3/state nxalias "${name}_blade_3_state"
hfactory ${scobj_hpath}/disk_3/rspeed plain user float
hsetprop ${scobj_hpath}/disk_3/rspeed control true
hsetprop ${scobj_hpath}/disk_3/rspeed data true
hsetprop ${scobj_hpath}/disk_3/rspeed mutable true
hsetprop ${scobj_hpath}/disk_3/rspeed nxsave true
hsetprop ${scobj_hpath}/disk_3/rspeed oldval 0.0
hsetprop ${scobj_hpath}/disk_3/rspeed klass "parameter"
hsetprop ${scobj_hpath}/disk_3/rspeed sdsinfo "::nexus::scobj::sdsinfo"
hsetprop ${scobj_hpath}/disk_3/rspeed type "part"
hsetprop ${scobj_hpath}/disk_3/rspeed nxalias "${name}_disk_3_rspeed"
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 readState ${ns}::readState ${scobj_hpath}
hsetprop ${scobj_hpath}/disk_3/state control true
hsetprop ${scobj_hpath}/disk_3/state data true
hsetprop ${scobj_hpath}/disk_3/state mutable true
hsetprop ${scobj_hpath}/disk_3/state nxsave true
hsetprop ${scobj_hpath}/disk_3/state oldval UNKNOWN
hsetprop ${scobj_hpath}/disk_3/state klass "parameter"
hsetprop ${scobj_hpath}/disk_3/state my_state "idle"
hsetprop ${scobj_hpath}/disk_3/state sdsinfo "::nexus::scobj::sdsinfo"
hsetprop ${scobj_hpath}/disk_3/state type "part"
hsetprop ${scobj_hpath}/disk_3/state nxalias "${name}_disk_3_state"
if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/blade_3/state 1
hsetprop ${scobj_hpath}/blade_3/state simulated false
${sct_controller} poll ${scobj_hpath}/disk_3/state 1
hsetprop ${scobj_hpath}/disk_3/state simulated false
} else {
::scobj::astrium_chopper::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for astrium_chopper"
hsetprop ${scobj_hpath}/blade_3/state simulated true
hsetprop ${scobj_hpath}/disk_3/state simulated true
}
hsetprop ${scobj_hpath}/blade_3 data "true"
hsetprop ${scobj_hpath}/blade_3 klass "@none"
hsetprop ${scobj_hpath}/blade_3 type "part"
hsetprop ${scobj_hpath}/disk_3 data "true"
hsetprop ${scobj_hpath}/disk_3 klass "@none"
hsetprop ${scobj_hpath}/disk_3 type "part"
hfactory ${scobj_hpath}/blade_4 plain spy none
hfactory ${scobj_hpath}/disk_4 plain spy none
hfactory ${scobj_hpath}/blade_4/aphase plain user float
hsetprop ${scobj_hpath}/blade_4/aphase control true
hsetprop ${scobj_hpath}/blade_4/aphase data true
hsetprop ${scobj_hpath}/blade_4/aphase mutable true
hsetprop ${scobj_hpath}/blade_4/aphase nxsave true
hsetprop ${scobj_hpath}/blade_4/aphase oldval 0.0
hsetprop ${scobj_hpath}/blade_4/aphase klass "parameter"
hsetprop ${scobj_hpath}/blade_4/aphase sdsinfo "::nexus::scobj::sdsinfo"
hsetprop ${scobj_hpath}/blade_4/aphase type "part"
hsetprop ${scobj_hpath}/blade_4/aphase nxalias "${name}_blade_4_aphase"
hfactory ${scobj_hpath}/disk_4/aphase plain user float
hsetprop ${scobj_hpath}/disk_4/aphase control true
hsetprop ${scobj_hpath}/disk_4/aphase data true
hsetprop ${scobj_hpath}/disk_4/aphase mutable true
hsetprop ${scobj_hpath}/disk_4/aphase nxsave true
hsetprop ${scobj_hpath}/disk_4/aphase oldval 0.0
hsetprop ${scobj_hpath}/disk_4/aphase klass "parameter"
hsetprop ${scobj_hpath}/disk_4/aphase sdsinfo "::nexus::scobj::sdsinfo"
hsetprop ${scobj_hpath}/disk_4/aphase type "part"
hsetprop ${scobj_hpath}/disk_4/aphase nxalias "${name}_disk_4_aphase"
hfactory ${scobj_hpath}/blade_4/aspeed plain user float
hsetprop ${scobj_hpath}/blade_4/aspeed control true
hsetprop ${scobj_hpath}/blade_4/aspeed data true
hsetprop ${scobj_hpath}/blade_4/aspeed mutable true
hsetprop ${scobj_hpath}/blade_4/aspeed nxsave true
hsetprop ${scobj_hpath}/blade_4/aspeed oldval 0.0
hsetprop ${scobj_hpath}/blade_4/aspeed klass "parameter"
hsetprop ${scobj_hpath}/blade_4/aspeed sdsinfo "::nexus::scobj::sdsinfo"
hsetprop ${scobj_hpath}/blade_4/aspeed type "part"
hsetprop ${scobj_hpath}/blade_4/aspeed nxalias "${name}_blade_4_aspeed"
hfactory ${scobj_hpath}/disk_4/aspeed plain user float
hsetprop ${scobj_hpath}/disk_4/aspeed control true
hsetprop ${scobj_hpath}/disk_4/aspeed data true
hsetprop ${scobj_hpath}/disk_4/aspeed mutable true
hsetprop ${scobj_hpath}/disk_4/aspeed nxsave true
hsetprop ${scobj_hpath}/disk_4/aspeed oldval 0.0
hsetprop ${scobj_hpath}/disk_4/aspeed klass "parameter"
hsetprop ${scobj_hpath}/disk_4/aspeed sdsinfo "::nexus::scobj::sdsinfo"
hsetprop ${scobj_hpath}/disk_4/aspeed type "part"
hsetprop ${scobj_hpath}/disk_4/aspeed nxalias "${name}_disk_4_aspeed"
hfactory ${scobj_hpath}/blade_4/master plain user text
hsetprop ${scobj_hpath}/blade_4/master control true
hsetprop ${scobj_hpath}/blade_4/master data true
hsetprop ${scobj_hpath}/blade_4/master mutable true
hsetprop ${scobj_hpath}/blade_4/master nxsave true
hsetprop ${scobj_hpath}/blade_4/master oldval UNKNOWN
hsetprop ${scobj_hpath}/blade_4/master klass "parameter"
hsetprop ${scobj_hpath}/blade_4/master sdsinfo "::nexus::scobj::sdsinfo"
hsetprop ${scobj_hpath}/blade_4/master type "part"
hsetprop ${scobj_hpath}/blade_4/master nxalias "${name}_blade_4_master"
hfactory ${scobj_hpath}/disk_4/frequency plain user float
hsetprop ${scobj_hpath}/disk_4/frequency control true
hsetprop ${scobj_hpath}/disk_4/frequency data true
hsetprop ${scobj_hpath}/disk_4/frequency mutable true
hsetprop ${scobj_hpath}/disk_4/frequency nxsave true
hsetprop ${scobj_hpath}/disk_4/frequency oldval 0.0
hsetprop ${scobj_hpath}/disk_4/frequency klass "parameter"
hsetprop ${scobj_hpath}/disk_4/frequency sdsinfo "::nexus::scobj::sdsinfo"
hsetprop ${scobj_hpath}/disk_4/frequency type "part"
hsetprop ${scobj_hpath}/disk_4/frequency nxalias "${name}_disk_4_frequency"
hfactory ${scobj_hpath}/blade_4/rphase plain user float
hsetprop ${scobj_hpath}/blade_4/rphase control true
hsetprop ${scobj_hpath}/blade_4/rphase data true
hsetprop ${scobj_hpath}/blade_4/rphase mutable true
hsetprop ${scobj_hpath}/blade_4/rphase nxsave true
hsetprop ${scobj_hpath}/blade_4/rphase oldval 0.0
hsetprop ${scobj_hpath}/blade_4/rphase klass "parameter"
hsetprop ${scobj_hpath}/blade_4/rphase sdsinfo "::nexus::scobj::sdsinfo"
hsetprop ${scobj_hpath}/blade_4/rphase type "part"
hsetprop ${scobj_hpath}/blade_4/rphase nxalias "${name}_blade_4_rphase"
hfactory ${scobj_hpath}/disk_4/master plain user text
hsetprop ${scobj_hpath}/disk_4/master control true
hsetprop ${scobj_hpath}/disk_4/master data true
hsetprop ${scobj_hpath}/disk_4/master mutable true
hsetprop ${scobj_hpath}/disk_4/master nxsave true
hsetprop ${scobj_hpath}/disk_4/master oldval UNKNOWN
hsetprop ${scobj_hpath}/disk_4/master klass "parameter"
hsetprop ${scobj_hpath}/disk_4/master sdsinfo "::nexus::scobj::sdsinfo"
hsetprop ${scobj_hpath}/disk_4/master type "part"
hsetprop ${scobj_hpath}/disk_4/master nxalias "${name}_disk_4_master"
hfactory ${scobj_hpath}/blade_4/rspeed plain user float
hsetprop ${scobj_hpath}/blade_4/rspeed control true
hsetprop ${scobj_hpath}/blade_4/rspeed data true
hsetprop ${scobj_hpath}/blade_4/rspeed mutable true
hsetprop ${scobj_hpath}/blade_4/rspeed nxsave true
hsetprop ${scobj_hpath}/blade_4/rspeed oldval 0.0
hsetprop ${scobj_hpath}/blade_4/rspeed klass "parameter"
hsetprop ${scobj_hpath}/blade_4/rspeed sdsinfo "::nexus::scobj::sdsinfo"
hsetprop ${scobj_hpath}/blade_4/rspeed type "part"
hsetprop ${scobj_hpath}/blade_4/rspeed nxalias "${name}_blade_4_rspeed"
hfactory ${scobj_hpath}/disk_4/rphase plain user float
hsetprop ${scobj_hpath}/disk_4/rphase control true
hsetprop ${scobj_hpath}/disk_4/rphase data true
hsetprop ${scobj_hpath}/disk_4/rphase mutable true
hsetprop ${scobj_hpath}/disk_4/rphase nxsave true
hsetprop ${scobj_hpath}/disk_4/rphase oldval 0.0
hsetprop ${scobj_hpath}/disk_4/rphase klass "parameter"
hsetprop ${scobj_hpath}/disk_4/rphase sdsinfo "::nexus::scobj::sdsinfo"
hsetprop ${scobj_hpath}/disk_4/rphase type "part"
hsetprop ${scobj_hpath}/disk_4/rphase nxalias "${name}_disk_4_rphase"
hfactory ${scobj_hpath}/blade_4/state plain user text
hsetprop ${scobj_hpath}/blade_4/state read ${ns}::fetchState ${scobj_hpath} readState {4}
hsetprop ${scobj_hpath}/blade_4/state readState ${ns}::readState ${scobj_hpath}
hsetprop ${scobj_hpath}/blade_4/state control true
hsetprop ${scobj_hpath}/blade_4/state data true
hsetprop ${scobj_hpath}/blade_4/state mutable true
hsetprop ${scobj_hpath}/blade_4/state nxsave true
hsetprop ${scobj_hpath}/blade_4/state oldval UNKNOWN
hsetprop ${scobj_hpath}/blade_4/state klass "parameter"
hsetprop ${scobj_hpath}/blade_4/state my_state "idle"
hsetprop ${scobj_hpath}/blade_4/state sdsinfo "::nexus::scobj::sdsinfo"
hsetprop ${scobj_hpath}/blade_4/state type "part"
hsetprop ${scobj_hpath}/blade_4/state nxalias "${name}_blade_4_state"
hfactory ${scobj_hpath}/disk_4/rspeed plain user float
hsetprop ${scobj_hpath}/disk_4/rspeed control true
hsetprop ${scobj_hpath}/disk_4/rspeed data true
hsetprop ${scobj_hpath}/disk_4/rspeed mutable true
hsetprop ${scobj_hpath}/disk_4/rspeed nxsave true
hsetprop ${scobj_hpath}/disk_4/rspeed oldval 0.0
hsetprop ${scobj_hpath}/disk_4/rspeed klass "parameter"
hsetprop ${scobj_hpath}/disk_4/rspeed sdsinfo "::nexus::scobj::sdsinfo"
hsetprop ${scobj_hpath}/disk_4/rspeed type "part"
hsetprop ${scobj_hpath}/disk_4/rspeed nxalias "${name}_disk_4_rspeed"
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 readState ${ns}::readState ${scobj_hpath}
hsetprop ${scobj_hpath}/disk_4/state control true
hsetprop ${scobj_hpath}/disk_4/state data true
hsetprop ${scobj_hpath}/disk_4/state mutable true
hsetprop ${scobj_hpath}/disk_4/state nxsave true
hsetprop ${scobj_hpath}/disk_4/state oldval UNKNOWN
hsetprop ${scobj_hpath}/disk_4/state klass "parameter"
hsetprop ${scobj_hpath}/disk_4/state my_state "idle"
hsetprop ${scobj_hpath}/disk_4/state sdsinfo "::nexus::scobj::sdsinfo"
hsetprop ${scobj_hpath}/disk_4/state type "part"
hsetprop ${scobj_hpath}/disk_4/state nxalias "${name}_disk_4_state"
if {[string equal -nocase "${simulation_flag}" "false"]} {
${sct_controller} poll ${scobj_hpath}/blade_4/state 1
hsetprop ${scobj_hpath}/blade_4/state simulated false
${sct_controller} poll ${scobj_hpath}/disk_4/state 1
hsetprop ${scobj_hpath}/disk_4/state simulated false
} else {
::scobj::astrium_chopper::sics_log 9 "simulation_flag=${simulation_flag} => No poll/write for astrium_chopper"
hsetprop ${scobj_hpath}/blade_4/state simulated true
hsetprop ${scobj_hpath}/disk_4/state simulated true
}
hsetprop ${scobj_hpath}/blade_4 data "true"
hsetprop ${scobj_hpath}/blade_4 klass "@none"
hsetprop ${scobj_hpath}/blade_4 type "part"
hsetprop ${scobj_hpath}/disk_4 data "true"
hsetprop ${scobj_hpath}/disk_4 klass "@none"
hsetprop ${scobj_hpath}/disk_4 type "part"
hsetprop ${scobj_hpath} klass ${device_class}
hsetprop ${scobj_hpath} data true
hsetprop ${scobj_hpath} debug_threshold 5

View File

@@ -175,27 +175,9 @@ proc ::scobj::he3_polanal::setValue {tc_root nextState cmd_str} {
set cmd "${cmd_str}${par}"
# setValue hook code starts
set cmd "${cmd_str}"
if {[string equal -nocase [sct target] "refresh"]} {
set cmd "${cmd_str}"
}
if {[string equal -nocase [sct target] "minus"]} {
set cmd "${cmd_str} -"
}
if {[string equal -nocase [sct target] "dn"]} {
set cmd "${cmd_str} -"
}
if {[string equal -nocase [sct target] "down"]} {
set cmd "${cmd_str} -"
}
if {[sct target] == "-" || [sct target] == -1} {
set cmd "${cmd_str} -"
}
if {[string equal -nocase [sct target] "plus"]} {
set cmd "${cmd_str} +"
}
if {[string equal -nocase [sct target] "up"]} {
set cmd "${cmd_str} +"
}
if {[sct target] == "+" || [sct target] == 1} {
set cmd "${cmd_str} +"
}
@@ -318,12 +300,12 @@ proc ::scobj::he3_polanal::mkDriver { sct_controller name device_class simulatio
hsetprop ${scobj_hpath}/analyser/time2 type "part"
hsetprop ${scobj_hpath}/analyser/time2 nxalias "${name}_analyser_time2"
hfactory ${scobj_hpath}/analyser/timestamp plain user float
hfactory ${scobj_hpath}/analyser/timestamp plain user int
hsetprop ${scobj_hpath}/analyser/timestamp control true
hsetprop ${scobj_hpath}/analyser/timestamp data true
hsetprop ${scobj_hpath}/analyser/timestamp mutable true
hsetprop ${scobj_hpath}/analyser/timestamp nxsave true
hsetprop ${scobj_hpath}/analyser/timestamp oldval 0.0
hsetprop ${scobj_hpath}/analyser/timestamp oldval 0
hsetprop ${scobj_hpath}/analyser/timestamp klass "parameter"
hsetprop ${scobj_hpath}/analyser/timestamp sdsinfo "::nexus::scobj::sdsinfo"
hsetprop ${scobj_hpath}/analyser/timestamp type "part"
@@ -406,12 +388,12 @@ proc ::scobj::he3_polanal::mkDriver { sct_controller name device_class simulatio
hsetprop ${scobj_hpath}/analyser_start/time2 type "part"
hsetprop ${scobj_hpath}/analyser_start/time2 nxalias "${name}_analyser_start_time2"
hfactory ${scobj_hpath}/analyser_start/timestamp plain user float
hfactory ${scobj_hpath}/analyser_start/timestamp plain user int
hsetprop ${scobj_hpath}/analyser_start/timestamp control true
hsetprop ${scobj_hpath}/analyser_start/timestamp data true
hsetprop ${scobj_hpath}/analyser_start/timestamp mutable true
hsetprop ${scobj_hpath}/analyser_start/timestamp nxsave true
hsetprop ${scobj_hpath}/analyser_start/timestamp oldval 0.0
hsetprop ${scobj_hpath}/analyser_start/timestamp oldval 0
hsetprop ${scobj_hpath}/analyser_start/timestamp klass "parameter"
hsetprop ${scobj_hpath}/analyser_start/timestamp sdsinfo "::nexus::scobj::sdsinfo"
hsetprop ${scobj_hpath}/analyser_start/timestamp type "part"
@@ -481,7 +463,7 @@ proc ::scobj::he3_polanal::mkDriver { sct_controller name device_class simulatio
hsetprop ${scobj_hpath}/polariser/spin data true
hsetprop ${scobj_hpath}/polariser/spin mutable true
hsetprop ${scobj_hpath}/polariser/spin nxsave true
hsetprop ${scobj_hpath}/polariser/spin values +,-,Refresh
hsetprop ${scobj_hpath}/polariser/spin values -1,0,+1
hsetprop ${scobj_hpath}/polariser/spin oldval 0.0
hsetprop ${scobj_hpath}/polariser/spin klass "parameter"
hsetprop ${scobj_hpath}/polariser/spin sdsinfo "::nexus::scobj::sdsinfo"
@@ -509,12 +491,12 @@ proc ::scobj::he3_polanal::mkDriver { sct_controller name device_class simulatio
hsetprop ${scobj_hpath}/polariser/time2 type "part"
hsetprop ${scobj_hpath}/polariser/time2 nxalias "${name}_polariser_time2"
hfactory ${scobj_hpath}/polariser/timestamp plain user float
hfactory ${scobj_hpath}/polariser/timestamp plain user int
hsetprop ${scobj_hpath}/polariser/timestamp control true
hsetprop ${scobj_hpath}/polariser/timestamp data true
hsetprop ${scobj_hpath}/polariser/timestamp mutable true
hsetprop ${scobj_hpath}/polariser/timestamp nxsave true
hsetprop ${scobj_hpath}/polariser/timestamp oldval 0.0
hsetprop ${scobj_hpath}/polariser/timestamp oldval 0
hsetprop ${scobj_hpath}/polariser/timestamp klass "parameter"
hsetprop ${scobj_hpath}/polariser/timestamp sdsinfo "::nexus::scobj::sdsinfo"
hsetprop ${scobj_hpath}/polariser/timestamp type "part"
@@ -597,12 +579,12 @@ proc ::scobj::he3_polanal::mkDriver { sct_controller name device_class simulatio
hsetprop ${scobj_hpath}/polariser_start/time2 type "part"
hsetprop ${scobj_hpath}/polariser_start/time2 nxalias "${name}_polariser_start_time2"
hfactory ${scobj_hpath}/polariser_start/timestamp plain user float
hfactory ${scobj_hpath}/polariser_start/timestamp plain user int
hsetprop ${scobj_hpath}/polariser_start/timestamp control true
hsetprop ${scobj_hpath}/polariser_start/timestamp data true
hsetprop ${scobj_hpath}/polariser_start/timestamp mutable true
hsetprop ${scobj_hpath}/polariser_start/timestamp nxsave true
hsetprop ${scobj_hpath}/polariser_start/timestamp oldval 0.0
hsetprop ${scobj_hpath}/polariser_start/timestamp oldval 0
hsetprop ${scobj_hpath}/polariser_start/timestamp klass "parameter"
hsetprop ${scobj_hpath}/polariser_start/timestamp sdsinfo "::nexus::scobj::sdsinfo"
hsetprop ${scobj_hpath}/polariser_start/timestamp type "part"

View File

@@ -347,8 +347,8 @@ proc ::scobj::isotech_ps::add_driver {name device_class simulation_flag ip_addre
::scobj::isotech_ps::sics_log 9 "makesctcontroller sct_${name} aqadapter ${tcp_port}"
makesctcontroller sct_${name} aqadapter ${tcp_port}
} else {
::scobj::isotech_ps::sics_log 9 "makesctcontroller sct_${name} std ${ip_address}:${tcp_port} \"\\r\""
makesctcontroller sct_${name} std ${ip_address}:${tcp_port} "\r"
::scobj::isotech_ps::sics_log 9 "makesctcontroller sct_${name} std ${ip_address}:${tcp_port} \\r"
makesctcontroller sct_${name} std ${ip_address}:${tcp_port} \r
}
} else {
::scobj::isotech_ps::sics_log 9 "simulation_flag=${simulation_flag} => Null sctcontroller for isotech_ps"
@@ -420,7 +420,7 @@ proc ::scobj::isotech_ps::read_config {} {
set arg_list [list]
set missing_list [list]
array unset default_map
array set default_map [list terminator "\r"]
array set default_map [list terminator \r]
foreach arg {terminator} {
if {[dict exists $u $arg]} {
lappend arg_list "[dict get $u $arg]"

View File

@@ -697,8 +697,8 @@ proc ::scobj::julabo_lh45_gen::add_driver {name device_class simulation_flag ip_
::scobj::julabo_lh45_gen::sics_log 9 "makesctcontroller sct_${name} aqadapter ${tcp_port}"
makesctcontroller sct_${name} aqadapter ${tcp_port}
} else {
::scobj::julabo_lh45_gen::sics_log 9 "makesctcontroller sct_${name} std ${ip_address}:${tcp_port} \"\\r\""
makesctcontroller sct_${name} std ${ip_address}:${tcp_port} "\r"
::scobj::julabo_lh45_gen::sics_log 9 "makesctcontroller sct_${name} std ${ip_address}:${tcp_port} \\r"
makesctcontroller sct_${name} std ${ip_address}:${tcp_port} \r
}
} else {
::scobj::julabo_lh45_gen::sics_log 9 "simulation_flag=${simulation_flag} => Null sctcontroller for julabo_lh45_gen"
@@ -770,7 +770,7 @@ proc ::scobj::julabo_lh45_gen::read_config {} {
set arg_list [list]
set missing_list [list]
array unset default_map
array set default_map [list terminator "\r"]
array set default_map [list terminator \r]
foreach arg {terminator} {
if {[dict exists $u $arg]} {
lappend arg_list "[dict get $u $arg]"

View File

@@ -30,7 +30,7 @@ proc ::scobj::ls340::sics_log {debug_level debug_string} {
} catch_message ]
}
proc ::scobj::ls340::mkDriver { sct_controller name device_class simulation_flag ip_address tcp_port id datype tol1 tol2 } {
proc ::scobj::ls340::mkDriver { sct_controller name device_class simulation_flag ip_address tcp_port id datype {tol1 1.0} {tol2 1.0} } {
::scobj::ls340::sics_log 9 "::scobj::ls340::mkDriver ${sct_controller} ${name} ${device_class} ${simulation_flag} ${ip_address} ${tcp_port} ${id} ${datype} ${tol1} ${tol2}"
set ns "[namespace current]"
set catch_status [ catch {
@@ -59,8 +59,8 @@ proc ::scobj::ls340::add_driver {name device_class simulation_flag ip_address tc
::scobj::ls340::sics_log 9 "makesctcontroller sct_${name} aqadapter ${tcp_port}"
makesctcontroller sct_${name} aqadapter ${tcp_port}
} else {
::scobj::ls340::sics_log 9 "makesctcontroller sct_${name} std ${ip_address}:${tcp_port}"
makesctcontroller sct_${name} std ${ip_address}:${tcp_port}
::scobj::ls340::sics_log 9 "makesctcontroller sct_${name} std ${ip_address}:${tcp_port} \\r\\n"
makesctcontroller sct_${name} std ${ip_address}:${tcp_port} \r\n
}
} else {
::scobj::ls340::sics_log 9 "simulation_flag=${simulation_flag} => Null sctcontroller for ls340"
@@ -129,7 +129,26 @@ proc ::scobj::ls340::read_config {} {
if { [string equal -nocase ${asyncqueue} "sct"] } {
set ip_address [dict get $v ip]
set tcp_port [dict get $v port]
makesctcontroller sct_${name} std ${ip_address}:${tcp_port}
set arg_list [list]
set missing_list [list]
array unset default_map
array set default_map [list terminator \r\n]
foreach arg {terminator} {
if {[dict exists $u $arg]} {
lappend arg_list "[dict get $u $arg]"
} elseif {[dict exists $v $arg]} {
lappend arg_list "[dict get $v $arg]"
} elseif {[info exists default_map($arg)]} {
lappend arg_list $default_map($arg)
} else {
${ns}::sics_log 9 "Missing configuration value $arg"
lappend missing_list $arg
}
}
if { [llength $missing_list] > 0 } {
error "$name is missing configuration values $missing_list"
}
makesctcontroller sct_${name} std ${ip_address}:${tcp_port} {*}$arg_list
} else {
makesctcontroller sct_${name} aqadapter ${asyncqueue}
}
@@ -161,11 +180,15 @@ proc ::scobj::ls340::read_config {} {
}
set arg_list [list]
set missing_list [list]
array unset default_map
array set default_map [list tol1 1.0 tol2 1.0]
foreach arg {id datype tol1 tol2} {
if {[dict exists $u $arg]} {
lappend arg_list "[dict get $u $arg]"
} elseif {[dict exists $v $arg]} {
lappend arg_list "[dict get $v $arg]"
} elseif {[info exists default_map($arg)]} {
lappend arg_list $default_map($arg)
} else {
${ns}::sics_log 9 "Missing configuration value $arg"
lappend missing_list $arg