Create pas/config/source/source.tcl config/source/source_common.tcl pelican_configuration.tcl deploySICS.sh Don't deploy script validator configs, they are obsolete server_config.tcl Source config has been moved to config/source and is specialised for each instrument by calling the instrument specific initialiser ::source:isc_initalize commands_common_1.tcl The monitor mode and preset are recorded when running the count command counter_common_1.tcl Report and record the counts and time for the multicounter and each monitor. Also record the mode and preset for the multicounter. hmm_configuration_common_1.tcl Cleanup, remove obsolete code. Report and record the hmm total counts and time. Allow monitor controlled acquisition from the histogram server nxscripts_common_1.tcl Add DataType to NXdata section, preserve case in text attributes. scan_common_1.tcl Provide sensible feedback for our bmonscan and hmscan objects. Set run_mode when doing a scan. Allow users to select the datatype for histmem scans and to force a scan wombat_configuration.tcl echidna_configuration.tcl platypus_configuration.tcl kowari_configuration.tcl quokka_configuration.tcl Load source config. quokka_configuration.tcl SICS-198 HACK, Add AttrotDeg and RotApDeg status feedback. sans/commands/commands.tcl Add status feedback for quokka "guide" command. sans/parameters/parameters.tcl Make sure data can be saved as xml (replace % with _percent) SICS-198 HACK, add AttRotDeg and RotApDeg status feedback. utility.tcl Fix nasty "params array generator" bug. SICS commands execute at runlevel 0 which means that the params anonymous array must be made at this level. Provide the normalattlist command to enable creating attribute lists with the case preserved. Added the runsics, runtestsics and sicsclient scripts to CVS. Added source configurations for echidna, wombat, kowari, quokka, platypus, and pelican to CVS r2644 | ffr | 2008-07-11 11:09:57 +1000 (Fri, 11 Jul 2008) | 53 lines
88 lines
2.9 KiB
Tcl
88 lines
2.9 KiB
Tcl
namespace eval counter {
|
|
variable isc_numchannels
|
|
variable isc_monitor_address
|
|
variable isc_portlist
|
|
variable isc_beam_monitor_list
|
|
}
|
|
|
|
proc ::counter::transferscript {} {
|
|
variable isc_numchannels
|
|
set val [SplitReply [bm1 gettime]]
|
|
for {set i 1} {$i <= $isc_numchannels} {incr i} {
|
|
append val " [SplitReply [bm$i getcounts] ]"
|
|
}
|
|
# broadcast $val
|
|
return $val
|
|
}
|
|
publish ::counter::transfer_script user
|
|
|
|
proc ::counter::ic_initialize {} {
|
|
if [ catch {
|
|
variable isc_numchannels
|
|
variable isc_monitor_address
|
|
variable isc_portlist
|
|
variable isc_beam_monitor_list
|
|
|
|
set sim_mode [SplitReply [counter_simulation]]
|
|
if {$sim_mode == "true"} {
|
|
# MakeCounter bm SIM 0.0;
|
|
for {set n 1} {$n <= $isc_numchannels} {incr n} {
|
|
MakeCounter bm$n SIM 0.0
|
|
append bm_list "bm$n "
|
|
}
|
|
} else {
|
|
# Make and configure an ANSTO beam monitor counter.
|
|
# This must be sourced before the hmm_configuration.tcl until we separate the scan setup from the hmm setup
|
|
for {set i 0; set n 1} {$i < $isc_numchannels} {incr i; incr n} {
|
|
MakeCounter bm$n anstomonitor [ params host $isc_monitor_address port [lindex $isc_portlist $i] ]
|
|
append bm_list "bm$n "
|
|
}
|
|
}
|
|
eval "MakeMultiCounter bm $bm_list"
|
|
bm transferscript ::counter::transferscript
|
|
bm SetExponent 0
|
|
sicslist setatt bm privilege internal
|
|
::utility::mkVar bm_mode Text user mode true monitor true true
|
|
::utility::mkVar bm_preset Float user preset true monitor true true
|
|
|
|
|
|
::utility::macro::getset float monitor_counts {} {
|
|
return "monitor_counts = [SplitReply [bm getcounts]]"
|
|
}
|
|
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 {} {
|
|
return "monitor_time = [SplitReply [bm gettime]]"
|
|
}
|
|
sicslist setatt monitor_time klass monitor
|
|
sicslist setatt monitor_time long_name time
|
|
sicslist setatt monitor_time mutable true
|
|
|
|
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 {
|
|
return "[$bmon getcounts]"
|
|
}]
|
|
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 {
|
|
return "[$bmon gettime]"
|
|
}]
|
|
sicslist setatt $bm_time klass monitor
|
|
sicslist setatt $bm_time long_name $bm_time
|
|
sicslist setatt $bm_time mutable true
|
|
}
|
|
|
|
} message ] {
|
|
if {$::errorCode=="NONE"} {return $message}
|
|
return -code error $message
|
|
}
|
|
}
|