Add read of tower down switch
Must be down to run test r3146 | dcl | 2011-05-19 12:47:06 +1000 (Thu, 19 May 2011) | 3 lines
This commit is contained in:
@@ -219,6 +219,54 @@ debug_log "rdPower [sct] [sct result]"
|
|||||||
}
|
}
|
||||||
return idle
|
return idle
|
||||||
}
|
}
|
||||||
|
|
||||||
|
proc rdTower {tc_root} {
|
||||||
|
debug_log "rdTower [sct] [sct result]"
|
||||||
|
set data [sct result]
|
||||||
|
switch -glob -- $data {
|
||||||
|
"ASCERR:*" {
|
||||||
|
sct geterror $data
|
||||||
|
}
|
||||||
|
default {
|
||||||
|
if { [hpropexists [sct] geterror] } {
|
||||||
|
hdelprop [sct] geterror
|
||||||
|
}
|
||||||
|
set flist [split $data " "]
|
||||||
|
if {[llength $flist] != 2} {
|
||||||
|
sct geterror "Field error: expected two fields, received $data"
|
||||||
|
return idle
|
||||||
|
}
|
||||||
|
set data [lindex $flist 0]
|
||||||
|
set stts [lindex $flist 1]
|
||||||
|
if {[string length $stts] != 4} {
|
||||||
|
sct geterror "Length error: expected RSxx but received $data"
|
||||||
|
} elseif {[string range $stts 0 1] != "RS"} {
|
||||||
|
sct geterror "Unexpected status: expected RSxx but received $stts"
|
||||||
|
} elseif {![string is xdigit [string range $stts 2 3]]} {
|
||||||
|
sct geterror "Hexadecimal error: expected RSxx but received $data"
|
||||||
|
} elseif {[string length $data] != 5} {
|
||||||
|
sct geterror "Length error: expected SRDxx but received $data"
|
||||||
|
} elseif {[string range $data 0 2] != "SRD"} {
|
||||||
|
sct geterror "Unexpected response: expected SRDxx but received $data"
|
||||||
|
} elseif {[string range $data 3 4] != "00" && [string range $data 3 4] != "10"} {
|
||||||
|
sct geterror "Data error: expected SRD00 or SRD10 but received $data"
|
||||||
|
} else {
|
||||||
|
set data [string range $data 3 4]
|
||||||
|
if {$data == "10"} {
|
||||||
|
set data "1"
|
||||||
|
}
|
||||||
|
debug_log "Tower data=$data, oldval=[sct oldval]"
|
||||||
|
if {$data != [sct oldval]} {
|
||||||
|
sct oldval $data
|
||||||
|
sct update $data
|
||||||
|
sct utime readtime
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return idle
|
||||||
|
}
|
||||||
|
|
||||||
proc rdVisc {tc_root} {
|
proc rdVisc {tc_root} {
|
||||||
debug_log "rdVisc [sct] [sct result]"
|
debug_log "rdVisc [sct] [sct result]"
|
||||||
set data [sct result]
|
set data [sct result]
|
||||||
@@ -885,6 +933,7 @@ proc createNode {scobj_hpath sct_controller cmdGroup varName readable writable\
|
|||||||
{} setpoint 0 1 0 float user {} {} {0} {setTemp.chkWrite} {}\
|
{} setpoint 0 1 0 float user {} {} {0} {setTemp.chkWrite} {}\
|
||||||
{} speed 1 1 0 float user {RSR} {rdSpeed} {0} {setSpeed.chkWrite} {}\
|
{} speed 1 1 0 float user {RSR} {rdSpeed} {0} {setSpeed.chkWrite} {}\
|
||||||
{} power 1 0 0 float internal {RSC} {rdPower} {0} {} {}\
|
{} power 1 0 0 float internal {RSC} {rdPower} {0} {} {}\
|
||||||
|
{} tower 1 0 0 float internal {RSD} {rdTower} {0} {} {}\
|
||||||
{} viscosity 1 0 0 float internal {RSI} {rdVisc} {0} {} {}\
|
{} viscosity 1 0 0 float internal {RSI} {rdVisc} {0} {} {}\
|
||||||
{} profile 0 1 0 text user {} {} {0} {setProf.ackProf} {}\
|
{} profile 0 1 0 text user {} {} {0} {setProf.ackProf} {}\
|
||||||
{} test 1 1 0 text user {RD000000} {rdTest} {0} {setTest.ackTest} {}\
|
{} test 1 1 0 text user {RD000000} {rdTest} {0} {setTest.ackTest} {}\
|
||||||
|
|||||||
Reference in New Issue
Block a user