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
18 ///
19 /// Error Code is returned as a result of any SDK function/method call.
20 /// Generally any non-zero error code value is considered as 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 may afford to skip badly captured frames while scanning,
28 /// ask user to adjust invalid parameters, or so.
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 a 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 /// and so on.
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 ///@subsubsection 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 file specified
73 
74  ErrorCode_PathNotFound = 0x80000003,
75  ///< [WARNING] 0x80000003: The OS cannot find the path specified
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  //TODO Review the following 3
85 
87  ///< [WARNING] 0x80000008: Not enough storage is available to process the operation
88 
89  ErrorCode_OutOfMemory = 0xC000000E,
90  ///< [CRITICAL] 0xC000000E: Not enough storage is available to complete the operation
91 // EventCode_NotEnoughDiskSpace
92 
93 
94  ErrorCode_FileExists = 0x80000050,
95  ///< [WARNING] 0x80000050: The file already exists
96 
98  ///< [WARNING] 0x80000051: The file path is too long
99 
101  ///< [WARNING] 0x80000052: The requested file is a directory
102 
103 
105  ///< [CRITICAL] 0xC0000060: The file read error (unspecified)
106 
108  ///< [CRITICAL] 0xC0000061: The file write error (unspecified)
109 
110 
111 ///----------------------------------------------------------------------///
112 ///@subsubsection Client Events
113 ///
114 ///@note These are caused by SDK's usage - external or internal. Anyway, most likely that your code does something it shouldn't.
115 ///
116 
118  ///< [CRITICAL] 0xC0010001: Client interface start failed
119 
120 
122  ///< [WARNING] 0x80010004: Client interface shutdown failed
123 
124 
126  ///< [WARNING] 0x80010100: Requested operation is unsupported. Check versions
127 
129  ///< [WARNING] 0x80010101: Requested operation is denied. Check your license(s)
130 
132  ///< [WARNING] 0x80010102: Requested operation is invalid
133 
135  ///< [WARNING] 0x80010103: Requested operation hasn't completed in time
136 
138  ///< [WARNING] 0x80010104: Requested operation has failed
139 
141  ///< [SUCCESS] 0x00010105: Requested operation was cancelled by client's side
142 
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 range
152  ///< @note Some places may still return EventCode_ArgumentInvalid instead
153 
154 
156  ///< [WARNING] 0x80010300: Data format is unsupported
157  ///< @note Some places may still return EventCode_ArgumentInvalid instead
158 
160  ///< [WARNING] 0x80010301: Data format is invalid
161  ///< @note Some places may still return EventCode_ArgumentInvalid instead
162 
163 ///----------------------------------------------------------------------///
164 ///@subsubsection Test Events (auto-testing)
165 ///
166 ///@note Not supposed to appear in any usage case, if you still get any of these
167 /// - please collect supportive log information and contact support with it
168 
169 
171  ///< [WARNING] 0x80020002: Used in auto-testing to mock warning event
172 
174  ///< [CRITICAL] 0xC0020003: Used in auto-testing to mock error event
175 
176 ///----------------------------------------------------------------------///
177 ///@subsubsection Internal Events
178 ///
179 ///@note If you get any of these - collect supportive log information and
180 /// - check for dependencies and their versions,
181 /// - make sure your scanner is still registered and your SDK subscription is intact.
182 ///
183 /// If everything seems OK - please contact support with collected log.
184 ///
185 ///@note STD, Boost are also considered to be a 'library', so there might be a case when an SDK developer
186 /// didn't check your input parameters (as we ought to) and some of input-caused errors ended up here instead
187 /// of the Client section.
188 ///
189 
190 
192  ///< [CRITICAL] 0xC0030000: Unresolved internal failure
193 
194  ///@paragraph Drivers
195 
197  ///< [CRITICAL] 0xC0030100: Driver's not found
198 
200  ///< [CRITICAL] 0xC0030101: Driver's version is not supported
201 
202  ///@paragraph Libraries
203 
204  ErrorCode_LibNotFound = 0xC0030200,
205  ///< [CRITICAL] 0xC0030200: Library's not found
206 
208  ///< [CRITICAL] 0xC0030201: Library's version is not supported
209 
210 
212  ///< [CRITICAL] 0xC0030206: Library's internal failure
213 
214 
216  ///< [CRITICAL] 0xC0030207: Used library doesn't support requested feature
217 
218 
220  ///< [CRITICAL] 0xC0030210: Used library doesn't support requested operation
221 
223  ///< [CRITICAL] 0xC0030211: Used library reported 'invalid operation'
224 
225 
227  ///< [CRITICAL] 0xC0030220: Used library doesn't support the parameter
228 
230  ///< [CRITICAL] 0xC0030221: Used library reported 'invalid argument'
231 
233  ///< [CRITICAL] 0xC0030222: Used library reported 'out of range argument'
234 
235  //TODO Refactor usage of the following
236  ///@paragraph Configurations
237 
239  ///< [CRITICAL] 0xC0030300: The requested config is not found. Check AIC for details
240 
242  ///< [CRITICAL] 0xC0030301: Config version is unsupported
243 
245  ///< [CRITICAL] 0xC0030302: Config is corrupted
246 
248  ///< [CRITICAL] 0xC0030305: Failed to access config due to parsing failure, etc.
249 
251  ///< [CRITICAL] 0xC0030310: Config parameter's not found
252 
254  ///< [CRITICAL] 0xC0030311: Config parameter's invalid
255 
256 ///----------------------------------------------------------------------///
257 ///@subsubsection Base Events
258 
259 
260 ///----------------------------------------------------------------------///
261 ///@subsubsection Developer Events
262 ///
263 ///@note Most of these exceptions are signals of developer's sloppiness. So, for most cases there is nothing
264 /// you can do about except contacting support with collected log output.
265 ///
266 /// Unresolved exceptions are the ones that were nor handled properly by a developer in the place of likely occurrence with
267 /// more specific event code and details nor recognized by the SDK's general exception-handling procedure.
268 ///
269  ///@paragraph Logic
270 
272  ///< [CRITICAL] 0xC0050000: General error for exceptions raised by developer logic faults (lost references, etc.)
273 
274  ErrorCode_MathFailure = 0xC0050010,
275  ///< [CRITICAL] 0xC0050010: Division on 0, floating point math and such
276 
277  ///@paragraph Exceptions Handling
278 
280  ///< [CRITICAL] 0xC0050101: Unresolved exception.
281  ///< Generalization for all exceptions of uncommon, but known types from 3rd-party libraries
282  ///< Do not confuse with EventCode_UnknownExceptionType
283 
284 
286  ///< [CRITICAL] 0xC0050102: Unresolved OS exception (SEH for Windows)
287 
289  ///< [CRITICAL] 0xC0050103: Unresolved std::exception
290 
292  ///< [CRITICAL] 0xC0050104: Unresolved boost::exception
293 
294 
296  ///< [CRITICAL] 0xC0050110: Unknown exception type (caught by ...)
297 
298 
300  ///< [CRITICAL] 0xC0050111: OMG. Another exception's raised during exception handling
301  ///< @note This one is never to be returned, it can
302  ///< be only logged with more stable back-ends
303  ///< like Windows Event Log or Linux system log
304 
305  ///@paragraph Errors Handling
306 
308  ///< [CRITICAL] 0xC0050200: Unmapped error from 3rd-party library
309  ///< @note Most likely - outdated error mapping
310 
311  ///@paragraph Assertions
312 
314  ///< [CRITICAL] 0xC0050300: Unexpected outcome (in assertions and etc.)
315 
316 ///----------------------------------------------------------------------///
317 ///@subsubsection Algorithms Events
318 
320  ///< [CRITICAL] 0xC0060100: OpenGL is either missing or presented by unsupported version
321 
322  ///< @note OGL related event list is going to expand later
323 
324 ///----------------------------------------------------------------------///
325 ///@subsubsection Capturing Events
326  ///@paragraph Cameras
327 
329  ///< [WARNING] 0x80070101: Requested camera is not connected
330 
332  ///< [WARNING] 0x80070102: Requested camera is not supported. Check manufacturer and firmware version
333 
335  ///< [WARNING] 0x80070103: Requested camera is not licensed
336 
338  ///< [WARNING] 0x80070108: Requested camera is already used by someone else (yet to be able diagnose)
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 is not supported. Check versions
351 
353  ///< [WARNING] 0x80070121: Camera setting is invalid (set to invalid/unsupported value or failed to be updated to required one)
354 
355 
357  ///< [CRITICAL] 0xC0070130: Hardware/firmware related failure on camera side
358 
360  ///< [WARNING] 0x80070140: Failed on access the camera
361 
363  ///< [WARNING] 0x80070141: Timeout on access to the camera
364 
365 
366  ErrorCode_CameraBusy = 0xC0070150,
367  ///< [CRITICAL] 0xC0070150: Camera is engaged with previous request
368 
369  ///@paragraph Scanners
370 
372  ///< [WARNING] 0x80070201: Requested scanner is not connected
373 
375  ///< [WARNING] 0x80070202: Requested scanner is not supported. Check manufacturer and firmware version
376 
378  ///< [WARNING] 0x80070203: Requested scanner is not licensed
379 
381  ///< [WARNING] 0x80070208: Requested scanner is already used by someone else (yet to be able diagnose)
382 
383 
385  ///< [WARNING] 0x8007020F: Scanner initialization failed
386 
387 
389  ///< [CRITICAL] 0xC0070210: Attempted to use uninitialized scanner
390 
391 
392  ErrorCode_ScannerBusy = 0x80070250,
393  ///< [WARNING] 0x80070250: Scanner is engaged with previous request
394 
395  ///@paragraph Bundles
396 
398  ///< [WARNING] 0x80070300: Current SDK version doesn't support bundles
399 
401  ///< [WARNING] 0x80070301: Current SDK version is not 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
414 
415 
417  ///< [CRITICAL] 0xC0070330: Attempt to use uncalibrated bundle
418 
419  ///@paragraph Other physics
420 
422  ///< [CRITICAL] 0xC0070500: Strobe failure
423 
425  ///< [CRITICAL] 0xC0070510: Trigger failure
426 
427  ///@paragraph 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:97
[CRITICAL] 0xC0030305: Failed to access config due to parsing failure, etc.
Definition: Errors.h:247
[WARNING] 0x80070800: Frame capture timeout
Definition: Errors.h:429
[CRITICAL] 0xC0050300: Unexpected outcome (in assertions and etc.)
Definition: Errors.h:313
This namespace is auto-generated from internal event code list.
Definition: Errors.h:55
[WARNING] 0x80070140: Failed on access the camera
Definition: Errors.h:359
[CRITICAL] 0xC0050102: Unresolved OS exception (SEH for Windows)
Definition: Errors.h:285
[CRITICAL] 0xC0030222: Used library reported 'out of range argument'
Definition: Errors.h:232
[CRITICAL] 0xC0030221: Used library reported 'invalid argument'
Definition: Errors.h:229
[CRITICAL] 0xC0050000: General error for exceptions raised by developer logic faults (lost references...
Definition: Errors.h:271
[WARNING] 0x80010004: Client interface shutdown failed
Definition: Errors.h:121
[WARNING] 0x80000002: The OS cannot find the file specified
Definition: Errors.h:71
[WARNING] 0x80070203: Requested scanner is not licensed
Definition: Errors.h:377
[CRITICAL] 0xC0030200: Library's not found
Definition: Errors.h:204
[CRITICAL] 0xC0020003: Used in auto-testing to mock error event
Definition: Errors.h:173
[WARNING] 0x80070324: Bundle staging failure. Insufficient overlapping between scanners ...
Definition: Errors.h:412
[WARNING] 0x80070121: Camera setting is invalid (set to invalid/unsupported value or failed to be upd...
Definition: Errors.h:352
[CRITICAL] 0xC0070210: Attempted to use uninitialized scanner
Definition: Errors.h:388
[CRITICAL] 0xC0030206: Library's internal failure
Definition: Errors.h:211
[CRITICAL] 0xC0030300: The requested config is not found. Check AIC for details
Definition: Errors.h:238
[WARNING] 0x80070208: Requested scanner is already used by someone else (yet to be able diagnose) ...
Definition: Errors.h:380
[CRITICAL] 0xC0070150: Camera is engaged with previous request
Definition: Errors.h:366
[CRITICAL] 0xC0050110: Unknown exception type (caught by ...)
Definition: Errors.h:295
[CRITICAL] 0xC0010001: Client interface start failed
Definition: Errors.h:117
[CRITICAL] 0xC0060100: OpenGL is either missing or presented by unsupported version ...
Definition: Errors.h:319
[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:137
[WARNING] 0x80010101: Requested operation is denied. Check your license(s)
Definition: Errors.h:128
[WARNING] 0x80070250: Scanner is engaged with previous request
Definition: Errors.h:392
[CRITICAL] 0xC0030311: Config parameter's invalid
Definition: Errors.h:253
[WARNING] 0x80000052: The requested file is a directory
Definition: Errors.h:100
[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:134
[CRITICAL] 0xC0000006: Invalid OS handle
Definition: Errors.h:81
[WARNING] 0x8007020F: Scanner initialization failed
Definition: Errors.h:384
[CRITICAL] 0xC0030201: Library's version is not supported
Definition: Errors.h:207
[WARNING] 0x80070101: Requested camera is not connected
Definition: Errors.h:328
[CRITICAL] 0xC0030000: Unresolved internal failure
Definition: Errors.h:191
[WARNING] 0x80070120: Camera setting is not supported. Check versions
Definition: Errors.h:349
[WARNING] 0x80070201: Requested scanner is not connected
Definition: Errors.h:371
[WARNING] 0x80070108: Requested camera is already used by someone else (yet to be able diagnose) ...
Definition: Errors.h:337
[SUCCESS] 0x00000000: Success
Definition: Errors.h:61
[WARNING] 0x80000050: The file already exists
Definition: Errors.h:94
[CRITICAL] 0xC0030207: Used library doesn't support requested feature
Definition: Errors.h:215
[CRITICAL] 0xC0030210: Used library doesn't support requested operation
Definition: Errors.h:219
[CRITICAL] 0xC0000060: The file read error (unspecified)
Definition: Errors.h:104
[CRITICAL] 0xC0070110: Attempted to use uninitialized camera
Definition: Errors.h:345
[CRITICAL] 0xC0050010: Division on 0, floating point math and such
Definition: Errors.h:274
[WARNING] 0x80070301: Current SDK version is not licensed to work with bundles
Definition: Errors.h:400
[CRITICAL] 0xC0030302: Config is corrupted
Definition: Errors.h:244
[WARNING] 0x80000003: The OS cannot find the path specified
Definition: Errors.h:74
[WARNING] 0x80010102: Requested operation is invalid
Definition: Errors.h:131
[CRITICAL] 0xC0030211: Used library reported 'invalid operation'
Definition: Errors.h:222
[WARNING] 0x80070202: Requested scanner is not supported. Check manufacturer and firmware version ...
Definition: Errors.h:374
[WARNING] 0x80020002: Used in auto-testing to mock warning event
Definition: Errors.h:170
[WARNING] 0x80070103: Requested camera is not licensed
Definition: Errors.h:334
[CRITICAL] 0xC0000061: The file write error (unspecified)
Definition: Errors.h:107
[CRITICAL] 0xC0070130: Hardware/firmware related failure on camera side
Definition: Errors.h:356
[WARNING] 0x80070141: Timeout on access to the camera
Definition: Errors.h:362
[CRITICAL] 0xC0070510: Trigger failure
Definition: Errors.h:424
[CRITICAL] 0xC0030101: Driver's version is not supported
Definition: Errors.h:199
[WARNING] 0x80070803: Frame reconstruction failed
Definition: Errors.h:435
[CRITICAL] 0xC0030220: Used library doesn't support the parameter
Definition: Errors.h:226
[WARNING] 0x80010200: There is no such parameter. Check versions & input format
Definition: Errors.h:144
[CRITICAL] 0xC0050104: Unresolved boost::exception
Definition: Errors.h:291
[CRITICAL] 0xC0030100: Driver's not found
Definition: Errors.h:196
[CRITICAL] 0xC0030301: Config version is unsupported
Definition: Errors.h:241
[CRITICAL] 0xC0030310: Config parameter's not found
Definition: Errors.h:250
[CRITICAL] 0xC0050103: Unresolved std::exception
Definition: Errors.h:288
[CRITICAL] 0xC000000E: Not enough storage is available to complete the operation
Definition: Errors.h:89
[WARNING] 0x80070321: Bundle calibration failed
Definition: Errors.h:404
[WARNING] 0x80070102: Requested camera is not supported. Check manufacturer and firmware version ...
Definition: Errors.h:331
[CRITICAL] 0xC0070330: Attempt to use uncalibrated bundle
Definition: Errors.h:416
[WARNING] 0x80010100: Requested operation is unsupported. Check versions
Definition: Errors.h:125
[CRITICAL] 0xC0000001: Unmapped OS error
Definition: Errors.h:67
[WARNING] 0x8007010F: Camera initialization failed
Definition: Errors.h:341
[WARNING] 0x80000008: Not enough storage is available to process the operation
Definition: Errors.h:86
[SUCCESS] 0x00010105: Requested operation was cancelled by client's side
Definition: Errors.h:140
[WARNING] 0x80070801: Frame corrupted
Definition: Errors.h:432
[CRITICAL] 0xC0070500: Strobe failure
Definition: Errors.h:421