69 Commits

Author SHA1 Message Date
f3d95891ad avoid multiple running drive tasks for the same object 2021-10-20 17:06:55 +02:00
0e2605b570 First commit towards replacing pCon-> with someFunc(pCon)
This is accompanied with the removal of dead code in conman.c and else
2016-10-31 08:33:36 +01:00
66466c1c0f This is the first working version of the new logging system. Some work
in fine tuning still needs to be done. But is reasonably OK now.
2016-02-11 13:40:31 +01:00
95988f331c Merge branch 'develop' of ssh://gitorious.psi.ch/sinqdev/sics into develop
Conflicts:
	fourmess.c
2016-01-29 08:53:00 +01:00
5e597e2d10 Merge branch 'maverick' into develop
Compile under OSX
2016-01-26 09:48:11 +01:00
eff54a5fd9 Implement task priorities and message queues 2015-07-29 17:47:46 +10:00
10d29d597c Cleaned up ANSTO code to merge with sinqdev.sics
This is our new RELEASE-4_0 branch which was taken from ansto/93d9a7c
Conflicts:
	.gitignore
	SICSmain.c
	asynnet.c
	confvirtualmot.c
	counter.c
	devexec.c
	drive.c
	event.h
	exebuf.c
	exeman.c
	histmem.c
	interface.h
	motor.c
	motorlist.c
	motorsec.c
	multicounter.c
	napi.c
	napi.h
	napi4.c
	network.c
	nwatch.c
	nxscript.c
	nxxml.c
	nxxml.h
	ofac.c
	reflist.c
	scan.c
	sicshipadaba.c
	sicsobj.c
	site_ansto/docs/Copyright.txt
	site_ansto/instrument/lyrebird/config/tasmad/sicscommon/nxsupport.tcl
	site_ansto/instrument/lyrebird/config/tasmad/taspub_sics/tasscript.tcl
	statusfile.c
	tasdrive.c
	tasub.c
	tasub.h
	tasublib.c
	tasublib.h
2015-04-23 20:49:26 +10:00
f82197623e Merge branch 'master' into maverick
- Removed epicsmotor from motor.c
- Fixed a bad define in tasscanub.h
Conflicts:
	makefile_macosx
2015-03-17 14:01:40 +01:00
b319461531 Fixed a minor memory leak in count and drive task handling
Reformatted multicountser to become clearer
Minor fixes
Added more tracing output to sort the SANSLI problem
2014-10-13 13:36:37 +02:00
f5e797dd6a - Cleaned all old dtatus setting code 2014-07-18 14:02:57 +02:00
4fb94efe9a This is the first version of the newly refactored status code handling.
Status codes are now determined by a special task which inspects SICS for what
is going on. Before this was a global variable which caused conflicts when
multiple instances in the code tried to set it.
2014-06-27 11:05:27 +02:00
bc31c6cd1e Changes to make SICS compile on OSX Maverick with clang 2014-03-14 09:48:14 +01:00
3e6501d806 - Fixed documentation typos
- In support of HMsec, allow the count command in countsec to run without a
  preset parameter. If this is missing the old, stored preset is used.
- Removed a check which causes initialisation of the HM from a batch file fail
  for POLDI
- fixed @nl@ encoding of \n problem with certain kinds of batch files generated by GTSE
- Fixed a bug with summing on hitsmemsec. nxdataset now uses 64 bit int for dimensions.
- Fixed motorsec to remove itself properly from a parent when linked. Please note
  that there is still the limitation that a second generation motor can only be linked
  once in a Hipadaba tree
- Extended subsampling a HM for second generation HM
- Added a hscriptnotify. This calls a script on the update of a node
- POLDI has been rebuilt, chnages to data file writing
- For testing, sinqhttopt now understands a special command, byteswapoff,
  which switches off byte swapping. Required when the HM ius run on an Intel box.


SKIPPED:
	psi/polterwrite.c
	psi/sinqhttpopt.c
2013-09-16 09:27:50 +00:00
9a142c18bf - fixed: pExecutor->iRun was no longer initialized since 1.52 2013-06-05 14:18:07 +00:00
8096212c52 - introduced "stopexe run"
- fixed "task ps" to show names containing ':' correctly
2013-05-24 05:44:52 +00:00
f6a2b259ea - Introduced a state filed into first generation objects
- Fixed some issues with error returns not being properly handled in devexec
- Fixed a bug in motorlist which caused limit checks to fail
- Fixed an issue with the TDCHM not properly updating the counter
  values on finish
- Readded getHipadabaPar in ChainCallback as this caused a problem in ei
- Made tasdrive ignore sgu, sgl when out of plane not allowed


SKIPPED:
	psi/eigermono.c
	psi/sinqhttp.c
	psi/tdchm.c
2013-05-23 08:54:55 +00:00
1afe142812 - Removed old code
- Extended tasker to support task groups
- Added task functions for motors and counters
- Modifed devexec to use the new task functions
- Modified TAS to treat the monochromator separatly
- Coded a EIGER monochromator module to reflect even more new
  requirements
- Added EPICS counters and motors
- Modified multicounter to be better performing


SKIPPED:
	psi/eigermono.c
	psi/make_gen
	psi/makefile_linux
	psi/psi.c
	psi/sinqhttp.c
2013-04-02 15:13:35 +00:00
86e246416b - Added bridge functions to histmemsec to make it look more like histmem
- Modifed many modules using histmem to work also with histmemsec
- Extended tasker with task names and task groups
- There is a new taskobj which allows to list tasks and to interact with them.
- Task now supports running Tcl functions as tasks
- There is a new experimental sctcomtask module which allows to define communication
  tasks against a scriptcontext. This is a new feature which should facilitate
  writing sequential scripts using asynchronous communication.
- A fix to make spss7 work when there are no switches
- ORION support for single X. TRICS measures crystals hanging down, ORION
  standing up


SKIPPED:
	psi/ease.c
	psi/faverage.c
	psi/jvlprot.c
	psi/make_gen
	psi/pardef.c
	psi/polterwrite.c
	psi/psi.c
	psi/sinq.c
	psi/spss7.c
2012-12-20 11:32:33 +00:00
b0115d2569 typos 2012-11-28 15:19:33 +11:00
ecd96f9ab0 - Extended confvirtmot to allow for sequences of calls
- Extended confvirtmot to have  a checkscript
- Made sure that targets get updated when calling tasdrive
- Fixed some output codes in tasdrive.c
- Made tdchm invoke counters event message for Melone
- Fixed the ConID inefficiency by caching the host name in asynnet.c
- Added a traceActive function to trace


SKIPPED:
	psi/tdchm.c
2012-04-19 10:01:31 +00:00
14f257c2ab - Added an edge function to peakcenter for NARZISS
- Fixed ei interrupt bug in tasdrive.c
- Made eiger A2 driving work
- Added force start facility to devexec for POLDI HV


SKIPPED:
	psi/eigera2.c
	psi/polterwrite.c
2011-12-19 12:24:58 +00:00
3ee1865f9b - Introduced a new trace facility
- Fixed performance problems in many protocol drivers.


SKIPPED:
	psi/julprot.c
	psi/phytron.c
	psi/pmacprot.c
	psi/polterwrite.c
	psi/spss7.c
2011-06-29 07:53:54 +00:00
1ae7c0c2e2 - Introduced a command history log for statistical and
syntax checking input purposes
- Rectified an error message in fourmess.c
- HMcontrol did not check for the HM to stop before returning. This
  caused weird data files at AMOR as the data had not yet been downloaded
  from the HM.
- Fixed an issue about parameters in multicounter
- Temporary fix in nxscript.c to always read the Hm from the HM and not
  a buffer. This is prior to rethinking caching strategies for old style
  HM's.
- Synchronize now copies fixed motors correctly. This used to cause
  irritation with users. This now requires a script syncdrive to exist
  in the sync server which takes care of handling the fixed flag when
  this is desired.
- Added initify to sicsdata in order to copy large value timebins over
  properly at AMOR


SKIPPED:
	psi/amorstat.c
	psi/make_gen
	psi/makefile_linux
	psi/polterwrite.c
	psi/sinq.c
	psi/sinqhttp.c
	psi/sinqhttpprot.c
	psi/sps.c
	psi/tdchm.c
2010-06-01 10:01:00 +00:00
b26b8fc735 - Changed strncpy to strlcpy, strncat to strlcat
- Added strlcpy and strlcat to SICS
- Added a driver for the POLDI power supplies


SKIPPED:
	psi/A1931.c
	psi/autowin.c
	psi/bruker.c
	psi/docho.c
	psi/dornier2.c
	psi/dspcode.c
	psi/ease.c
	psi/ecb.c
	psi/ecbcounter.c
	psi/ecbdriv.c
	psi/el734dc.c
	psi/el734driv.c
	psi/el734hp.c
	psi/el737driv.c
	psi/el737hpdriv.c
	psi/el737hpdrivsps.c
	psi/el737hpv2driv.c
	psi/el755driv.c
	psi/eurodriv.c
	psi/haakedriv.c
	psi/itc4driv.c
	psi/julcho.c
	psi/linadriv.c
	psi/lmd200.c
	psi/lscsupport.c
	psi/ltc11.c
	psi/make_gen
	psi/oicom.c
	psi/oxinst.c
	psi/pimotor.c
	psi/pipiezo.c
	psi/polterwrite.c
	psi/psi.c
	psi/sanscook.c
	psi/sanslirebin.c
	psi/sanswave.c
	psi/sinqhmdriv.c
	psi/sinqhttp.c
	psi/slsecho.c
	psi/slsmagnet.c
	psi/slsvme.c
	psi/sps.c
	psi/swmotor.c
	psi/swmotor2.c
	psi/tabledrive.c
	psi/tasscan.c
	psi/tdchm.c
	psi/velodorn.c
	psi/velodornier.c
2010-04-13 15:08:38 +00:00
7d30c4d352 - Extended sicshdbadapter to attach a node to the target of any
drivable. Required a new event in devexec.c
- Fixed the phytron driver to handle speed well
- Added a protocol driver for the TCP/IP bridge to the SLS magnets


SKIPPED:
	psi/make_gen
	psi/phytron.c
	psi/psi.c
	psi/slsecho.c
	psi/sps.c
2010-03-25 10:02:47 +00:00
4bf0c87daf restructured configuration (ofac.c)
- ofac.c contains now only the command in initialisation function list
- the other functions are moved to sicsutil.c
- moved DoubleTime and the content of access.c to sicsutil.c
- moved some initialisation code from ofac.c to the corresponding modules
2010-01-28 08:14:37 +00:00
8cc5474334 - After a bug at TRICS I replaced all occurrences of strcpy, strcat, sprintf
by length limited versions wherever appropriate.


SKIPPED:
	psi/el755driv.c
	psi/faverage.c
	psi/frame.c
	psi/lmd200.c
	psi/polterwrite.c
	psi/psi.c
	psi/sanswave.c
	psi/sinqhmdriv.c
	psi/termprot.c
2009-12-04 12:58:31 +00:00
2e873e3059 - Fixed a crash coming from velo.c
- Improved saving of reflection lists
- The other changes are mostly whitespace
2009-10-30 13:49:37 +00:00
98009be4c3 - Added reflection generation for symmetriqally missing reflections
to fourmess
- Fixed hdbtable, reflist and tasub up to work with GTSE
- Made TRICS do fast scans again
- Added support for SANS beam center calculations
- Fixed a bug where SICS apparently did double counting but in fact
  just omitted an error message and did not
- Added the harray command
2009-08-13 07:28:44 +00:00
3f3f0810e5 - Many fixes to the four circle codes during taking the new code into
operation.
- Fixed some missing output
- Second generation histogram memory and velocity selector objects
- Fixed a problem in diffscan
2009-05-15 13:21:20 +00:00
99d2485d22 - Connections write timeouts were incorrectly handled in asynnetc. Fixed.
- Implemented the desired run/drive behaviour: drive waits for what it started
  run starts, and success waits for everything to finish. This required
  changes to a lot of files.
- Fixed a bug in remob which supressed required messages
2009-04-17 12:52:01 +00:00
35f2b6b810 - allow scriptcontext objects to be dynamic
- enhancements in scriptcontext (error messages stored as properties)
2009-02-19 13:30:32 +00:00
91d4af0541 - Adapted indenation to new agreed upon system
- Added support for second generation scriptcontext based counter
2009-02-13 09:00:03 +00:00
361ee9ebea - Reworked the connection object and the IO system
- Reworked the support for TRICS
- Added a second generation motor
2009-02-03 08:05:39 +00:00
af3461c774 Compiles and runs under Mac OS X
VS: ----------------------------------------------------------------------


SKIPPED:
	psi/arrobj.c
	psi/pardef.c
	psi/polterwrite.c
	psi/tecs/tecs_cli.c
2008-07-23 12:15:06 +00:00
9e7a6cfd74 - added scriptcontext.h
- killing a node using sct should now be safe
- sctdrive adapter object might be dynamic
- default for the checkstatus script: returning the status property
- introduced <sctcon> unpoll
- changed <sctcon> queuecon to <sctcon> send
- some more improvements in sct
2008-06-13 11:22:13 +00:00
22b0e8ec83 *** empty log message *** 2007-11-27 13:36:15 +00:00
c75f556fa5 - Fixed an off by one in a message from killfile
- Fixed a nasty reentrency bug in nread.c
_ protected devexec.c against the same bug
2007-09-06 13:25:51 +00:00
e4929d512c - Fixed state monitor eclipse commit problems. Siiiiiiiggggghhhhhh! 2007-01-30 03:19:43 +00:00
bc22cc624d - Small change to devexec.c to have year specific devexec logs 2007-01-11 08:50:39 +00:00
cb3bf30bbf - Fixes to hkl code
- Fixes to make RITA work
- tasub extended to calculate UB from cell alone, support for elastic mode
- New MultiCounter as abstraction for counting on HM's
- regression test driver for counters
2006-09-13 07:12:00 +00:00
a5c2da6acf - Switched motor to hdb
- Changes to Hipadaba
- Added project to histogram memory code
- Started regression testing code
- Added hill climbing as optimization method to optimise
2006-08-16 14:13:05 +00:00
47e38eba5a - Added log instrumentation to devexe
- Added a hill climbing option to optimise
- Added hrpt files


SKIPPED:
	psi/libpsi.a
	psi/sinqhmdriv.c
	psi/tabledrive.c
2006-07-13 07:24:44 +00:00
e6ad9da6ad - Improvements to Hipadaba
- New chopper driver for MARS Juelich chopper system
- New docbook based SANS manual


SKIPPED:
	psi/amorcomp.c
	psi/amordrive.h
	psi/amorset.c
	psi/amorset.h
	psi/amorset.tex
	psi/amorset.w
	psi/julcho.c
	psi/libpsi.a
	psi/make_gen
	psi/psi.c
2006-07-07 15:05:24 +00:00
51a60375d6 - Removed -fwritable-string
SKIPPED:
	psi/dornier2.c
	psi/ecbdriv.c
	psi/el734hp.c
	psi/libpsi.a
	psi/make_gen
	psi/makefile_linux
	psi/pimotor.c
	psi/pipiezo.c
	psi/sinqhttp.c
	psi/tcpdornier.c
	psi/velodornier.c
2006-03-31 15:24:52 +00:00
b3138f1197 - Added Sycamore protocol and command context to SICS
- Added sinfo to SICS
- Added driver for TCP/IP Astrium velocity selector
- Added driver for TCP/IP Astrium chopper controller


SKIPPED:
	psi/amor2t.c
	psi/amorstat.c
	psi/dornier2.c
	psi/ecb.c
	psi/el734hp.c
	psi/fowrite.c
	psi/libpsi.a
	psi/make_gen
	psi/nextrics.c
	psi/pardef.c
	psi/pimotor.c
	psi/pipiezo.c
	psi/polterwrite.c
	psi/psi.c
	psi/scontroller.c
	psi/serial.c
	psi/tasinit.c
	psi/tasscan.c
	psi/tcpdocho.c
	psi/tcpdornier.c
	psi/tricssupport.c
	psi/velodornier.c
2005-12-22 22:16:10 +00:00
8ce534803b - inserted overwriteOwner option, a hack when using the sendsics script 2005-09-09 14:38:09 +00:00
054e2133ee - Added a sinq module for monitoring the Accelerator broadcast
- Added automatic notification via SMS


SKIPPED:
	psi/dgrambroadcast.c
	psi/dgrambroadcast.h
	psi/make_gen
	psi/psi.c
	psi/sinq.c
	psi/sinq.h
2005-07-08 12:32:38 +00:00
3a0b4f293c - Fixed sign problems with om in tasub
- Mended tasdrive to drive energy even if Q is askew
- Fixed QM values
- Fixed problems in mesure: om2th, wrong theta selection
- Fixed core dump when driving h,kl, failed
2005-06-09 12:04:38 +00:00
9238129619 bug fix (driving / counting status was not correct) 2005-04-12 13:13:03 +00:00