Artec 3D Scanning SDK  2.0
Errors.h
Go to the documentation of this file.
1 /********************************************************************
2 *
3 * Project Artec 3D Scanning SDK
4 *
5 * Purpose: SDK Error Codes list
6 *
7 * Copyright: Artec Group
8 *
9 ********************************************************************/
10 
11 #ifndef _ERRORSBASESDK_H_
12 #define _ERRORSBASESDK_H_
13 
14 namespace artec { namespace sdk { namespace base
15 {
16 //////////////////////////////////////////////////////////////////////////
17 ///@section error_code Error Codes
18 ///
19 /// Error Code is returned as a result of any SDK function/method call.
20 /// Any non-zero error code value is considered as a failure.
21 ///
22 /// There are two types of failures:
23 ///
24 /// 1. Recoverable failure (warning type) - operation has failed, but no harm is done.
25 ///
26 /// It means that you can continue to use SDK and fulfill some recovery strategy.
27 /// For example, you can afford to skip badly captured frames while scanning,
28 /// adjust invalid parameters, etc.
29 ///
30 /// In general cases you can fix these errors yourself by referring to the error
31 /// code, executing the program with the log trace on and fixing what's wrong.
32 ///
33 /// Note that frame capturing failures are 'normal' and should be ignored up to ~10%.
34 /// Nevertheless, if the rate of such failures exceeds 10% it means that the scanner
35 /// has 'issues' with your PC environment, like old scanner connecting to USB3 port,
36 /// driver version incompatibility, etc.
37 ///
38 /// 2. Critical failure (critical error type) - operation failed and SDK is
39 /// unlikely to continue running without restart, some fixes are needed
40 /// in your environment or in the code itself.
41 ///
42 /// There are several causes of such failures:
43 /// - environment issues, like:
44 /// * hardware compatibility;
45 /// * access rights;
46 /// * missing config files;
47 /// * software version mismatch;
48 ///
49 /// - subscription issues
50 /// - internal logic failures, and others.
51 ///
52 /// Most ot these failures require Artec SDK support to be contacted.
53 ///
54 ///
55 namespace errors
56 /// This namespace is auto-generated from internal event code list.
57 {
59 {
60 
61  ErrorCode_OK = 0x00000000,
62  ///< [SUCCESS] 0x00000000: Success
63 
64 //----------------------------------------------------------------------
65 // Environment Events
66 
67  ErrorCode_OsError = 0xC0000001,
68  ///< [CRITICAL] 0xC0000001: Unmapped OS error
69 
70 
71  ErrorCode_FileNotFound = 0x80000002,
72  ///< [WARNING] 0x80000002: The OS cannot find the specified file
73 
74  ErrorCode_PathNotFound = 0x80000003,
75  ///< [WARNING] 0x80000003: The OS cannot find the specified path
76 
77 
78  ErrorCode_AccessDenied = 0xC0000005,
79  ///< [CRITICAL] 0xC0000005: Access to the OS resource is denied. Check for lost references, access rights, etc.
80 
82  ///< [CRITICAL] 0xC0000006: Invalid OS handle
83 
84 
86  ///< [WARNING] 0x80000008: Storage is insufficient to process the operation
87 
88  ErrorCode_OutOfMemory = 0xC000000E,
89  ///< [CRITICAL] 0xC000000E: Storage is insufficient to complete the operation
90 // EventCode_NotEnoughDiskSpace
91 
92 
93  ErrorCode_FileExists = 0x80000050,
94  ///< [WARNING] 0x80000050: The file already exists
95 
97  ///< [WARNING] 0x80000051: The file path is too long
98 
100  ///< [WARNING] 0x80000052: The requested file is indeed a directory
101 
102 
104  ///< [CRITICAL] 0xC0000060: The file read error (unspecified)
105 
107  ///< [CRITICAL] 0xC0000061: The file write error (unspecified)
108 
109 
110 //----------------------------------------------------------------------
111 // Client Events
112 // These are caused by SDK usage^ either external or internal. Anyway, most likely that your code does something it shouldn't.
113 //
114 
116  ///< [CRITICAL] 0xC0010001: Client interface start failed
117 
118 
120  ///< [WARNING] 0x80010004: Client interface shutdown failed
121 
122 
124  ///< [WARNING] 0x80010100: Requested operation isn't supported. Check the versions
125 
127  ///< [WARNING] 0x80010101: Requested operation is denied. Check your license(s)
128 
130  ///< [WARNING] 0x80010102: Requested operation is invalid
131 
133  ///< [WARNING] 0x80010103: Requested operation hasn't completed in time
134 
136  ///< [WARNING] 0x80010104: Requested operation has failed
137 
139  ///< [SUCCESS] 0x00010105: Requested operation was cancelled by user
140 
142  ///< [WARNING] 0x80010106: Requested operation could not be performed completely
143 
145  ///< [WARNING] 0x80010200: There is no such parameter. Check versions & input format
146 
148  ///< [WARNING] 0x80010201: Provided argument is invalid
149 
151  ///< [WARNING] 0x80010202: Provided argument is out of the range
152  ///< @note Some places may still return Code_ArgumentInvalid instead
153 
155  ///< [WARNING] 0x80010203: Provided argument was entirely filtered out by algorithm input data internal filter
156 
158  ///< [WARNING] 0x80010300: Data format isn't supported
159  ///< @note Some places may still return Code_ArgumentInvalid instead
160 
162  ///< [WARNING] 0x80010301: Data format is invalid
163  ///< @note Some places may still return Code_ArgumentInvalid instead
164 
165 //----------------------------------------------------------------------
166 // Test Events (auto-testing)
167 //
168 // Note: These codes aren't supposed to appear in any usage case. If you, however, get any of them,
169 // please collect log information and contact the support team.
170 
171 
173  ///< [WARNING] 0x80020002: Used in auto-testing to mock up warning event
174 
176  ///< [CRITICAL] 0xC0020003: Used in auto-testing to mock up error event
177 
178 //----------------------------------------------------------------------
179 // Internal Events
180 //
181 // Note: If you get either of these codes, collect log information and
182 // - check for dependencies and their versions,
183 // - make sure your scanner is still registered and your SDK subscription is intact.
184 //
185 // If everything seems OK, please contact support with the collected log.
186 //
187 // Note: STD, Boost are also considered to be 'libraries', so there might be a case when an SDK developer
188 // didn't check your input parameters (as we ought to) and some of input-caused errors ended up here instead
189 // of the Client section.
190 //
191 
192 
194  ///< [CRITICAL] 0xC0030000: Unresolved internal failure
195 
196  ///@paragraph Drivers
197 
199  ///< [CRITICAL] 0xC0030100: Driver not found
200 
202  ///< [CRITICAL] 0xC0030101: Driver version not supported
203 
204  ///@paragraph Libraries
205 
206  ErrorCode_LibNotFound = 0xC0030200,
207  ///< [CRITICAL] 0xC0030200: Library not found
208 
210  ///< [CRITICAL] 0xC0030201: Library version not supported
211 
212 
214  ///< [CRITICAL] 0xC0030206: Library internal failure
215 
216 
218  ///< [CRITICAL] 0xC0030207: Used library doesn't support requested feature
219 
220 
222  ///< [CRITICAL] 0xC0030210: Used library doesn't support requested operation
223 
225  ///< [CRITICAL] 0xC0030211: Used library reported 'invalid operation'
226 
227 
229  ///< [CRITICAL] 0xC0030220: Used library doesn't support the parameter
230 
232  ///< [CRITICAL] 0xC0030221: Used library reported 'invalid argument'
233 
235  ///< [CRITICAL] 0xC0030222: Used library reported 'out of the range argument'
236 
237  // Configurations
238 
239 
241  ///< [CRITICAL] 0xC0030300: The requested config not found. Check AIC for details.
242 
244  ///< [CRITICAL] 0xC0030301: Config version not supported
245 
247  ///< [CRITICAL] 0xC0030302: Config corrupted
248 
250  ///< [CRITICAL] 0xC0030305: Failed to access the config due to a parsing failure, for exanple
251 
253  ///< [CRITICAL] 0xC0030310: Config parameter not found
254 
256  ///< [CRITICAL] 0xC0030311: Config parameter invalid
257 
258 //----------------------------------------------------------------------
259 // Base Events
260 
261 
262 //----------------------------------------------------------------------
263 // Developer Events
264 //
265 // Note: Most of these exceptions are signals of developer's sloppiness. So, for most cases, there is nothing
266 // that you can do about, except for contacting support with the collected log output.
267 //
268 // Unresolved exceptions are those that a developer didn't handle properly in the place of likely occurrence with
269 // a more specific code and details not recognized by the SDK's general exception-handling procedure.
270 //
271  // Logic
272 
274  ///< [CRITICAL] 0xC0050000: General error for exceptions raised by developer's logic faults (lost references, etc.)
275 
276  ErrorCode_MathFailure = 0xC0050010,
277  ///< [CRITICAL] 0xC0050010: Division on 0, floating point math, etc.
278 
279  // Exception Handling
280 
282  ///< [CRITICAL] 0xC0050101: Unresolved exception.
283  ///< Generalization for all exceptions of uncommon, but known types from the 3rd-party libraries
284  ///< \note Do not confuse with Code_UnknownExceptionType
285 
286 
288  ///< [CRITICAL] 0xC0050102: Unresolved OS exception (SEH for Windows)
289 
291  ///< [CRITICAL] 0xC0050103: Unresolved std::exception
292 
294  ///< [CRITICAL] 0xC0050104: Unresolved boost::exception
295 
296 
298  ///< [CRITICAL] 0xC0050110: Unknown exception type (caught by ...)
299 
300 
302  ///< [CRITICAL] 0xC0050111: Another exception has raised during exception handling
303  ///< @note This one is never to be returned, it can
304  ///< be only logged with more stable back-ends
305  ///< like Windows Event Log or Linux system log
306 
307  // Error Handling
308 
310  ///< [CRITICAL] 0xC0050200: Unmapped error from the 3rd-party library
311  ///< @note Most likely, outdated error mapping
312 
313  // Assertions
314 
316  ///< [CRITICAL] 0xC0050300: Unexpected outcome (in assertions, for example)
317 
318 //----------------------------------------------------------------------
319 // Algorithm Events
320 
322  ///< [CRITICAL] 0xC0060100: OpenGL is either missing or has an unsupported version
323 
324 //----------------------------------------------------------------------
325 // Capturing Events
326  // Cameras
327 
329  ///< [WARNING] 0x80070101: Requested camera not connected
330 
332  ///< [WARNING] 0x80070102: Requested camera not supported. Check the manufacturer and firmware version
333 
335  ///< [WARNING] 0x80070103: Requested camera not licensed
336 
338  ///< [WARNING] 0x80070108: Requested camera is already used by someone else (can yet be diagnosed)
339 
340 
342  ///< [WARNING] 0x8007010F: Camera initialization failed
343 
344 
346  ///< [CRITICAL] 0xC0070110: Attempted to use uninitialized camera
347 
348 
350  ///< [WARNING] 0x80070120: Camera setting not supported. Check versions
351 
353  ///< [WARNING] 0x80070121: Camera setting invalid (set to invalid/unsupported value or failed to be updated to the required one)
354 
355 
357  ///< [CRITICAL] 0xC0070130: Hardware/firmware-related failure on the camera side
358 
360  ///< [WARNING] 0x80070140: Failed to access the camera
361 
363  ///< [WARNING] 0x80070141: Timeout on the access to the camera
364 
365 
366  ErrorCode_CameraBusy = 0xC0070150,
367  ///< [CRITICAL] 0xC0070150: Camera is engaged with the previous request
368 
369  ///@paragraph Scanners
370 
372  ///< [WARNING] 0x80070201: Requested scanner not connected
373 
375  ///< [WARNING] 0x80070202: Requested scanner not supported. Check the manufacturer and firmware version
376 
378  ///< [WARNING] 0x80070203: Requested scanner not licensed
379 
381  ///< [WARNING] 0x80070208: Requested scanner is already used by someone else (can yet be diagnosed)
382 
383 
385  ///< [WARNING] 0x8007020F: Scanner initialization failed
386 
387 
389  ///< [CRITICAL] 0xC0070210: Attempted to use the uninitialized scanner
390 
391 
392  ErrorCode_ScannerBusy = 0x80070250,
393  ///< [WARNING] 0x80070250: Scanner is engaged with the previous request
394 
395  // Bundles
396 
398  ///< [WARNING] 0x80070300: Current SDK version doesn't support bundles
399 
401  ///< [WARNING] 0x80070301: Current SDK version isn't licensed to work with bundles
402 
403 
405  ///< [WARNING] 0x80070321: Bundle calibration failed
406 
408  ///< [WARNING] 0x80070323: Bundle staging failure. Bundle calibration failed due to:
409  ///< - wrong calibration staging (used calibration plate, its allocation, etc.)
410  ///< - other environmental issues (missing config files, etc.)
411 
413  ///< [WARNING] 0x80070324: Bundle staging failure. Insufficient overlapping between scanners' FOV
414 
415 
417  ///< [CRITICAL] 0xC0070330: Attempt to use uncalibrated bundle
418 
419  // Other physics
420 
422  ///< [CRITICAL] 0xC0070500: Strobe failure
423 
425  ///< [CRITICAL] 0xC0070510: Trigger failure
426 
427  // Frame Capturing
428 
430  ///< [WARNING] 0x80070800: Frame capture timeout
431 
433  ///< [WARNING] 0x80070801: Frame corrupted
434 
436  ///< [WARNING] 0x80070803: Frame reconstruction failed
437 
439  ///< [WARNING] 0x80070808: Frame registration failed
440 
441 }; // enum ErrorCode
442 } // namespace errors
443 
444 //////////////////////////////////////////////////////////////////////////
445 using namespace artec::sdk::base::errors;
446 //////////////////////////////////////////////////////////////////////////
447 } } } // namespace artec::sdk::base
448 #endif // _ERRORSBASESDK_H_
[WARNING] 0x80070808: Frame registration failed
Definition: Errors.h:438
[WARNING] 0x80000051: The file path is too long
Definition: Errors.h:96
[CRITICAL] 0xC0030305: Failed to access the config due to a parsing failure, for exanple ...
Definition: Errors.h:249
[WARNING] 0x80070800: Frame capture timeout
Definition: Errors.h:429
[CRITICAL] 0xC0050300: Unexpected outcome (in assertions, for example)
Definition: Errors.h:315
[WARNING] 0x80010203: Provided argument was entirely filtered out by algorithm input data internal fi...
Definition: Errors.h:154
[WARNING] 0x80070140: Failed to access the camera
Definition: Errors.h:359
[CRITICAL] 0xC0050102: Unresolved OS exception (SEH for Windows)
Definition: Errors.h:287
[CRITICAL] 0xC0030222: Used library reported 'out of the range argument'
Definition: Errors.h:234
[WARNING] 0x80010106: Requested operation could not be performed completely
Definition: Errors.h:141
[CRITICAL] 0xC0030221: Used library reported 'invalid argument'
Definition: Errors.h:231
[CRITICAL] 0xC0050000: General error for exceptions raised by developer's logic faults (lost referenc...
Definition: Errors.h:273
[WARNING] 0x80010004: Client interface shutdown failed
Definition: Errors.h:119
[WARNING] 0x80000002: The OS cannot find the specified file
Definition: Errors.h:71
[WARNING] 0x80070203: Requested scanner not licensed
Definition: Errors.h:377
[CRITICAL] 0xC0030200: Library not found
Definition: Errors.h:206
[CRITICAL] 0xC0020003: Used in auto-testing to mock up error event
Definition: Errors.h:175
[WARNING] 0x80070324: Bundle staging failure. Insufficient overlapping between scanners' FOV ...
Definition: Errors.h:412
[WARNING] 0x80070121: Camera setting invalid (set to invalid/unsupported value or failed to be update...
Definition: Errors.h:352
[CRITICAL] 0xC0070210: Attempted to use the uninitialized scanner
Definition: Errors.h:388
[CRITICAL] 0xC0030206: Library internal failure
Definition: Errors.h:213
[CRITICAL] 0xC0030300: The requested config not found. Check AIC for details.
Definition: Errors.h:240
[WARNING] 0x80070208: Requested scanner is already used by someone else (can yet be diagnosed) ...
Definition: Errors.h:380
[CRITICAL] 0xC0070150: Camera is engaged with the previous request
Definition: Errors.h:366
[CRITICAL] 0xC0050101: Unresolved exception.
Definition: Errors.h:281
[CRITICAL] 0xC0050110: Unknown exception type (caught by ...)
Definition: Errors.h:297
[CRITICAL] 0xC0010001: Client interface start failed
Definition: Errors.h:115
[CRITICAL] 0xC0060100: OpenGL is either missing or has an unsupported version
Definition: Errors.h:321
[WARNING] 0x80010201: Provided argument is invalid
Definition: Errors.h:147
[CRITICAL] 0xC0000005: Access to the OS resource is denied. Check for lost references, access rights, etc.
Definition: Errors.h:78
[WARNING] 0x80010104: Requested operation has failed
Definition: Errors.h:135
[WARNING] 0x80010101: Requested operation is denied. Check your license(s)
Definition: Errors.h:126
[WARNING] 0x80070250: Scanner is engaged with the previous request
Definition: Errors.h:392
[CRITICAL] 0xC0030311: Config parameter invalid
Definition: Errors.h:255
[WARNING] 0x80010202: Provided argument is out of the range
Definition: Errors.h:150
[WARNING] 0x80010300: Data format isn't supported
Definition: Errors.h:157
[WARNING] 0x80000052: The requested file is indeed a directory
Definition: Errors.h:99
[WARNING] 0x80070300: Current SDK version doesn't support bundles
Definition: Errors.h:397
[WARNING] 0x80010103: Requested operation hasn't completed in time
Definition: Errors.h:132
[WARNING] 0x80070323: Bundle staging failure.
Definition: Errors.h:407
[CRITICAL] 0xC0000006: Invalid OS handle
Definition: Errors.h:81
[WARNING] 0x8007020F: Scanner initialization failed
Definition: Errors.h:384
[CRITICAL] 0xC0030201: Library version not supported
Definition: Errors.h:209
[WARNING] 0x80070101: Requested camera not connected
Definition: Errors.h:328
[CRITICAL] 0xC0030000: Unresolved internal failure
Definition: Errors.h:193
[WARNING] 0x80070120: Camera setting not supported. Check versions
Definition: Errors.h:349
[WARNING] 0x80070201: Requested scanner not connected
Definition: Errors.h:371
[WARNING] 0x80070108: Requested camera is already used by someone else (can yet be diagnosed) ...
Definition: Errors.h:337
[SUCCESS] 0x00000000: Success
Definition: Errors.h:61
[WARNING] 0x80000050: The file already exists
Definition: Errors.h:93
[CRITICAL] 0xC0030207: Used library doesn't support requested feature
Definition: Errors.h:217
[CRITICAL] 0xC0030210: Used library doesn't support requested operation
Definition: Errors.h:221
[CRITICAL] 0xC0000060: The file read error (unspecified)
Definition: Errors.h:103
[CRITICAL] 0xC0070110: Attempted to use uninitialized camera
Definition: Errors.h:345
[CRITICAL] 0xC0050010: Division on 0, floating point math, etc.
Definition: Errors.h:276
[WARNING] 0x80070301: Current SDK version isn't licensed to work with bundles
Definition: Errors.h:400
[CRITICAL] 0xC0030302: Config corrupted
Definition: Errors.h:246
[WARNING] 0x80000003: The OS cannot find the specified path
Definition: Errors.h:74
[WARNING] 0x80010102: Requested operation is invalid
Definition: Errors.h:129
[CRITICAL] 0xC0030211: Used library reported 'invalid operation'
Definition: Errors.h:224
[WARNING] 0x80070202: Requested scanner not supported. Check the manufacturer and firmware version ...
Definition: Errors.h:374
[WARNING] 0x80020002: Used in auto-testing to mock up warning event
Definition: Errors.h:172
[WARNING] 0x80070103: Requested camera not licensed
Definition: Errors.h:334
[CRITICAL] 0xC0000061: The file write error (unspecified)
Definition: Errors.h:106
[CRITICAL] 0xC0050200: Unmapped error from the 3rd-party library
Definition: Errors.h:309
[CRITICAL] 0xC0070130: Hardware/firmware-related failure on the camera side
Definition: Errors.h:356
[WARNING] 0x80070141: Timeout on the access to the camera
Definition: Errors.h:362
[CRITICAL] 0xC0070510: Trigger failure
Definition: Errors.h:424
[WARNING] 0x80010301: Data format is invalid
Definition: Errors.h:161
[CRITICAL] 0xC0030101: Driver version not supported
Definition: Errors.h:201
[WARNING] 0x80070803: Frame reconstruction failed
Definition: Errors.h:435
[CRITICAL] 0xC0030220: Used library doesn't support the parameter
Definition: Errors.h:228
[WARNING] 0x80010200: There is no such parameter. Check versions & input format
Definition: Errors.h:144
[CRITICAL] 0xC0050104: Unresolved boost::exception
Definition: Errors.h:293
[CRITICAL] 0xC0030100: Driver not found
Definition: Errors.h:198
[CRITICAL] 0xC0030301: Config version not supported
Definition: Errors.h:243
[CRITICAL] 0xC0030310: Config parameter not found
Definition: Errors.h:252
[CRITICAL] 0xC0050103: Unresolved std::exception
Definition: Errors.h:290
[CRITICAL] 0xC000000E: Storage is insufficient to complete the operation
Definition: Errors.h:88
[CRITICAL] 0xC0050111: Another exception has raised during exception handling
Definition: Errors.h:301
[WARNING] 0x80070321: Bundle calibration failed
Definition: Errors.h:404
[WARNING] 0x80070102: Requested camera not supported. Check the manufacturer and firmware version ...
Definition: Errors.h:331
[CRITICAL] 0xC0070330: Attempt to use uncalibrated bundle
Definition: Errors.h:416
[WARNING] 0x80010100: Requested operation isn't supported. Check the versions
Definition: Errors.h:123
[CRITICAL] 0xC0000001: Unmapped OS error
Definition: Errors.h:67
[WARNING] 0x8007010F: Camera initialization failed
Definition: Errors.h:341
[WARNING] 0x80000008: Storage is insufficient to process the operation
Definition: Errors.h:85
[SUCCESS] 0x00010105: Requested operation was cancelled by user
Definition: Errors.h:138
[WARNING] 0x80070801: Frame corrupted
Definition: Errors.h:432
[CRITICAL] 0xC0070500: Strobe failure
Definition: Errors.h:421