Critical Link MityCam SoC Firmware  1.0
Critical Link MityCam SoC Firmware
tcPCIEStreamer Class Reference

Userspace Class Manages MitySOM-AM57x MityCAM streams to AXI Streams (for FPGA to ARM DDR via PCIe transmission) More...

#include <PCIEStreamer.h>

Inheritance diagram for tcPCIEStreamer:
Collaboration diagram for tcPCIEStreamer:

Public Member Functions

 tcPCIEStreamer (uint32_t anPCIe_DMA_Address, uint32_t anMityCAM_To_PCIe_Address)
 Construct a new tcPCIEStreamer::tcPCIEStreamer object. More...
 
virtual ~tcPCIEStreamer ()
 Destroy the tcPCIEStreamer::tcPCIEStreamer object. More...
 
virtual bool initialize () override
 
virtual void reset (bool abReset) override
 
virtual void setStartAddr (unsigned int anAddr) override
 
virtual unsigned int getStartAddr () override
 
virtual void setEndAddr (unsigned int anAddr) override
 
virtual unsigned int getEndAddr () override
 
virtual void setFrameSize (unsigned int anNumBytes) override
 
virtual unsigned int getFrameSize () override
 
virtual void setInterruptLevel (unsigned int anNumFrames) override
 
virtual unsigned int getInterruptLevel () override
 
virtual void setFramesToCapture (unsigned short anNumFrames) override
 
virtual unsigned short getFramesToCapture (void) override
 getFramesToCapture More...
 
virtual void clearInterrupt () override
 
virtual void setInterruptEnable (bool abEnable) override
 
virtual bool isReady () override
 
virtual void setPackingMode (tePackingMode aeMode) override
 
virtual tePackingMode getPackingMode () override
 
virtual void setPacking (bool abEnable) override
 
virtual bool isPacking () override
 
- Public Member Functions inherited from tcRAMStreamer
 tcRAMStreamer (int anBaseAddress)
 
virtual ~tcRAMStreamer ()
 

Protected Attributes

tcFPGARegister< uint16_t > mhPCIe_DMA
 the AXI Stream to PCIe DMA master VHDL module More...
 
tcFPGARegister< uint32_t > mhStreamToPCIe
 the MityCAM Stream to AXI/PCIe Stream VHDL module More...
 
- Protected Attributes inherited from tcRAMStreamer
uint32_t mnNumBytes
 
uint32_t mnStartAddr
 
uint32_t mnEndAddr
 

Additional Inherited Members

- Public Types inherited from tcRAMStreamer
enum  tePackingMode { eeMono16 = 0, eeMono12p = 1, eeMono8p = 2, eeMono12packed = 3 }
 

Detailed Description

Userspace Class Manages MitySOM-AM57x MityCAM streams to AXI Streams (for FPGA to ARM DDR via PCIe transmission)

Constructor & Destructor Documentation

◆ tcPCIEStreamer()

tcPCIEStreamer::tcPCIEStreamer ( uint32_t  anPCIe_DMA_Address,
uint32_t  anMityCAM_To_PCIe_Address 
)

Construct a new tcPCIEStreamer::tcPCIEStreamer object.

Parameters
anPCIe_DMA_AddressPhysical Address of the MitySOM-AM57x PCIe DMA bus master IP
anMityCAM_To_PCIe_AddressPhysical Address of the MityCAM to PCIe Stream Controller IP

◆ ~tcPCIEStreamer()

tcPCIEStreamer::~tcPCIEStreamer ( )
virtual

Destroy the tcPCIEStreamer::tcPCIEStreamer object.

Member Function Documentation

◆ clearInterrupt()

void tcPCIEStreamer::clearInterrupt ( )
overridevirtual

Clears the Interrupt Status bit.

Reimplemented from tcRAMStreamer.

◆ getEndAddr()

unsigned int tcPCIEStreamer::getEndAddr ( )
overridevirtual

Returns the end address.

Returns
the end address.

Reimplemented from tcRAMStreamer.

◆ getFrameSize()

unsigned int tcPCIEStreamer::getFrameSize ( )
overridevirtual

Returns the frame size in bytes.

Returns
the frame size

Reimplemented from tcRAMStreamer.

◆ getFramesToCapture()

unsigned short tcPCIEStreamer::getFramesToCapture ( void  )
overridevirtual

getFramesToCapture

Returns
the number of images to capture; 0 for continuous

Reimplemented from tcRAMStreamer.

◆ getInterruptLevel()

unsigned int tcPCIEStreamer::getInterruptLevel ( )
overridevirtual

Returns the currently set level of interrupt.

Returns
the number of frames to go before generating an interrupt.

Reimplemented from tcRAMStreamer.

◆ getPackingMode()

tcRAMStreamer::tePackingMode tcPCIEStreamer::getPackingMode ( )
overridevirtual

Reimplemented from tcRAMStreamer.

◆ getStartAddr()

unsigned int tcPCIEStreamer::getStartAddr ( )
overridevirtual

Returns the start address.

Returns
the start address.

Reimplemented from tcRAMStreamer.

◆ initialize()

bool tcPCIEStreamer::initialize ( )
overridevirtual
Returns
True if the register is initialized.

Reimplemented from tcRAMStreamer.

◆ isPacking()

bool tcPCIEStreamer::isPacking ( )
overridevirtual

DEPRECATED - use tePackingMode getPackingMode() instead. Returns if packing pixels is turned on.

Returns
true if packing is turned on; false otherwise.

Reimplemented from tcRAMStreamer.

◆ isReady()

bool tcPCIEStreamer::isReady ( )
overridevirtual

Tests whether the stream is complete by looking at the Interrupt Status bit.

Returns
true if the stream is complete. false otherwise.

Reimplemented from tcRAMStreamer.

◆ reset()

void tcPCIEStreamer::reset ( bool  abReset)
overridevirtual

Set the reset bit.

Parameters
abReset- the state of the reset bit.

Reimplemented from tcRAMStreamer.

◆ setEndAddr()

void tcPCIEStreamer::setEndAddr ( unsigned int  anAddr)
overridevirtual

Set the end address of where to wrap around. This should be set by the IO Channel on a frame boundary.

Parameters
anAddr- the address to stream to.

Reimplemented from tcRAMStreamer.

◆ setFrameSize()

void tcPCIEStreamer::setFrameSize ( unsigned int  anNumBytes)
overridevirtual

Sets the frame size register.

Parameters
anNumBytes- the number of bytes to set.

Reimplemented from tcRAMStreamer.

◆ setFramesToCapture()

void tcPCIEStreamer::setFramesToCapture ( unsigned short  anNumFrames)
overridevirtual

Sets the number of images to capture; set to 0 for continuous capture.

Parameters
numCapture- the number of images to capture; 0 for continuous capture.

Reimplemented from tcRAMStreamer.

◆ setInterruptEnable()

void tcPCIEStreamer::setInterruptEnable ( bool  abEnable)
overridevirtual

Sets the state of the interrupt enable bit.

Parameters
abEnable- true to enable interrupts; false to disable them.

Reimplemented from tcRAMStreamer.

◆ setInterruptLevel()

void tcPCIEStreamer::setInterruptLevel ( unsigned int  anNumFrames)
overridevirtual

Sets the number of frames to be streamed to RAM before generating an interrupt.

Reimplemented from tcRAMStreamer.

◆ setPacking()

void tcPCIEStreamer::setPacking ( bool  abEnable)
overridevirtual

DEPRECATED - use setPackingMode(tePackingMode) instead. Toggle to enable the packing of 12 bit pixels into 16 bit words.

Reimplemented from tcRAMStreamer.

◆ setPackingMode()

void tcPCIEStreamer::setPackingMode ( tcRAMStreamer::tePackingMode  aeMode)
overridevirtual

Reimplemented from tcRAMStreamer.

◆ setStartAddr()

void tcPCIEStreamer::setStartAddr ( unsigned int  anAddr)
overridevirtual

Set the start address of where to stream to. This should be set by the IO Channel.

Parameters
anAddr- the address to stream to.

Reimplemented from tcRAMStreamer.

Member Data Documentation

◆ mhPCIe_DMA

tcFPGARegister<uint16_t> tcPCIEStreamer::mhPCIe_DMA
protected

the AXI Stream to PCIe DMA master VHDL module

◆ mhStreamToPCIe

tcFPGARegister<uint32_t> tcPCIEStreamer::mhStreamToPCIe
protected

the MityCAM Stream to AXI/PCIe Stream VHDL module


The documentation for this class was generated from the following files: