Critical Link MityCam SoC Firmware  1.0
Critical Link MityCam SoC Firmware
CameraTypes.h
Go to the documentation of this file.
1 #ifndef CAMERATYPES_H
2 #define CAMERATYPES_H
3 
4 #include "Utility/Types.h"
5 #include "Utility/ROI.h"
6 
7 namespace SocCamera
8 {
9 
11 {
12  eeINTERFACE_CAMERA_LINK = 0, // CameraLink style control over a serial port
13  eeINTERFACE_CONSOLE = 1, // Similar to CameraLink but without the <>s into the terminal
14  eeINTERFACE_MITY_VIEWER = 2, // MityViewer; if there is no IOChannel preceeding this tag, it will act as an IOChannel too.
15  eeINTERFACE_NAMED_PIPE = 3, // Similar to CameraLink but takes input from a pipe on the filesystem.
16  eeINTERFACE_GIGE = 4, // Gig-E interface
17  eeINTERFACE_U3V = 5, // USB3Vision Interace
18  eeINTERFACE_SKIP_HDMI = 6, // not used, just keeping Interface and IO in sync
19  eeINTERFACE_CXP = 7 // CoaXPress JIAA standard interface
20 };
21 
23 {
24  eeSTATUS_PCA9553 = 0, // Display status to the PCA9553 (LED driver)
25  eeSTATUS_CONSOLE = 1, // Print the status to standard out
26  eeSTATUS_GENICAM = 2 // log status data to GenICam accessible ring buffer
27 };
28 
30 {
31  eeIO_CAMERA_LINK = 0, // Output images to the CameraLink component. This is the expanded/base mode component
32  eeIO_FILESYSTEM = 1, // Output images to the filesystem after streaming them into RAM.
33  eeIO_BUFFERED_CAMERA_LINK = 2, // Output images to CameraLink. Can also stream into RAM and then output through CameraLink.
34  eeIO_GIGE = 3, // Output images over Ethernet using the Gig-E protocol
35  eeIO_U3V = 5, // Match the Interface for U3V.
36  eeIO_HDMI = 6, // Output image data via the HDMI port
37  eeIO_HDMI_1411PEK = 7, // Output image data via the HDMI port (PEK1411-specific variant)
38  eeIO_CXP = 8, // Output image data over CoExpress
39  eeIO_MEMORY = 9, // Output data to a shared memory buffer (like eeIOFILESYSTEM without the file)
40  /* reserved for "real" IOChannels */
41 
42  eeIO_MITYVIEWER = 10000 // Just an ID for the IOChannel MityViewer is.
43 };
44 
52 typedef struct tsCameraInfo
53 {
54  char maModelNum[16]; // camera model number (e.g., CIS2521 or CMV300)
55  char maManufacturer[24]; // camera model number (e.g., CIS2521 or CMV300)
56  ROI msMaxROI; // camera maximum image size, should start at (0,0)
57  uint16 mnTECMaxCurrent_mA; // camera maximum TEC current, 0 if no TEC available
60 } tsCameraInfo;
61 
63 {
64  eeNoError = 0,
73 };
74 
75 inline const char * errorString(const teNackCode aeCode) {
76  static char def_msg[32];
77  switch(aeCode) {
79  return "No Error";
80  break;
82  return "Unrecognized Command";
83  break;
85  return "Argument Missing";
86  break;
88  return "Argument Out Of Range";
89  break;
91  return "Invalid Configuration";
92  break;
94  return "Capture In Progress";
95  break;
97  return "Camera Not Responding";
98  break;
100  return "Operation Not Supported";
101  break;
103  return "Frame index mismatch";
104  break;
105  default:
106  sprintf(def_msg, "Unkown error %d", aeCode);
107  break;
108  }
109  return def_msg;
110 }
111 // If these modes change, the corresponding CommandHandler objects need to be
112 // updated to translate the parsed parameters into the enum form.
114 {
116  eeCamIO0 = 1,
117  eeCamIO1 = 2,
118  eeCamIO2 = 3,
120 };
121 
123 {
131 };
132 
134 {
135  ee8bpp = 0,
136  ee16bpp = 1,
137  ee12bpp = 2,
139 };
140 
142 {
145 };
146 
147 }
148 
149 #endif // CAMERATYPES_H
SocCamera::teStatusInterfaces
teStatusInterfaces
Definition: CameraTypes.h:22
SocCamera::tsCameraInfo
Definition: CameraTypes.h:52
SocCamera::eeCamIO3
@ eeCamIO3
Definition: CameraTypes.h:119
SocCamera::tsCameraInfo::maModelNum
char maModelNum[16]
Definition: CameraTypes.h:54
Types.h
SocCamera::eeINTERFACE_CXP
@ eeINTERFACE_CXP
Definition: CameraTypes.h:19
SocCamera::teIOChannels
teIOChannels
Definition: CameraTypes.h:29
SocCamera::teTestPattern
teTestPattern
Definition: CameraTypes.h:122
SocCamera::eeGlobalShutter
@ eeGlobalShutter
Definition: CameraTypes.h:144
SocCamera::eeCamIO0
@ eeCamIO0
Definition: CameraTypes.h:116
SocCamera::eeINTERFACE_NAMED_PIPE
@ eeINTERFACE_NAMED_PIPE
Definition: CameraTypes.h:15
SocCamera::eeDigitalPatternNibs
@ eeDigitalPatternNibs
Definition: CameraTypes.h:129
SocCamera::tsCameraInfo::mnPixelHeightNm
uint32 mnPixelHeightNm
Definition: CameraTypes.h:59
SocCamera::eeCamIO2
@ eeCamIO2
Definition: CameraTypes.h:118
SocCamera::ee12bpp
@ ee12bpp
Definition: CameraTypes.h:137
SocCamera::eeDigitalPatternGrid
@ eeDigitalPatternGrid
Definition: CameraTypes.h:130
SocCamera::eeINTERFACE_GIGE
@ eeINTERFACE_GIGE
Definition: CameraTypes.h:16
SocCamera::tsCameraInfo::mnPixelWidthNm
uint32 mnPixelWidthNm
Definition: CameraTypes.h:58
SocCamera::tsCameraInfo::maManufacturer
char maManufacturer[24]
Definition: CameraTypes.h:55
SocCamera::eeArgumentOutOfRange
@ eeArgumentOutOfRange
!< Command arguments missing
Definition: CameraTypes.h:67
SocCamera::eeIO_CXP
@ eeIO_CXP
Definition: CameraTypes.h:38
SocCamera::eeIO_GIGE
@ eeIO_GIGE
Definition: CameraTypes.h:34
SocCamera::eeSTATUS_GENICAM
@ eeSTATUS_GENICAM
Definition: CameraTypes.h:26
SocCamera::eeSTATUS_CONSOLE
@ eeSTATUS_CONSOLE
Definition: CameraTypes.h:25
SocCamera::teNackCode
teNackCode
Definition: CameraTypes.h:62
SocCamera::eeCaptureInProgress
@ eeCaptureInProgress
!< Internal configuration error... typically an incorrect sensor/handler combination
Definition: CameraTypes.h:69
SocCamera::teBPPMode
teBPPMode
Definition: CameraTypes.h:133
SocCamera::eeInvalidConfiguration
@ eeInvalidConfiguration
!< Argument out of range
Definition: CameraTypes.h:68
SocCamera::eeUnrecognizedCommand
@ eeUnrecognizedCommand
!< No error
Definition: CameraTypes.h:65
SocCamera::teShutterMode
teShutterMode
Definition: CameraTypes.h:141
SocCamera::eeINTERFACE_CAMERA_LINK
@ eeINTERFACE_CAMERA_LINK
Definition: CameraTypes.h:12
SocCamera::tsCameraInfo
struct SocCamera::tsCameraInfo tsCameraInfo
SocCamera::eeDigitalPatternGradY
@ eeDigitalPatternGradY
Definition: CameraTypes.h:128
SocCamera::eeINTERFACE_CONSOLE
@ eeINTERFACE_CONSOLE
Definition: CameraTypes.h:13
SocCamera::eeCameraNotResponding
@ eeCameraNotResponding
!< Camera is busy capturing and action is not valid during capture
Definition: CameraTypes.h:70
SocCamera::eeOperationNotSupported
@ eeOperationNotSupported
!< Indicates a communication error (typically with the sensor)
Definition: CameraTypes.h:71
SocCamera::eeINTERFACE_MITY_VIEWER
@ eeINTERFACE_MITY_VIEWER
Definition: CameraTypes.h:14
SocCamera::tsCameraInfo::mnTECMaxCurrent_mA
uint16 mnTECMaxCurrent_mA
Definition: CameraTypes.h:57
SocCamera::eeIO_FILESYSTEM
@ eeIO_FILESYSTEM
Definition: CameraTypes.h:32
SocCamera::teCommandInterfaces
teCommandInterfaces
Definition: CameraTypes.h:10
SocCamera::eeIO_HDMI_1411PEK
@ eeIO_HDMI_1411PEK
Definition: CameraTypes.h:37
SocCamera::eeINTERFACE_SKIP_HDMI
@ eeINTERFACE_SKIP_HDMI
Definition: CameraTypes.h:18
SocCamera::eeSensorGradiantPattern
@ eeSensorGradiantPattern
Definition: CameraTypes.h:125
SocCamera::eeNoTestPattern
@ eeNoTestPattern
Definition: CameraTypes.h:124
SocCamera::ee12bpp_packed
@ ee12bpp_packed
Definition: CameraTypes.h:138
SocCamera
Definition: CameraTypes.h:7
SocCamera::eeCamIO1
@ eeCamIO1
Definition: CameraTypes.h:117
SocCamera::eeSTATUS_PCA9553
@ eeSTATUS_PCA9553
Definition: CameraTypes.h:24
SocCamera::eeINTERFACE_U3V
@ eeINTERFACE_U3V
Definition: CameraTypes.h:17
SocCamera::eeIO_U3V
@ eeIO_U3V
Definition: CameraTypes.h:35
SocCamera::eeIO_CAMERA_LINK
@ eeIO_CAMERA_LINK
Definition: CameraTypes.h:31
SocCamera::eeRollingShutter
@ eeRollingShutter
Definition: CameraTypes.h:143
SocCamera::ee8bpp
@ ee8bpp
Definition: CameraTypes.h:135
SocCamera::eeDigitalPatternGradX
@ eeDigitalPatternGradX
Definition: CameraTypes.h:127
uint32
uint32_t uint32
Definition: Types.h:11
SocCamera::eeIO_HDMI
@ eeIO_HDMI
Definition: CameraTypes.h:36
SocCamera::eeIndexMismatch
@ eeIndexMismatch
!< Attempt to perform an operation that is not supported by the camera configuration
Definition: CameraTypes.h:72
SocCamera::teTriggerMode
teTriggerMode
Definition: CameraTypes.h:113
SocCamera::ROI
Definition: ROI.h:10
uint16
uint16_t uint16
Definition: Types.h:10
SocCamera::eeNoError
@ eeNoError
Definition: CameraTypes.h:64
SocCamera::eeArgumentMissing
@ eeArgumentMissing
!< No command handler exists for command
Definition: CameraTypes.h:66
SocCamera::eeIO_MITYVIEWER
@ eeIO_MITYVIEWER
Definition: CameraTypes.h:42
SocCamera::eeIO_MEMORY
@ eeIO_MEMORY
Definition: CameraTypes.h:39
SocCamera::tsCameraInfo::msMaxROI
ROI msMaxROI
Definition: CameraTypes.h:56
SocCamera::errorString
const char * errorString(const teNackCode aeCode)
Definition: CameraTypes.h:75
SocCamera::ee16bpp
@ ee16bpp
Definition: CameraTypes.h:136
SocCamera::eeSoftware
@ eeSoftware
Definition: CameraTypes.h:115
ROI.h
SocCamera::eeIO_BUFFERED_CAMERA_LINK
@ eeIO_BUFFERED_CAMERA_LINK
Definition: CameraTypes.h:33