LibMultiSense
LibMultiSense Documentation
Loading...
Searching...
No Matches
CamControlMessage.hh
Go to the documentation of this file.
1
40#ifndef LibMultiSense_CamControlMessage
41#define LibMultiSense_CamControlMessage
42
43#include <vector>
44
47#include "wire/Protocol.hh"
48
49namespace crl {
50namespace multisense {
51namespace details {
52namespace wire {
53
55public:
58
59 //
60 // Parameters representing the current camera configuration
61
63 float gain;
64
65 uint32_t exposure;
66 uint8_t autoExposure;
70
76
77 //
78 // Additions in version 2
79
80 float stereoPostFilterStrength; // [0.0, 1.0]
81
82 //
83 // Additions in version 3
84
86
87 //
88 // Additions in version 4
89
90 bool storeSettingsInFlash = false; // boolean
91
92 //
93 // Additions in version 5
94
99
100 //
101 // Additions in version 6
102
103 uint32_t cameraProfile = 0;
104
105 //
106 // Additions in version 7
107
108 uint32_t exposureSource = 0; // Deprecated
109 std::vector<ExposureConfig> secondaryExposureConfigs; // Deprecated
110
111 //
112 // Additions in version 8
113
115 float gamma;
116
117 //
118 // Additions in version 9
119
120 bool sharpeningEnable = false; // Deprecated
121 float sharpeningPercentage = 0.0f; // Deprecated
122 uint8_t sharpeningLimit = 0; // Deprecated
123
124 //
125 // Additions in version 10
126 float gainMax;
127
128
129 //
130 // Constructors
131
134
135 //
136 // Serialization routine
137
138 template<class Archive>
139 void serialize(Archive& message,
140 const VersionType version)
141 {
142 message & framesPerSecond;
143 message & gain;
144
145 message & exposure;
146 message & autoExposure;
147 message & autoExposureMax;
148 message & autoExposureDecay;
149 message & autoExposureThresh;
150
151 message & whiteBalanceRed;
152 message & whiteBalanceBlue;
153 message & autoWhiteBalance;
154 message & autoWhiteBalanceDecay;
155 message & autoWhiteBalanceThresh;
156 if (version >= 2)
157 message & stereoPostFilterStrength;
158 else
160
161 if (version >= 3)
162 message & hdrEnabled;
163 else
164 hdrEnabled = false;
165
166 if (version >= 4)
167 message & storeSettingsInFlash;
168 else
169 storeSettingsInFlash = false;
170
171 if (version >= 5)
172 {
173 message & autoExposureRoiX;
174 message & autoExposureRoiY;
175 message & autoExposureRoiWidth;
176 message & autoExposureRoiHeight;
177 }
178 else
179 {
184 }
185
186 if (version >= 6)
187 {
188 message & cameraProfile;
189 }
190 else
191 {
192 cameraProfile = 0;
193 }
194
195 if (version >= 7)
196 {
197 message & exposureSource;
198 message & secondaryExposureConfigs;
199 }
200 else
201 {
203 secondaryExposureConfigs = std::vector<ExposureConfig>();
204 }
205
206 if (version >= 8)
207 {
209 message & gamma;
210 }
211 else
212 {
215 }
216
217 if (version >= 9)
218 {
219 message & sharpeningEnable;
220 message & sharpeningPercentage;
221 message & sharpeningLimit;
222 }
223 else
224 {
225 sharpeningEnable = false;
227 sharpeningLimit = 0;
228 }
229
230 if (version >= 10)
231 {
232 message & gainMax;
233 }
234 else
235 {
237 }
238
239 }
240};
241
242}}}} // namespaces
243
244#endif
Copyright 2021-2025 Carnegie Robotics, LLC 4501 Hatfield Street, Pittsburgh, PA 15201 https://www....
Macros and symbols to help portability between different compiler versions.
#define CRL_CONSTEXPR
Copyright 2013-2025 Carnegie Robotics, LLC 4501 Hatfield Street, Pittsburgh, PA 15201 http://www....
static CRL_CONSTEXPR VersionType VERSION
void serialize(Archive &message, const VersionType version)
std::vector< ExposureConfig > secondaryExposureConfigs
CamControl(utility::BufferStreamReader &r, VersionType v)
static CRL_CONSTEXPR SourceType Default_Exposure_Source
Definition Protocol.hh:332
static CRL_CONSTEXPR float Default_Target_Intensity
Definition Protocol.hh:333
static CRL_CONSTEXPR IdType ID_CMD_CAM_CONTROL
Definition Protocol.hh:160
static CRL_CONSTEXPR float WIRE_IMAGER_GAIN_MAX
Definition Protocol.hh:339
static CRL_CONSTEXPR float Default_Gamma
Definition Protocol.hh:334