Fifo

Examples of using a Fifo are described in Using A Fifo.

Fifo objects in C++ are referenced by the following shared pointer typedef:

typedef std::shared_ptr<rogue::interfaces::stream::Fifo> rogue::interfaces::stream::FifoPtr

Alias for using shared pointer as FifoPtr.

The class description is shown below:

class Fifo : public rogue::interfaces::stream::Master, public rogue::interfaces::stream::Slave

Stream Frame FIFO.

The stream Fifo object buffers Frame data as it is received from a Master. It is then passed to the attached Slave objects in an independent thread.

The Fifo can either store the original data or create a copy of the data in a new Frame.

The copied data can be configured to be a fixed size to limit the amount of data copied.

The Fifo supports a maximum depth to be configured. After this depth is reached new incoming Frame objects are dropped.

Public Static Functions

static std::shared_ptr<rogue::interfaces::stream::Fifo> create(uint32_t maxDepth, uint32_t trimSize, bool noCopy)

Create a Fifo object and return as a FifoPtr.

Exposed as rogue.interfaces.stream.Fifo() to Python

Parameters:
  • maxDepth – Set to a non-zero value to configured fixed size mode.

  • trimSize – Set to a non-zero value to limit the amount of data copied.

  • noCopy – Set to true to disable Frame copy

Returns:

Fifo object as a FifoPtr