SICS-294 anstohttp.c
Histmem now only calls TaskYield after SICS has finished initalising, this stops the statusfile task from being called early and overwriting the status file. Created ANSTO_MakeHistMemory command to install ANSTO_HistAction Added veto functions. Mapped the HistDriver interface Pause() and Continue() commands to AnstoHttpVeto and AnstoHttpNoVeto. Implemented an ANSTO_Histaction to call AnstoHttpPause when sent a "pause" subcommand. hmcontrol_ansto.c Call AnstoHttpPause() directly when Pause_HM_After_Count is set to preserver current behaviour. counterdriv.c Now sends the correct "SICS RESUME" command to resume a paused count. ansto_sctdriveadapter.c NEW This lets you create driveable objects from script-context controllers which have one node for setting a parameter and another node for reading the parameter (eg temperature controllers, choppers, velocity selectors) sctemonadapter.c NEW This generates an environment monitor interface for script-context controllers so that the emon object in SICS will be able to pause counters if the controller goes out of tolerance. sct_usbtmcprot.c, usbtmc.h NEW First attempt at a protocol handler for USB Test and Measurement Class devices sct_julabo_lh45.tcl NEW Implements script-context controller for the Julabo LH45 temperature controller. Makefile Added ansto_sctdriveadapter and sctemonadapter hardsup/makefile Added velocity selector and usbtmc protocol handlers hardsup/sct_velselprot.c Simplified, don't worry about trying to implement a login handler for now, just implement a "Reading" handler. site_ansto.c Add the velocity selector and USBTMC protocol handlers. Added the ANSTO_MakeHM command instrument/config/hipadaba/common_instrument_dictionary.tcl Added support for auxiliary data, ie extra meta-data entries in the "data" group of the nexus file. Add new NXvelocity_selector object under /instrument. instrument/config/hipadaba/hipadaba_configuration_common.tcl Add the new "sct_object" script-context controller objects to the hdb tree. instrument/config/hipadaba/instdict_specification.tcl Define the new sct_object controllers. instrument/config/hmm/hmm_configuration_common_1.tcl Use the new ANSTO_MakeHM command to create histmem drivers which support veto. Define allowed attributes and elements for the BAT_TABLE and FAT_TABLE Stop between counts instead of pausing because setting pause now sends a veto. instrument/config/motors/sct_jogmotor_common.tcl You now need to specify klass when creating a jogmotor. instrument/config/motors/sct_positmotor_common.tcl You can now specify an optional function which calculates the instrument parameter (eg attenuation) from a posit table entry when defining a posit motor. instrument/config/nexus/nxscripts_common_1.tcl Report file status info in the /experiment section of the hdb tree. Add auxiliary data to data file. Handle saving data from script-context controller objects. instrument/util/script_context_util.tcl Added procedure to set required properties for saving script-context object data. instrument/util/utility.tcl Added set_sct_object_attributes proc to automatically set required attributes on SCT_OBJECTs Fixed hlistplainprop to deal with empty property fields on hdb nodes. instrument/server_config.tcl Call the new nexus initialisation command and set attributes on sct objects. hrpd/config/motors/motor_configuration.tcl New absenc home readings for mchi and mphi. New absenc home and range for mf1 hipd/config/commands/commands.tcl Exported and published the new ajscmds so that they can be used in batch files. hipd/config/motors/motor_configuration.tcl New mchi absenc home rsd/config/hmm/hmm_configuration.tcl Provide support for saving corrected hmm data rsd/config/motors/motor_configuration.tcl Use simple names for motors. SICS-329 sans/config/INSTCFCOMMON.TXT Added julabo and lakeshore configuration files to list. sans/config/optics/guide_configuration.tcl Added entrance aperture positions to the configuration table and the cn_maps which map the index to the component ID. sans/commands/commands.tcl The "guide" command now set EApPosYmm after driving the guides in place. The indexed position to component maps (cn_map) have been moved to the guide_configuration.tcl file. sans/motors/motor_configuration.tcl Set samy home to 56.1mm sans/config/velsel/sct_velsel.tc NEW Implements script-context controller object for the NVS40 velocity selector. TODO tilt-angle control, driveable interface. sans/config/hmm/hmm_configuration.tcl Set 5.08mm spacing on detector width. Use pixel-offset for vertical and horizontal detector axes. sans/config/motors/motor_configuration.tcl Swap directions of beamstops 4 and 5 (the two smallest) New config parameters for samx, samthet, apx, det, detoff, bsz, sans/config/motors/positmotor_configuration.tcl Added descriptive headers to positmotor configuration tables and new synstax for the make positmotor command. sans/config/nexus/nxscripts.tcl Implemented initialisation command. sans/config/parameters/parameters.tcl Added SampleThickness and TransmissionFlag. Calculate SamplePosYmm from samy and SamyOffsetmm. Added beamstops to hdb tree. reflectometer/config/nexus/nxscripts.tcl Implement the initialisation procedure. r2767 | ffr | 2009-03-31 10:16:54 +1100 (Tue, 31 Mar 2009) | 123 lines
This commit is contained in:
committed by
Douglas Clowes
parent
eec824f98a
commit
d2f57e4615
@@ -1,5 +1,5 @@
|
||||
# $Revision: 1.44 $
|
||||
# $Date: 2008-12-12 06:53:49 $
|
||||
# $Revision: 1.45 $
|
||||
# $Date: 2009-03-30 23:16:52 $
|
||||
# Author: Ferdi Franceschini
|
||||
# Based on the examples in the hs_test.tcl sample configuration by Mark Lesha.
|
||||
# http://gumtree.ansto.gov.au:9080/nbicms/bragg-systems/histogram-server/hs_test.tcl/view
|
||||
@@ -41,13 +41,13 @@ namespace eval histogram_memory {
|
||||
set ic_fsrce_values [ list INTERNAL EXTERNAL ]
|
||||
set ic_count_methods [concat [list time unlimited period count frame] $::counter::isc_beam_monitor_list ]
|
||||
if {$histmem_simulation == "true"} {
|
||||
MakeHM hmm SIM
|
||||
MakeHM hmm_xy SIM
|
||||
MakeHM hmm_xt SIM
|
||||
MakeHM hmm_yt SIM
|
||||
MakeHM hmm_x SIM
|
||||
MakeHM hmm_y SIM
|
||||
MakeHM hmm_t SIM
|
||||
ANSTO_MakeHM hmm SIM
|
||||
ANSTO_MakeHM hmm_xy SIM
|
||||
ANSTO_MakeHM hmm_xt SIM
|
||||
ANSTO_MakeHM hmm_yt SIM
|
||||
ANSTO_MakeHM hmm_x SIM
|
||||
ANSTO_MakeHM hmm_y SIM
|
||||
ANSTO_MakeHM hmm_t SIM
|
||||
hmm configure daq Stopped
|
||||
hmm configure statuscheck false
|
||||
hmm configure num_events_filled_to_histo 12345
|
||||
@@ -73,13 +73,13 @@ namespace eval histogram_memory {
|
||||
}
|
||||
}
|
||||
} else {
|
||||
MakeHM hmm anstohttp
|
||||
MakeHM hmm_xy anstohttp
|
||||
MakeHM hmm_xt anstohttp
|
||||
MakeHM hmm_yt anstohttp
|
||||
MakeHM hmm_x anstohttp
|
||||
MakeHM hmm_y anstohttp
|
||||
MakeHM hmm_t anstohttp
|
||||
ANSTO_MakeHM hmm anstohttp
|
||||
ANSTO_MakeHM hmm_xy anstohttp
|
||||
ANSTO_MakeHM hmm_xt anstohttp
|
||||
ANSTO_MakeHM hmm_yt anstohttp
|
||||
ANSTO_MakeHM hmm_x anstohttp
|
||||
ANSTO_MakeHM hmm_y anstohttp
|
||||
ANSTO_MakeHM hmm_t anstohttp
|
||||
|
||||
MakeHMControl_ANSTO hmc bm hmm;
|
||||
}
|
||||
@@ -753,8 +753,8 @@ proc HISTMEM_TABLE {tpath args} {
|
||||
#
|
||||
proc BAT_TABLE {args} {
|
||||
if [ catch {
|
||||
set attributes { NO_BAT_ENTRIES NO_BAT_PERIODS NO_REPEAT_ENTRY NO_REPEAT_TABLE NO_EXECUTE_TABLE }
|
||||
set elements {{ PERIOD_INDICES }}
|
||||
set attributes { FRAME_FREQUENCY SIZE_PERIOD COUNT_METHOD COUNT_SIZE READ_DATA_TYPE }
|
||||
set elements {{ }}
|
||||
|
||||
set tag BAT
|
||||
foreach {opt arglist} [::utility::get_opt_arglist $args] {}
|
||||
@@ -929,7 +929,7 @@ proc CAT_TABLE {args} {
|
||||
#
|
||||
proc FAT_TABLE {args} {
|
||||
if [ catch {
|
||||
set attributes { FRAME_FREQUENCY SIZE_PERIOD NOS_PERIODS COUNT_METHOD COUNT_SIZE READ_DATA_TYPE VIEW_MAG_X VIEW_MAG_Y HISTO_STREAMING }
|
||||
set attributes { FRAME_FREQUENCY SIZE_PERIOD COUNT_METHOD COUNT_SIZE READ_DATA_TYPE VIEW_MAG_X VIEW_MAG_Y}
|
||||
set elements {{ }}
|
||||
|
||||
set tag FAT
|
||||
@@ -1412,17 +1412,17 @@ proc ::histogram_memory::configure_dims {} {
|
||||
|
||||
foreach hm_obj [sicslist type histmem] {
|
||||
set rank [SplitReply [$hm_obj configure rank]]
|
||||
set hmm_length 1
|
||||
foreach elmt $dim_map($hm_obj) {
|
||||
set [lindex $elmt 0] [hmmdictitemval hmm [lindex $elmt 1]]
|
||||
}
|
||||
$hm_obj configure READ_DATA_TYPE $dim_map($hm_obj,read_data_type)
|
||||
# ffr:SICS-330 UNCALIBRATED stops "hmm get 1" commands from getting data
|
||||
# $hm_obj configure READ_DATA_UNCAL_CAL UNCALIBRATED
|
||||
$hm_obj stop
|
||||
$hm_obj configure init 0
|
||||
$hm_obj init
|
||||
|
||||
for {set i 0} {$i < $rank} {incr i} {
|
||||
set hmm_length [expr {$hmm_length * [set hmm_dim$i]} ]
|
||||
$hm_obj configure dim$i [set hmm_dim$i]
|
||||
}
|
||||
}
|
||||
@@ -1567,6 +1567,7 @@ proc ::histogram_memory::t_max {} {
|
||||
sicslist setatt ::histogram_memory::total_counts klass detector
|
||||
sicslist setatt ::histogram_memory::total_counts long_name total_counts
|
||||
sicslist setatt ::histogram_memory::total_counts mutable true
|
||||
sicslist setatt ::histogram_memory::total_counts units count
|
||||
|
||||
##
|
||||
# @brief Histogram memory acquisition time
|
||||
@@ -1707,7 +1708,11 @@ proc ::histogram_memory::post_count {} {}
|
||||
if {$oscmd_controlled == "true"} {
|
||||
hmm count
|
||||
} else {
|
||||
hmc start 1000000000 timer pause 1
|
||||
#hmc start 1000000000 timer pause 1
|
||||
# ffr: Can't set pause because this now calls the
|
||||
# new AnstoHttpVeto function. hmcontrol_ansto.c needs
|
||||
# to be fixed so it calls AnstoHttpPause()
|
||||
hmc start 1000000000 timer stop 1
|
||||
}
|
||||
}
|
||||
set reply [SplitReply [hmm configure daq]]
|
||||
@@ -1717,7 +1722,6 @@ proc ::histogram_memory::post_count {} {}
|
||||
clientput "histmem started" value
|
||||
if {$blocking == "block"} {
|
||||
blockctr count 0
|
||||
::histogram_memory::pause
|
||||
}
|
||||
} message ] {
|
||||
if {$::errorCode=="NONE"} {return $message}
|
||||
|
||||
Reference in New Issue
Block a user