From 7df3ea38658b999ca7ed31bc171ca4df4ce0d48d Mon Sep 17 00:00:00 2001 From: rivers Date: Fri, 30 Jan 2009 20:53:40 +0000 Subject: [PATCH] Changes for R1-4; hardware triggers and I/O; color support git-svn-id: https://subversion.xor.aps.anl.gov/synApps/areaDetector/trunk@8316 dc6c5ff5-0b8b-c028-a01f-ffb33f00fc8b --- documentation/prosilicaDoc.html | 393 +++++++++++++++++++++++++++++++- 1 file changed, 382 insertions(+), 11 deletions(-) diff --git a/documentation/prosilicaDoc.html b/documentation/prosilicaDoc.html index 403851d..8f4efb8 100755 --- a/documentation/prosilicaDoc.html +++ b/documentation/prosilicaDoc.html @@ -7,7 +7,7 @@

areaDetector Prosilica driver

- September 20, 2008

+ January 30, 2009

Mark Rivers

@@ -28,11 +28,11 @@ This is a driver for Gigabit Ethernet and Firewire cameras from Prosilica. It inherits from ADDriver and implements nearly all of the parameters in ADStdDriverParams.h. It also implements a number of parameters that are specific - to the Prosilica cameras. The driver is currently only supported under Windows (EPICS - win32-x86 architecture) because the vendor library is provided as a Windows DLL. - The vendor library provided by Prosilica does callbacks to a user-supplied function - each time there is a new frame. Thus, the driver does not need to create a thread - itself for callbacks. + to the Prosilica cameras. The driver is only supported under Windows (EPICS win32-x86 + architecture) and Linux because the vendor library is only provided as a pre-built + binary for those operating systems. The vendor library provided by Prosilica does + callbacks to a user-supplied function each time there is a new frame. Thus, the + driver does not need to create a thread itself for callbacks.

The vendor library supports saving individual frames as TIFF files, and this is @@ -54,8 +54,8 @@

  • Software (single software trigger)
  • - The Prosilica supports additional hardware timing signals that may be supported - in a future release. + The Prosilica supports hardware timing input and output signals that are supported + in the driver.

    The ADFileFormat choices for the Prosilica are: @@ -65,6 +65,25 @@

  • Invalid (this menu item is defined only because MEDM will not display a menu widget with only 1 choice)
  • +

    + The ADDataType choices for the Prosilica are: +

    + +

    + The ADColorMode choices for the Prosilica are: +

    + +

    + The color Prosilica cameras are also capable of various YUV color formats but these + are not supported in the driver. They may be added in a future release. +

    The Prosilica driver implements the following parameters in addition to those in ADStdDriverParams.h: @@ -91,6 +110,357 @@ EPICS record type + + + Trigger and I/O Control + + + + PSSyncIn1Level + + asynInt32 + + r/o + + The level of the Sync In 1 signal + + PS_SYNC_IN_1_LEVEL + + $(P)$(R)SyncIn1Level_RBV + + bi + + + + PSSyncIn2Level + + asynInt32 + + r/o + + The level of the Sync In 2 signal + + PS_SYNC_IN_2_LEVEL + + $(P)$(R)SyncIn2Level_RBV + + bi + + + + PSSyncOut1Mode + + asynInt32 + + r/w + + The mode of the Sync Out 1 signal. Allowed values are: +
    + GPO (general purpose output) +
    + AcqTrigReady +
    + FrameTrigReady +
    + FrameTrigger +
    + Exposing +
    + FrameReadout +
    + Imaging +
    + Acquiring +
    + SyncIn1 +
    + SyncIn2 +
    + SyncIn3 +
    + SyncIn4 +
    + Strobe1 +
    + Strobe2 +
    + Strobe3 +
    + Strobe4 +
    + + + PS_SYNC_OUT_1_MODE + + $(P)$(R)SyncOut1Mode +
    + $(P)$(R)SyncOut1Mode_RBV + + + mbbo +
    + mbbi + + + + + PSSyncOut1Level + + asynInt32 + + r/w + + The level of the Sync Out 1 signal. This is only programmable when SyncOut1Mode=GPO. + + PS_SYNC_OUT_1_LEVEL + + $(P)$(R)SyncOut1Level
    + $(P)$(R)SyncOut1Level_RBV + + bo
    + bi + + + + PSSyncOut1Invert + + asynInt32 + + r/w + + Flag to invert the Sync Out 1 signal. + + PS_SYNC_OUT_1_INVERT + + $(P)$(R)SyncOut1Invert
    + $(P)$(R)SyncOut1Invert_RBV + + bo
    + bi + + + + PSSyncOut2Mode + + asynInt32 + + r/w + + The mode of the Sync Out 2 signal. Allowed values are the same as for PSSyncOut1Mode. + + + PS_SYNC_OUT_2_MODE + + $(P)$(R)SyncOut2Mode +
    + $(P)$(R)SyncOut2Mode_RBV + + + mbbo +
    + mbbi + + + + + PSSyncOut2Level + + asynInt32 + + r/w + + The level of the Sync Out 2 signal. This is only programmable when SyncOut2Mode=GPO. + + PS_SYNC_OUT_2_LEVEL + + $(P)$(R)SyncOut2Level
    + $(P)$(R)SyncOut1Level_RBV + + bo
    + bi + + + + PSSyncOut2Invert + + asynInt32 + + r/w + + Flag to invert the Sync Out 2 signal. + + PS_SYNC_OUT_2_INVERT + + $(P)$(R)SyncOut2Invert
    + $(P)$(R)SyncOut2Invert_RBV + + bo
    + bi + + + + PSSyncOut3Mode + + asynInt32 + + r/w + + The mode of the Sync Out 3 signal. Allowed values are the same as for PSSyncOut1Mode. + + + PS_SYNC_OUT_3_MODE + + $(P)$(R)SyncOut3Mode +
    + $(P)$(R)SyncOut3Mode_RBV + + + mbbo +
    + mbbi + + + + + PSSyncOut3Level + + asynInt32 + + r/w + + The level of the Sync Out 3 signal. This is only programmable when SyncOut3Mode=GPO. + + PS_SYNC_OUT_3_LEVEL + + $(P)$(R)SyncOut3Level
    + $(P)$(R)SyncOut3Level_RBV + + bo
    + bi + + + + PSSyncOut3Invert + + asynInt32 + + r/w + + Flag to invert the Sync Out 3 signal. + + PS_SYNC_OUT_3_INVERT + + $(P)$(R)SyncOut3Invert
    + $(P)$(R)SyncOut3Invert_RBV + + bo
    + bi + + + + PSStrobe1Mode + + asynInt32 + + r/w + + The mode of the Strobe 1 signal. The Strobe signals are based on the following values, + but allow for changing the delay and width relative to the underlying value. Any + of the outputs can be set to the Stobe1 value, rather than the raw values of these + signals. Allowed values are: +
    + AcqTrigReady +
    + FrameTrigReady +
    + FrameTrigger +
    + Exposing +
    + FrameReadout +
    + Acquiring +
    + SyncIn1 +
    + SyncIn2 +
    + SyncIn3 +
    + SyncIn4 +
    + + + PS_STROBE_1_MODE + + $(P)$(R)Strobe1Mode +
    + $(P)$(R)Strobe1Mode_RBV + + + mbbo +
    + mbbi + + + + + PSStrobe1CtlDuration + + asynInt32 + + r/w + + Flag to allow controlling the strobe duration. + + PS_STROBE_1_CTL_DURATION + + $(P)$(R)Strobe1CtlDuration
    + $(P)$(R)Strobe1CtlDuration_RBV + + bo
    + bi + + + + PSStrobe1Duration + + asynFloat64 + + r/w + + The strobe duration if PSStrobe1CtlDuration is On. + + PS_STROBE_1_DURATION + + $(P)$(R)Strobe1Duration
    + $(P)$(R)Strobe1Duration_RBV + + ao
    + ai + + + + PSStrobe1Delay + + asynFloat64 + + r/w + + The strobe delay relative to the underlying signal that the strobe is based on. + + PS_STROBE_1_DELAY + + $(P)$(R)Strobe1Delay
    + $(P)$(R)Strobe1Delay_RBV + + ao
    + ai + + + + Statistics Information + PSReadStatistics @@ -311,11 +681,12 @@

    Future enhancements

    - The driver does not currently support color. This will be added in the near future. + Work is needed on connection management. If the camera is unplugged or powered off + when the areaDetector driver is running it does not gracefully recover.

    - Work is needed on connection management. If the camera is unplugged or powered off - which the areaDetector driver is running it does not gracefully recover. + The Linux driver currently requires some modifications to EPICS base. This should + be resolved either by modifying base or with changes from Prosilica for their driver.