Skip to content

0 size buffers in processBuffer() when capturing 'Single' or 'Multiple' #20

@daykin

Description

@daykin

Discovered by testing fix for #18 (not related at all, to be clear):

Environment:
Arch: linux-x86_64-debug
EPICS Base 7.0.7
ADGenICam R1-8, master commit 639aa4f
ADAravis R2-3, master commit ebca7d0
Camera: The Imaging Source Europe DMK 33GX174, via gigabit ethernet
Additional Plugins: Only NDStdArrays Image plugin for viewing output array in CS-Studio

Steps to reproduce:

  1. Generate xml and database from arv-tool-0.8 genicam per the documentation
  2. Point build system to appropriate EPICS_BASE, ADCORE, GENICAM modules in configure/RELEASE
  3. Add in the ADBase and NDFile settings .req files to aravisApp/Db/aravisCamera_settings.req
  4. Build everything
  5. Start up an IOC, invoking aravisConfig(portName, aravisCameraName)
  6. load in aravisCamera.template (and, by extension, ADGenICam.template and ADBase.template)
  7. load in camera-specific records generated in step 1
  8. Change $(P)$(R):DataType to UInt16
  9. RegionSize and PixelFormat remain Mono16, no conversion or shift
  10. GainAuto and ExposureAuto set to 'Continuous'
  11. AcquirePeriod set to 1 second
  12. NumImages set to 100
  13. ImageMode set to 'Multiple'
  14. Acquire

Result:
ArraySize_RBV Remains zero. In IOC, the following output occurs:
2023/03/21 15:30:00.404 ADAravis:processBuffer: w: 1920, h: 1200, size: 0, expected_size: 4608000

If ImageMode is set to 'Continuous' the error goes away.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions