Class FelixInputBufferInterface
Defined in File felix_direct_readout_interface.hpp
Class Documentation
-
class FelixInputBufferInterface
Public Functions
-
virtual ~FelixInputBufferInterface() = default
-
virtual std::vector<enabled_elink_t> get_enabled_elinks() = 0
- Returns:
vector of enabled e-links for the device and DMA buffer passed in the contructor. Each e-link is pair contanining the fid and the local e-link number.
-
virtual block_spans get_available_blocks(uint64_t processed_blocks) noexcept = 0
- Parameters:
processed_blocks – is used to determine where to count blocks from. This argument allows the support of multiple readers. The function does not access contended resources.
- Returns:
the blocks available to read in two std::spans representing the two segments of the circular DMA buffer.
-
virtual void set_read_ptr_blocks(uint64_t processed_blocks) noexcept = 0
set the read pointer to a new block index.
firmware will not be allowed to write over the block pointed at by the index. The function is NOT thread-safe.
-
virtual ~FelixInputBufferInterface() = default