Pleora Technologies Inc. eBUS SDK v6.2.8.5877 API



Receiving Data with USB3 Vision

Receiving Data from a USB3 Vision Transmitter

A USB3 Vision device (transmitter) transmits blocks of data (such as images) over a USB cable using the USB Vision Streaming Protocol (UVSP).

The eBUS SDK provides a means of receiving this data, assembling it into an area of memory that is accessible to the calling application.

The software component that receives and assembles data into a usable block of memory is commonly referred to as a data receiver.

PvStreamU3V provides access to a PvGenParameterArray containing all of the data receiver properties.

The process of receiving data from a USB3 Vision transmitter involves queuing buffers into the data receiver, which ensures that buffers are always available for the incoming data. A PvStreamU3V object is normally used with a PvPipeline object, which helps manage the process of allocating and pushing buffers into the data receiver as needed.

Opening a PvPipeline object allocates a pool of available buffers (configurable by calling PvPipeline::SetBufferCount and PvPipeline::SetBufferSize) and starts a thread that continually feeds buffers into the data receiver. Each time a new block (such as an image or raw data) becomes available, its associated buffer is placed in a queue of available buffers that can be retrieved by calling PvPipeline::RetrieveNextBuffer.

If the calling application cannot retrieve buffers at the rate that data is arriving, buffers are silently dropped. To obtain a count of dropped buffers, refer to the PipelineBlocksDropped property, accessible from the stream.

To control a USB3 Vision device (for example, to tell it when to transmit data and where to transmit it to), the eBUS SDK provides a class called PvDeviceU3V. For a complete working sample that connects to a USB3 Vision device, opens a stream, and tells the device when and where to begin streaming, see the PvPipelineSample sample.


Copyright (c) 2002-2021 Pleora Technologies Inc.
www.pleora.com