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
154 lines
4.1 KiB
Makefile
154 lines
4.1 KiB
Makefile
# vim: ft=make ts=4 sw=4 noet cindent
|
|
#---------------------------------------------------------------------------
|
|
# Makefile for SICS
|
|
# machine-dependent part for Redhat Linux with AFS at PSI
|
|
#
|
|
# Mark Koennecke 1996-2001
|
|
# Markus Zolliker, March 2003
|
|
#==========================================================================
|
|
|
|
include ../linux_def
|
|
# TODO Should use PSI ../make_gen instead of make_gen_variables
|
|
include make_gen_variables
|
|
default: all
|
|
|
|
# PSI rules and variables
|
|
EXTRA=nintf.o
|
|
PSI_CLEAN_MATRIX = rm -f ../*.o; $(MAKE) -C ../matrix $(MFLAGS) clean
|
|
PSI_CFLAGS = -I./ -I$(HDFROOT)/include -DDO_NOT_SELECT_BEFORE_SEND -DHDF5 -DNXXML\
|
|
-DCYGNUS -DNONINTF -std=gnu99 -g $(DFORTIFY)\
|
|
-Wall -Wextra -Wno-unused
|
|
PSI_SLIBS = matrix/libmatrix.a
|
|
PSI_LIBS = -L$(HDFROOT)/lib $(NILIB)\
|
|
-ltcl8.4 $(HDFROOT)/lib/libhdf5.a \
|
|
-ldl -lz -lm -lc /usr/lib/libmxml.a /usr/local/lib/libjson.a
|
|
|
|
../%.o : ../%.c
|
|
cd ..; $(CC) -c $(PSI_CFLAGS) $*.c -o $*.o
|
|
|
|
# Some files a generated from templates by tjxp
|
|
../%.c: ../%.tc
|
|
cd ..; tcl/tjxp $*.tc $*.c
|
|
|
|
../matrix/libmatrix.a:
|
|
make -C ../matrix $(MFLAGS) libmatrix.a
|
|
|
|
# ANSTO rules and variables
|
|
CC = gcc
|
|
INCFLAGS = -Ihardsup -I.. -I/opt/gnome/include
|
|
# NOTE -std=gnu99 adds c99 support with gnu extensions, it eliminates implicit function warnings
|
|
# for c99 functions like roundf. We don't use -std=c99 because it generates compiler errors in
|
|
# code modules that use the timeval struct without including sys/time.h, c99 also generates
|
|
# implicit function declaration warnings on string functions like strdup.
|
|
DEBUGFLAGS = -Wall -Wextra -Wno-unused -Wno-comment -Wno-switch
|
|
CFLAGS = -g $(INCFLAGS) $(DEBUGFLAGS) -std=gnu99
|
|
HDFROOT=/usr/local
|
|
|
|
SRC = ./../..
|
|
SITENAME = _ansto
|
|
SITEDIR = site_ansto
|
|
SITELIB = libansto.a
|
|
SITEHARDSUP = hardsup/libhlib.a
|
|
HARDSUPDIR = $(SITEDIR)/hardsup
|
|
SUBLIBS = libansto.a hardsup/libhlib.a
|
|
VPATH = $(SRC)
|
|
TANGOROOT = /usr/local/lib/
|
|
OMNIORBROOT = /usr/local/lib
|
|
COREDIR = $(SRC)
|
|
|
|
.SUFFIXES:
|
|
.SUFFIXES: .c .o .f
|
|
|
|
TANGOLIBS = \
|
|
/usr/local/lib/libclient.a \
|
|
/usr/local/lib/liblog4tango.a \
|
|
/usr/local/lib/libtango.a \
|
|
/usr/local/lib/libomniDynamic4.a \
|
|
/usr/local/lib/libomniORB4.a \
|
|
/usr/local/lib/libomnithread.a
|
|
|
|
GHTTP_LIBS = \
|
|
/opt/gnome/lib/libghttp.a
|
|
|
|
#OBJ= site_ansto.o batch.o buffer.o ruli.o protocol.o sinfox.o \
|
|
# motor_asim.o motor_dmc2280.o motor_pdx.o \
|
|
# itc4.o itc4driv.o \
|
|
# hm_mrpd.o scan_mrpd.o
|
|
|
|
|
|
OBJ= site_ansto.o anstoutil.o\
|
|
ansto_sctdriveadapter.o\
|
|
sctemonadapter.o\
|
|
motor_asim.o motor_dmc2280.o\
|
|
lh45.o lh45driv.o \
|
|
lakeshore340.o lakeshore340driv.o \
|
|
west4100.o west4100driv.o \
|
|
nhq200.o \
|
|
orhvps.o \
|
|
ls340.o \
|
|
fsm.o \
|
|
counterdriv.o \
|
|
safetyplc.o \
|
|
../psi/tcpdornier.o \
|
|
anstohttp.o \
|
|
hmcontrol_ansto.o\
|
|
lssmonitor.o \
|
|
beamstopaction.o action.o
|
|
|
|
all: ../matrix/libmatrix.a $(COREOBJ:%=../%) $(EXTRA:%=../%) libansto.a libhardsup
|
|
$(CC) -g -o SICServer $(COREOBJ:%=../%) $(EXTRA:%=../%) $(SUBLIBS) $(PSI_SLIBS:%=../%) $(PSI_LIBS) $(GHTTP_LIBS)
|
|
|
|
#TODO Add targets for other instruments
|
|
echidna: all
|
|
make -C instrument/hrpd
|
|
koala: all
|
|
make -C instrument/qld
|
|
kowari: all
|
|
make -C instrument/rsd
|
|
platypus: all
|
|
make -C instrument/reflectometer
|
|
quokka: all
|
|
make -C instrument/sans
|
|
taipan: all
|
|
make -C instrument/tas
|
|
wombat: all
|
|
make -C instrument/hipd
|
|
|
|
libansto.a: $(OBJ)
|
|
rm -f libansto.a
|
|
ar cr libansto.a $(OBJ)
|
|
ranlib libansto.a
|
|
|
|
libhardsup:
|
|
$(MAKE) -C hardsup/
|
|
|
|
anstohm.o : anstohm.cpp
|
|
$(CXX) -c anstohm.cpp $(CFLAGS) $(CXXFLAGS) -Wno-all
|
|
|
|
hm_mrpd.o : hm_mrpd.cpp
|
|
$(CXX) -c hm_mrpd.cpp $(CFLAGS) $(CXXFLAGS) -Wno-all
|
|
|
|
hm_asim.o : hm_asim.cpp
|
|
$(CXX) -c hm_asim.cpp $(CFLAGS) $(CXXFLAGS) -Wno-all
|
|
|
|
anstoclean:
|
|
$(MAKE) -C hardsup clean
|
|
rm -f SICServer
|
|
rm -f *.a
|
|
rm -f *.o
|
|
|
|
clean: anstoclean
|
|
$(PSI_CLEAN_MATRIX)
|
|
|
|
MZOBJ=fsm.o logger.o sugar.o pardef.o ease.o strobj.o oxinst.o \
|
|
ipsdriv.o ilmdriv.o itcdriv.o ighdriv.o euro2kdriv.o modbus.o
|
|
|
|
incflags:
|
|
@echo ${INCFLAGS}
|
|
|
|
cflags:
|
|
@echo ${CFLAGS}
|
|
|
|
deploy: all
|
|
cd instrument; ./make_sics_tar.tcl
|