Files
sics/site_ansto/instrument/config/counter/counter_common_1.tcl
Ferdi Franceschini 01be487c52 pelican
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
2012-11-15 13:40:07 +11:00

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
}
}