Commit Graph

89 Commits

Author SHA1 Message Date
9517a6d14e Switched remoteobject to use a single connection with ACT 2015-05-12 08:36:38 +02:00
4865902a97 Merge branch 'develop' into moreremo 2015-05-11 11:44:06 +02:00
0bcd3b06f6 Fixed a critical bug which prevented gumtree SE from working. No ACt was sent
after removing the sycamore protocol
2015-05-08 13:43:49 +02:00
aef2a36b60 Now, I fiddling with the message writitng code, I get all remote object
messages but in the wrong order. They are sent in the right order, though.
Have to chnage the code to use one connection asynchronously for everything only.
2015-05-04 08:02:37 +02:00
5d0e05d77b Merge branch 'develop' into moreremo 2015-04-30 09:26:44 +02:00
b60ce746d4 Merge commit 'refs/merge-requests/1' of ssh://gitorious.psi.ch/sinqdev/sics into merge-requests/1
First merge with ANSTO which compiles

Conflicts:
	SICSmain.c
	asynnet.c
	confvirtualmot.c
	counter.c
	devexec.c
	drive.c
	exebuf.c
	hipadaba.c
	interface.h
	make_gen
	motor.c
	nserver.c
	nwatch.c
	ofac.c
	protocol.c
	sicshipadaba.c
2015-04-23 17:00:33 +02:00
b7eaa538ed - Rewrote the write part of remoteobject
- With transactionID > 10^6, now termination messages are sent by contextdo
  and tasks
- This still has bugs
2015-04-23 15:52:05 +02:00
Ferdi Franceschini
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
0d0c90cee7 Another try ad getting write to work 2015-03-19 16:12:35 +01:00
2eef24bf3c First version of remoteobject. In the implementation of this, the following
sub problems were solved:
- sicsget was not reporting geterrors on nodes properly
- rwpuffer contained dirt after wrap
- property change events were added to hipadaba
- Some tuning of SICS output
- The number of codes was wrong in outcode.c
2015-03-17 11:41:18 +01:00
Douglas Clowes
b9954651d5 Make getlog commands less flakey
getlog {kill,none}
getlog what
getlog list
getlog err,wrn[,...]
2015-03-13 15:16:31 +11:00
Douglas Clowes
042119898d SICS-778 Fix crash in conman.c hookFunc 2014-09-12 13:00:26 +10:00
8f704ebab9 Improvements for BOA
- Allowed write buffers to become very large in asynnet. Thus in order to allow for the transfer
  of large images. tested ub to 2kx2k, 16MB
- Handle lack of space in the write buffer more gracefully: just skip the image
2014-08-27 16:24:39 +02:00
f5e797dd6a - Cleaned all old dtatus setting code 2014-07-18 14:02:57 +02:00
db6167bfa1 - Removed old stuff in conman
- Fixed a bug in processnode which hangs SICS when processnode is called from multiple
  clients on the same node
- Fixed a bug in multicountsersec which caused thrashing of the Tcl results which caused ugly
  error messages when calling the transfer script. Now a copy of the connection is made
  before calling the transfer script
2014-07-15 16:43:09 +02:00
Douglas Clowes
0fb4519876 Changes to logging
Add 'L' to 'M', 'N', 'D' log flags (for consistency)
Replace colon (':') in logfilenames with minus ('-')
Suppress spurious blank lines in logfile from line terminators
Add filename to open/close messages for chaining convenience
2014-07-03 15:28:05 +10:00
Douglas Clowes
a557cf577a Implement 'sicslog' command for driver logging 2014-05-01 10:54:09 +10:00
Douglas Clowes
0e0fd86da0 Replace {Log,Kill}Capture with a more generic hook. 2014-05-01 10:54:09 +10:00
Douglas Clowes
bab07abab8 Revised macro log suppression 2014-04-03 11:56:56 +11:00
koennecke
33e122ea9e - Modified collective drive operations to run motors in individual tasks
- Added a processnode methos to scriptcontext. processnode waits for the
  scriptchain of a node to finish.
- Fixed a bug in sicsget
- Made histmemsec dim and rank manager privilege. To allow chnage at runtime.
  Is required for SANS
- Fixed some issues with multicountersec, mostly relating to passing things through
  in a sensible way.
- Updated motorsec.c to work with a client based driver


SKIPPED:
	psi/polterwrite.c
	psi/tabledrive.c
	psi/tabledrive.h
2014-02-18 13:25:32 +00:00
zolliker
95d37fea12 - inserted ANETProcess into "How are you" test 2014-01-31 14:53:44 +00:00
koennecke
dc85708451 - Added a AsconReadDoneReconnect to ascon. This handles the case better when
a server hangs up diretcly after a message.
- Some output was suppressed while tracing, fixed
- Make ready to compile both with Ubuntu 32 and 64 or /usr/local
  based ON in general. Just in psi/makefile_linux the top include has
  to be adapted
- Removed epics drivers from SICS. Still in source to be reenabled when
  needed
- Added FindMotor
- Added sput, sappend and slab to nxscript using the new sicsget module
- Fix to sget to fix the "mot softzero" problem


SKIPPED:
	psi/make_gen
	psi/psi.c
	psi/sinqhttpopt.c
	psi/spss7.c
2013-12-19 10:24:54 +00:00
koennecke
ad241bd99e - Added a protocol driver for the munich sputter machine
- Added a multicountsersec to teplace hmcontrol and multicounter
- Fixed a case sensitivity bug in haddcheck
- Made oscillate work with second generation motors for POLDI
- Added a time stamper to trace. Now there will be time stamps in trace files which allow
  to correlate things from the master log with the trace.
- Updated polterwrite.
- Updated testprot to work with the behave test


SKIPPED:
	psi/make_gen
	psi/polterwrite.c
	psi/psi.c
	psi/sputterprot.c
2013-11-04 12:55:15 +00:00
zolliker
3f6a76052d - fixed some issues related to "config listen 1" mode
i.e. do not write some lines twice when in this mode
2013-06-07 06:17:07 +00:00
Ferdi Franceschini
a22d403c87 Added sicsdebug flag to control verbosity of log files.
If sicsdebug == 0 log output from commands executed in macros is
suppressed.
2013-04-20 18:55:38 +10:00
koennecke
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
Douglas Clowes
2f391302b1 progressive patching 2012-11-28 13:13:20 +11:00
koennecke
4f560552c4 - Removed SCStart/EndBuffering as far as possible and fixed an issue with
the capture command in that it not put resluts into the Tcl interpreter.
  This broke scriptcontext scripts in complicated situations.
- Resolved some issues with the TAS calculation and negative scattering sense.
- Fixed a bug which did not reset the state to idle after checking
  reachability in confvirtualmot.c


SKIPPED:
	psi/autowin.c
	psi/eigera2.c
	psi/jvlprot.c
	psi/makefile_linux
	psi/sinqhttpopt.c
	psi/tasscan.c
2012-10-29 12:56:29 +00:00
koennecke
bd50b19178 - Fixed sicsprompt bug. Sicsprompt caused a core dump
- Removed generation of incommenurate reflections for 0,0,0 in fourmess.c
- Implemented a Poch command for heartbeats
- Fixed 64 bit dimension issues in nxdict
- Fixed different calling conventions for NXReportError deep stack in nxdict
- Stopped ei motor driving when not necessary
- Added yet another monitor for POLDI
- Added a protocoll driver for the JVL motor RS-485 binary protocoll
- Fixed some reporting issues


SKIPPED:
	psi/jvlprot.c
	psi/make_gen
	psi/polterwrite.c
	psi/psi.c
	psi/spss7.c
2012-06-05 09:09:20 +00:00
koennecke
9eca96b064 - Fixes to make SL6 work
- New NeXus libraries
- Added new raw binary transfer mode for mass data
- Added a check script option to configurable virtual motor


SKIPPED:
	psi/dumprot.c
	psi/make_gen
	psi/psi.c
	psi/rebin.c
	psi/sanslirebin.c
2012-03-29 08:41:05 +00:00
koennecke
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
koennecke
045029dfd3 - Currently disabled attempts at logging commands
- Added a warning for excessive data rates on monitors
- Added statistics to devser and thus to scriptcontext
- Added byte concatenation to dynstring
- Added aborting for reflection generation to fourmess.c
- Added data checksum testing to hipadaba, use for update tests
- Fixed interrupt discovery in network.c, caused invalid interrupt
  codes which in turn confused sicscron which had to be fixed too.
- Renamed ubcalc into ubcalcint in order to reclaim the ubcalc for Jurg
- Added an a3offset to tasub in order to fix what I perceive an IS problem
- Added support for the newer version of the Siemens SPS, the S7
- Added a not yet fully working sinqhttpopt driver which talks to
  http HM without libghttp


SKIPPED:
	psi/delcam.c
	psi/make_gen
	psi/psi.c
	psi/sinq.c
	psi/sinq.h
	psi/sinqhttpopt.c
	psi/slsvme.c
	psi/spss7.c
2010-12-20 10:18:01 +00:00
koennecke
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
koennecke
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
koennecke
40ff36d142 - Fixed a singlex death when there was no lambda. Was a problem during
shutdown when nothing works as it should
- Made an attempt to have all error message printed on demand
- Added a tricsswap feature to sinqhttp which swaps the data right for SICS
- Edited speed for phytron driver
- First attack on adding a misalignment calculation to tasub
- Added a test protocol for scriptcontext which can be configured.


SKIPPED:
	psi/sinqhttp.c
2010-03-09 13:12:01 +00:00
koennecke
09cc25ec5b - Implemented tcl: prefix which allows to execute a command in Tcl directly
- Fixed a stack overrun bug in macro.c
- Fixed a killing bug in devser.c
- Added node writing with offset to nxscript.c
- Wrote a simulation driver for second generation HM's
- Readded devexec commands to  SICS
- Readded Hipadaba initialisation to SICS
- Fixed a bug in sinqhttprot.c which is triggered when a reconnect happens
  during a node based download of data.


SKIPPED:
	psi/sinqhttpprot.c
2010-02-02 12:38:10 +00:00
koennecke
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
koennecke
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
koennecke
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
zolliker
07bf425e50 - repaired commandlog tail command (inserted SCPureSocketWrite)
- fixed mechanism for suppressing double lines in config listen mode
2009-02-25 14:47:33 +00:00
koennecke
91d4af0541 - Adapted indenation to new agreed upon system
- Added support for second generation scriptcontext based counter
2009-02-13 09:00:03 +00:00
koennecke
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
koennecke
45ac6c526f - Many fixes to the new scriptcontext to make it work 2008-06-18 14:08:25 +00:00
zolliker
2abf75271b - macro flag stack 2008-06-17 09:22:33 +00:00
zolliker
3967dc8844 - added new scriptcontext with devser 2008-05-14 14:23:16 +00:00
koennecke
f512f47b02 - Refactored hdb callbacks
SKIPPED:
	psi/julcho.c
2008-03-10 11:06:07 +00:00
zolliker
8cf738869d - split status.c into status.c and statusfile.c
- improvements for scriptcontext.c
2008-02-13 13:07:30 +00:00
zolliker
217de95b29 - minor fixes and improvements 2008-02-13 09:59:23 +00:00
zolliker
dbabdbee49 - initiate disconnect on timeout in NETWrite
- SCStore store now also context and macro state
- changed logging functionality (CompactCommandLog option)
2008-01-18 07:16:27 +00:00
koennecke
31a48d2155 - First implementation of Hdbqueue
- First implementation of new object model for SICS
2007-08-03 15:12:10 +00:00