From 51d45dfe65e54028c5d09b04ecaf80660e29ab11 Mon Sep 17 00:00:00 2001 From: mwpearson Date: Sat, 7 Apr 2012 12:24:52 +0000 Subject: [PATCH] pilatus driver and template: fixed thread polling for Th, as it wasn't working for 2M or 6M detectors. Added a 2s delay when aborting an acquisition, which seems to be needed to allow camserver time to clean up in some modes. Improved error reporting for multi frame acqusitions, when callbacks are turned off. Fixed a race condition to ensure we don't miss a stopEvent if we are doing a successful read from camserver. Added an automatic stop when getting a timeout from camserver, if we got no response (this prevents camserver and the pilatus driver getting out of sync.) Fixed race conditions that meant we occasionally read back the wrong ADStatus at the end of an exposure. Fixed a race condition in pilatusTask, that can cause a problem reading ADStatus if we sent a start and a stop in quick succession (before the pilatusTask thread had time to run). Added support for setting cbf_template_file. Turned off auto reconnect on the Asyn port, to force a IOC reboot if camserver if has been restarted. Fixed logic for setting the threshold, if we have auto apply turned off. Modified the pilatus driver to take advantage of the new aborted state, ie. replaced some of the ADErrors with ADStatusAborted. git-svn-id: https://subversion.xor.aps.anl.gov/synApps/areaDetector/trunk@14660 dc6c5ff5-0b8b-c028-a01f-ffb33f00fc8b --- ADApp/Db/pilatus.template | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/ADApp/Db/pilatus.template b/ADApp/Db/pilatus.template index 0303b16..a36e3e9 100644 --- a/ADApp/Db/pilatus.template +++ b/ADApp/Db/pilatus.template @@ -254,6 +254,7 @@ record(asyn, "$(P)$(R)CamserverAsyn") field(PORT, "$(CAMSERVER_PORT)") field(IMAX, "64") field(OMAX, "64") + field(AUCT, "0") } # ancillary information @@ -609,3 +610,13 @@ record(stringin, "$(P)$(R)TVXVersion_RBV") field(VAL, "Unknown") field(SCAN, "I/O Intr") } + +record(waveform, "$(P)$(R)CbfTemplateFile") +{ + field(PINI, "YES") + field(DTYP, "asynOctetWrite") + field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))CBFTEMPLATEFILE") + field(FTVL, "CHAR") + field(NELM, "256") +} +