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 
159 ///----------------------------------------------------------------------///
160 ///@subsubsection Test Events (auto-testing)
161 ///
162 ///@note Not supposed to appear in any usage case, if you still get any of these
163 /// - please collect supportive log information and contact support with it
164 
165 
167  ///< [WARNING] 0x80020002: Used in auto-testing to mock warning event
168 
170  ///< [CRITICAL] 0xC0020003: Used in auto-testing to mock error event
171 
172 ///----------------------------------------------------------------------///
173 ///@subsubsection Internal Events
174 ///
175 ///@note If you get any of these - collect supportive log information and
176 /// - check for dependencies and their versions,
177 /// - make sure your scanner is still registered and your SDK subscription is intact.
178 ///
179 /// If everything seems OK - please contact support with collected log.
180 ///
181 ///@note STD, Boost are also considered to be a 'library', so there might be a case when an SDK developer
182 /// didn't check your input parameters (as we ought to) and some of input-caused errors ended up here instead
183 /// of the Client section.
184 ///
185 
186 
188  ///< [CRITICAL] 0xC0030000: Unresolved internal failure
189 
190  ///@paragraph Drivers
191 
193  ///< [CRITICAL] 0xC0030100: Driver's not found
194 
196  ///< [CRITICAL] 0xC0030101: Driver's version is not supported
197 
198  ///@paragraph Libraries
199 
200  ErrorCode_LibNotFound = 0xC0030200,
201  ///< [CRITICAL] 0xC0030200: Library's not found
202 
204  ///< [CRITICAL] 0xC0030201: Library's version is not supported
205 
206 
208  ///< [CRITICAL] 0xC0030206: Library's internal failure
209 
210 
212  ///< [CRITICAL] 0xC0030207: Used library doesn't support requested feature
213 
214 
216  ///< [CRITICAL] 0xC0030210: Used library doesn't support requested operation
217 
219  ///< [CRITICAL] 0xC0030211: Used library reported 'invalid operation'
220 
221 
223  ///< [CRITICAL] 0xC0030220: Used library doesn't support the parameter
224 
226  ///< [CRITICAL] 0xC0030221: Used library reported 'invalid argument'
227 
229  ///< [CRITICAL] 0xC0030222: Used library reported 'out of range argument'
230 
231  //TODO Refactor usage of the following
232  ///@paragraph Configurations
233 
235  ///< [CRITICAL] 0xC0030300: The requested config is not found. Check AIC for details
236 
238  ///< [CRITICAL] 0xC0030301: Config version is unsupported
239 
241  ///< [CRITICAL] 0xC0030302: Config is corrupted
242 
244  ///< [CRITICAL] 0xC0030305: Failed to access config due to parsing failure, etc.
245 
247  ///< [CRITICAL] 0xC0030310: Config parameter's not found
248 
250  ///< [CRITICAL] 0xC0030311: Config parameter's invalid
251 
252 ///----------------------------------------------------------------------///
253 ///@subsubsection Base Events
254 
255 
256 ///----------------------------------------------------------------------///
257 ///@subsubsection Developer Events
258 ///
259 ///@note Most of these exceptions are signals of developer's sloppiness. So, for most cases there is nothing
260 /// you can do about except contacting support with collected log output.
261 ///
262 /// Unresolved exceptions are the ones that were nor handled properly by a developer in the place of likely occurrence with
263 /// more specific event code and details nor recognized by the SDK's general exception-handling procedure.
264 ///
265  ///@paragraph Logic
266 
268  ///< [CRITICAL] 0xC0050000: General error for exceptions raised by developer logic faults (lost references, etc.)
269 
270  ErrorCode_MathFailure = 0xC0050010,
271  ///< [CRITICAL] 0xC0050010: Division on 0, floating point math and such
272 
273  ///@paragraph Exceptions Handling
274 
276  ///< [CRITICAL] 0xC0050101: Unresolved exception.
277  ///< Generalization for all exceptions of uncommon, but known types from 3rd-party libraries
278  ///< Do not confuse with EventCode_UnknownExceptionType
279 
280 
282  ///< [CRITICAL] 0xC0050102: Unresolved OS exception (SEH for Windows)
283 
285  ///< [CRITICAL] 0xC0050103: Unresolved std::exception
286 
288  ///< [CRITICAL] 0xC0050104: Unresolved boost::exception
289 
290 
292  ///< [CRITICAL] 0xC0050110: Unknown exception type (caught by ...)
293 
294 
296  ///< [CRITICAL] 0xC0050111: OMG. Another exception's raised during exception handling
297  ///< @note This one is never to be returned, it can
298  ///< be only logged with more stable back-ends
299  ///< like Windows Event Log or Linux system log
300 
301  ///@paragraph Errors Handling
302 
304  ///< [CRITICAL] 0xC0050200: Unmapped error from 3rd-party library
305  ///< @note Most likely - outdated error mapping
306 
307  ///@paragraph Assertions
308 
310  ///< [CRITICAL] 0xC0050300: Unexpected outcome (in assertions and etc.)
311 
312 ///----------------------------------------------------------------------///
313 ///@subsubsection Algorithms Events
314 
316  ///< [CRITICAL] 0xC0060100: OpenGL is either missing or presented by unsupported version
317 
318  ///< @note OGL related event list is going to expand later
319 
320 ///----------------------------------------------------------------------///
321 ///@subsubsection Capturing Events
322  ///@paragraph Cameras
323 
325  ///< [WARNING] 0x80070101: Requested camera is not connected
326 
328  ///< [WARNING] 0x80070102: Requested camera is not supported. Check manufacturer and firmware version
329 
331  ///< [WARNING] 0x80070103: Requested camera is not licensed
332 
334  ///< [WARNING] 0x80070108: Requested camera is already used by someone else (yet to be able diagnose)
335 
336 
338  ///< [WARNING] 0x8007010F: Camera initialization failed
339 
340 
342  ///< [CRITICAL] 0xC0070110: Attempted to use uninitialized camera
343 
344 
346  ///< [WARNING] 0x80070120: Camera setting is not supported. Check versions
347 
349  ///< [WARNING] 0x80070121: Camera setting is invalid (set to invalid/unsupported value or failed to be updated to required one)
350 
351 
353  ///< [CRITICAL] 0xC0070130: Hardware/firmware related failure on camera side
354 
356  ///< [WARNING] 0x80070140: Failed on access the camera
357 
359  ///< [WARNING] 0x80070141: Timeout on access to the camera
360 
361 
362  ErrorCode_CameraBusy = 0xC0070150,
363  ///< [CRITICAL] 0xC0070150: Camera is engaged with previous request
364 
365  ///@paragraph Scanners
366 
368  ///< [WARNING] 0x80070201: Requested scanner is not connected
369 
371  ///< [WARNING] 0x80070202: Requested scanner is not supported. Check manufacturer and firmware version
372 
374  ///< [WARNING] 0x80070203: Requested scanner is not licensed
375 
377  ///< [WARNING] 0x80070208: Requested scanner is already used by someone else (yet to be able diagnose)
378 
379 
381  ///< [WARNING] 0x8007020F: Scanner initialization failed
382 
383 
385  ///< [CRITICAL] 0xC0070210: Attempted to use uninitialized scanner
386 
387 
388  ErrorCode_ScannerBusy = 0x80070250,
389  ///< [WARNING] 0x80070250: Scanner is engaged with previous request
390 
391  ///@paragraph Bundles
392 
394  ///< [WARNING] 0x80070300: Current SDK version doesn't support bundles
395 
397  ///< [WARNING] 0x80070301: Current SDK version is not licensed to work with bundles
398 
399 
401  ///< [WARNING] 0x80070321: Bundle calibration failed
402 
404  ///< [WARNING] 0x80070323: Bundle staging failure. Bundle calibration failed due to
405  ///< - wrong calibration staging (used calibration plate, its allocation, etc.)
406  ///< - other environmental issues (missing config files, etc.)
407 
409  ///< [WARNING] 0x80070324: Bundle staging failure. Insufficient overlapping between scanners
410 
411 
413  ///< [CRITICAL] 0xC0070330: Attempt to use uncalibrated bundle
414 
415  ///@paragraph Other physics
416 
418  ///< [CRITICAL] 0xC0070500: Strobe failure
419 
421  ///< [CRITICAL] 0xC0070510: Trigger failure
422 
423  ///@paragraph Frame Capturing
424 
426  ///< [WARNING] 0x80070800: Frame capture timeout
427 
429  ///< [WARNING] 0x80070801: Frame corrupted
430 
432  ///< [WARNING] 0x80070803: Frame reconstruction failed
433 
435  ///< [WARNING] 0x80070808: Frame registration failed
436 
437 }; // enum ErrorCode
438 } // namespace errors
439 
440 //////////////////////////////////////////////////////////////////////////
441 using namespace artec::sdk::base::errors;
442 //////////////////////////////////////////////////////////////////////////
443 } } } // namespace artec::sdk::base
444 #endif // _ERRORSBASESDK_H_
[WARNING] 0x80070808: Frame registration failed
Definition: Errors.h:434
[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:243
[WARNING] 0x80070800: Frame capture timeout
Definition: Errors.h:425
[CRITICAL] 0xC0050300: Unexpected outcome (in assertions and etc.)
Definition: Errors.h:309
This namespace is auto-generated from internal event code list.
Definition: Errors.h:55
[WARNING] 0x80070140: Failed on access the camera
Definition: Errors.h:355
[CRITICAL] 0xC0050102: Unresolved OS exception (SEH for Windows)
Definition: Errors.h:281
[CRITICAL] 0xC0030222: Used library reported 'out of range argument'
Definition: Errors.h:228
[CRITICAL] 0xC0030221: Used library reported 'invalid argument'
Definition: Errors.h:225
[CRITICAL] 0xC0050000: General error for exceptions raised by developer logic faults (lost references...
Definition: Errors.h:267
[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:373
[CRITICAL] 0xC0030200: Library's not found
Definition: Errors.h:200
[CRITICAL] 0xC0020003: Used in auto-testing to mock error event
Definition: Errors.h:169
[WARNING] 0x80070324: Bundle staging failure. Insufficient overlapping between scanners ...
Definition: Errors.h:408
[WARNING] 0x80070121: Camera setting is invalid (set to invalid/unsupported value or failed to be upd...
Definition: Errors.h:348
[CRITICAL] 0xC0070210: Attempted to use uninitialized scanner
Definition: Errors.h:384
[CRITICAL] 0xC0030206: Library's internal failure
Definition: Errors.h:207
[CRITICAL] 0xC0030300: The requested config is not found. Check AIC for details
Definition: Errors.h:234
[WARNING] 0x80070208: Requested scanner is already used by someone else (yet to be able diagnose) ...
Definition: Errors.h:376
[CRITICAL] 0xC0070150: Camera is engaged with previous request
Definition: Errors.h:362
[CRITICAL] 0xC0050110: Unknown exception type (caught by ...)
Definition: Errors.h:291
[CRITICAL] 0xC0010001: Client interface start failed
Definition: Errors.h:117
[CRITICAL] 0xC0060100: OpenGL is either missing or presented by unsupported version ...
Definition: Errors.h:315
[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:388
[CRITICAL] 0xC0030311: Config parameter's invalid
Definition: Errors.h:249
[WARNING] 0x80000052: The requested file is a directory
Definition: Errors.h:100
[WARNING] 0x80070300: Current SDK version doesn't support bundles
Definition: Errors.h:393
[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:380
[CRITICAL] 0xC0030201: Library's version is not supported
Definition: Errors.h:203
[WARNING] 0x80070101: Requested camera is not connected
Definition: Errors.h:324
[CRITICAL] 0xC0030000: Unresolved internal failure
Definition: Errors.h:187
[WARNING] 0x80070120: Camera setting is not supported. Check versions
Definition: Errors.h:345
[WARNING] 0x80070201: Requested scanner is not connected
Definition: Errors.h:367
[WARNING] 0x80070108: Requested camera is already used by someone else (yet to be able diagnose) ...
Definition: Errors.h:333
[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:211
[CRITICAL] 0xC0030210: Used library doesn't support requested operation
Definition: Errors.h:215
[CRITICAL] 0xC0000060: The file read error (unspecified)
Definition: Errors.h:104
[CRITICAL] 0xC0070110: Attempted to use uninitialized camera
Definition: Errors.h:341
[CRITICAL] 0xC0050010: Division on 0, floating point math and such
Definition: Errors.h:270
[WARNING] 0x80070301: Current SDK version is not licensed to work with bundles
Definition: Errors.h:396
[CRITICAL] 0xC0030302: Config is corrupted
Definition: Errors.h:240
[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:218
[WARNING] 0x80070202: Requested scanner is not supported. Check manufacturer and firmware version ...
Definition: Errors.h:370
[WARNING] 0x80020002: Used in auto-testing to mock warning event
Definition: Errors.h:166
[WARNING] 0x80070103: Requested camera is not licensed
Definition: Errors.h:330
[CRITICAL] 0xC0000061: The file write error (unspecified)
Definition: Errors.h:107
[CRITICAL] 0xC0070130: Hardware/firmware related failure on camera side
Definition: Errors.h:352
[WARNING] 0x80070141: Timeout on access to the camera
Definition: Errors.h:358
[CRITICAL] 0xC0070510: Trigger failure
Definition: Errors.h:420
[CRITICAL] 0xC0030101: Driver's version is not supported
Definition: Errors.h:195
[WARNING] 0x80070803: Frame reconstruction failed
Definition: Errors.h:431
[CRITICAL] 0xC0030220: Used library doesn't support the parameter
Definition: Errors.h:222
[WARNING] 0x80010200: There is no such parameter. Check versions & input format
Definition: Errors.h:144
[CRITICAL] 0xC0050104: Unresolved boost::exception
Definition: Errors.h:287
[CRITICAL] 0xC0030100: Driver's not found
Definition: Errors.h:192
[CRITICAL] 0xC0030301: Config version is unsupported
Definition: Errors.h:237
[CRITICAL] 0xC0030310: Config parameter's not found
Definition: Errors.h:246
[CRITICAL] 0xC0050103: Unresolved std::exception
Definition: Errors.h:284
[CRITICAL] 0xC000000E: Not enough storage is available to complete the operation
Definition: Errors.h:89
[WARNING] 0x80070321: Bundle calibration failed
Definition: Errors.h:400
[WARNING] 0x80070102: Requested camera is not supported. Check manufacturer and firmware version ...
Definition: Errors.h:327
[CRITICAL] 0xC0070330: Attempt to use uncalibrated bundle
Definition: Errors.h:412
[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:337
[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:428
[CRITICAL] 0xC0070500: Strobe failure
Definition: Errors.h:417