Commit Graph

25 Commits

Author SHA1 Message Date
Douglas Clowes
507ddafb2a Merge branch 'RELEASE-3_1' into RELEASE-3_2
Conflicts:
	sics/site_ansto/instrument/bilby/config/chopper/sct_astrium_chopper.tcl
	sics/site_ansto/instrument/hipd/wombat_configuration.tcl
	sics/site_ansto/instrument/pelican/pelican_configuration.tcl
2014-08-06 13:53:18 +10:00
Ferdi Franceschini
2c753a3f18 Make sample stages configurable and add Oxford magnet sample stick motor as an option. 2014-08-06 10:08:12 +10:00
Douglas Clowes
05dc1958ff SICS-696 Explicity include the namespace on mk_sct_ calls 2014-07-31 11:36:22 +10:00
Douglas Clowes
7960cb73a0 Change puts to clientput to avoid error on stdout undefined 2014-06-30 13:44:14 +10:00
Douglas Clowes
6530c54483 Merge from Quokka sct_positmotor_common.tcl set driving false 2014-06-25 17:09:01 +10:00
Douglas Clowes
fa3154bdcd Update non-templated drivers to log to ../log/ instead of /tmp/ 2014-06-16 10:42:17 +10:00
Douglas Clowes
92d3acb5d5 Remove superfluous trailing white space from TCL files 2014-05-16 17:23:58 +10:00
Douglas Clowes
3abc6c9e60 Move pathname and basename utility functions to extra_utility
This makes them generally available to SICS (and it's early)
2014-02-27 12:28:21 +11:00
Ferdi Franceschini
6c6f100c0f Make sure that a posit motor transitions back to IDLE if the motor it depends on has been first driven directly. 2013-09-10 14:23:14 +10:00
Ferdi Franceschini
cafbd02b68 Make sure that the command status transitions to IDLE if it was set to BUSY 2013-08-15 08:04:15 +10:00
Douglas Clowes
45549fddb5 Improve logging robustness
r3680 | dcl | 2012-07-26 15:46:07 +1000 (Thu, 26 Jul 2012) | 1 line
2012-11-15 17:34:51 +11:00
Douglas Clowes
17c5d43030 Brain-dead driver for Aerotech Soloist "driver" for 12T magnet sample rotation motor
r3532 | dcl | 2012-04-10 11:16:36 +1000 (Tue, 10 Apr 2012) | 1 line
2012-11-15 17:27:20 +11:00
Ferdi Franceschini
bbc133dab9 Quokka environment.tcl
Don't make the temperature getset-macro or select the control sensor for the script validator instance of SICS. (fixed in-situ)
Use new ls340 and ls336 controllers.

script_context_util.tcl
Modified hinitprops so that it can take sub-paths

nxscripts_common_1.tcl
Added ::nexus::OnFirstsave ::nexus:OnLastSave to register commands which will be executed on the first and last save of a data file.

sct_julabo_lh45.tcl
Added start_temperature and end_temperature parameters to record the initial and final temperature readings in the data files.
Also only set the setpoint if the Julabo is in remote mode.

sct_positmotor_common.tcl
Report 99999 if a posit motor table is out of range.

quokka guide_configuration.tcl
Updated aperture size for p1, p1lp, p1lens in the guide configuration table.

r2969 | ffr | 2010-07-01 22:09:09 +1000 (Thu, 01 Jul 2010) | 20 lines
2012-11-15 17:04:40 +11:00
Ferdi Franceschini
b8811330f1 script_context_util.tcl
hinitprops can now be called with a list of parameters.
SICS-403 hinitprops will now check for "argtype" and "values" attributes on script context objects to create drop down lists valid arguments for GumTree

sct_positmotor_common.tcl
SICS-403 Now sets "argtype" and a list of "values" properties so GumTree can create drop-down lists of arguments.

quokka positmotor_configuration.tcl
SICS-401 diameter and sampleNum selectors report communications errors

sct_rfamp.c
The controller state should be set before calling AsconError.

r2931 | ffr | 2010-05-22 13:56:13 +1000 (Sat, 22 May 2010) | 13 lines
2012-11-15 17:03:11 +11:00
Ferdi Franceschini
1c4d6f398a Added path info to the script context "Not read yet" error messages
Also added extra info to sct_positmotor table lookup error message.

r2908 | ffr | 2010-05-05 18:07:15 +1000 (Wed, 05 May 2010) | 3 lines
2012-11-15 17:01:34 +11:00
Ferdi Franceschini
e55126cd8c Set long_name attribute on positmotors because they're required by the hdb builder.
r2897 | ffr | 2010-04-30 14:50:41 +1000 (Fri, 30 Apr 2010) | 2 lines
2012-11-15 17:00:53 +11:00
Ferdi Franceschini
d9da95a5df sct_protek608.c
Implements a protocol handler for the protek  608 multimeters which just allows us to read the display.
It reports all elements of the display including the bar graph, it does not provide remote control of the multimeter.  The protocol handler broadcasts a warning to all clients if the auto-off function is enabled.

sct_rfamp.c
This is a protocol handler for the Mirrortron 35V 7A AC Generator (ANSFR-83B).

sinqhttpprot.c
Copied the PSI script context http protocol handler.

sct_orhvpsprot.c
Ordela high voltage power supply protocol handler now catches unknown commands.

sct_eurotherm_2000.tcl
Eurotherm controller for the kowari load frame by Douglas Clowes.

sct_lakeshore_3xx.tcl
Latest update from Arndt.  The two control loops are now independent, settletime and tolerance now work properly.

common_instrument_dictionary.tcl
Make instrument/status saveable.

sct_orhvps_common.tcl
Provides voltage ramping and implements the dhv1 command for the Ordela HVPS via the sct_orhpsprot.c protocol handler.

hmm_configuration_common_1.tcl
Adds new "histmem clockscale" subcommand to get and set the clock scale from the fat_clock_scale FAT parameter.
You can now upload the FAT FRAME_BUFFER and FRAME_DUTYCYCLE parameters to the histogram memory.
The veto commands are now "histmem veto on" and "histmem veto off".

hmm_object.tcl
The axis order for the histmem object has been restore to t,y,x

sct_positmotor_common.tcl
Code has been simplified.

nxscripts_common_1.tcl
Removed obsolete ::nexus::data function.  TOF axis now correctly report time_of_flight instead of "time".

plc_common_1.tcl
Make PLC info saveable.

scan_common_1.tcl
SICS-385 The scan command should check the final scan variable value against he soft upper and lower limits, not against the hard limits.
Make sure that the scan variable axis is saved.

platypus, kowari, quokka hmm_configuration.tcl
Use the HOR and VER entries in the new histmem_axes hash to select the horizontal and vertical axes for the histmem.

kowari motor_configuration.tcl secondary_slit_configuration.tcl
Flatten slits motor structure to match old layout in data files.

quokka commands.tcl
SICS-380 EApPosYmm -> EApPosY

quokka detector.tcl
Use new script context controller for Ordela HVPS

quokka hmm_configuration.tcl
Set detector height to 5.08*192 the same as the width

quokka motor_configuration.tcl
Code cleanup

quokka positmotor_configuration.tcl
Use new positmotor code.

quokka aperture_configuration.tcl
Added attenuation factor column to AttRotLookupTable

quokka parameters.tcl
SICS-380 Refactor nexus, remove redundant parameters.

site_ansto.c
Added the following protocols, Httpl, Protek608, aand RFAmp.

scriptcontext.c
SICS-386 SctActionHandler: set "send" string to NULL when a chain of scripts completes with state=idle.
It turns out that if none of the scripts in the "read chain" call [sct send] each time the chain is executed, then SICS will hammer the device with calls to AsconWrite(). This can be avoided if SctActionHandler sets the 'send' string to NULL before "goto finish" in the idle state. This will be safer and still let you have chains with multiple [sct send] and read scripts.

asyncprotocol.c
Fix platypus memory leak.

devser.c
SICS-387 Started adding code to pass signals on to script context drivers.

ascon.c
AsconTask(): Make sure we return to the AsconIdle state when sending a command which expect no response, also only reconnect if there is a Timeout when there has been an error.

r2888 | ffr | 2010-04-19 14:04:41 +1000 (Mon, 19 Apr 2010) | 90 lines
2012-11-15 17:00:29 +11:00
Ferdi Franceschini
2ec6505ef8 Merged 2.4 branch
r2828 | ffr | 2009-11-25 09:56:49 +1100 (Wed, 25 Nov 2009) | 2 lines
2012-11-15 16:57:26 +11:00
Ferdi Franceschini
d2f57e4615 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
2012-11-15 16:57:04 +11:00
Ferdi Franceschini
b134c901c5 Wombat
hipd/config/commands/commands.tcl
Added some of the procedures in extraconfig.tcl as "commands"

motors/sct_jogmotor_common.tcl
Added stop command.  Send SH, JG and BG commands on one line when jogging motor.

fakeDMC
dmc2280Server.tcl
mkSimAxes.tcl
simAxis.tcl
Added jog command.

exebuf.c
Batch file executor now sends a BATCHEND event when there is an AbortBatch interrupt.
This means we can now execute cleanup comands when a batch file terminates.

r2764 | ffr | 2009-01-23 16:06:03 +1100 (Fri, 23 Jan 2009) | 17 lines
2012-11-15 16:56:55 +11:00
Ferdi Franceschini
fb817f2aa8 sct_positmotor_common.tcl
script_context_util.tcl
Readability improvements.

sicshipadaba.c
SICS-321 Fix segfault

sct_jogmotor_common.tcl
Started making a jog motor object.

r2762 | ffr | 2008-12-24 13:24:25 +1100 (Wed, 24 Dec 2008) | 10 lines
2012-11-15 16:56:51 +11:00
Ferdi Franceschini
e36e9f1146 conman.c
Reduce log noise by setting iout = eInternal for macros.

servlog.c
Fixed timestamp in logfiles to get hours.

hmm_configuration_common_1.tcl
Added ML's mods to wombat config: ie BAT and FAT TABLE attributes and elements for multi-period acquisition and histo-streaming.
Fixed "failed lsearch" bug. It's more robust to test for a non-successful lsearch instead of a failed lsearch.

nxscripts_common_1.tcl
SICS-297 Fixed Saving data series in a scratch file overwrites earlier entries.

instdict_specification.tcl
Added "scobj" kind and "sct_indexed_motor" sics object type for script context controllers and and objects.

hipadaba_configuration_common.tcl
Added sct_indexed_motor sics obj type to ::hdb::sobjadd and scobj kind to ::hdb::add_node

sct_positmotor_common.tcl
Update the index SICS variable when updating the current index value to make sure that the position is saved in the data file.
You must now provide the hdb node_name when creating the sct posit motor.
mk_sct_positmotor now sets the "param" and "long_name" attributes on the posit motor object

util/utility.tcl
Added ::utility::set_sct_indexed_motor_attributes to set SICS object attributes required for generating hdb info for an SCT_POSIT_MOTOR

nxscript.c
Merge the ansto mod to putslab (rev1.7) which adds support for saving unbuffered data from the histmem.

sicshipadaba.c
This incorporates the patch made to CommandSetCallback in rev1.10 so it can just be copied as is (ie no merge required).
WARNING: There are changes to ListHdbNode to handle record separators which may affect us.
Disabled sending hdb command start and stop messages because they break gumtree

sicshdbfactory.c
Disabled sending hdb command start and stop messages because they break gumtree

hipadaba_configuration_common.tcl R2.4DEV
The sct_posit_motor case of ::hdb::sobjadd is only needed to call add_node with kind=scobj.

nxscripts_common_1.tcl R2.4DEV
Added ::nexus::scobj::sdsinfo
_gen_nxdict now skips nodes with data_type == "none"

new util/script_context_util.tcl R2.4DEV
Adds ::scobj::hinitprops command to initialise the hdb properties for script context object nodes.

sct_positmotor_common.tcl R2.4DEV
Use ::scobj::hinitprops utility command to initialise hdb properties on script context object parameter nodes.

dynstring.c
DynStringReplace should memcopy '\0', otherwise it can get the wrong length for iTextLen.
Added DynStringReplaceWithLen to allow initialising a dynstring with char arrays which contain null chars and
other non-ascii chars.  Useful for read and write buffers in script context.

ascon.c
AsconRead return NULL for noResponse and AsconFailed otherwise the "result" node gets set with a spurious empty value.

scriptcontext.c
SctActionHandler only set  the "result" node if there really is a reply.

sicsobj.c
Update from M.K.

site_ansto.c
Added galil and ordela hvps protocol handlers for scriptcontext.

motor_dmc2280.c
Allow home parameter to be outside of limits (for KOWARI)

hardsup/makefile
Added ordela HVPS protocol handler

hardsup/sct_orhvpsprot.c
New ordela HVPS protocol handler.  Retries on NAKs and re-orders pot channels (ie toggles lower two bits).

hardsup/sct_velselprot.c
Start velocity selector protocol handler.

hardsup/sct_galilprot.c
Completed galil protocol handler.

hipadaba_configuration_common.tcl
Add new style SICS objects to hdb tree.

instdict_specification.tcl
Added scobj to kind list and sct_motor to sics object list. (and some housekeeping)

hmm_configuration_common_1.tcl
Added ratemaps to simulation.  Fixe BAT_TABLE and added PERIOD_INDICES as per Mark Lesha's mods for multi-period acquisition.
ratemaps now return float.

sct_postimotor_common.tcl
Now setting properties on the posit motor object so that it can be automatically added to the hdb tree.

hrpd/config/motors/motor_configuration.tcl
Fixed simulated msd motor so that it's handle properly in the hdb layer.

sans/config/hmm/detector_ordela.tcl
Updated the ordela calibration script to use the new sct_orhvpsprop.c script context controller.

quokka_configuration.tcl
Deleted lines which set the hdb properties for script context posit motors.  This is now handled automatically as for other SICS objects.

utility.tcl
setpos now replaces the motor setpos subcommand.
Added functions to set script context object attributes and sct_posit motor attributes.
Created hparPath and hsibPath convenience commands for new-style SICS objects.

script_context_util.tcl
NEW! Adds hinitprops function to initialise the hdb properties for a script context object

r2758 | ffr | 2008-12-12 17:53:53 +1100 (Fri, 12 Dec 2008) | 113 lines
2012-11-15 16:56:43 +11:00
Ferdi Franceschini
c791fc65c7 Don't remove MakeAsyncQueue and MakeAsyncProtocol commands in ofac.c, we need them for the kowari/sylvac.tcl and for the robot.
Save positmotor indexed positions for Quokka

r2730 | ffr | 2008-11-03 18:20:34 +1100 (Mon, 03 Nov 2008) | 4 lines
2012-11-15 16:56:13 +11:00
Ferdi Franceschini
04e2e75d80 All
Added "STARTING" message to the histmem command status.
Can now make multiple script context positional motors
Added table and table entry IDs for posit motor lookup tables.
Fixed the runsics script so that the stop command sends an EndServer interrupt via the UDP port instead of killing SICS, this ensures that status is saved.

Platypus
Added chopper speed, phase and phase offsets for all choppers on hdb tree and in datafile

Quokka
Replace the sample/select command with the changer_position script context positional motor interface.
Fixed upper limit on apx motor
Added full sample changer and auto aperture positional motors

r2727 | ffr | 2008-10-31 15:37:32 +1100 (Fri, 31 Oct 2008) | 14 lines
2012-11-15 16:56:00 +11:00
Ferdi Franceschini
81f98bd337 commands_common.tcl
Added histmem and runscan command

hmm_configuration_common_1.tcl
Set histmem_cmd  status feedback to IDLE on COUNTEND event

nxscripts_common_1.tcl
When saving a set of files the time-stamp is offset from the time the first file is created.

scan_common_1.tcl
The hmscan hook functions now set feedback on the runscan_cmd

sct_positmotor_common.tcl
Added mk_sct_positmotor command to create a script context controller which runs a motor to an indexed position.

Added positmotor_configuration.tcl to echidna, wombat, kowari, quokka, platypus.

sans/config/motors/positmotor_configuration.tcl
Has an example of a positmotor configuration for the sample changer

sanx/quokka_configuration.tcl
Setup feedback nodes for AttRotDeg and RotApDeg.

motor_utility.tcl
Added reldrive and relrun commands along with getmotpar convenience command.

r2725 | ffr | 2008-10-27 15:55:48 +1100 (Mon, 27 Oct 2008) | 26 lines
2012-11-15 16:55:51 +11:00