Critical Link MityCam SoC Firmware  1.0
Critical Link MityCam SoC Firmware
GigEIO.h
Go to the documentation of this file.
1 
9 #ifndef GIGEIO_H_
10 #define GIGEIO_H_
11 
12 #include <stdlib.h>
13 
14 #include "../GigE.h"
15 #include "IOChannel.h"
18 
19 namespace SocCamera
20 {
21  class tcGigEIOHandler;
22 
26  class tcGigEIO: public tcIOChannel
27  {
28  friend class tcGigEIOHandler;
29  public:
30 
35  //{
36  static const int GVSP_MIN_PKT_SIZE = 512;
37  static const int GVSP_MAX_PKT_SIZE = 3800;
38  //}
39 
40  static const int MAX_WORKING_BUFFERS = 8;
41 
42  tcGigEIO(tcSensorBoard *apSensor);
43  ~tcGigEIO();
44 
47  void ResetBlockID(void) { mnBlockID = 1; }
48 
49  void sendUpdate(tsNewFrameMsg *apMsg);
50 
52 
53  bool is_capturing () { return false; } //zzzGAJ How do I figure this out?
54  int set_pkt_size (int size);
55 
56  protected:
61  typedef struct {
62  uint32_t mnBlockID;
64  uint32_t mnDataSize;
65  uint32_t mnLastDataSize;
66  uint32_t mnImageOffset;
67  uint32_t mnNumPackets;
69 
70  static const int INVALID_SOCKET = -1;
76  uint32_t mnBlockID;
79  bool mbCancel;
81 
83 
84  void send_test_pkt();
85  void set_pkt_fragment (bool fragment);
86  void set_buffer_sizes (int rxBufferMax, int txBufferMax);
87  };
88 
89 } /* namespace SocCamera */
90 
91 #endif /* GIGEIO_H_ */
SocCamera::tcGigEIO::is_capturing
bool is_capturing()
Definition: GigEIO.h:53
SocCamera::tcGigEIO::set_buffer_sizes
void set_buffer_sizes(int rxBufferMax, int txBufferMax)
Definition: GigEIO.cpp:983
SocCamera::tcGigEIO::mpRegisterFile
tcRegisterFile * mpRegisterFile
Definition: GigEIO.h:74
SocCamera::tcGigEIO::set_pkt_fragment
void set_pkt_fragment(bool fragment)
Definition: GigEIO.cpp:970
SocCamera::tcGigEIO::tsPacketTransInfo::mnImageOffset
uint32_t mnImageOffset
Definition: GigEIO.h:66
SocCamera::tcGigEIO::tsPacketTransInfo::msLeader
tsGvspImageLeader msLeader
Definition: GigEIO.h:63
SocCamera::tcGigEIO::tsPacketTransInfo::mnLastDataSize
uint32_t mnLastDataSize
Definition: GigEIO.h:65
SocCamera::tcGigEIO::maReXmitBuffer
uint8_t maReXmitBuffer[MAX_WORKING_BUFFERS][MAX_GVSP_BUFFER_LENGTH]
Definition: GigEIO.h:73
SocCamera::tcGigEIO::tsPacketTransInfo
Definition: GigEIO.h:61
tsGvcpCmdPacketResend
Definition: GigE.h:145
GigERegisters.h
SocCamera::tcGigEIO::tcGigEIO
tcGigEIO(tcSensorBoard *apSensor)
Constructor.
Definition: GigEIO.cpp:45
SocCamera::tcGigEIO::ResetBlockID
void ResetBlockID(void)
Definition: GigEIO.h:47
SocCamera::tcGigEIO::mnLastFrameOffset
uint64_t mnLastFrameOffset
Definition: GigEIO.h:78
SocCamera::tcGigEIO::tsPacketTransInfo::mnBlockID
uint32_t mnBlockID
Definition: GigEIO.h:62
SocCamera::tcGigEIO::INVALID_SOCKET
static const int INVALID_SOCKET
Definition: GigEIO.h:70
SocCamera::tcGigEIO::set_pkt_size
int set_pkt_size(int size)
Definition: GigEIO.cpp:130
SocCamera::teNackCode
teNackCode
Definition: CameraTypes.h:62
tcIOChannel
Camera Output IO channel management class.
Definition: IOChannel.h:34
SocCamera::teBPPMode
teBPPMode
Definition: CameraTypes.h:133
SocCamera::tcGigEIO::m_pkt_size
int m_pkt_size
Definition: GigEIO.h:82
SocCamera::tcGigEIO::mnCurrentHeaderIndex
uint32_t mnCurrentHeaderIndex
Definition: GigEIO.h:75
SocCamera::tcGigEIO::setBpp
SocCamera::teNackCode setBpp(SocCamera::teBPPMode aeBppMode)
Definition: GigEIO.cpp:211
SocCamera::tcGigEIO::MAX_WORKING_BUFFERS
static const int MAX_WORKING_BUFFERS
Definition: GigEIO.h:40
SocCamera::tcGigEIO::~tcGigEIO
~tcGigEIO()
Destructor.
Definition: GigEIO.cpp:113
SocCamera::tcGigEIO::RetransmitPackets
void RetransmitPackets(tsGvcpCmdPacketResend *apReq)
Definition: GigEIO.cpp:217
SocCamera::tcGigEIO::mnBlockID
uint32_t mnBlockID
Definition: GigEIO.h:76
SocCamera::tcGigEIO::maBuffer
uint8_t maBuffer[MAX_WORKING_BUFFERS][MAX_GVSP_BUFFER_LENGTH]
Definition: GigEIO.h:72
SocCamera::tcGigEIO::mbCancel
bool mbCancel
Definition: GigEIO.h:79
SocCamera
Definition: CameraTypes.h:7
SocCamera::tcGigEIO::maPacketTransmitInfo
tsPacketTransInfo maPacketTransmitInfo[32]
we will HASH the bottom 5 bits of the block ID
Definition: GigEIO.h:80
SocCamera::tcGigEIO::GVSP_MAX_PKT_SIZE
static const int GVSP_MAX_PKT_SIZE
Maximum streaming packet size.
Definition: GigEIO.h:37
SocCamera::tcRegisterFile
Definition: RegisterFile.h:121
SocCamera::tcGigEIO::capture
SocCamera::teNackCode capture(tsCaptureRequest asRequest)
Definition: GigEIO.cpp:150
SocCamera::tcGigEIO::tsPacketTransInfo::mnNumPackets
uint32_t mnNumPackets
Definition: GigEIO.h:67
tsNewFrameMsg
Definition: IOCallback.h:11
SocCamera::tcSensorBoard
Definition: SensorBoard.h:40
tsGvspImageLeader
Definition: GigE.h:274
SocCamera::tcGigEIO::GVSP_MIN_PKT_SIZE
static const int GVSP_MIN_PKT_SIZE
Minimum streaming packet size.
Definition: GigEIO.h:36
SocCamera::tcGigEIO::sendUpdate
void sendUpdate(tsNewFrameMsg *apMsg)
Definition: GigEIO.cpp:567
SocCamera::tcGigEIO::send_test_pkt
void send_test_pkt()
Definition: GigEIO.cpp:903
RegisterFile.h
SocCamera::tcGigEIO
The GigE streaming IO channel interface.
Definition: GigEIO.h:26
SocCamera::tcGigEIO::m_udp_sock
int m_udp_sock
Definition: GigEIO.h:71
SocCamera::tcGigEIOHandler
Definition: GigEIOHandler.h:23
tsCaptureRequest
Definition: IOCallback.h:56
MAX_GVSP_BUFFER_LENGTH
#define MAX_GVSP_BUFFER_LENGTH
Definition: GigE.h:19
IOChannel.h
SocCamera::tcGigEIO::tsPacketTransInfo::mnDataSize
uint32_t mnDataSize
Definition: GigEIO.h:64
SocCamera::tcGigEIO::mbIsStreaming
bool mbIsStreaming
Definition: GigEIO.h:77