d2f57e4615bc821c8ce7eaed8ddba521760c3e56
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
SICS README
Requirements
- hdf-4, hdf5- libraries: http://hdf.ncsa.uiuc.edu
- szlib : same place as HDF
- Mini XML library : http://www.minixml.org/software.php
- libghttp :
http://ftp.gnome.org/pub/GNOME/source/libghttp/1.0/libghttp-1.0.9.tar.gz
- json-c : http://oss.metaparadigm.com/json-c
- tcl : any version from 8.0, package tcl-devel on most
modern linux distros
Building
Install the libraries stated above, preferably to a common place.
Then edit the suplied makefile, instance makefile_linux, and change:
- uncomment all the NI, NIOBJ, NILIB stuff, except if you want support
for the NI enet100 GPIB/TCP/IP converter.
- Edit linux_def and set HDFROOT to where you installed your libraries
- Review the CFLAGS and LIBS to match your setup. Consider file format
format support:
** HDF-4 required -DHDF4 in CFLAGS and -lmfdf -ldf in LIBS
** HDF-5 support requires: -DHDF5 in CFLAGS and -lhdf5 in LIBS
** XML support requires: -DNXXML -n CFLAGS and -lmxml in LIBS
- build with make -f makefile_linux
- Good Luck!!
Sorry, no configure script here. There are so few people building SICS
that it is not worth the effort. The effort really is to build the
libraries.
Running
In the sim directory there are startup scripts for a number of different
instruments. To run any of them:
- edit the instrument file and change the home or root variable at the
top to match your setup.
- run with: SICServer path-to-instrument-file
For example: SICServer sim/topsi/morpheus.tcl
- Common issues:
** tmp directory missing: create one
** SicsDataNumber file missing: create a file with a single 0 in it
Trying it out with telnet
- telnet host-where-sics-runs 2911
- type username and password: Spy 007 is a good idea for the supplied sims
- type SICS commands
Directories
sics : root directory containing the SICS kernel
sics/psi : psi specific drivers and stuff
sics/site_ansto : ANSTO specific stuff. Currently empty, ANSTO has its
own cvs
sics/dummy : example kit for defining an own site
sics/doc/user : user documentation
sics/doc/manager : manager documentation
sics/doc/programmer : programmer documentation
sics/matrix : matrix library used within SICS
sics/mcstas : code for virtual McStas instruments
sics/sim : control files for various instruments
sics/test : a sort of regression test for the SICS server
Description
Languages
C
77.6%
TeX
8.6%
Tcl
6.7%
CWeb
6%
SWIG
0.6%
Other
0.3%