Commit Graph

158 Commits

Author SHA1 Message Date
Douglas Clowes
be0d932a21 SICS-846 Off by one error in argc check sct_asyncqueue.c 2015-01-23 17:13:50 +11:00
Douglas Clowes
c61cb22270 Handle bigger modbus messages 2014-12-12 14:25:36 +11:00
Douglas Clowes
13a0547f5d A bit of reformatting and set the ADUlen in the default case 2014-09-04 13:30:20 +10:00
Douglas Clowes
e76f6376ee Added Modbus Protocol 2014-08-27 16:52:13 +10:00
Douglas Clowes
a43461b200 Reworked AsyncQueue sendCommand processing
Squashed commit of the following:

commit 42fb7d3cde591d40060cc740ccbc47f1ae7a5a50
Author: Douglas Clowes <dcl@ansto.gov.au>
Date:   Tue Aug 26 13:31:11 2014 +1000

    Get the MODBUS_AP working

commit da785c1434a04c4186d4174eb2dfbaefc850c8e7
Author: Douglas Clowes <dcl@ansto.gov.au>
Date:   Mon Aug 25 18:01:50 2014 +1000

    Bring Modbus protocol closer to Huber, Knauer and Omron

commit ef06ed7b6911cb49b35c19fe73e55f7c57cfd049
Author: Douglas Clowes <dcl@ansto.gov.au>
Date:   Mon Aug 25 18:01:18 2014 +1000

    Make Huber, Knauer and Omron protocols more aligned (diffable)

commit 3ef1bb06b3f865502ad7dffc4bf5dba4814d9334
Author: Douglas Clowes <dcl@ansto.gov.au>
Date:   Fri Aug 22 17:47:50 2014 +1000

    Get the Huber and Knauer protocols to be more alike

commit 2c9932e83f6735e894278648afdcadece654d43b
Author: Douglas Clowes <dcl@ansto.gov.au>
Date:   Fri Aug 22 17:12:31 2014 +1000

    Clean up the Knauer dual-mode protocol and refactor

commit 333300b19b0e61916e261300ac6ae2b6bab5df09
Author: Douglas Clowes <dcl@ansto.gov.au>
Date:   Thu Aug 21 15:38:39 2014 +1000

    Get the Knauer dual-mode protocol working(-ish)

commit b1f9d82f1b9eb8a1ff54694adc3482984b0d3d72
Author: Douglas Clowes <dcl@ansto.gov.au>
Date:   Thu Aug 21 15:37:44 2014 +1000

    Make private functions static (and not duplicated)

commit 0b077414eef9e4351956a2b971d7751cced0d3cd
Author: Douglas Clowes <dcl@ansto.gov.au>
Date:   Thu Aug 21 12:46:10 2014 +1000

    Knauer moving toward dual protocol

commit 13199bea38a1595ce06923e83474b738b10db94d
Author: Douglas Clowes <dcl@ansto.gov.au>
Date:   Thu Aug 21 12:42:48 2014 +1000

    Restructure default sendCommand processing in asyncqueue

commit 99a8ea3174ca0636503b0ce0cdb6016790315558
Author: Douglas Clowes <dcl@ansto.gov.au>
Date:   Thu Aug 21 09:48:50 2014 +1000

    Add a Modbus Protocol handler derived from sct_tcpmodbus

commit 3adf49fb7c8402c8260a0bb20729d551ac88537b
Author: Douglas Clowes <dcl@ansto.gov.au>
Date:   Thu Aug 21 09:43:54 2014 +1000

    Leave the free of private data to the asyncqueue mechanism
2014-08-27 16:52:13 +10:00
Douglas Clowes
f1f9ee2c01 Add protocol support for the Knauer HPLC pump 2014-08-20 13:35:13 +10:00
Douglas Clowes
3d475d3598 Change some names for consistency 2014-08-20 13:05:29 +10:00
Ferdi Franceschini
fdbb0456ad The camera driver can now send meta data such as the motor positions to the camera server.
An auxiliary command has been added so we can set string values on the camera driver for the meta data.
2014-07-31 15:45:03 +10:00
Ferdi Franceschini
29e17ba482 Report HWIdle to SICS if the camera driver has been reset via halt(). 2014-07-24 13:53:35 +10:00
Ferdi Franceschini
1707cba55f Add debug parameter to Dingo camera driver. 2014-07-24 13:53:34 +10:00
Ferdi Franceschini
67a3a198ac Added command latch ready event and camera upload configuration event.
The camera driver will now upload the exposure time when it's called from a scan object.
The output function now returns events which are not targeted at the camera or SICS
so that they can be fed back into the state transition function.
The input event handler (camera.c:camdriv_input) now feeds output events back into the
transition function.
2014-07-24 13:53:34 +10:00
Douglas Clowes
8849dc90c5 SICS-760 Add NOREPLY mechanism in aqadapter and asyncqueue
This removes the expectation of a reply when sending is suffixed
with "{0}" or "@@NOREPLY@@" or, for asyncqueue, a custom string.
2014-07-15 18:48:38 +10:00
Douglas Clowes
6b18de0a03 Add huber asyncprotocol and make huber_ap and omron_ap to remove name conflicts 2014-06-23 12:48:46 +10:00
Douglas Clowes
25346f5e02 Include a header file for the omron protocol 2014-06-19 16:35:47 +10:00
Douglas Clowes
84dfd1f50b Take out the CRLF (it was a buffer overrun anyway) 2014-06-13 17:50:34 +10:00
Douglas Clowes
f2d051e2a5 Add a protocol module for Omron Compoway/F protocol on asyncqueue 2014-06-13 14:57:48 +10:00
Douglas Clowes
4c65f82116 Remove superfluous trailing white space from C files 2014-05-16 17:23:44 +10:00
Ferdi Franceschini
19f6c8541c SICS-128: Added a reactor status protocol handler called OPALSTAT for the asyncqueue.
OPALSTAT uses HTTP/1.1 and sets the UserAgent to SICS to avoid re-directs.  It also sends
the SICS version and revision numbers in the UserAgent string.
2014-04-29 15:29:03 +10:00
Douglas Clowes
29583c51c0 Add a NULL aqadapter for use by script context pseudo devices
This allows the creation of a script context device without the need for
a physical device to exist. This pseudo device could derive its values
from other things and apply control to other things.

Writes to, this device are not expected and are logged. Reads from this
device are not expected and are logged and return an "ASCERR: " response.
2014-04-23 16:51:05 +10:00
Ferdi Franceschini
a785c5ceac Only return AsconTimeout in the aqadapter if no characters have been read.
Otherwise the DevQueueTask will skip fetching the reply.
2014-03-24 21:18:29 +11:00
Douglas Clowes
9e65849964 Fix some memory leaks and use-after-free (cppcheck) 2014-03-03 17:18:52 +11:00
Douglas Clowes
be347e813c Clean up the space/tab mess and trailing whitespace 2014-03-03 17:11:12 +11:00
Douglas Clowes
0a012cabc3 Fix possible buffer overruns 2014-03-03 17:04:31 +11:00
Douglas Clowes
57475b623e initialize match to zero on connect 2013-12-17 16:53:28 +11:00
Ferdi Franceschini
9c1bb2c809 SICS-405: Reverted fix of 1/6/2010 to remove sleep() function call. 2013-09-11 19:45:44 +10:00
Ferdi Franceschini
4db6412146 SICS-666 SICS returns the raw message from the spin flippers instead of a parsed field separated string. 2013-09-11 16:09:27 +10:00
Douglas Clowes
ebc4dd817d Add make help for Counter Monitor Makefile 2013-08-01 17:13:03 +10:00
Douglas Clowes
cfb1b90baa Update hardsup/makefile to actually use the dependency files gcc produces 2013-08-01 16:42:31 +10:00
Douglas Clowes
39723685f5 SICS-650 Remove camera drive timer on disconnect and re-register on re-connect 2013-07-30 13:54:35 +10:00
Douglas Clowes
b797d73edc Do not build obsolete module nhq200util.c 2013-07-26 09:44:54 +10:00
Douglas Clowes
c5690e52ca Integrate scriptcontext-asyncqueue adapter into build 2013-07-08 16:17:23 +10:00
Douglas Clowes
10f1f41fd7 New file for scriptcontext-asyncqueue adapter 2013-07-08 16:13:33 +10:00
Douglas Clowes
1e1fce78be Script Context layers test for "ASCERR: " and the space is significant.
Update code and comments to reflect that
2013-07-04 15:46:29 +10:00
Ferdi Franceschini
9949aae2fa SICS-545 Fixed lockup/hang/freeze of Dingo cameradriver. The
cameradriver would stop sending commands after about one minute if the
safety_plc (ie SIS) driver was also running.
2013-06-16 09:42:36 +10:00
Ferdi Franceschini
2d8d4864ef Merge branch 'dingo' into merge-replace 2013-06-11 08:30:24 +10:00
Douglas Clowes
ea28b7a78c add code to create, clean and ignore *.d files 2013-05-31 09:35:52 +10:00
Ferdi Franceschini
7036164640 SICS-613: Fixed voltage control for Ordela detector on Quokka. 2013-05-24 19:15:10 +10:00
Jing Chen
f4d9affe7d integrate Dingo Camera Server stuffs 2013-05-22 10:47:14 +10:00
Ferdi Franceschini
40f979de8f Fixed dumb typo. 2013-05-13 23:08:37 +10:00
Ferdi Franceschini
0f2df4a8fe SICS-593: Return 0 from the AsconReading state to ensure that SICS
progresses through tasks.
2013-05-13 08:40:30 +10:00
Ferdi Franceschini
c09968b72e Attempt a reconnect for astvels protocol if a command times out.
This lets us re-use the astvel protovol to support SICS-601 so that HTTP
connections will reconnect after the connection times out.
2013-05-05 21:19:05 +10:00
Ferdi Franceschini
e28b1f77da SICS-593 (in progress) Protocol handlers should return 0 from the
AsconReading state.
2013-04-24 16:44:53 +10:00
Ferdi Franceschini
1079f6e702 Always return 0 from the AsconReading state to make sure we exit the AsconTask().
Since the PSI update the AsconTask() function will loop forever unless you return 0.
2013-03-13 19:06:57 +11:00
Ferdi Franceschini
86379e8038 Added functions to create the camera driver and init the camera protocol
to site_ansto.c
2013-02-28 12:57:41 +11:00
Ferdi Franceschini
ad27488d3d Initial implementation of Dingo Camera driver.
Takes a single shot or a multishot.
If the user changes the camera configuration in SICS the new config will
be uploaded when the next take shot/multishot command is sent.
This driver allows the scan object in SICS to drive the scan variable to
the next target while the camera is processing and saving data after
acquiring an image.
TODO
Implement "set file,..." command.
2013-02-26 01:20:02 +11:00
Ferdi Franceschini
87559bf411 Upload camera configuration if it has changed before sending
a "take shot" or "take multi on" command.  Incorporate Vijay's changes
to the "set camera," parameters.
2013-02-26 01:02:25 +11:00
Ferdi Franceschini
ed9a2aff16 Moved camera to hardsup and started adding parameters. 2013-02-18 11:21:04 +11:00
Ferdi Franceschini
f2befda1a2 Dingo camera driver 2013-02-11 19:14:03 +11:00
Douglas Clowes
da1213c059 TCL 8.5 and cleanup 2012-12-10 14:55:51 +11:00
Douglas Clowes
27e89241cf get it to build 2012-11-27 13:34:05 +11:00