Generated sct tcl drivers from sct templates.

This commit is contained in:
Ferdi Franceschini
2014-08-06 10:59:14 +10:00
parent 18c862a609
commit 639e4dc3c8
31 changed files with 426 additions and 131 deletions

View File

@@ -279,15 +279,19 @@ proc ::scobj::mercury_base::mkDriver { sct_controller name id tol } {
set scobj_hpath /sics/${name}
hfactory ${scobj_hpath}/Loop1 plain spy none
hsetprop ${scobj_hpath}/Loop1 data "true"
hsetprop ${scobj_hpath}/Loop1 klass "@none"
hsetprop ${scobj_hpath}/Loop1 type "part"
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 rdText ${ns}::rdText ${scobj_hpath}
hsetprop ${scobj_hpath}/Loop1/nick control true
hsetprop ${scobj_hpath}/Loop1/nick data true
hsetprop ${scobj_hpath}/Loop1/nick mutable false
hsetprop ${scobj_hpath}/Loop1/nick mutable true
hsetprop ${scobj_hpath}/Loop1/nick nxsave true
hsetprop ${scobj_hpath}/Loop1/nick oldval UNKNOWN
hsetprop ${scobj_hpath}/Loop1/nick klass "parameter"
hsetprop ${scobj_hpath}/Loop1/nick sdsinfo "::nexus::scobj::sdsinfo"
hsetprop ${scobj_hpath}/Loop1/nick type "part"
hsetprop ${scobj_hpath}/Loop1/nick nxalias "${name}_Loop1_nick"
@@ -297,9 +301,10 @@ proc ::scobj::mercury_base::mkDriver { sct_controller name id tol } {
hsetprop ${scobj_hpath}/Loop1/power rdValue ${ns}::rdValue ${scobj_hpath}
hsetprop ${scobj_hpath}/Loop1/power control true
hsetprop ${scobj_hpath}/Loop1/power data true
hsetprop ${scobj_hpath}/Loop1/power mutable false
hsetprop ${scobj_hpath}/Loop1/power mutable true
hsetprop ${scobj_hpath}/Loop1/power nxsave true
hsetprop ${scobj_hpath}/Loop1/power oldval 0.0
hsetprop ${scobj_hpath}/Loop1/power klass "parameter"
hsetprop ${scobj_hpath}/Loop1/power sdsinfo "::nexus::scobj::sdsinfo"
hsetprop ${scobj_hpath}/Loop1/power type "part"
hsetprop ${scobj_hpath}/Loop1/power nxalias "${name}_Loop1_power"
@@ -309,11 +314,12 @@ proc ::scobj::mercury_base::mkDriver { sct_controller name id tol } {
hsetprop ${scobj_hpath}/Loop1/sensor rdValue ${ns}::rdValue ${scobj_hpath}
hsetprop ${scobj_hpath}/Loop1/sensor control true
hsetprop ${scobj_hpath}/Loop1/sensor data true
hsetprop ${scobj_hpath}/Loop1/sensor mutable false
hsetprop ${scobj_hpath}/Loop1/sensor mutable true
hsetprop ${scobj_hpath}/Loop1/sensor nxsave true
hsetprop ${scobj_hpath}/Loop1/sensor permlink data_set "T[format "%02d" ${id}]S01"
hsetprop ${scobj_hpath}/Loop1/sensor @description "T[format "%02d" ${id}]S01"
hsetprop ${scobj_hpath}/Loop1/sensor oldval 0.0
hsetprop ${scobj_hpath}/Loop1/sensor klass "parameter"
hsetprop ${scobj_hpath}/Loop1/sensor sdsinfo "::nexus::scobj::sdsinfo"
hsetprop ${scobj_hpath}/Loop1/sensor type "part"
hsetprop ${scobj_hpath}/Loop1/sensor nxalias "${name}_Loop1_sensor"
@@ -331,7 +337,7 @@ proc ::scobj::mercury_base::mkDriver { sct_controller name id tol } {
hsetprop ${scobj_hpath}/Loop1/setpoint driveable Loop1/sensor
hsetprop ${scobj_hpath}/Loop1/setpoint control true
hsetprop ${scobj_hpath}/Loop1/setpoint data true
hsetprop ${scobj_hpath}/Loop1/setpoint mutable false
hsetprop ${scobj_hpath}/Loop1/setpoint mutable true
hsetprop ${scobj_hpath}/Loop1/setpoint nxsave true
hsetprop ${scobj_hpath}/Loop1/setpoint lowerlimit 0
hsetprop ${scobj_hpath}/Loop1/setpoint upperlimit 333
@@ -339,6 +345,7 @@ proc ::scobj::mercury_base::mkDriver { sct_controller name id tol } {
hsetprop ${scobj_hpath}/Loop1/setpoint permlink data_set "T[format "%02d" ${id}]SP01"
hsetprop ${scobj_hpath}/Loop1/setpoint @description "T[format "%02d" ${id}]SP01"
hsetprop ${scobj_hpath}/Loop1/setpoint oldval 0.0
hsetprop ${scobj_hpath}/Loop1/setpoint klass "parameter"
hsetprop ${scobj_hpath}/Loop1/setpoint sdsinfo "::nexus::scobj::sdsinfo"
hsetprop ${scobj_hpath}/Loop1/setpoint settle_time "15"
hsetprop ${scobj_hpath}/Loop1/setpoint type "drivable"
@@ -355,15 +362,19 @@ proc ::scobj::mercury_base::mkDriver { sct_controller name id tol } {
}
hfactory ${scobj_hpath}/Loop2 plain spy none
hsetprop ${scobj_hpath}/Loop2 data "true"
hsetprop ${scobj_hpath}/Loop2 klass "@none"
hsetprop ${scobj_hpath}/Loop2 type "part"
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 rdText ${ns}::rdText ${scobj_hpath}
hsetprop ${scobj_hpath}/Loop2/nick control true
hsetprop ${scobj_hpath}/Loop2/nick data true
hsetprop ${scobj_hpath}/Loop2/nick mutable false
hsetprop ${scobj_hpath}/Loop2/nick mutable true
hsetprop ${scobj_hpath}/Loop2/nick nxsave true
hsetprop ${scobj_hpath}/Loop2/nick oldval UNKNOWN
hsetprop ${scobj_hpath}/Loop2/nick klass "parameter"
hsetprop ${scobj_hpath}/Loop2/nick sdsinfo "::nexus::scobj::sdsinfo"
hsetprop ${scobj_hpath}/Loop2/nick type "part"
hsetprop ${scobj_hpath}/Loop2/nick nxalias "${name}_Loop2_nick"
@@ -373,9 +384,10 @@ proc ::scobj::mercury_base::mkDriver { sct_controller name id tol } {
hsetprop ${scobj_hpath}/Loop2/power rdValue ${ns}::rdValue ${scobj_hpath}
hsetprop ${scobj_hpath}/Loop2/power control true
hsetprop ${scobj_hpath}/Loop2/power data true
hsetprop ${scobj_hpath}/Loop2/power mutable false
hsetprop ${scobj_hpath}/Loop2/power mutable true
hsetprop ${scobj_hpath}/Loop2/power nxsave true
hsetprop ${scobj_hpath}/Loop2/power oldval 0.0
hsetprop ${scobj_hpath}/Loop2/power klass "parameter"
hsetprop ${scobj_hpath}/Loop2/power sdsinfo "::nexus::scobj::sdsinfo"
hsetprop ${scobj_hpath}/Loop2/power type "part"
hsetprop ${scobj_hpath}/Loop2/power nxalias "${name}_Loop2_power"
@@ -385,11 +397,12 @@ proc ::scobj::mercury_base::mkDriver { sct_controller name id tol } {
hsetprop ${scobj_hpath}/Loop2/sensor rdValue ${ns}::rdValue ${scobj_hpath}
hsetprop ${scobj_hpath}/Loop2/sensor control true
hsetprop ${scobj_hpath}/Loop2/sensor data true
hsetprop ${scobj_hpath}/Loop2/sensor mutable false
hsetprop ${scobj_hpath}/Loop2/sensor mutable true
hsetprop ${scobj_hpath}/Loop2/sensor nxsave true
hsetprop ${scobj_hpath}/Loop2/sensor permlink data_set "T[format "%02d" ${id}]S02"
hsetprop ${scobj_hpath}/Loop2/sensor @description "T[format "%02d" ${id}]S02"
hsetprop ${scobj_hpath}/Loop2/sensor oldval 0.0
hsetprop ${scobj_hpath}/Loop2/sensor klass "parameter"
hsetprop ${scobj_hpath}/Loop2/sensor sdsinfo "::nexus::scobj::sdsinfo"
hsetprop ${scobj_hpath}/Loop2/sensor type "part"
hsetprop ${scobj_hpath}/Loop2/sensor nxalias "${name}_Loop2_sensor"
@@ -407,7 +420,7 @@ proc ::scobj::mercury_base::mkDriver { sct_controller name id tol } {
hsetprop ${scobj_hpath}/Loop2/setpoint driveable Loop2/sensor
hsetprop ${scobj_hpath}/Loop2/setpoint control true
hsetprop ${scobj_hpath}/Loop2/setpoint data true
hsetprop ${scobj_hpath}/Loop2/setpoint mutable false
hsetprop ${scobj_hpath}/Loop2/setpoint mutable true
hsetprop ${scobj_hpath}/Loop2/setpoint nxsave true
hsetprop ${scobj_hpath}/Loop2/setpoint lowerlimit 0
hsetprop ${scobj_hpath}/Loop2/setpoint upperlimit 333
@@ -415,6 +428,7 @@ proc ::scobj::mercury_base::mkDriver { sct_controller name id tol } {
hsetprop ${scobj_hpath}/Loop2/setpoint permlink data_set "T[format "%02d" ${id}]SP02"
hsetprop ${scobj_hpath}/Loop2/setpoint @description "T[format "%02d" ${id}]SP02"
hsetprop ${scobj_hpath}/Loop2/setpoint oldval 0.0
hsetprop ${scobj_hpath}/Loop2/setpoint klass "parameter"
hsetprop ${scobj_hpath}/Loop2/setpoint sdsinfo "::nexus::scobj::sdsinfo"
hsetprop ${scobj_hpath}/Loop2/setpoint settle_time "15"
hsetprop ${scobj_hpath}/Loop2/setpoint type "drivable"
@@ -431,15 +445,19 @@ proc ::scobj::mercury_base::mkDriver { sct_controller name id tol } {
}
hfactory ${scobj_hpath}/Loop3 plain spy none
hsetprop ${scobj_hpath}/Loop3 data "true"
hsetprop ${scobj_hpath}/Loop3 klass "@none"
hsetprop ${scobj_hpath}/Loop3 type "part"
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 rdText ${ns}::rdText ${scobj_hpath}
hsetprop ${scobj_hpath}/Loop3/nick control true
hsetprop ${scobj_hpath}/Loop3/nick data true
hsetprop ${scobj_hpath}/Loop3/nick mutable false
hsetprop ${scobj_hpath}/Loop3/nick mutable true
hsetprop ${scobj_hpath}/Loop3/nick nxsave true
hsetprop ${scobj_hpath}/Loop3/nick oldval UNKNOWN
hsetprop ${scobj_hpath}/Loop3/nick klass "parameter"
hsetprop ${scobj_hpath}/Loop3/nick sdsinfo "::nexus::scobj::sdsinfo"
hsetprop ${scobj_hpath}/Loop3/nick type "part"
hsetprop ${scobj_hpath}/Loop3/nick nxalias "${name}_Loop3_nick"
@@ -449,9 +467,10 @@ proc ::scobj::mercury_base::mkDriver { sct_controller name id tol } {
hsetprop ${scobj_hpath}/Loop3/power rdValue ${ns}::rdValue ${scobj_hpath}
hsetprop ${scobj_hpath}/Loop3/power control true
hsetprop ${scobj_hpath}/Loop3/power data true
hsetprop ${scobj_hpath}/Loop3/power mutable false
hsetprop ${scobj_hpath}/Loop3/power mutable true
hsetprop ${scobj_hpath}/Loop3/power nxsave true
hsetprop ${scobj_hpath}/Loop3/power oldval 0.0
hsetprop ${scobj_hpath}/Loop3/power klass "parameter"
hsetprop ${scobj_hpath}/Loop3/power sdsinfo "::nexus::scobj::sdsinfo"
hsetprop ${scobj_hpath}/Loop3/power type "part"
hsetprop ${scobj_hpath}/Loop3/power nxalias "${name}_Loop3_power"
@@ -461,11 +480,12 @@ proc ::scobj::mercury_base::mkDriver { sct_controller name id tol } {
hsetprop ${scobj_hpath}/Loop3/sensor rdValue ${ns}::rdValue ${scobj_hpath}
hsetprop ${scobj_hpath}/Loop3/sensor control true
hsetprop ${scobj_hpath}/Loop3/sensor data true
hsetprop ${scobj_hpath}/Loop3/sensor mutable false
hsetprop ${scobj_hpath}/Loop3/sensor mutable true
hsetprop ${scobj_hpath}/Loop3/sensor nxsave true
hsetprop ${scobj_hpath}/Loop3/sensor permlink data_set "T[format "%02d" ${id}]S03"
hsetprop ${scobj_hpath}/Loop3/sensor @description "T[format "%02d" ${id}]S03"
hsetprop ${scobj_hpath}/Loop3/sensor oldval 0.0
hsetprop ${scobj_hpath}/Loop3/sensor klass "parameter"
hsetprop ${scobj_hpath}/Loop3/sensor sdsinfo "::nexus::scobj::sdsinfo"
hsetprop ${scobj_hpath}/Loop3/sensor type "part"
hsetprop ${scobj_hpath}/Loop3/sensor nxalias "${name}_Loop3_sensor"
@@ -483,7 +503,7 @@ proc ::scobj::mercury_base::mkDriver { sct_controller name id tol } {
hsetprop ${scobj_hpath}/Loop3/setpoint driveable Loop3/sensor
hsetprop ${scobj_hpath}/Loop3/setpoint control true
hsetprop ${scobj_hpath}/Loop3/setpoint data true
hsetprop ${scobj_hpath}/Loop3/setpoint mutable false
hsetprop ${scobj_hpath}/Loop3/setpoint mutable true
hsetprop ${scobj_hpath}/Loop3/setpoint nxsave true
hsetprop ${scobj_hpath}/Loop3/setpoint lowerlimit 0
hsetprop ${scobj_hpath}/Loop3/setpoint upperlimit 333
@@ -491,6 +511,7 @@ proc ::scobj::mercury_base::mkDriver { sct_controller name id tol } {
hsetprop ${scobj_hpath}/Loop3/setpoint permlink data_set "T[format "%02d" ${id}]SP03"
hsetprop ${scobj_hpath}/Loop3/setpoint @description "T[format "%02d" ${id}]SP03"
hsetprop ${scobj_hpath}/Loop3/setpoint oldval 0.0
hsetprop ${scobj_hpath}/Loop3/setpoint klass "parameter"
hsetprop ${scobj_hpath}/Loop3/setpoint sdsinfo "::nexus::scobj::sdsinfo"
hsetprop ${scobj_hpath}/Loop3/setpoint settle_time "15"
hsetprop ${scobj_hpath}/Loop3/setpoint type "drivable"
@@ -506,6 +527,7 @@ proc ::scobj::mercury_base::mkDriver { sct_controller name id tol } {
::scobj::mercury_base::sics_log 9 "[environment_simulation] => No poll/write for mercury_base"
}
hsetprop ${scobj_hpath} klass environment
hsetprop ${scobj_hpath} data true
hsetprop ${scobj_hpath} debug_threshold 5
if {[string equal -nocase [SplitReply [environment_simulation]] "false"]} {
ansto_makesctdrive ${name}_Loop1_setpoint ${scobj_hpath}/Loop1/setpoint ${scobj_hpath}/Loop1/sensor ${sct_controller}