init config
r3280 | jgn | 2011-11-24 15:01:39 +1100 (Thu, 24 Nov 2011) | 1 line
This commit is contained in:
committed by
Douglas Clowes
parent
4ab35a325f
commit
bfe2507e2d
@@ -47,16 +47,22 @@ proc ::scobj::hv:setting {par} {
|
||||
|
||||
set newPara [sct target]
|
||||
|
||||
switch $par {
|
||||
"hv1" {set comm "hv_set hv1 $newPara"}
|
||||
"hv2" {set comm "hv_set hv2 $newPara"}
|
||||
"i1" {set comm "hv_set i1 $newPara"}
|
||||
"i2" {set comm "hv_set i2 $newPara"}
|
||||
default {error "ERROR: illegal parameters, try "hv1","hv2","i1" or "i2""}
|
||||
}
|
||||
if{[sct oldStatus] != $newPara} {
|
||||
set oldStatus $newPara
|
||||
switch $par {
|
||||
"hv1" {set comm "hv_set hv1 $newPara"}
|
||||
"hv2" {set comm "hv_set hv2 $newPara"}
|
||||
"i1" {set comm "hv_set i1 $newPara"}
|
||||
"i2" {set comm "hv_set i2 $newPara"}
|
||||
default {error "ERROR: illegal parameters, try "hv1","hv2","i1" or "i2""
|
||||
return idle}
|
||||
}
|
||||
|
||||
sct send $comm
|
||||
return checkReply
|
||||
sct send $comm
|
||||
return checkReply
|
||||
} else {
|
||||
return idle
|
||||
}
|
||||
}
|
||||
|
||||
proc ::scobj::hv::checkReplyFunc {basePath} {
|
||||
@@ -83,9 +89,12 @@ proc ::scobj::hv::getParaFunc {} {
|
||||
proc ::scobj::hv::rdParaStateFunc {basePath} {
|
||||
set replyStr [sct result]
|
||||
broadcast "Reply from hv_get: $replyStr"
|
||||
|
||||
if {[string first "Error" $replyStr] != -1} {
|
||||
broadcast "ERROR: cannot get the current parameters setting from the HV device, check again!"
|
||||
} else {
|
||||
} elseif {$replyStr != [sct oldval]} {
|
||||
sct oldval $replyStr
|
||||
broadcast "oldval = [sct oldval]"
|
||||
set s1 [string trimright $replyStr "\n"]
|
||||
set s2 [split $s1 "=;"]
|
||||
|
||||
@@ -126,6 +135,7 @@ proc ::scobj::hv::mkHV {argList} {
|
||||
MakeSICSObj $pa(NAME) SCT_OBJECT
|
||||
sicslist setatt $pa(NAME) klass instrument
|
||||
sicslist setatt $pa(NAME) long_name $pa(NAME)
|
||||
hsetprop /sics/$pa(NAME) status "IDLE"
|
||||
|
||||
hfactory /sics/$pa(NAME)/hv1 plain user int
|
||||
hfactory /sics/$pa(NAME)/hv2 plain user int
|
||||
@@ -136,15 +146,18 @@ proc ::scobj::hv::mkHV {argList} {
|
||||
#makesctcontroller sct_hv rfamp $pa(IP):$pa(PORT)
|
||||
makesctcontroller sct_hv std $pa(IP):$pa(PORT)
|
||||
|
||||
hsetprop /sics/$pa(NAME) read ::scobj::hv::getParaFunc
|
||||
hsetprop /sics/$pa(NAME) rdParaState ::scobj::hv::rdParaStateFunc /sics/$pa(NAME)
|
||||
hfactory /sics/$pa(NAME)/status plain user text
|
||||
hsetprop /sics/$pa(NAME)/status read ::scobj::hv::getParaFunc
|
||||
hsetprop /sics/$pa(NAME)/status rdParaState ::scobj::hv::rdParaStateFunc /sics/$pa(NAME)
|
||||
hsetprop /sics/$pa(NAME)/status oldval UNKNOWN
|
||||
hset /sics/$pa(NAME)/status idle
|
||||
|
||||
hsetprop /sics/$pa(NAME) tuning $pa(TUNING)
|
||||
hsetprop /sics/$pa(NAME)/status tuning $pa(TUNING)
|
||||
|
||||
# Initialise properties required for generating the API for GumTree and to save data
|
||||
::scobj::hinitprops $pa(NAME) hv1 i1 hv2 i2 msg
|
||||
|
||||
sct_hv poll /sics/$pa(NAME) $pa(INTERVAL)
|
||||
sct_hv poll /sics/$pa(NAME)/status $pa(INTERVAL)
|
||||
|
||||
if {$pa(TUNING)} {
|
||||
hfactory /sics/$pa(NAME)/set_hv1 plain user int
|
||||
@@ -152,19 +165,23 @@ proc ::scobj::hv::mkHV {argList} {
|
||||
hfactory /sics/$pa(NAME)/set_i1 plain user int
|
||||
hfactory /sics/$pa(NAME)/set_i2 plain user int
|
||||
|
||||
::scobj::hinitprops $pa(NAME) set_hv1 set_hv2 set_i1 set_i2
|
||||
::scobj::hinitprops $pa(NAME) status set_hv1 set_hv2 set_i1 set_i2
|
||||
|
||||
hsetprop /sics/$pa(NAME)/set_hv1 write ::scobj::hv:setting "hv1"
|
||||
hsetprop /sics/$pa(NAME)/set_hv1 checkReply ::scobj::hv::checkReplyFunc /sics/$pa(NAME)
|
||||
hsetprop /sics/$pa(NAME)/set_hv1 oldStatus UNKNOWN
|
||||
|
||||
hsetprop /sics/$pa(NAME)/set_hv2 write ::scobj::hv:setting "hv2"
|
||||
hsetprop /sics/$pa(NAME)/set_hv2 checkReply ::scobj::hv::checkReplyFunc /sics/$pa(NAME)
|
||||
hsetprop /sics/$pa(NAME)/set_hv2 oldStatus UNKNOWN
|
||||
|
||||
hsetprop /sics/$pa(NAME)/set_i1 write ::scobj::hv:setting "i1"
|
||||
hsetprop /sics/$pa(NAME)/set_i1 checkReply ::scobj::hv::checkReplyFunc /sics/$pa(NAME)
|
||||
hsetprop /sics/$pa(NAME)/set_i1 write ::scobj::hv:setting "i1"
|
||||
hsetprop /sics/$pa(NAME)/set_i1 checkReply ::scobj::hv::checkReplyFunc /sics/$pa(NAME)
|
||||
hsetprop /sics/$pa(NAME)/set_i1 oldStatus UNKNOWN
|
||||
|
||||
hsetprop /sics/$pa(NAME)/set_i2 write ::scobj::hv:setting "i2"
|
||||
hsetprop /sics/$pa(NAME)/set_i2 checkReply ::scobj::hv::checkReplyFunc /sics/$pa(NAME)
|
||||
hsetprop /sics/$pa(NAME)/set_i2 write ::scobj::hv:setting "i2"
|
||||
hsetprop /sics/$pa(NAME)/set_i2 checkReply ::scobj::hv::checkReplyFunc /sics/$pa(NAME)
|
||||
hsetprop /sics/$pa(NAME)/set_i2 oldStatus UNKNOWN
|
||||
|
||||
sct_hv write /sics/$pa(NAME)/set_hv1 $pa(INTERVAL)
|
||||
sct_hv write /sics/$pa(NAME)/set_hv2 $pa(INTERVAL)
|
||||
|
||||
Reference in New Issue
Block a user