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:
committed by
Douglas Clowes
parent
c2186b037e
commit
0f96e4f82f
@@ -38,12 +38,16 @@ namespace eval nexus {
|
||||
# must be set by the instrument specific histogram memory configuration.
|
||||
#
|
||||
# TODO Put the filetype_spec in a separate file.
|
||||
variable filetype_spec {
|
||||
variable bmon_filetype_spec
|
||||
array set bmon_filetype_spec {
|
||||
BEAM_MONITOR {
|
||||
link {axis 1 data_run_number}
|
||||
link {data_set monitor_counts}
|
||||
save_policy {include @all exclude {hmm hmm_xy hmm_xt hmm_yt hmm_x hmm_y hmm_t}}
|
||||
}
|
||||
}
|
||||
variable histmem_filetype_spec
|
||||
array set histmem_filetype_spec {
|
||||
HISTOGRAM_XYT {
|
||||
link {axis 1 data_run_number}
|
||||
link {axis 2 ::histogram_memory::time_channel}
|
||||
@@ -92,6 +96,8 @@ namespace eval nexus {
|
||||
save_policy {include @all exclude {hmm_xy hmm_xt hmm_yt hmm_x hmm_y hmm}}
|
||||
}
|
||||
}
|
||||
|
||||
variable filetype_spec [concat [array get bmon_filetype_spec] [array get histmem_filetype_spec] ]
|
||||
}
|
||||
|
||||
##
|
||||
@@ -349,6 +355,7 @@ proc ::nexus::newfile {type {namestyle data}} {
|
||||
::nexus::nxclosefile
|
||||
}
|
||||
} message ] {
|
||||
::nexus::nxclosefile
|
||||
if {$::errorCode=="NONE"} {return $message}
|
||||
return -code error $message
|
||||
}
|
||||
@@ -605,6 +612,7 @@ proc ::nexus::newfile {type {namestyle data}} {
|
||||
}
|
||||
}
|
||||
} message ] {
|
||||
set message "$message, hpath=$hpath/$child"
|
||||
if {$::errorCode=="NONE"} {return $message}
|
||||
return -code error $message
|
||||
}
|
||||
@@ -851,18 +859,29 @@ proc ::nexus::motor::sdsinfo {motor data_type args} {
|
||||
# NOTE: Currently just saves floats
|
||||
namespace eval ::nexus::macro {}
|
||||
proc ::nexus::macro::getset_save {sobj nxalias data_type args} {
|
||||
if {[lindex $args 0] == "point"} {
|
||||
set index [lindex $args 1]
|
||||
nxscript_data clear
|
||||
set val [getVal [$sobj] ]
|
||||
switch $data_type {
|
||||
int {nxscript_data putint 0 $val}
|
||||
float {nxscript_data putfloat 0 $val}
|
||||
default {error "ERROR: [info level -1]->::nexus::sicsvariable::save, unknown type $data_type"}
|
||||
}
|
||||
if [ catch {
|
||||
if {[lindex $args 0] == "point"} {
|
||||
set index [lindex $args 1]
|
||||
nxscript_data clear
|
||||
set val [getVal [$sobj] ]
|
||||
switch $data_type {
|
||||
int {nxscript_data putint 0 $val}
|
||||
float {nxscript_data putfloat 0 $val}
|
||||
text {error "ERROR: [info level 0] Saving an array of text values is not implemented"}
|
||||
default {error "ERROR: [info level 0] unknown type $data_type when saving $sobj"}
|
||||
}
|
||||
nxscript putslab $nxalias [list $index] [list 1] nxscript_data
|
||||
} else {
|
||||
nxscript putfloat $nxalias [SplitReply [$sobj]]
|
||||
} else {
|
||||
switch $data_type {
|
||||
int {nxscript putint $nxalias [SplitReply [$sobj]]}
|
||||
float {nxscript putfloat $nxalias [SplitReply [$sobj]]}
|
||||
text {nxscript puttext $nxalias [SplitReply [$sobj]]}
|
||||
default {error "ERROR: [info level 0] Unknown data type $data_type when saving $sobj"}
|
||||
}
|
||||
}
|
||||
} message ] {
|
||||
if {$::errorCode=="NONE"} {return $message}
|
||||
return -code error $message
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1034,7 +1053,7 @@ foreach expt $::nexus::exports {
|
||||
|
||||
set tmpstr [string map {"$" ""} {$Name: not supported by cvs2svn $}]
|
||||
set nx_content_release_tag [lindex $tmpstr [expr [llength $tmpstr] - 1]]
|
||||
set tmpstr [string map {"$" ""} {$Revision: 1.38 $}]
|
||||
set tmpstr [string map {"$" ""} {$Revision: 1.39 $}]
|
||||
set nx_content_revision_num [lindex $tmpstr [expr [llength $tmpstr] - 1]]
|
||||
|
||||
#namespace eval data {
|
||||
|
||||
Reference in New Issue
Block a user