diff --git a/docs/ADAravis/ADAravis.rst b/docs/ADAravis/ADAravis.rst index bbb7fb1..e6f191b 100644 --- a/docs/ADAravis/ADAravis.rst +++ b/docs/ADAravis/ADAravis.rst @@ -21,25 +21,25 @@ Overview This is an :doc:`../index` driver for GenICam_ cameras using the aravis_ library. -GenICam_ is a Generic Interface for Cameras from the European Machine Vision Association (EMVA). +GenICam_ is a Generic Interface for Cameras from the European Machine Vision Association (EMVA). ADAravis is derived from the base class ADGenICam_, which handles many of the details of mapping GenICam_ features to EPICS records. `ADAravis class`_ describes this class in detail. -ADAravis_ is based heavily on the older aravisGigE_ driver which has been part of areaDetector for many years. +ADAravis_ is based heavily on the older aravisGigE_ driver which has been part of areaDetector for many years. ADAravis_ differs from aravisGigE_ by using the ADGenICam_ base class to significantly reduce the amount of code. Many of the ideas in ADGenICam_ were borrowed from aravisGigE_. As its name implies, ADAravis_ uses the aravis_ library. It runs on most Linux systems, and can control any GenICam_ camera. It cannot be used on Windows because aravis_ does not support it. -The aravis_ package must be built before building ADAravis. Instructions for doing this can be found in the +The aravis_ package must be built before building ADAravis. Instructions for doing this can be found in the :ref:`ADGenICam installing aravis ` documentation. -Prior to using ADAravis with a specific camera model, the XML file must be read from the camera using the arv-tool utility, -and the EPICS database file and OPI screens must be generated by running the Python programs in +Prior to using ADAravis with a specific camera model, the XML file must be read from the camera using the arv-tool utility, +and the EPICS database file and OPI screens must be generated by running the Python programs in :ref:`ADGenICam Python scripts `. @@ -123,14 +123,16 @@ IOC startup script ------------------ The command to configure an ADAravis camera in the startup script is:: - aravisConfig(const char *portName, const char *cameraName, size_t maxMemory, int priority, int stackSize) - + aravisConfig(const char *portName, const char *cameraName, int enableCaching, size_t maxMemory, int priority, int stackSize) ``portName`` is the name for the ADAravis port driver ``cameraName`` is the identifier for the camera. It can be the complete camera name returned by arv-tool, for example ``"Point Grey Research-Blackfly S BFS-PGE-50S5C-18585624"``, or it can be an IP address for GigE and 10 GigE cameras, for example ``"164.54.160.117"``. +``enableCaching`` Flag to enable (1) or disable (0) register caching in aravis. Performance is much better when caching is +enabled, but some cameras may not properly implement this. + ``maxMemory`` is the maximum amount of memory the NDArrayPool is allowed to allocate. 0 means unlimited. ``priority`` is the priority of the port thread. 0 means medium priority. @@ -140,10 +142,10 @@ example ``"164.54.160.117"``. MEDM screens ------------ The following is the MEDM screen ADAravis.adl when controlling a FLIR Oryx 51S5M 10 Gbit Ethernet camera. -ADAravis.adl is very similar to ADGenICam.adl, with a few additional widgets for the PVs that are +ADAravis.adl is very similar to ADGenICam.adl, with a few additional widgets for the PVs that are specific to ADAravis. -Note that each frame is 4.8 MB, and it is collecting 162 frames/s, which is 775 MB/s. +Note that each frame is 4.8 MB, and it is collecting 162 frames/s, which is 775 MB/s. .. figure:: ADAravis.png :align: center @@ -159,4 +161,3 @@ The following is the second feature screen generated by the Python program descr .. figure:: ADAravis_features2.png :align: center -