Critical Link MityCam SoC Firmware
1.0
Critical Link MityCam SoC Firmware
|
The GigE streaming IO channel interface. More...
#include <GigEIO.h>
Classes | |
struct | tsPacketTransInfo |
Public Member Functions | |
tcGigEIO (tcSensorBoard *apSensor) | |
Constructor. More... | |
~tcGigEIO () | |
Destructor. More... | |
SocCamera::teNackCode | capture (tsCaptureRequest asRequest) |
SocCamera::teNackCode | setBpp (SocCamera::teBPPMode aeBppMode) |
void | ResetBlockID (void) |
void | sendUpdate (tsNewFrameMsg *apMsg) |
void | RetransmitPackets (tsGvcpCmdPacketResend *apReq) |
bool | is_capturing () |
int | set_pkt_size (int size) |
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) |
tcImage * | grabImage () |
SocCamera::teIOChannels | id () |
virtual void | invalidateCache (void *apMem, size_t anSize) |
virtual void * | memory () |
Public Member Functions inherited from tcIOCallback | |
tcIOCallback () | |
virtual | ~tcIOCallback () |
Static Public Attributes | |
static const int | GVSP_MIN_PKT_SIZE = 512 |
Minimum streaming packet size. More... | |
static const int | GVSP_MAX_PKT_SIZE = 3800 |
Maximum streaming packet size. More... | |
static const int | MAX_WORKING_BUFFERS = 8 |
Protected Member Functions | |
void | send_test_pkt () |
void | set_pkt_fragment (bool fragment) |
void | set_buffer_sizes (int rxBufferMax, int txBufferMax) |
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 | |
int | m_udp_sock |
uint8_t | maBuffer [MAX_WORKING_BUFFERS][MAX_GVSP_BUFFER_LENGTH] |
uint8_t | maReXmitBuffer [MAX_WORKING_BUFFERS][MAX_GVSP_BUFFER_LENGTH] |
tcRegisterFile * | mpRegisterFile |
uint32_t | mnCurrentHeaderIndex |
uint32_t | mnBlockID |
bool | mbIsStreaming |
uint64_t | mnLastFrameOffset |
bool | mbCancel |
tsPacketTransInfo | maPacketTransmitInfo [32] |
we will HASH the bottom 5 bits of the block ID More... | |
int | m_pkt_size |
Protected Attributes inherited from tcIOChannel | |
std::string | m_name |
SocCamera::teIOChannels | meIOId |
SocCamera::tcSensorBoard * | mpSensor |
SocCamera::teBPPMode | meBppMode |
int64 | mnImgCount |
std::list< tsNewFrameMsg > | mlUpdates |
tcMutex | mcMutex |
tcCondition | mcCond |
void * | mpMemory |
tcIOChannelThread | mcThread |
tsNewFrameMsg | msLastUpdate |
bool | mbSimRAM |
Static Protected Attributes | |
static const int | INVALID_SOCKET = -1 |
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) |
Friends | |
class | tcGigEIOHandler |
The GigE streaming IO channel interface.
SocCamera::tcGigEIO::tcGigEIO | ( | tcSensorBoard * | apSensor | ) |
Constructor.
SocCamera::tcGigEIO::~tcGigEIO | ( | ) |
Destructor.
|
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.
[in] | asRequest | The request for capture being made. |
Implements tcIOChannel.
|
inline |
|
inline |
void SocCamera::tcGigEIO::RetransmitPackets | ( | tsGvcpCmdPacketResend * | apReq | ) |
< packet block ID
< packet block ID
< packet block ID
< packet block ID
|
protected |
|
virtual |
Actually sends the frame by whatever means; called by the internal thread.
[in] | apMsg |
Implements tcIOChannel.
|
protected |
Set the receive and transmit buffer sizes for this socket
[in] | rxBufferMax | Max size in bytes |
[in] | txBufferMax | Max size in bytes |
|
protected |
int SocCamera::tcGigEIO::set_pkt_size | ( | int | size | ) |
This function sets the size of the transmit packets. It's invoked whenever the SCPS0 register is set.
[in] | size | The total packet size, including all headers (IP header = 20 bytes, UDP header = 8 bytes and GVSP header). |
|
virtual |
Sets the bits-per-pixel output of the camera.
[in] | aeBppMode | the bits per pixel mode. |
Implements tcIOChannel.
|
friend |
|
static |
Maximum streaming packet size.
|
static |
Minimum streaming packet size.
These constants reflect the minimum and maximum packet sizes which the Camera will send while streaming image data. The sizes defined here MUST match values set forth in the GevSCPSPacketSize integer declaration in XML file. If they do not match we will fail the "StreamFormat" section of validation test program.
|
staticprotected |
|
protected |
|
protected |
|
protected |
|
protected |
we will HASH the bottom 5 bits of the block ID
|
protected |
|
static |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |