server_config.tcl

server_init now calls ::counter::isc_initialize, ::histogram_memory::isc_initialize and ::scan::isc_initialize

scan.c
SICS-158  Restrict bmonscan and hmscan to only one scan variable

count_common.tcl
Create a mulicounter which uses the available monitors as channels.  The multicounter is used in bmonscans

hipadaba_configuration_common.tcl
Use _link as the suffix for the nxvgroup name when making nexus file links.

hmm_configuration_common.tcl
SICS-190 Create hdb entries for bm_counts, bm_event_rate, bm_status
SICS-164 Allow running histmem in simulated mode.

hmm_cylindrical_detector_configuration.tcl
Only refer to detector SICSVariables when necessary, otherwise we get dependency problems.

nxscripts_common_1.tcl
Separate histmem_filtype_spec from bmon_filetype_spec so that we can use the histem_filetyp_spec names to restrict the histmem scan filetypes.
Close the data file on error in proc ::nexus::save
Allow int and text types when saving macro data

scan_common_1.tcl
SICS-173  Allow users to force a scan when the instrument isn't ready
Added ic_initialize proc so we can make dependencies explicit in the init_server proc
SICS-186 Allow monitor modes for histmem scans
Allow selection of histmem file policies from runscan command

echidna, wombat, kowari, quokka and platypus component and server configurations
Added instrument specific configuration initialisation functions in the component configuration files.
Add a catch block to the top-level instrument server configuration file and printout the errorContext and callStack

r2641 | ffr | 2008-07-01 17:02:26 +1000 (Tue, 01 Jul 2008) | 34 lines
This commit is contained in:
Ferdi Franceschini
2008-07-01 17:02:26 +10:00
committed by Douglas Clowes
parent c2186b037e
commit 0f96e4f82f
31 changed files with 657 additions and 314 deletions

View File

@@ -1,17 +1,28 @@
set sim_mode [SplitReply [counter_simulation]]
if {$sim_mode == "true"} {
MakeCounter bm SIM 0.0;
} 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
MakeCounter bm anstomonitor [ params host "das1-[SplitReply [instrument]]" port "30000" ]
}
source $cfPath(counter)/counter_common_1.tcl
unset sim_mode
## 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
proc set_sobj_attributes {} {
}
}
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 30000 30001 30002 30003 30004 30005 30006 30007]
set isc_numchannels [llength $isc_beam_monitor_list]
::counter::ic_initialize
} message ] {
if {$::errorCode=="NONE"} {return $message}
return -code error "$message"
}
}

View File

@@ -20,8 +20,10 @@ proc ::histogram_memory::init_OAT_TABLE {} {
}
proc ::histogram_memory::pre_count {} {}
proc ::histogram_memory::post_count {} {}
proc ::histogram_memory::initialize {} {
proc ::histogram_memory::isc_initialize {} {
if [ catch {
::histogram_memory::init_hmm_objs
if {$::sim_mode == "true"} {
hmm configure oat_ntc_eff 1
hmm configure oat_nyc_eff 210
@@ -32,7 +34,7 @@ proc ::histogram_memory::initialize {} {
SAT_TABLE -init
OAT_TABLE -init
FAT_TABLE -init
::histogram_memory::_initialize
::histogram_memory::ic_initialize
detector_active_height_mm 230
detector_active_width_mm 480

View File

@@ -8,3 +8,6 @@ proc ::scan::pre_hmm_scan_prepare {} {
}
}
proc ::scan::isc_initialize {} {
::scan::ic_initialize
}

View File

@@ -1,5 +1,5 @@
# $Revision: 1.17 $
# $Date: 2008-06-23 02:41:12 $
# $Revision: 1.18 $
# $Date: 2008-07-01 07:02:26 $
# Author: Ferdi Franceschini (ffr@ansto.gov.au)
# Last revision by: $Author: ffr $
@@ -39,17 +39,21 @@ source gumxml.tcl
# AN ERROR IF THERE IS NO ../log/status.tcl FILE.
restore
::utility::mkVar ::anticollider::protect_detector text manager protect_detector false detector true false
::anticollider::protect_detector "true"
catch {
::utility::mkVar ::anticollider::protect_detector text manager protect_detector false detector true false
::anticollider::protect_detector "true"
::histogram_memory::initialize
::anticollider::init
server_init
if [file exists extraconfig.tcl] {
fileeval extraconfig.tcl
} else {
clientput "extraconfig.tcl not found. continueing"
if [file exists extraconfig.tcl] {
fileeval extraconfig.tcl
} else {
clientput "extraconfig.tcl not found. continueing"
}
buildHDB instrument_dictionary
}
::anticollider::init
server_init
buildHDB instrument_dictionary
clientput $errorContext
clientput $callStack