Files
sics/site_ansto/instrument/dingo/config/counter/counter.tcl
2013-05-22 10:57:11 +10:00

85 lines
2.3 KiB
Tcl

source $cfPath(counter)/counter_common_1.tcl
## TODO Put all the counter macros in the counter namespace
namespace eval counter {
variable isc_numchannels
variable isc_monitor_address
variable isc_portlist
variable isc_beam_monitor_list
variable isc_cm_address
variable isc_cm_port
proc set_sobj_attributes {} {
}
}
proc ::counter::cm_initialize {} {
if [ catch {
variable isc_cm_address
variable isc_cm_port
set isc_cm_address 137.157.204.193
#set isc_cm_address localhost
set isc_cm_port 33000
MakeAsyncQueue cmserver CAMERA $isc_cm_address $isc_cm_port
MakeCounter cm1 anstocamera cmserver
sicslist setatt cm1 privilege internal
::utility::macro::getset text cm1_mode {} {
return [cm1 getmode]
}
sicslist setatt cm1_mode klass monitor
sicslist setatt cm1_mode long_name mode
sicslist setatt cm1_mode mutable false
::utility::macro::getset float cm1_preset {} {
return [cm1 getpreset]
}
sicslist setatt cm1_preset klass monitor
sicslist setatt cm1_preset long_name preset
sicslist setatt cm1_preset mutable false
::utility::macro::getset int cm1_counts {} [subst -nocommands {
return "[cm1 getcounts]"
}]
sicslist setatt cm1_counts klass monitor
sicslist setatt cm1_counts long_name cm1_counts
sicslist setatt cm1_counts mutable true
::utility::macro::getset float cm1_time {} [subst -nocommands {
return "[cm1 gettime]"
}]
sicslist setatt cm1_time klass monitor
sicslist setatt cm1_time long_name cm1_time
sicslist setatt cm1_time mutable true
} message ] {
if {$::errorCode=="NONE"} {return $message}
return -code error $message
}
}
publish ::counter::cm_initialize user
proc ::counter::isc_initialize {} {
if [catch {
variable isc_numchannels
variable isc_monitor_address
variable isc_portlist
variable isc_beam_monitor_list {MONITOR_1 MONITOR_2 MONITOR_3}
#set isc_monitor_address "das1-[SplitReply [instrument]]"
#set isc_portlist [list 33000 33001 33002 33003 33004 33005 33006 33007]
#set isc_numchannels [llength $isc_beam_monitor_list]
#::counter::ic_initialize
set isc_cm_address 137.157.204.193
set isc_cm_port 33000
::counter::cm_initialize
} message ] {
if {$::errorCode=="NONE"} {return $message}
return -code error "$message"
}
}