LibMultiSense
LibMultiSense Documentation
AuxCamConfigMessage.hh
Go to the documentation of this file.
1 
39 #ifndef LibMultiSense_AuxCamConfigMessage
40 #define LibMultiSense_AuxCamConfigMessage
41 
42 #include "utility/Portability.hh"
44 #include "wire/Protocol.hh"
45 
46 namespace crl {
47 namespace multisense {
48 namespace details {
49 namespace wire {
50 
51 class AuxCamConfig {
52 public:
55 
56  //
57  // Parameters representing the current camera configuration
58 
59  uint16_t width;
60  uint16_t height;
62  float gain;
63 
64  uint32_t exposure;
65  uint8_t autoExposure;
66  uint32_t autoExposureMax;
69 
75 
76  float fx, fy;
77  float cx, cy;
78 
79  bool hdrEnabled;
80 
81  uint16_t autoExposureRoiX;
82  uint16_t autoExposureRoiY;
85 
86  uint32_t cameraProfile;
87 
89  float gamma;
90 
93  uint8_t sharpeningLimit;
94 
95  float gainMax;
96 
97  //
98  // Constructors
99 
102  gain(0.0),
103  exposure(0),
104  autoExposure(0),
105  autoExposureMax(0),
107  autoExposureThresh(0.0),
108  whiteBalanceRed(0.0),
109  whiteBalanceBlue(0.0),
110  autoWhiteBalance(0),
113  fx(0.0),
114  fy(0.0),
115  cx(0.0),
116  cy(0.0),
117  hdrEnabled(false),
118  autoExposureRoiX(0),
119  autoExposureRoiY(0),
122  cameraProfile(0),
125  sharpeningEnable(false),
126  sharpeningPercentage(0.0f),
127  sharpeningLimit(0),
129  {};
130 
131  //
132  // Serialization routine
133 
134  template<class Archive>
135  void serialize(Archive& message,
136  const VersionType version)
137  {
138  (void) version;
139 
140  message & framesPerSecond;
141  message & gain;
142 
143  message & exposure;
144  message & autoExposure;
145  message & autoExposureMax;
146  message & autoExposureDecay;
147  message & autoExposureThresh;
148 
149  message & whiteBalanceRed;
150  message & whiteBalanceBlue;
151  message & autoWhiteBalance;
152  message & autoWhiteBalanceDecay;
153  message & autoWhiteBalanceThresh;
154 
155  message & fx;
156  message & fy;
157  message & cx;
158  message & cy;
159 
160  message & hdrEnabled;
161 
162  message & autoExposureRoiX;
163  message & autoExposureRoiY;
164  message & autoExposureRoiWidth;
165  message & autoExposureRoiHeight;
166  message & cameraProfile;
167 
168  message & autoExposureTargetIntensity;
169  message & gamma;
170 
171  message & sharpeningEnable;
172  message & sharpeningPercentage;
173  message & sharpeningLimit;
174 
175  //
176  // version 2 additions
177  if (version >= 2)
178  {
179  message & gainMax;
180  }
181  else
182  {
184  }
185 
186  }
187 };
188 
189 }}}} // namespaces
190 
191 #endif
crl::multisense::details::wire::AuxCamConfig::ID
static CRL_CONSTEXPR IdType ID
Definition: AuxCamConfigMessage.hh:53
crl::multisense::details::wire::AuxCamConfig::height
uint16_t height
Definition: AuxCamConfigMessage.hh:60
crl::multisense::details::wire::AuxCamConfig::fy
float fy
Definition: AuxCamConfigMessage.hh:76
crl::multisense::details::wire::AuxCamConfig::autoExposure
uint8_t autoExposure
Definition: AuxCamConfigMessage.hh:65
crl::multisense::details::wire::AuxCamConfig::sharpeningPercentage
float sharpeningPercentage
Definition: AuxCamConfigMessage.hh:92
crl::multisense::details::wire::AuxCamConfig::whiteBalanceBlue
float whiteBalanceBlue
Definition: AuxCamConfigMessage.hh:71
crl::multisense::details::wire::AuxCamConfig::cx
float cx
Definition: AuxCamConfigMessage.hh:77
crl::multisense::details::wire::AuxCamConfig::autoExposureRoiY
uint16_t autoExposureRoiY
Definition: AuxCamConfigMessage.hh:82
crl::multisense::details::wire::AuxCamConfig::sharpeningEnable
bool sharpeningEnable
Definition: AuxCamConfigMessage.hh:91
ExposureConfigMessage.hh
crl::multisense::details::wire::AuxCamConfig::autoWhiteBalanceThresh
float autoWhiteBalanceThresh
Definition: AuxCamConfigMessage.hh:74
crl::multisense::details::wire::AuxCamConfig::autoExposureRoiWidth
uint16_t autoExposureRoiWidth
Definition: AuxCamConfigMessage.hh:83
Portability.hh
Protocol.hh
crl::multisense::details::wire::AuxCamConfig
Definition: AuxCamConfigMessage.hh:51
CRL_CONSTEXPR
#define CRL_CONSTEXPR
Definition: Portability.hh:49
crl::multisense::details::wire::AuxCamConfig::gain
float gain
Definition: AuxCamConfigMessage.hh:62
crl::multisense::details::wire::AuxCamConfig::autoWhiteBalance
uint8_t autoWhiteBalance
Definition: AuxCamConfigMessage.hh:72
crl::multisense::details::wire::AuxCamConfig::sharpeningLimit
uint8_t sharpeningLimit
Definition: AuxCamConfigMessage.hh:93
crl::multisense::details::wire::AuxCamConfig::autoExposureThresh
float autoExposureThresh
Definition: AuxCamConfigMessage.hh:68
crl::multisense::details::wire::WIRE_IMAGER_GAIN_MAX
static CRL_CONSTEXPR float WIRE_IMAGER_GAIN_MAX
Definition: Protocol.hh:339
crl
Definition: BufferStream.hh:51
crl::multisense::details::wire::AuxCamConfig::autoExposureRoiHeight
uint16_t autoExposureRoiHeight
Definition: AuxCamConfigMessage.hh:84
crl::multisense::details::wire::Default_Target_Intensity
static CRL_CONSTEXPR float Default_Target_Intensity
Definition: Protocol.hh:333
crl::multisense::details::wire::AuxCamConfig::VERSION
static CRL_CONSTEXPR VersionType VERSION
Definition: AuxCamConfigMessage.hh:54
crl::multisense::details::wire::AuxCamConfig::autoExposureDecay
uint32_t autoExposureDecay
Definition: AuxCamConfigMessage.hh:67
crl::multisense::details::wire::Default_Gamma
static CRL_CONSTEXPR float Default_Gamma
Definition: Protocol.hh:334
crl::multisense::details::wire::VersionType
uint16_t VersionType
Definition: Protocol.hh:137
crl::multisense::details::wire::ID_DATA_CAM_AUX_CONFIG
static CRL_CONSTEXPR IdType ID_DATA_CAM_AUX_CONFIG
Definition: Protocol.hh:237
crl::multisense::details::wire::AuxCamConfig::hdrEnabled
bool hdrEnabled
Definition: AuxCamConfigMessage.hh:79
crl::multisense::details::wire::AuxCamConfig::gamma
float gamma
Definition: AuxCamConfigMessage.hh:89
crl::multisense::details::wire::AuxCamConfig::cy
float cy
Definition: AuxCamConfigMessage.hh:77
crl::multisense::details::wire::AuxCamConfig::autoWhiteBalanceDecay
uint32_t autoWhiteBalanceDecay
Definition: AuxCamConfigMessage.hh:73
crl::multisense::details::utility::BufferStreamReader
Definition: BufferStream.hh:192
multisense
Definition: MultiSenseChannel.hh:44
crl::multisense::details::wire::AuxCamConfig::autoExposureTargetIntensity
float autoExposureTargetIntensity
Definition: AuxCamConfigMessage.hh:88
crl::multisense::details::wire::AuxCamConfig::framesPerSecond
float framesPerSecond
Definition: AuxCamConfigMessage.hh:61
crl::multisense::details::wire::AuxCamConfig::AuxCamConfig
AuxCamConfig()
Definition: AuxCamConfigMessage.hh:101
crl::multisense::details::wire::AuxCamConfig::whiteBalanceRed
float whiteBalanceRed
Definition: AuxCamConfigMessage.hh:70
crl::multisense::details::wire::AuxCamConfig::gainMax
float gainMax
Definition: AuxCamConfigMessage.hh:95
crl::multisense::details::wire::AuxCamConfig::fx
float fx
Definition: AuxCamConfigMessage.hh:76
crl::multisense::details::wire::AuxCamConfig::cameraProfile
uint32_t cameraProfile
Definition: AuxCamConfigMessage.hh:86
crl::multisense::details::wire::AuxCamConfig::serialize
void serialize(Archive &message, const VersionType version)
Definition: AuxCamConfigMessage.hh:135
crl::multisense::details::wire::AuxCamConfig::width
uint16_t width
Definition: AuxCamConfigMessage.hh:59
crl::multisense::details::wire::IdType
uint16_t IdType
Definition: Protocol.hh:136
crl::multisense::details::wire::AuxCamConfig::AuxCamConfig
AuxCamConfig(utility::BufferStreamReader &r, VersionType v)
Definition: AuxCamConfigMessage.hh:100
crl::multisense::details::wire::AuxCamConfig::exposure
uint32_t exposure
Definition: AuxCamConfigMessage.hh:64
crl::multisense::details::wire::AuxCamConfig::autoExposureMax
uint32_t autoExposureMax
Definition: AuxCamConfigMessage.hh:66
crl::multisense::details::wire::AuxCamConfig::autoExposureRoiX
uint16_t autoExposureRoiX
Definition: AuxCamConfigMessage.hh:81