Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 11 additions & 10 deletions docs/ADAravis/ADAravis.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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 <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 <ADGenICam_Python_scripts>`.


Expand Down Expand Up @@ -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.
Expand All @@ -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
Expand All @@ -159,4 +161,3 @@ The following is the second feature screen generated by the Python program descr

.. figure:: ADAravis_features2.png
:align: center

Loading