Critical Link MityCam SoC Firmware  1.0
Critical Link MityCam SoC Firmware
SocCamera::tcU3VIO Class Reference

#include <U3VIO.h>

Inheritance diagram for SocCamera::tcU3VIO:
Collaboration diagram for SocCamera::tcU3VIO:

Public Member Functions

 tcU3VIO (tcSensorBoard *apSensorBoard, int32_t anCamLinkFPGAControlAddress, uint32_t anSgdmaCtrlAddr, uint32_t anSgdmaDescAddr, uint32_t anRespRegAddr)
 
virtual ~tcU3VIO ()
 
virtual teNackCode capture (tsCaptureRequest asRequest)
 
virtual teNackCode setBpp (SocCamera::teBPPMode aeBppMode)
 
virtual void sendUpdate (tsNewFrameMsg *apMsg)
 
void epHalt (bool abHalt)
 
bool halted ()
 
void stall (bool abStallAndWait)
 
- Public Member Functions inherited from tcIOChannel
 tcIOChannel (SocCamera::teIOChannels aeIOId, SocCamera::tcSensorBoard *apSensor)
 Construct a new tcIOChannel::tcIOChannel object. More...
 
virtual ~tcIOChannel ()
 
virtual void initialized ()
 
SocCamera::teBPPMode getBpp ()
 
virtual void processUpdate (tsNewFrameMsg *apMsg)
 
void setEnable (bool abEnable)
 
tcImagegrabImage ()
 
SocCamera::teIOChannels id ()
 
virtual void invalidateCache (void *apMem, size_t anSize)
 
virtual void * memory ()
 
- Public Member Functions inherited from tcIOCallback
 tcIOCallback ()
 
virtual ~tcIOCallback ()
 

Friends

class tcU3VHandler
 
class tcU3VDelegate
 

Additional Inherited Members

- Protected Member Functions inherited from tcIOChannel
void invalidateCache (tsNewFrameMsg *apMsg)
 
void invalidateCache ()
 
void Report (const char *fmt,...)
 This method routes text to stderr. More...
 
void ReportError (const char *fmt,...)
 
- Protected Attributes inherited from tcIOChannel
std::string m_name
 
SocCamera::teIOChannels meIOId
 
SocCamera::tcSensorBoardmpSensor
 
SocCamera::teBPPMode meBppMode
 
int64 mnImgCount
 
std::list< tsNewFrameMsgmlUpdates
 
tcMutex mcMutex
 
tcCondition mcCond
 
void * mpMemory
 
tcIOChannelThread mcThread
 
tsNewFrameMsg msLastUpdate
 
bool mbSimRAM
 
- Static Protected Attributes inherited from tcIOChannel
static uint32 CAPTURE_START_ADDR = (0x20000000)
 
static uint32 MEMORY_BLOCK_SIZE = (0x20000000)
 
static bool CMEM_USED = (true)
 
static bool MMAP_USED = (true)
 

Detailed Description

This class implements the RAM-to-FX3 portion of the pipeline for outputting frames.

It consists of:

  • SGDMA Reader being kicked per frame
  • U3V/FX3 FPGA component

Constructor & Destructor Documentation

◆ tcU3VIO()

tcU3VIO::tcU3VIO ( tcSensorBoard apSensorBoard,
int32_t  anCamLinkFPGAControlAddress,
uint32_t  anSgdmaCtrlAddr,
uint32_t  anSgdmaDescAddr,
uint32_t  anRespRegAddr 
)

◆ ~tcU3VIO()

tcU3VIO::~tcU3VIO ( )
virtual

Member Function Documentation

◆ capture()

teNackCode tcU3VIO::capture ( tsCaptureRequest  asRequest)
virtual

Start a capture with this request. If the requests number of frames is tsNewRequest::CANCEL_CAPTURE then the current capture is stopped if possible.

Parameters
asRequest- the request for capture being made.
Returns
a nack code if the capture parameters are inelligable for this IOChannel.

Implements tcIOChannel.

◆ epHalt()

void SocCamera::tcU3VIO::epHalt ( bool  abHalt)

◆ halted()

bool SocCamera::tcU3VIO::halted ( )

◆ sendUpdate()

void tcU3VIO::sendUpdate ( tsNewFrameMsg apMsg)
virtual

Actually sends the frame by whatever means; called by the internal thread.

Parameters
apMsg

Implements tcIOChannel.

◆ setBpp()

teNackCode tcU3VIO::setBpp ( SocCamera::teBPPMode  aeBppMode)
virtual

Sets the bits-per-pixel output of the camera.

Parameters
aeBppMode- the bits per pixel mode.
Returns
the nack code for the operation

Implements tcIOChannel.

◆ stall()

void tcU3VIO::stall ( bool  abStallAndWait)

Friends And Related Function Documentation

◆ tcU3VDelegate

friend class tcU3VDelegate
friend

◆ tcU3VHandler

friend class tcU3VHandler
friend

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