diff --git a/site_ansto/instrument/bilby/config/counter/counter.tcl b/site_ansto/instrument/bilby/config/counter/counter.tcl index 58a94083..2d3f0254 100644 --- a/site_ansto/instrument/bilby/config/counter/counter.tcl +++ b/site_ansto/instrument/bilby/config/counter/counter.tcl @@ -24,7 +24,7 @@ proc ::counter::isc_initialize {} { variable isc_beam_monitor_list $monlist set isc_monitor_address [lindex $hostlist 0] set isc_numchannels [llength $isc_beam_monitor_list] - ::counter::ic_initialize + ::counter::ic_initialize MONITOR_SOURCE "HISTOGRAM_SERVER" } message ] { if {$::errorCode=="NONE"} {return $message} return -code error "$message" diff --git a/site_ansto/instrument/config/counter/counter_common_1.tcl b/site_ansto/instrument/config/counter/counter_common_1.tcl index 9ad2782c..9027bccb 100644 --- a/site_ansto/instrument/config/counter/counter_common_1.tcl +++ b/site_ansto/instrument/config/counter/counter_common_1.tcl @@ -16,7 +16,7 @@ proc ::counter::transferscript {} { } publish ::counter::transferscript user -proc ::counter::ic_initialize {} { +proc ::counter::ic_initialize {args} { if [ catch { variable isc_numchannels variable isc_monitor_address @@ -58,18 +58,35 @@ proc ::counter::ic_initialize {} { sicslist setatt bm_preset long_name preset sicslist setatt bm_preset mutable false - - ::utility::macro::getset float monitor_counts {} { - bm status - return "monitor_counts = [SplitReply [bm getcounts]]" + foreach {k v} $args { + if [string equal -nocase "MONITOR_SOURCE" $k] { + set mon_srce $v + break + } + } + if {$mon_srce == "MONITOR_SERVER"} { + ::utility::macro::getset float monitor_counts {} { + bm status + return "monitor_counts = [SplitReply [bm getcounts]]" + } + } else { + ::utility::macro::getset float monitor_counts {} { + return "monitor_counts = [lindex [hmm configure bm1_counts] 2]" + } } sicslist setatt monitor_counts klass monitor sicslist setatt monitor_counts long_name data sicslist setatt monitor_counts mutable true - ::utility::macro::getset float monitor_time {} { - bm status - return "monitor_time = [SplitReply [bm gettime]]" + if {$mon_srce == "MONITOR_SERVER"} { + ::utility::macro::getset float monitor_time {} { + bm status + return "monitor_time = [SplitReply [bm gettime]]" + } + } else { + ::utility::macro::getset float monitor_time {} { + return "monitor_time = [lindex [hmm configure bm1_runtime] 2]" + } } sicslist setatt monitor_time klass monitor sicslist setatt monitor_time long_name time @@ -78,20 +95,32 @@ proc ::counter::ic_initialize {} { for {set bm_num 1} {$bm_num <= $isc_numchannels} {incr bm_num} { set bm_counts bm${bm_num}_counts set bmon bm${bm_num} - ::utility::macro::getset int $bm_counts {} [subst -nocommands { - $bmon status - return "[$bmon getcounts]" - }] + if {$mon_srce == "MONITOR_SERVER"} { + ::utility::macro::getset int $bm_counts {} [subst -nocommands { + $bmon status + return "[$bmon getcounts]" + }] + } else { + ::utility::macro::getset int $bm_counts {} [subst -nocommands { + return "${bmon}.Counts = [lindex [hmm configure ${bmon}_counts] 2]" + }] + } sicslist setatt $bm_counts klass monitor sicslist setatt $bm_counts long_name $bm_counts sicslist setatt $bm_counts mutable true set bm_time bm${bm_num}_time set bmon bm${bm_num} - ::utility::macro::getset float $bm_time {} [subst -nocommands { - $bmon status - return "[$bmon gettime]" - }] + if {$mon_srce == "MONITOR_SERVER"} { + ::utility::macro::getset float $bm_time {} [subst -nocommands { + $bmon status + return "[$bmon gettime]" + }] + } else { + ::utility::macro::getset float $bm_time {} [subst -nocommands { + return "${bmon}.CountTime = [lindex [hmm configure ${bmon}_runtime] 2]" + }] + } sicslist setatt $bm_time klass monitor sicslist setatt $bm_time long_name $bm_time sicslist setatt $bm_time mutable true diff --git a/site_ansto/instrument/dingo/config/counter/counter.tcl b/site_ansto/instrument/dingo/config/counter/counter.tcl index 064cec02..cd779416 100644 --- a/site_ansto/instrument/dingo/config/counter/counter.tcl +++ b/site_ansto/instrument/dingo/config/counter/counter.tcl @@ -78,7 +78,7 @@ proc ::counter::isc_initialize {} { #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 + #::counter::ic_initialize MONITOR_SOURCE "MONITOR_SERVER" set isc_cm_address [dict get $::CAMERA_HOSTPORT HOST] set isc_cm_port [dict get $::CAMERA_HOSTPORT PORT] diff --git a/site_ansto/instrument/hipd/config/counter/counter.tcl b/site_ansto/instrument/hipd/config/counter/counter.tcl index 58a94083..3af6f5ce 100644 --- a/site_ansto/instrument/hipd/config/counter/counter.tcl +++ b/site_ansto/instrument/hipd/config/counter/counter.tcl @@ -24,7 +24,7 @@ proc ::counter::isc_initialize {} { variable isc_beam_monitor_list $monlist set isc_monitor_address [lindex $hostlist 0] set isc_numchannels [llength $isc_beam_monitor_list] - ::counter::ic_initialize + ::counter::ic_initialize MONITOR_SOURCE "MONITOR_SERVER" } message ] { if {$::errorCode=="NONE"} {return $message} return -code error "$message" diff --git a/site_ansto/instrument/hrpd/config/counter/counter.tcl b/site_ansto/instrument/hrpd/config/counter/counter.tcl index 58a94083..3af6f5ce 100644 --- a/site_ansto/instrument/hrpd/config/counter/counter.tcl +++ b/site_ansto/instrument/hrpd/config/counter/counter.tcl @@ -24,7 +24,7 @@ proc ::counter::isc_initialize {} { variable isc_beam_monitor_list $monlist set isc_monitor_address [lindex $hostlist 0] set isc_numchannels [llength $isc_beam_monitor_list] - ::counter::ic_initialize + ::counter::ic_initialize MONITOR_SOURCE "MONITOR_SERVER" } message ] { if {$::errorCode=="NONE"} {return $message} return -code error "$message" diff --git a/site_ansto/instrument/kookaburra/config/counter/counter.tcl b/site_ansto/instrument/kookaburra/config/counter/counter.tcl index 58a94083..3af6f5ce 100644 --- a/site_ansto/instrument/kookaburra/config/counter/counter.tcl +++ b/site_ansto/instrument/kookaburra/config/counter/counter.tcl @@ -24,7 +24,7 @@ proc ::counter::isc_initialize {} { variable isc_beam_monitor_list $monlist set isc_monitor_address [lindex $hostlist 0] set isc_numchannels [llength $isc_beam_monitor_list] - ::counter::ic_initialize + ::counter::ic_initialize MONITOR_SOURCE "MONITOR_SERVER" } message ] { if {$::errorCode=="NONE"} {return $message} return -code error "$message" diff --git a/site_ansto/instrument/lyrebird/config/counter/counter.tcl b/site_ansto/instrument/lyrebird/config/counter/counter.tcl index 58a94083..3af6f5ce 100644 --- a/site_ansto/instrument/lyrebird/config/counter/counter.tcl +++ b/site_ansto/instrument/lyrebird/config/counter/counter.tcl @@ -24,7 +24,7 @@ proc ::counter::isc_initialize {} { variable isc_beam_monitor_list $monlist set isc_monitor_address [lindex $hostlist 0] set isc_numchannels [llength $isc_beam_monitor_list] - ::counter::ic_initialize + ::counter::ic_initialize MONITOR_SOURCE "MONITOR_SERVER" } message ] { if {$::errorCode=="NONE"} {return $message} return -code error "$message" diff --git a/site_ansto/instrument/pelican/config/counter/counter.tcl b/site_ansto/instrument/pelican/config/counter/counter.tcl index 58a94083..3af6f5ce 100644 --- a/site_ansto/instrument/pelican/config/counter/counter.tcl +++ b/site_ansto/instrument/pelican/config/counter/counter.tcl @@ -24,7 +24,7 @@ proc ::counter::isc_initialize {} { variable isc_beam_monitor_list $monlist set isc_monitor_address [lindex $hostlist 0] set isc_numchannels [llength $isc_beam_monitor_list] - ::counter::ic_initialize + ::counter::ic_initialize MONITOR_SOURCE "MONITOR_SERVER" } message ] { if {$::errorCode=="NONE"} {return $message} return -code error "$message" diff --git a/site_ansto/instrument/reflectometer/config/counter/counter.tcl b/site_ansto/instrument/reflectometer/config/counter/counter.tcl index 58a94083..3af6f5ce 100644 --- a/site_ansto/instrument/reflectometer/config/counter/counter.tcl +++ b/site_ansto/instrument/reflectometer/config/counter/counter.tcl @@ -24,7 +24,7 @@ proc ::counter::isc_initialize {} { variable isc_beam_monitor_list $monlist set isc_monitor_address [lindex $hostlist 0] set isc_numchannels [llength $isc_beam_monitor_list] - ::counter::ic_initialize + ::counter::ic_initialize MONITOR_SOURCE "MONITOR_SERVER" } message ] { if {$::errorCode=="NONE"} {return $message} return -code error "$message" diff --git a/site_ansto/instrument/rsd/config/counter/counter.tcl b/site_ansto/instrument/rsd/config/counter/counter.tcl index 58a94083..3af6f5ce 100644 --- a/site_ansto/instrument/rsd/config/counter/counter.tcl +++ b/site_ansto/instrument/rsd/config/counter/counter.tcl @@ -24,7 +24,7 @@ proc ::counter::isc_initialize {} { variable isc_beam_monitor_list $monlist set isc_monitor_address [lindex $hostlist 0] set isc_numchannels [llength $isc_beam_monitor_list] - ::counter::ic_initialize + ::counter::ic_initialize MONITOR_SOURCE "MONITOR_SERVER" } message ] { if {$::errorCode=="NONE"} {return $message} return -code error "$message" diff --git a/site_ansto/instrument/sans/config/counter/counter.tcl b/site_ansto/instrument/sans/config/counter/counter.tcl index 58a94083..3af6f5ce 100644 --- a/site_ansto/instrument/sans/config/counter/counter.tcl +++ b/site_ansto/instrument/sans/config/counter/counter.tcl @@ -24,7 +24,7 @@ proc ::counter::isc_initialize {} { variable isc_beam_monitor_list $monlist set isc_monitor_address [lindex $hostlist 0] set isc_numchannels [llength $isc_beam_monitor_list] - ::counter::ic_initialize + ::counter::ic_initialize MONITOR_SOURCE "MONITOR_SERVER" } message ] { if {$::errorCode=="NONE"} {return $message} return -code error "$message" diff --git a/site_ansto/instrument/tas/config/counter/counter.tcl b/site_ansto/instrument/tas/config/counter/counter.tcl index 58a94083..3af6f5ce 100644 --- a/site_ansto/instrument/tas/config/counter/counter.tcl +++ b/site_ansto/instrument/tas/config/counter/counter.tcl @@ -24,7 +24,7 @@ proc ::counter::isc_initialize {} { variable isc_beam_monitor_list $monlist set isc_monitor_address [lindex $hostlist 0] set isc_numchannels [llength $isc_beam_monitor_list] - ::counter::ic_initialize + ::counter::ic_initialize MONITOR_SOURCE "MONITOR_SERVER" } message ] { if {$::errorCode=="NONE"} {return $message} return -code error "$message"