INOS
inoserror.h
Go to the documentation of this file.
1//******************************************************************************
31//******************************************************************************
32#if !defined( INC_INOSERROR_H )
33#define INC_INOSERROR_H
34//------------------------------------------------------------------------------
35// defines
36//------------------------------------------------------------------------------
37#ifdef INOSERROR_CPP
38#else
39 #ifdef INOSERROR_DOXYGEN
40 #define INOSERROR(label,code,text) \
41 uint32 label = code;
42 #else
43 /* Note: The label##__CODE has been added to allow using message codes
44 in switch-case statements. Appending the "__CODE" was required, because
45 the values in 'case' statements must be compile time constants. Therefore,
46 we can't rely on 'operator uint32()' or similar, which would only be
47 resolved during runtime. With C++11, which we do not yet support, we could
48 define 'operator uint32()' as constexpr - and then we could probably get
49 rid of the label##__CODE...
50 Note 2: The 'constant' has been defined as enum so that it does not
51 consume any memory (e.g. a 'static const uint32 ...' caused the .elf file
52 to grow from 43MB to 53MB in the inos-testing project!). Using a #define
53 didn't work and there's no possiblity to make it working according to
54 http://stackoverflow.com/questions/2429240/c-macro-defining-macro. */
55 #define INOSERROR(label,code,text,...) \
56 extern SINOSError label; \
57 enum { label##__CODE = code };
58 #endif
59#endif
60
61// return/trow error code
62#ifdef INOS_CPP_EXCEPTION_SUPPORT
63#define INOS_RETURN(aError) \
64 if (0==aError){ \
65 return 0; \
66 } \
67 else{ \
68 throw INOSException(aError); \
69 }
70#else
71#define INOS_RETURN(aError) return aError
72#endif
73
74//------------------------------------------------------------------------------
75// includes
76//------------------------------------------------------------------------------
77//
78// system
79#include <cinosmcmessagedef.h>
80#include <inosexception.h>
81#include <inosmacro.h>
82
83//
84// C++
85//
86// project
87//
88//------------------------------------------------------------------------------
89// SINOSError
90//------------------------------------------------------------------------------
91
92struct SINOSError
94 //--- user interface ---------------------------------------------------
95
96 // public member functions
97 public :
98 // get message type
99 uint32 GetType() const
100 { return m_uType; };
101 // get message code
102 uint32 GetCode() const
103 { return m_uCode; };
104 // get message flags
105 uint32 GetFlags() const
106 { return m_uFlags; };
107 // get message text
108 const char* GetText() const
109 { return m_pText; };
110 // get message param
111 const char* GetParam() const
112 { return m_pParam; };
113 // get error text of auCode
114 static const char* GetText(uint32 auCode)
115 {
116 // get error from tree
117 SINOSError* e = m_pTree->Find(auCode);
118 // found ?
119 if (NULL != e) {
120 // yes -> return text
121 return e->GetText();
122 } // end if
123 else {
124 // no -> unknown
125 return "Unknown error code";
126 } // end else
127 };
128 // convert to uint32
129 operator uint32() const
130 { return m_uCode; };
131 // get pointer to first error in list
132 static SINOSError* GetFirst()
133 { return m_pFirst; };
134 // get pointer to error 'auCode'
135 static SINOSError* Find(uint32 auCode)
136 { return m_pTree->Find(auCode); };
137 // get pointer to next error in list
138 SINOSError* GetNext() const
139 { return m_pNext; };
140
141 //--- internals --------------------------------------------------------
142
143 friend class CINOSHwTarget;
144
145 public :
146 // constructor
147 SINOSError(uint32 auCode, const char* apText);
148 // constructor
149 SINOSError(uint32 auCode, const char* apText, uint32 auType, uint32 auFlags, const char* apParam = "");
150
151 // binary tree operators
152 int operator < (const SINOSError& aError) const
153 { return m_uCode<aError.m_uCode; }
154 template <typename T> T operator == (const SINOSError& aError) const
155 { return m_uCode==aError.m_uCode; }
156 template <typename T> T operator != (const SINOSError& aError) const
157 { return m_uCode!=aError.m_uCode; }
158 int operator < (const uint32 auCode) const
159 { return m_uCode<auCode; }
160 template <typename T> T operator == (const uint32 auCode) const
161 { return m_uCode==auCode; }
162 template <typename T> T operator != (const uint32 auCode) const
163 { return m_uCode!=auCode; }
164
165 // setup binary tree
166 static void SetupTree();
167
168 private :
170 uint32 m_uType;
172 uint32 m_uCode;
174 uint32 m_uFlags;
175 // error text
176 const char* m_pText;
177 // error param
178 const char* m_pParam;
179 // pointer to next
180 SINOSError* m_pNext;
181
182 // linked list
183 static SINOSError* m_pFirst;
184 // binary tree
186};
187
188//------------------------------------------------------------------------------
189// SINOSErrorFlag
190//------------------------------------------------------------------------------
191//
192// Can be used to register 'named' flags under Msg.Code. Use it like this in
193// your application code :
194//
195// #ifdef EXP_MESSAGEFLAG_CPP
196/* #define EXP_MSG_CODE_FLAG(label,flag,text)\ */
197// SINOSErrorFlag label##flag(label,flag,text);
198// #else
199// #define EXP_MSG_CODE_FLAG(label,flag,text)
200// #endif
201//
202// EXP_MSG_CODE_FLAG(EXP_MCMSG_CODE_MY_ERROR1, INOS_MCMSG_FLAG_STOP, "Hello Stop Button")
203// EXP_MSG_CODE_FLAG(EXP_MCMSG_CODE_MY_ERROR1, INOS_MCMSG_FLAG_CANCEL, "Hello Cancel")
204// EXP_MSG_CODE_FLAG(EXP_MCMSG_CODE_MY_ERROR2, INOS_MCMSG_FLAG_CONFIRM, "Cool lets confirm")
205// ...
206
207struct SINOSErrorFlag
209 //--- user interface ---------------------------------------------------
210
211 // public member functions
212 public :
213 // get message code
214 uint32 GetCode() const
215 { return m_uCode; };
216 // get message flag
217 uint32 GetFlag() const
218 { return m_uFlag; };
219 // get message text
220 const char* GetText() const
221 { return m_pText; };
222
223 // get pointer to first in list
224 static SINOSErrorFlag* GetFirst()
225 { return m_pFirst; };
226 // get pointer to next in list
227 SINOSErrorFlag* GetNext() const
228 { return m_pNext; };
229
230 //--- internals --------------------------------------------------------
231
232 friend class CINOSHwTarget;
233
234 public :
235 // constructor
237
238 private :
240 uint32 m_uCode;
242 uint32 m_uFlag;
243 // error text
244 const char* m_pText;
245 // pointer to next
246 SINOSErrorFlag* m_pNext;
247
248 // linked list
249 static SINOSErrorFlag* m_pFirst;
250};
251
252//------------------------------------------------------------------------------
253// CINOSError
254//------------------------------------------------------------------------------
255
257class CINOSError : public CINOSException
259 //--- user interface -------------------------------------------------------
260
261 // public methods
262 public :
263 // constructor
265 : CINOSException(aError.GetCode()),
266 m_pError(&aError) {};
267 // constructor
269 : CINOSException(auCode)
270 {
271 // get error from pool
272 m_pError = SINOSError::Find(auCode);
273 // we need one
274 ASSERT_ALWAYS(m_pError);
275 };
276
278 virtual const char* GetText() const
279 { return m_pError->GetText(); }
280
281 //--- internals ------------------------------------------------------------
282
283 private:
285 SINOSError* m_pError;
286};
287
288//------------------------------------------------------------------------------
289// INOS (0x00xxxxxx)
290//------------------------------------------------------------------------------
291#define INOS_ERRORS(X) \
292/*-- general -------------------------------------------------------------------
293*/\
294X(INOS_OK, 0x00000000, "No error")\
295\
296/*--- CINOSTaskEx (0x00000xxx)------------------------------------------*/\
297\
298X(INOS_MCMSG_CODE_TSKEX_GENERIC, 0x40000000, "Not further specified failure detected by the McRobot base framework")\
299X(INOS_MCMSG_CODE_TSKEX_SKIPPED, 0x41000000, "Command skipped")\
300X(INOS_MCMSG_CODE_TSKEX_INCOMPLETE, 0x42000000, "Command incomplete")\
301X(INOS_MCMSG_CODE_TSKEX_IGNORED, 0x43000000, "Command ignored")\
302X(INOS_MCMSG_CODE_TSKEX_PAUSED, 0x44000000, "Command paused")\
303X(INOS_MCMSG_CODE_TSKEX_STOPPED, 0x45000000, "Command stopped")\
304X(INOS_MCMSG_CODE_TSKEX_CANCELED, 0x46000000, "Command canceled")\
305X(INOS_MCMSG_CODE_TSKEX_REJECTED, 0x47000000, "Command rejected")\
306X(INOS_MCMSG_CODE_TSKEX_FAILED, 0x48000000, "Command failed")\
307X(INOS_MCMSG_CODE_TSKEX_ERROR, 0x49000000, "Command ended with an error")\
308X(INOS_MCMSG_CODE_TSKEX_FATAL, 0x4A000000, "Command ended with a fatal error")\
309X(INOS_MCMSG_CODE_TSKEX_TIMEOUT, 0x4B000000, "Command ended with a timeout")\
310X(INOS_MCMSG_CODE_TSKEX_UNKNOWN, 0x40000001, "Unknown command")\
311X(INOS_MCMSG_CODE_TSKEX_PARAM_MISSING, 0x40000002, "Mandatory param missing")\
312X(INOS_MCMSG_CODE_TSKEX_INCO_TYPE_UNSUPPTORED, 0x40000003, "INCO type is not supported")\
313X(INOS_MCMSG_CODE_TSKEX_INCO_TYPE_MISMATCH, 0x40000004, "INCO type mismatch")\
314X(INOS_MCMSG_CODE_TSKEX_VAR_FAILED, 0x40000100, "Variable access failed")\
315X(INOS_MCMSG_CODE_TSKEX_VAR_NOT_FOUND, 0x40000101, "Variable not found")\
316X(INOS_MCMSG_CODE_TSKEX_VAR_READ_ONLY, 0x40000102, "Variable is read only")\
317X(INOS_MCMSG_CODE_TSKEX_VAR_MIN, 0x40000103, "Variable minimum reached")\
318X(INOS_MCMSG_CODE_TSKEX_VAR_MAX, 0x40000104, "Variable maximum reached")\
319X(INOS_MCMSG_CODE_TSKEX_DEF_HANDLE_UNSUPPORTED, 0x40000105, "Deferred message handle does not support commands")\
320X(INOS_MCMSG_CODE_TSKEX_INPUT_QUEUE_FULL, 0x40000106, "Adding the 'TaskExMsg' to the task's input queue failed due to 'queue full'")\
321X(INOS_MCMSG_CODE_TSKEX_INVALID_COREID, 0x40000107, "Invalid core id requested")\
322X(INOS_MCMSG_CODE_TSKEX_WRONG_PARAMS, 0x40000108, "Wrong param type detected")\
323X(INOS_MCMSG_CODE_TSKEX_UNKNOWN_CMD_HOOK, 0x40000109, "Unknown command hook")\
324X(INOS_MCMSG_CODE_TSKEX_OVERSIZED_RESULT, 0x4000010A, "Oversized result detected")\
325X(INOS_MCMSG_CODE_TSKEX_TRGMSG_MULTICORE, 0x4000010B, "The given fieldbus does not support triggered messages on the requested core")\
326X(INOS_MCMSG_CODE_TSKEX_NULLPTR_MSG, 0x4000010C, "Tried to put a 'TaskExMsg' to the task's input queue which is a 'nullptr'")\
327X(INOS_MCMSG_CODE_TSKEX_TRGMSG_BUSID, 0x4000010D, "Triggered message with invalid bus id")\
328X(INOS_MCMSG_CODE_TSKEX_CMD_NO_TASK, 0x4000010E, "Command used with no task set")\
329X(INOS_MCMSG_CODE_TSKEX_CMD_NO_OBJECT, 0x4000010F, "Command used with no object set")\
330X(INOS_MCMSG_CODE_TSKEX_CMD_NO_FUNCTION, 0x40000110, "Command used with function")\
331X(INOS_MCMSG_CODE_TSKEX_FASTLOAD_PORT_NUMBER, 0x40000111, "FastLoad invalid port number given")\
332X(INOS_MCMSG_CODE_TSKEX_FASTLOAD_DATA_TRANSFER, 0x40000112, "FastLoad invalid datatransfer method given")\
333\
334/*--- CINOSTask (0x000002xx)------------------------------------------*/\
335\
336X(INOS_MCMSG_CODE_TSK_UNKNOWN_EXCEPTION, 0x40000200, "Unknown unhandled exception occured")\
337\
338/*--- CINOSMsgQueue (0x00001xxx)------------------------------------------*/\
339\
340X(INOS_MCMSG_CODE_TASK_QUEUE_FULL, 0x40001000, "Task queue is full")\
341X(INOS_MCMSG_CODE_TASK_QUEUE_DUPLICATE, 0x40001001, "Put ignored due to duplicate detection")\
342X(INOS_MCMSG_CODE_TASK_QUEUE_FLUSH_OWNER, 0x40001002, "Only the owner is allowed to flush the queue")\
343\
344/*--- CINOSMcCoord (0x0001xxxx) -----------------------------------------*/\
345\
346X(INOS_MCMSG_CODE_COORD_UNKNOWN_LABEL, 0x40010001, "Unknown label")\
347X(INOS_MCMSG_CODE_COORD_UNKNOWN_MODULE, 0x40010002, "Unknown module")\
348X(INOS_MCMSG_CODE_COORD_UNKNOWN_SCRIPT, 0x40010003, "Unknown script")\
349X(INOS_MCMSG_CODE_COORD_UNKNOWN_JOB, 0x40010004, "Unknown job")\
350X(INOS_MCMSG_CODE_COORD_UNKNOWN_DATA, 0x40010005, "Unknown data")\
351X(INOS_MCMSG_CODE_COORD_COMMAND_IGNORED, 0x40010008, "Command ignored")\
352X(INOS_MCMSG_CODE_COORD_MAX_NESTED, 0x40010009, "Max. allowed nesting level reached")\
353X(INOS_MCMSG_CODE_COORD_NO_LOCAL_SUPPORT, 0x4001000A, "No local variable support")\
354X(INOS_MCMSG_CODE_COORD_VAR_FAILED, 0x40010200, "Variable access failed")\
355X(INOS_MCMSG_CODE_COORD_VAR_NOT_FOUND, 0x40010201, "Variable not found")\
356X(INOS_MCMSG_CODE_COORD_VAR_READ_ONLY, 0x40010202, "Variable is read only")\
357X(INOS_MCMSG_CODE_COORD_VAR_MIN, 0x40010203, "Variable minimum reached")\
358X(INOS_MCMSG_CODE_COORD_VAR_MAX, 0x40010204, "Variable maximum reached")\
359\
360/*--- CINOSMcModule (0x0002xxxx) -----------------------------------------*/\
361\
362X(INOS_MCMSG_CODE_MODULE_NO_COORD, 0x40020001, "No coordinator available")\
363X(INOS_MCMSG_CODE_MODULE_UNKNOWN_SCRIPT, 0x40020002, "Unknown script")\
364X(INOS_MCMSG_CODE_MODULE_UNKNOWN_JOB, 0x40020003, "Unknown job")\
365X(INOS_MCMSG_CODE_MODULE_UNKNOWN_STREAM, 0x40020004, "Unknown stream")\
366X(INOS_MCMSG_CODE_MODULE_EMERGENCY_STOP, 0x40020005, "Emergency stop pressed")\
367X(INOS_MCMSG_CODE_MODULE_UNDEFINED_RES, 0x40020006, "Undefined resource")\
368X(INOS_MCMSG_CODE_MODULE_UNKNOWN_RES, 0x40020007, "Unknown resource")\
369X(INOS_MCMSG_CODE_MODULE_UNKNOWN_RES_SET, 0x40020008, "Unknown resource 'Set' command")\
370X(INOS_MCMSG_CODE_MODULE_UNKNOWN_RES_CLR, 0x40020009, "Unknown resource 'Clear' command")\
371X(INOS_MCMSG_CODE_MODULE_UNKNOWN_OUT_RES, 0x4002000A, "Unknown output resource")\
372X(INOS_MCMSG_CODE_MODULE_STEP, 0x4002000B, "Step")\
373X(INOS_MCMSG_CODE_MODULE_NO_CRON, 0x4002000C, "No cron support available")\
374X(INOS_MCMSG_CODE_MODULE_UNKNOWN_CRON, 0x4002000D, "Unknown cron job")\
375X(INOS_MCMSG_CODE_MODULE_WAITBIT_TIMEOUT, 0x4002000E, "WaitBit timeout")\
376X(INOS_MCMSG_CODE_MODULE_SCRIPT_CHANGED, 0x4002000F, "Script changed since pause")\
377X(INOS_MCMSG_CODE_MODULE_UNKNOWN_CMD_ID, 0x40020010, "Unknown command id")\
378X(INOS_MCMSG_CODE_MODULE_NO_VALID_BACKUP, 0x40020011, "No valid backup found")\
379X(INOS_MCMSG_CODE_MODULE_NO_FIELDBUS, 0x40020012, "No fieldbus available")\
380X(INOS_MCMSG_CODE_MODULE_INVAL_RES_STATE, 0x40020013, "Invalid resource state")\
381X(INOS_MCMSG_CODE_MODULE_LINK_DOWN, 0x40020014, "Link down detected")\
382X(INOS_MCMSG_CODE_MODULE_NO_MODULE, 0x40020015, "No module available")\
383X(INOS_MCMSG_CODE_MODULE_NO_DATA, 0x40020016, "No data available")\
384X(INOS_MCMSG_CODE_MODULE_NO_LUA, 0x40020017, "No lua interpreter available")\
385X(INOS_MCMSG_CODE_MODULE_SECOND_JOB, 0x40020018, "Can not run a second job")\
386X(INOS_MCMSG_CODE_MODULE_NO_SCRIPT, 0x40020019, "No script available")\
387X(INOS_MCMSG_CODE_MODULE_NO_JOB, 0x4002001A, "No job available")\
388X(INOS_MCMSG_CODE_MODULE_CONTAINER_REJECTED, 0x4002001B, "Container operation rejected")\
389X(INOS_MCMSG_CODE_MODULE_CONTAINER_FAILED, 0x4002001C, "Container operation failed")\
390X(INOS_MCMSG_CODE_MODULE_RES_ALREADY_EXISTS, 0x4002001D, "Resource already exists")\
391X(INOS_MCMSG_CODE_MODULE_SAFE_TORQUE_OFF, 0x4002001E, "Safe torque off (STO) detected")\
392X(INOS_MCMSG_CODE_MODULE_RES_GETIO_FAILED, 0x4002001F, "GetIO failed. Either the resource type is unsupported or the image object is not available")\
393X(INOS_MCMSG_CODE_MODULE_UNKNOWN_DATA, 0x40020020, "Unknown data instance name")\
394X(INOS_MCMSG_CODE_MODULE_UNKNOWN_MODULE, 0x40020021, "Unknown module name")\
395X(INOS_MCMSG_CODE_MODULE_DUPLICATE_DATA, 0x40020022, "Duplicate data instance name")\
396X(INOS_MCMSG_CODE_MODULE_DUPLICATE_MODULE, 0x40020023, "Duplicate module name")\
397X(INOS_MCMSG_CODE_MODULE_SAFETY_CONFIG_UPDATE, 0x40020024, "Switched off due to safety config update")\
398X(INOS_MCMSG_CODE_MODULE_OVLD_NOT_SUPPORTED, 0x40020025, "Overloaded commands are not supported, remove 'Ovld' from your module params")\
399X(INOS_MCMSG_CODE_MODULE_SETITEM_SUBMODULE, 0x40020026, "SetItem on item of sub-module not allowed. Call SetItem command of the sub-module.")\
400X(INOS_MCMSG_CODE_MODULE_REGISTER_HOOK_NOT_SUP, 0x40020027, "RegisterHook not supported for this type of resource")\
401X(INOS_MCMSG_CODE_MODULE_REGEX_INVALID, 0x40020028, "Invalid regex string given")\
402\
403/*--- CINOSMcRobot (0x0003xxxx) -----------------------------------------*/\
404\
405X(INOS_MCMSG_CODE_ROBOT_BASE, 0x40030000, "Base message code")\
406X(INOS_MCMSG_CODE_ROBOT_NOTHING_TO_MOVE, 0x40030001, "Nothing to move")\
407X(INOS_MCMSG_CODE_ROBOT_UNKNOWN_AXIS, 0x40030002, "Unknown axis")\
408X(INOS_MCMSG_CODE_ROBOT_UNKNOWN_PARAM, 0x40030003, "Unknown param set")\
409X(INOS_MCMSG_CODE_ROBOT_INVALID_POS, 0x40030004, "Invalid axis position")\
410X(INOS_MCMSG_CODE_ROBOT_AXIS_BUSY, 0x40030005, "Invalid 'move in move'")\
411X(INOS_MCMSG_CODE_ROBOT_UNKNOWN_TRG_TYPE, 0x40030006, "Unknown trigger type")\
412X(INOS_MCMSG_CODE_ROBOT_CALC_MOVING_TIME, 0x40030007, "Calc moving time failed")\
413X(INOS_MCMSG_CODE_ROBOT_UNKNOWN_SYNCPOINT, 0x40030008, "Unknown sync point")\
414X(INOS_MCMSG_CODE_ROBOT_MISMATCH_BUSID, 0x40030009, "BusId mismatch")\
415X(INOS_MCMSG_CODE_ROBOT_MISMATCH_CYCLENBR, 0x4003000A, "Cyclenumber mismatch")\
416X(INOS_MCMSG_CODE_ROBOT_MISMATCH_CYCLETIM, 0x4003000B, "Cycletime mismatch")\
417X(INOS_MCMSG_CODE_ROBOT_NOTHING_TO_INIT, 0x4003000C, "Nothing to init")\
418X(INOS_MCMSG_CODE_ROBOT_UNKNOWN_INIT_TYPE, 0x4003000D, "Unknown init type")\
419X(INOS_MCMSG_CODE_ROBOT_UNKNOWN_INIT_DIR, 0x4003000E, "Unknown init direction")\
420X(INOS_MCMSG_CODE_ROBOT_UNKNOWN_INIT_EDGE, 0x4003000F, "Unknown init edge")\
421X(INOS_MCMSG_CODE_ROBOT_ZERO_BLOCKED, 0x40030010, "Zero input blocked")\
422X(INOS_MCMSG_CODE_ROBOT_SEARCH_INPUT, 0x40030011, "Search input failed")\
423X(INOS_MCMSG_CODE_ROBOT_ON_NOT_ALLOWED, 0x40030012, "On of coupled axis not allowed")\
424X(INOS_MCMSG_CODE_ROBOT_INIT_NOT_ALLOWED, 0x40030013, "Init of coupled axis not allowed")\
425X(INOS_MCMSG_CODE_ROBOT_CALC_EVENT_FAILED, 0x40030014, "Calc event time failed")\
426X(INOS_MCMSG_CODE_ROBOT_CALC_TRG_FAILED, 0x40030015, "Calc trigger point failed")\
427X(INOS_MCMSG_CODE_ROBOT_INVALID_END_POINT, 0x40030016, "Invalid end point")\
428X(INOS_MCMSG_CODE_ROBOT_AXIS_ERROR, 0x40030017, "Axis on error")\
429X(INOS_MCMSG_CODE_ROBOT_INIT_BUSY, 0x40030018, "Init not allowed, axis busy")\
430X(INOS_MCMSG_CODE_ROBOT_MOVE_BUSY, 0x40030019, "Move not allowed, axis busy")\
431X(INOS_MCMSG_CODE_ROBOT_JOYSTICK_BUSY, 0x4003001A, "Joystick not allowed, axis busy")\
432X(INOS_MCMSG_CODE_ROBOT_NO_JOYSTICK, 0x4003001B, "Axis not in joystick mode")\
433X(INOS_MCMSG_CODE_ROBOT_INVALID_JOY_DELTA, 0x4003001C, "Invalid joystick delta")\
434X(INOS_MCMSG_CODE_ROBOT_NOT_YET_IMPL, 0x4003001D, "Init type not yet implemented")\
435X(INOS_MCMSG_CODE_ROBOT_ZERO_OR_REF_MAND, 0x4003001E, "Reference or zero support mandatory for this Init type")\
436X(INOS_MCMSG_CODE_ROBOT_BORDER_MANDATORY, 0x4003001F, "Border support mandatory for this Init type")\
437X(INOS_MCMSG_CODE_ROBOT_REF_MANDATORY, 0x40030020, "Reference support mandatory for this Init type")\
438X(INOS_MCMSG_CODE_ROBOT_SEARCH_REF_FAILED, 0x40030021, "Searching reference failed")\
439X(INOS_MCMSG_CODE_ROBOT_SHARED_NOT_READY, 0x40030022, "Shared partner axis not ready")\
440X(INOS_MCMSG_CODE_ROBOT_SHARED_NOT_ACTIVE, 0x40030023, "Shared partner axis not active")\
441X(INOS_MCMSG_CODE_ROBOT_SHARED_ON_ERROR, 0x40030024, "Shared partner axis on error")\
442X(INOS_MCMSG_CODE_ROBOT_LIMIT, 0x40030025, "Limit switch reached")\
443X(INOS_MCMSG_CODE_ROBOT_LIMIT_POS, 0x40030026, "Positive limit switch reached")\
444X(INOS_MCMSG_CODE_ROBOT_LIMIT_NEG, 0x40030027, "Negative limit switch reached")\
445X(INOS_MCMSG_CODE_ROBOT_INVALID_LINEAR_MOVE, 0x40030028, "Invalid linear move")\
446X(INOS_MCMSG_CODE_ROBOT_INVALID_SYNCPOINT, 0x40030029, "Invalid sync point")\
447X(INOS_MCMSG_CODE_ROBOT_CYCLETIME_INVALID, 0x4003002A, "Cycletime of axis doesn't match LinkSamplingRate in controller")\
448X(INOS_MCMSG_CODE_ROBOT_TURNS_INVALID, 0x4003002B, "Turns per minute of axis doesn't match Vcmd_10x in controller")\
449X(INOS_MCMSG_CODE_ROBOT_MISSING_PARAM, 0x4003002C, "Missing param set")\
450X(INOS_MCMSG_CODE_ROBOT_EVENT_NOT_SUP, 0x4003002D, "Event type not supported")\
451X(INOS_MCMSG_CODE_ROBOT_WHEEL_BUSY, 0x4003002E, "Wheel not allowed, axis busy")\
452X(INOS_MCMSG_CODE_ROBOT_NO_WHEEL, 0x4003002F, "Axis not in wheel mode")\
453X(INOS_MCMSG_CODE_ROBOT_UNKNOWN_SHAPE, 0x40030030, "Unknown shape")\
454X(INOS_MCMSG_CODE_ROBOT_INIT_AXIS_CALIB, 0x40030031, "Init not allowed, pos channel calibration enabled")\
455X(INOS_MCMSG_CODE_ROBOT_INVALID_START_POS, 0x40030032, "Invalid starting position")\
456X(INOS_MCMSG_CODE_ROBOT_MOVE_OFF, 0x40030033, "Move not allowed, axis off")\
457X(INOS_MCMSG_CODE_ROBOT_NOTHING_TO_CALIB, 0x40030034, "Nothing to calib")\
458X(INOS_MCMSG_CODE_ROBOT_CALIB_AXIS_CALIB, 0x40030035, "Calib not allowed, pos channel calibration enabled")\
459X(INOS_MCMSG_CODE_ROBOT_CALIB_BUSY, 0x40030036, "Calib not allowed, axis busy")\
460X(INOS_MCMSG_CODE_ROBOT_CALIB_NOT_ALLOWED, 0x40030037, "Calib of coupled axis not allowed")\
461X(INOS_MCMSG_CODE_ROBOT_UNKNOWN_CALIB_TYPE, 0x40030038,"Unknown calib type")\
462X(INOS_MCMSG_CODE_ROBOT_UNKNOWN_CALIB_DIR, 0x40030039, "Unknown calib direction")\
463X(INOS_MCMSG_CODE_ROBOT_NO_SOFTLIMITS, 0x4003003A, "Calib not allowed without soft limits")\
464X(INOS_MCMSG_CODE_ROBOT_CALIB_RANGE_TOO_SMALL, 0x4003003B, "Calib range too small")\
465X(INOS_MCMSG_CODE_ROBOT_SEARCH_REFERENCE_FAILED,0x4003003C, "Search reference failed")\
466X(INOS_MCMSG_CODE_ROBOT_OUT_OF_ALLOWED_RANGE, 0x4003003D, "Axis out of allowed range")\
467X(INOS_MCMSG_CODE_ROBOT_POWER_WAIT_TIMEOUT, 0x4003003E, "Timeout waiting for power")\
468X(INOS_MCMSG_CODE_ROBOT_MAPPING_MISMATCH, 0x4003003F, "Mapping mismatch detected")\
469X(INOS_MCMSG_CODE_ROBOT_MAPPED_POS_OUT_OF_RANGE,0x40030040, "Mapped position out of range")\
470X(INOS_MCMSG_CODE_ROBOT_CONTROLLER_TOO_FAST, 0x40030041, "Controller sampling rate too high")\
471X(INOS_MCMSG_CODE_ROBOT_BORDERLIMIT_SUPP, 0x40030042, "BorderLimit property must be supported by this axis type for 'init to border'")\
472X(INOS_MCMSG_CODE_ROBOT_BORDERLIMIT_VALUE, 0x40030043, "BorderLimit must be set to a useful value (e.g. in dt2) for this axis for 'init to border'")\
473X(INOS_MCMSG_CODE_ROBOT_NO_TRG_SUPPORT, 0x40030044, "Trigger not supported for this command")\
474X(INOS_MCMSG_CODE_ROBOT_UNKNOWN_SENSOR, 0x40030045, "Unknown sensor")\
475X(INOS_MCMSG_CODE_ROBOT_SHAPE_LENGTH, 0x40030046, "Shape length error")\
476X(INOS_MCMSG_CODE_ROBOT_SHAPE_DISCONTINUOUS, 0x40030047, "Shape discontinuous error")\
477X(INOS_MCMSG_CODE_ROBOT_SHAPE_CONSERVATIVE_TOLERANCE,0x40030048, "Conservative speed reduction and tolerance = 0.0 is not allowed")\
478X(INOS_MCMSG_CODE_ROBOT_CONCURRENT_PREPAREPATH, 0x40030049, "Concurrent PreparePath commands are not allowed")\
479X(INOS_MCMSG_CODE_ROBOT_CONCURRENT_RUNPATH, 0x4003004A, "Concurrent RunPath commands are not allowed")\
480X(INOS_MCMSG_CODE_ROBOT_SPEEDSET_HUGE_VALUE_JSON, 0x4003004B, "The JSON string defining the speed set values is too big (too many tokens would be required to parse it)")\
481X(INOS_MCMSG_CODE_ROBOT_SPEEDSET_VALUE_JSON_SYNTAX, 0x4003004C, "The JSON string defining the speed set values has not the expected syntax")\
482X(INOS_MCMSG_CODE_ROBOT_JOYSTICK_DISABLING, 0x4003004D, "Axis is already disabling joystick mode (axis is stopping right now)")\
483X(INOS_MCMSG_CODE_ROBOT_DIST_CODED_IMPL_MISSING,0x4003004E, "Distance coded implementation missing (method CINOSMcRobot::GetDistanceCodedPosition not overwritten)")\
484X(INOS_MCMSG_CODE_ROBOT_DIST_CODED_DATA_MISSING,0x4003004F, "Distance coded configuration data missing")\
485X(INOS_MCMSG_CODE_ROBOT_ABSENC_TYPE_READ_FAILED,0x40030050, "Failed to read absolute encoder type")\
486X(INOS_MCMSG_CODE_ROBOT_ABSENC_TYPE_UNKNOWN, 0x40030051, "Unknown absolute encoder type detected")\
487X(INOS_MCMSG_CODE_ROBOT_ABSENC_READ_FAILED, 0x40030052, "Failed to read absolute encoder")\
488X(INOS_MCMSG_CODE_ROBOT_ABSENC_READ_ERRORS, 0x40030053, "Error reads on absolute encoder, please check the connection")\
489X(INOS_MCMSG_CODE_ROBOT_ABSENC_READ_NO_OK, 0x40030054, "No ok reads on absolute encoder, please check the configuration")\
490X(INOS_MCMSG_CODE_ROBOT_MISMATCH_COREID, 0x40030055, "Module and axes running on different cores")\
491X(INOS_MCMSG_CODE_ROBOT_REFSEARCH_TOLERANCE_ZERO,0x40030056, "Reference search tolerance must not be zero")\
492X(INOS_MCMSG_CODE_ROBOT_REFSEARCH_BACK_ZERO, 0x40030057, "Reference search back must not be zero")\
493X(INOS_MCMSG_CODE_ROBOT_REFSEARCH_TOLERANCE_FAILED,0x40030058, "Safe reference search out of tolerance")\
494X(INOS_MCMSG_CODE_ROBOT_REFSEARCH_SECOND_FAILED,0x40030059, "Searching the reference a second time failed")\
495X(INOS_MCMSG_CODE_ROBOT_REFSEARCH_SAFE_CONTROLLER_NOT_AVAILABLE,0x4003005A, "Reference search type 'safe controller' not available for this axis")\
496X(INOS_MCMSG_CODE_ROBOT_CMD_RESULT_ON_STACK, 0x4003005B, "Result of McRobot command can't be on stack, use a member variable instead")\
497X(INOS_MCMSG_CODE_ROBOT_MOTORCONFIG_NOT_FOUND, 0x4003005C, "Axis motor config (cpf) not found")\
498X(INOS_MCMSG_CODE_ROBOT_MOTORCONFIG_MISSING, 0x4003005D, "Axis motor config (cpf) missing, no config file given and flash contains no valid config")\
499X(INOS_MCMSG_CODE_ROBOT_MOTORCONFIG_NOT_UNIQUE, 0x4003005E, "Axis motor config (cpf) is not unique, multiple axis uses this config and this is not allowed")\
500X(INOS_MCMSG_CODE_ROBOT_CMD_REJECTED, 0x40030100, "Axis command rejected")\
501X(INOS_MCMSG_CODE_ROBOT_CMD_FAILED, 0x40030101, "Axis command failed")\
502X(INOS_MCMSG_CODE_ROBOT_POS_WINDOW, 0x40030102, "Positioning window failed")\
503X(INOS_MCMSG_CODE_ROBOT_CPD_ERROR, 0x40030103, "Coupled axis on error")\
504X(INOS_MCMSG_CODE_ROBOT_CPD_DELTA, 0x40030104, "Max. allowed coupling delta reached")\
505X(INOS_MCMSG_CODE_ROBOT_CPD_CORR, 0x40030105, "Max. allowed coupling correction exceeded")\
506X(INOS_MCMSG_CODE_ROBOT_COM_FAILED, 0x40030106, "Communication to foreign controller failed")\
507X(INOS_MCMSG_CODE_ROBOT_RAMP_LIMIT, 0x40030107, "Ramp limits exceeded")\
508X(INOS_MCMSG_CODE_ROBOT_REJECTED_SOS, 0x40030108, "Move not allowed, axis in SOS (safe operating stop)")\
509X(INOS_MCMSG_CODE_ROBOT_PULL_UNDERRUN, 0x40030109, "Pull underrun detected")\
510X(INOS_MCMSG_CODE_ROBOT_SLS_VIOLATION, 0x4003010A, "Emergency stop due to upcoming SLS violation")\
511X(INOS_MCMSG_CODE_ROBOT_SOS_VIOLATION, 0x4003010B, "Emergency stop due to upcoming SOS violation")\
512X(INOS_MCMSG_CODE_ROBOT_AXIS_CORE_MISMATCH, 0x4003010C, "Axis command called from wrong core")\
513X(INOS_MCMSG_CODE_ROBOT_POS_RANGE, 0x40030200, "Requested position out of range")\
514X(INOS_MCMSG_CODE_ROBOT_RAMP_CALC_FAILED, 0x40030201, "Ramp calculation failed")\
515X(INOS_MCMSG_CODE_ROBOT_MIM_POS_RANGE, 0x40030202, "Move in move position out of range")\
516X(INOS_MCMSG_CODE_ROBOT_RAMP_OVERSAMPLE, 0x40030203, "Ramp samples do not fit oversampling")\
517X(INOS_MCMSG_CODE_ROBOT_VMAX_REACHED, 0x40030204, "Allowed Vmax reached")\
518X(INOS_MCMSG_CODE_ROBOT_MOVE_NOT_IN_CACHE, 0x40030205, "Trajectory was not in cache as expected")\
519X(INOS_MCMSG_CODE_ROBOT_RAMP_CORE_MISMATCH, 0x40030206, "Ramp command called from wrong core")\
520X(INOS_MCMSG_CODE_ROBOT_POS_CHECK, 0x40030300, "Position check error")\
521X(INOS_MCMSG_CODE_ROBOT_POS_OVR, 0x40030301, "Position channel overrun detected")\
522X(INOS_MCMSG_CODE_ROBOT_OSCI_CHECK, 0x40030302, "Oscillation detected")\
523X(INOS_MCMSG_CODE_ROBOT_ENABLE_MISSING, 0x40030303, "Enable missing")\
524X(INOS_MCMSG_CODE_ROBOT_HOMING_FAILED, 0x40030304, "CiA402 homing failed")\
525X(INOS_MCMSG_CODE_ROBOT_SAFE_SYNC_FAILED, 0x40030305, "Safe sync failed")\
526X(INOS_MCMSG_CODE_ROBOT_MASTER_FIELDBUS_WATCHDOG,0x40030306, "GinLink master detected a fieldbus watchdog")\
527X(INOS_MCMSG_CODE_ROBOT_NO_POS, 0x4003030C, "No position channel available")\
528X(INOS_MCMSG_CODE_ROBOT_ACTIVATE, 0x4003030D, "Activation error")\
529X(INOS_MCMSG_CODE_ROBOT_EXTERN, 0x4003030E, "External controller error")\
530X(INOS_MCMSG_CODE_ROBOT_POS_OFFLINE, 0x4003030F, "Position channel offline")\
531X(INOS_MCMSG_CODE_ROBOT_EXT_STOP, 0x40030310, "External controller stop")\
532X(INOS_MCMSG_CODE_ROBOT_UCC_MIN, 0x40030311, "Ucc smaller than min. allowed Ucc")\
533X(INOS_MCMSG_CODE_ROBOT_UCC_MAX, 0x40030312, "Ucc higher than max. allowed Ucc")\
534X(INOS_MCMSG_CODE_ROBOT_I2T, 0x40030313, "I2T exceeded")\
535X(INOS_MCMSG_CODE_ROBOT_CTRL_TEMP, 0x40030314, "External controller max. temperature exceeded")\
536X(INOS_MCMSG_CODE_ROBOT_MOTOR_TEMP, 0x40030315, "Motor max. temperature exceeded")\
537X(INOS_MCMSG_CODE_ROBOT_MOTOR_SHORT, 0x40030316, "Motor short circuit")\
538X(INOS_MCMSG_CODE_ROBOT_RESOLVER, 0x40030317, "Resolver/SinCos error")\
539X(INOS_MCMSG_CODE_ROBOT_VMAX, 0x40030318, "Vmax exceeded")\
540X(INOS_MCMSG_CODE_ROBOT_ICONT, 0x40030319, "I continuous exceeded")\
541X(INOS_MCMSG_CODE_ROBOT_IOFFS, 0x4003031A, "I offset or autocommutation failure")\
542X(INOS_MCMSG_CODE_ROBOT_IEND, 0x4003031B, "Imax exceeded")\
543X(INOS_MCMSG_CODE_ROBOT_PHASE_ERR, 0x4003031C, "Phase error")\
544X(INOS_MCMSG_CODE_ROBOT_PWM_WTG, 0x4003031D, "Controller interrupt overrun")\
545X(INOS_MCMSG_CODE_ROBOT_EXT_EN, 0x4003031E, "External enable missing")\
546X(INOS_MCMSG_CODE_ROBOT_MOTOR_CONFIG, 0x4003031F, "Motor configuration missing or reset necessary")\
547X(INOS_MCMSG_CODE_ROBOT_FIELDBUS_WATCHDOG, 0x40030320, "Fieldbus watchdog occurred")\
548X(INOS_MCMSG_CODE_ROBOT_BRAKE_I2T, 0x40030321, "Ballast I2t > 100%")\
549X(INOS_MCMSG_CODE_ROBOT_24V_LOGIC_LOW, 0x40030322, "24V logic low")\
550X(INOS_MCMSG_CODE_ROBOT_ICONT_ARM, 0x40030323, "I continuous exceeded")\
551X(INOS_MCMSG_CODE_ROBOT_SPEED_ERROR_EXCEEDED, 0x40030324, "Speed error exceeded")\
552X(INOS_MCMSG_CODE_ROBOT_SINCOS_ERROR, 0x40030325, "SinCos error")\
553X(INOS_MCMSG_CODE_ROBOT_ABS_ENCODER_HAS_ERRORS, 0x40030326, "Absolute encoder has errors")\
554X(INOS_MCMSG_CODE_ROBOT_TESTMODE_ERRORS, 0x40030327, "Test Mode error")\
555X(INOS_MCMSG_CODE_ROBOT_MOTCFG_REV_TO_HIGH, 0x40030328, "MotorConfig version too new for this system, please update system")\
556X(INOS_MCMSG_CODE_ROBOT_SAFETY_INPUT, 0x40030330, "Safety input missing")\
557X(INOS_MCMSG_CODE_ROBOT_CMD_IGNORED, 0x40030500, "Axis command ignored")\
558X(INOS_MCMSG_CODE_ROBOT_CPD_CORR_IGNORED, 0x40030501, "Coupling correction ignored")\
559X(INOS_MCMSG_CODE_ROBOT_CPD_WARNING, 0x40030503, "Coupled axis has warnings")\
560X(INOS_MCMSG_CODE_ROBOT_EMG_STOPPED, 0x40030504, "Axis has been emergency stopped")\
561X(INOS_MCMSG_CODE_ROBOT_AXIS_WRN_CORE_MISMATCH, 0x40030505, "Axis command called from wrong core")\
562X(INOS_MCMSG_CODE_ROBOT_MIM_DEC, 0x40030600, "Move in move during deceleration")\
563X(INOS_MCMSG_CODE_ROBOT_RAMP_WRN_CORE_MISMATCH, 0x40030601, "Ramp command called from wrong core")\
564X(INOS_MCMSG_CODE_ROBOT_INT_LIMIT, 0x40030700, "Integrator limit reached")\
565X(INOS_MCMSG_CODE_ROBOT_FSL_LIMIT, 0x40030701, "Full scale limit reached")\
566X(INOS_MCMSG_CODE_ROBOT_EXTERN_WRN, 0x4003070E, "External controller warning")\
567X(INOS_MCMSG_CODE_ROBOT_UCC_LOW, 0x40030710, "Ucc low")\
568X(INOS_MCMSG_CODE_ROBOT_UCC_ON, 0x40030711, "Ucc on")\
569X(INOS_MCMSG_CODE_ROBOT_IMAX_REACHED, 0x40030712, "Imax reached")\
570X(INOS_MCMSG_CODE_ROBOT_CTRL_TEMP_HIGH, 0x40030714, "Controller temperature high")\
571X(INOS_MCMSG_CODE_ROBOT_I2T_HIGH, 0x40030715, "Motor I2t high")\
572X(INOS_MCMSG_CODE_ROBOT_MOT_TEMP_HIGH, 0x40030716, "Motor temperature high")\
573X(INOS_MCMSG_CODE_ROBOT_PWM_100, 0x40030717, "Pwm over 100%")\
574X(INOS_MCMSG_CODE_ROBOT_DISCH_FAILED, 0x40030718, "Discharge failed")\
575X(INOS_MCMSG_CODE_ROBOT_UNEXPECTED, 0x40030719, "Unexpected error")\
576X(INOS_MCMSG_CODE_ROBOT_BRAKE_I2T_WRN, 0x4003071A, "Ballast I2t > 100%")\
577X(INOS_MCMSG_CODE_ROBOT_SINCOS_WEAK_SIGNAL, 0x4003071B, "SinCos weak signal")\
578X(INOS_MCMSG_CODE_ROBOT_ABS_ENCODER_HAS_WARNINGS,0x4003071C, "Absolute encoder has warnings")\
579X(INOS_MCMSG_CODE_ROBOT_FCTRL_NOT_AVAILABLE, 0x40030800, "Force controller not available")\
580X(INOS_MCMSG_CODE_ROBOT_FCTRL_CONCURRENT, 0x40030801, "Concurrent force commands are not allowed")\
581X(INOS_MCMSG_CODE_ROBOT_FCTRL_WRONG_ASTATE, 0x40030802, "Force command not allowed, axis in wrong state")\
582X(INOS_MCMSG_CODE_ROBOT_FCTRL_STAB_TIMEOUT, 0x40030803, "Timeout stabilizing force control")\
583X(INOS_MCMSG_CODE_ROBOT_FCTRL_TOUCH_DOWN_ERR, 0x40030804, "Searching touch down failed")\
584X(INOS_MCMSG_CODE_ROBOT_FCTRL_UNKNOWN_PARAM, 0x40030805, "Unknown param set requested")\
585X(INOS_MCMSG_CODE_ROBOT_FCTRL_WRONG_FSTATE_ACT, 0x40030806, "Force command 'Activate' not allowed, controller in wrong state")\
586X(INOS_MCMSG_CODE_ROBOT_FCTRL_WRONG_FSTATE_APP, 0x40030807, "Force command 'Approach' not allowed, controller in wrong state")\
587X(INOS_MCMSG_CODE_ROBOT_FCTRL_WRONG_FSTATE_DEP, 0x40030808, "Force command 'Depart' not allowed, controller in wrong state")\
588X(INOS_MCMSG_CODE_ROBOT_FCTRL_WRONG_FSTATE_MOV, 0x40030809, "Force command 'Move' not allowed, controller in wrong state")\
589X(INOS_MCMSG_CODE_ROBOT_FCTRL_WRONG_FSTATE_TAR, 0x4003080A, "Force command 'Tara' not allowed, controller in wrong state")\
590X(INOS_MCMSG_CODE_ROBOT_FCTRL_WRONG_FSTATE_LIM, 0x4003080B, "Force command 'Limit' not allowed, controller in wrong state")\
591X(INOS_MCMSG_CODE_ROBOT_FCTRL_WRONG_FSTATE_SEL, 0x4003080C, "Force command 'Select' not allowed, controller in wrong state")\
592X(INOS_MCMSG_CODE_ROBOT_FCTRL_NOT_SUPPORTED, 0x4003080D, "Force control not supported by external controller")\
593X(INOS_MCMSG_CODE_ROBOT_FCTRL_COLLAPSED, 0x4003080E, "Force control collapse detected")\
594X(INOS_MCMSG_CODE_ROBOT_FCTRL_WRONG_FSTATE_BRK, 0x4003080F, "Force command 'Break' not allowed, controller in wrong state")\
595X(INOS_MCMSG_CODE_ROBOT_FCTRL_ENABLED_COLLAPSE_DETECTION_REQUIRED,0x40030810, "Force command 'Break' requires enabled collapse detection")\
596X(INOS_MCMSG_CODE_ROBOT_FCTRL_COLLAPSE_AS_ERROR_NOT_ALLOWED,0x40030811, "Force command 'Break' does not allow collapse as error")\
597X(INOS_MCMSG_CODE_ROBOT_FCTRL_BREAK_FAILED, 0x40030812, "Force command 'Break' failed, no collapse detected")\
598X(INOS_MCMSG_CODE_ROBOT_FCTRL_WRONG_FSTATE_PUL, 0x40030813, "Force command 'Pull' not allowed, controller in wrong state")\
599X(INOS_MCMSG_CODE_ROBOT_FCTRL_WRONG_FSTATE_MOV_STOP,0x40030814, "Force command 'MoveStop' not allowed, controller in wrong state")\
600X(INOS_MCMSG_CODE_ROBOT_GSB_POS_CHECK, 0x40031300, "Position check error")\
601X(INOS_MCMSG_CODE_ROBOT_GSB_OVR, 0x40031301, "Position channel overrun detected")\
602X(INOS_MCMSG_CODE_ROBOT_GSB_NO_POS, 0x4003130C, "No position channel available")\
603X(INOS_MCMSG_CODE_ROBOT_GSB_ACTIVATE, 0x4003130D, "Activation error")\
604X(INOS_MCMSG_CODE_ROBOT_GSB_EXTERN, 0x4003130E, "External controller error")\
605X(INOS_MCMSG_CODE_ROBOT_GSB_POS_OFFLINE, 0x4003130F, "Position channel offline")\
606X(INOS_MCMSG_CODE_ROBOT_GSB_RX_FIFO_OVERRUN, 0x40031310, "Rx fifo overrun")\
607X(INOS_MCMSG_CODE_ROBOT_GSB_TX_FIFO_OVERRUN, 0x40031311, "Tx fifo overrun")\
608X(INOS_MCMSG_CODE_ROBOT_GSB_TX_FIFO_UNDERRUN, 0x40031312, "Tx fifo underrun")\
609X(INOS_MCMSG_CODE_ROBOT_SL2_POS_CHECK, 0x40032300, "Position check error")\
610X(INOS_MCMSG_CODE_ROBOT_SL2_OVR, 0x40032301, "Position channel overrun detected")\
611X(INOS_MCMSG_CODE_ROBOT_SL2_NO_POS, 0x4003230C, "No position channel available")\
612X(INOS_MCMSG_CODE_ROBOT_SL2_ACTIVATE, 0x4003230D, "Activation error")\
613X(INOS_MCMSG_CODE_ROBOT_SL2_EXTERN, 0x4003230E, "External controller error")\
614X(INOS_MCMSG_CODE_ROBOT_SL2_POS_OFFLINE, 0x4003230F, "Position channel offline")\
615X(INOS_MCMSG_CODE_ROBOT_SL2_RX_FIFO_OVERRUN, 0x40032310, "SL2 Rx fifo overrun")\
616X(INOS_MCMSG_CODE_ROBOT_SL2_TX_FIFO_OVERRUN, 0x40032311, "SL2 Tx fifo overrun")\
617X(INOS_MCMSG_CODE_ROBOT_SL2_TX_FIFO_UNDERRUN, 0x40032312, "SL2 Tx fifo underrun")\
618X(INOS_MCMSG_CODE_ROBOT_SL2_ASC_ERROR, 0x40032314, "SL2 automatic selfcalibration failed")\
619X(INOS_MCMSG_CODE_ROBOT_SL2_POSACK_ERROR, 0x40032315, "SL2 position check error")\
620X(INOS_MCMSG_CODE_ROBOT_SL2_TEMPOK_ERROR, 0x40032316, "SL2 temperature error")\
621X(INOS_MCMSG_CODE_ROBOT_SL2_POWEROK_ERROR, 0x40032317, "SL2 power error")\
622X(INOS_MCMSG_CODE_ROBOT_SL2_RX_STOPPED, 0x40032318, "SL2 RX stopped for some reason")\
623X(INOS_MCMSG_CODE_ROBOT_SL2_TX_STOPPED, 0x40032319, "SL2 TX stopped for some reason")\
624X(INOS_MCMSG_CODE_ROBOT_SL2_FEEDBACK_INVALID, 0x40032320, "SL2 invalid feedback code requested")\
625X(INOS_MCMSG_CODE_ROBOT_VALVE_GEN_ERROR, 0x40032321, "Unspecified valve error")\
626X(INOS_MCMSG_CODE_ROBOT_VALVE_UCC_ERROR, 0x40032322, "Valve UCC error")\
627X(INOS_MCMSG_CODE_ROBOT_VALVE_TIMEOUT, 0x40032323, "Valve timeout")\
628X(INOS_MCMSG_CODE_ROBOT_VALVE_BUSY, 0x40032324, "Command not allowed, valve already busy")\
629\
630/*--- CINOSMcLua (0x0004xxxx) -----------------------------------------*/\
631\
632X(INOS_MCMSG_CODE_LUA_RUNTIME_ERROR, 0x40040000, "Lua runtime error")\
633X(INOS_MCMSG_CODE_LUA_ERR_ERROR, 0x40040001, "Lua error handling error")\
634X(INOS_MCMSG_CODE_LUA_COMPILE_ERROR, 0x40040002, "Lua compile error")\
635X(INOS_MCMSG_CODE_LUA_CALL_ERROR, 0x40040003, "Lua function call error")\
636X(INOS_MCMSG_CODE_LUA_CONFLICTING_PATH, 0x40040004, "Conflicting path error")\
637X(INOS_MCMSG_CODE_LUA_UNKNOWN_MODULE, 0x40040005, "Module not defined")\
638X(INOS_MCMSG_CODE_LUA_TOP_REGISTER, 0x40040006, "Top module registration error")\
639X(INOS_MCMSG_CODE_LUA_MUTEX_TASK_ERROR, 0x40040007, "Wrong Lua task tried to release mutex")\
640X(INOS_MCMSG_CODE_LUA_SCRIPT_NOT_FOUND, 0x40040008, "Lua script not found")\
641X(INOS_MCMSG_CODE_LUA_TASK_BUSY, 0x40040009, "Lua task is busy")\
642X(INOS_MCMSG_CODE_LUA_TASK_NOT_LOADED, 0x4004000A, "Lua task is not in state loaded")\
643X(INOS_MCMSG_CODE_LUA_TASK_NOT_FOUND, 0x4004000B, "Lua task is not found")\
644X(INOS_MCMSG_CODE_LUA_EMPTY_TASK_NAME, 0x4004000C, "Lua task name empty")\
645X(INOS_MCMSG_CODE_LUA_SET_VAR_TYPE, 0x4004000D, "Lua set variable not supported for this type")\
646X(INOS_MCMSG_CODE_LUA_SET_VAR_BAD_PATH, 0x4004000E, "Lua set variable on invalid path")\
647X(INOS_MCMSG_CODE_LUA_BAD_VAL_TYPE, 0x4004000F, "Lua debug value-type")\
648X(INOS_MCMSG_CODE_LUA_BAD_VAR_NAME, 0x40040010, "Lua debug, invalid variable name")\
649X(INOS_MCMSG_CODE_LUA_BAD_STACK_FRAME, 0x40040011, "Lua debug, invalid stack frame")\
650X(INOS_MCMSG_CODE_LUA_VALUE_TO_PARAM_TYPE, 0x40040012, "Lua conversion to McRobot praram error: Unsupported type")\
651X(INOS_MCMSG_CODE_LUA_CHUNK_TYPE, 0x40040013, "Lua RunChunk called with param wrong type")\
652X(INOS_MCMSG_CODE_LUA_UNKNOWN_SEMAPHORE_ERROR, 0x40040014, "Unknown Lua semaphore")\
653X(INOS_MCMSG_CODE_LUA_ERR_RETURN_NOVALUES, 0x40040015, "Lua script returned too many values")\
654X(INOS_MCMSG_CODE_LUA_ERR_RETURN_INCOMPLETE, 0x40040016, "Lua script returned incomplete McResult")\
655X(INOS_MCMSG_CODE_LUA_ERR_NUMBER_OF_PARAMETERS, 0x40040017, "Invalid number of parameters")\
656X(INOS_MCMSG_CODE_LUA_NON_EXISTING_CMD, 0x40040018, "Command does not exist anymore")\
657X(INOS_MCMSG_CODE_LUA_NON_EXISTING_MOD, 0x40040019, "Module does not exist anymore")\
658X(INOS_MCMSG_CODE_LUA_TASK_ALREADY_EXISTS, 0x4004001A, "Lua task already exists")\
659X(INOS_MCMSG_CODE_LUA_MEMORY_ERROR, 0x4004001B, "Lua memory error")\
660X(INOS_MCMSG_CODE_LUA_RESERVED, 0x4004001C, "Depracated error, use me for next error definition")\
661X(INOS_MCMSG_CODE_LUA_UNEXPECTED_INTERNAL_ERROR,0x4004001D, "Unexpected error while accessing Lua state from internal function")\
662X(INOS_MCMSG_CODE_LUA_SHUTDOWN_WITH_TASKS, 0x4004001E, "Shutdown of Lua with active tasks is not possible")\
663X(INOS_MCMSG_CODE_LUA_MISSING_EVENT_FOR_TRIGGER,0x4004001F, "Event for trigger missing after completed call.")\
664X(INOS_MCMSG_CODE_LUA_MAX_PARAM_TABLE_DEPTH, 0x40040020, "Maximal depth of table structure for message/result param exceeded.")\
665X(INOS_MCMSG_CODE_LUA_PARAM_TABLE_KEY_TYPE, 0x40040021, "Param table keys must be of type string or number.")\
666X(INOS_MCMSG_CODE_LUA_UD_TO_PARAM_FAILED, 0x40040022, "Lua userdata to McRobot param conversion failed.")\
667X(INOS_MCMSG_CODE_LUA_PARAM_TO_LUA_VALUE_TYPE, 0x40040023, "McRobot param to Lua value conversion failed.")\
668X(INOS_MCMSG_CODE_LUA_PARAM_TO_UD_FAILED, 0x40040024, "McRobot param to Lua userdata conversion failed.")\
669X(INOS_MCMSG_CODE_LUA_GC_ERROR, 0x40040025, "Lua garbage collection error") \
670\
671/*--- CINOSMcMessage (0x0005xxxx) -----------------------------------------*/\
672\
673X(INOS_MCMSG_CODE_MESSAGE_INVALID_INDEX, 0x40050000, "Invalid message index")\
674X(INOS_MCMSG_CODE_MESSAGE_UNKNOWN_ID, 0x40050001, "Unknown message id")\
675X(INOS_MCMSG_CODE_MESSAGE_WRONG_FLAG, 0x40050002, "Wrong flag given to ack message")\
676\
677/*--- CINOSMcGinHmi (0x0006xxxx) -----------------------------------------*/\
678\
679X(INOS_MCMSG_CODE_GINHMI_ON_FAILED, 0x40060000, "Switching on GIN-GMI failed due to a communication error")\
680X(INOS_MCMSG_CODE_GINHMI_OFF_FAILED, 0x40060001, "Switching off GIN-GMI failed due to a communication error")\
681X(INOS_MCMSG_CODE_GINHMI_RESET_FAILED, 0x40060002, "Resetting GIN-GMI failed due to a communication error")\
682\
683/*--- CINOSMcGuardian (0x0010xxxx) -----------------------------------------*/\
684\
685X(INOS_MCMSG_CODE_TARGET_TRAP, 0x40100001, "Target on TRAP")\
686X(INOS_MCMSG_CODE_TARGET_ASSERT, 0x40100002, "Target on ASSERT")\
687X(INOS_MCMSG_CODE_TARGET_RAM_FAILURE, 0x40100003, "Target RAM failure")\
688X(INOS_MCMSG_CODE_TARGET_WATCHDOG, 0x40100004, "Target watchdog occurred")\
689X(INOS_MCMSG_CODE_TARGET_NOT_CORE0, 0x40100005, "Code intended for core 0 was executed by some other core")\
690X(INOS_MCMSG_CODE_TARGET_BOOTING, 0x40100006, "Target is booting ...")\
691X(INOS_MCMSG_CODE_TARGET_TIMING_ERROR, 0x40100007, "Target 'timing error' occurred (see Eventlog for more info)")\
692X(INOS_MCMSG_CODE_TARGET_REALTIME_MUTEX, 0x40100008, "CINOSMutex::Request called from a realtime task, which is not allowed")\
693X(INOS_MCMSG_CODE_TARGET_REALTIME_SYNC, 0x40100009, "CINOSSync::Wait called from a realtime task, which is not allowed")\
694X(INOS_MCMSG_CODE_TARGET_GUARD, 0x4010000A, "System guard occured")\
695\
696/*--- CINOSMcNvRam (0x0011xxxx) -----------------------------------------*/\
697\
698X(INOS_MCMSG_CODE_NVRAM_INITIALISED, 0x40110001, "NvRam initialised")\
699X(INOS_MCMSG_CODE_NVRAM_MAX_WARNING, 0x40110002, "Max. number of NvRam warnings reached")\
700X(INOS_MCMSG_CODE_NVRAM_NO_NVRAM, 0x40110003, "No NvRam available")\
701X(INOS_MCMSG_CODE_NVRAM_GROUP_CREATED, 0x40110004, "NvRam group created")\
702X(INOS_MCMSG_CODE_NVRAM_GROUP_CONFLICT, 0x40110005, "NvRam group naming conflict")\
703X(INOS_MCMSG_CODE_NVRAM_VALUE_CREATED, 0x40110006, "NvRam value created")\
704X(INOS_MCMSG_CODE_NVRAM_VALUE_CONFLICT, 0x40110007, "NvRam value naming conflict")\
705X(INOS_MCMSG_CODE_NVRAM_VALUE_INVALID, 0x40110008, "NvRam value invalid")\
706X(INOS_MCMSG_CODE_NVRAM_VALUE_NO_HND, 0x40110009, "No NvRam handler found")\
707X(INOS_MCMSG_CODE_NVRAM_VALUE_NOT_FOUND, 0x4011000A, "NvRam value not found")\
708X(INOS_MCMSG_CODE_NVRAM_WRONG_TYPE, 0x4011000B, "Wrong NvRam value type detected")\
709X(INOS_MCMSG_CODE_NVRAM_UNKNOWN_TYPE, 0x4011000C, "Unknown NvRam value type detected")\
710X(INOS_MCMSG_CODE_NVRAM_ID_INVALID, 0x4011000D, "Invalid NvRam id given")\
711X(INOS_MCMSG_CODE_NVRAM_LONG_STRING_CUTTED, 0x4011000E, "NvRam long string cutted to normal string, reset NvRam to solve")\
712X(INOS_MCMSG_CODE_NVRAM_DEVICE_NOT_WORKING, 0x4011000F, "NvRam device is not working, reboot is required")\
713\
714/*--- CINOSBus (0x0012xxxx) -----------------------------------------*/\
715\
716X(INOS_MCMSG_CODE_BUS_ERROR_COUNTER, 0x40120001, "Fieldbus error occurred")\
717X(INOS_MCMSG_CODE_BUS_OVERRUN, 0x40120002, "Fieldbus overrun detected")\
718X(INOS_MCMSG_CODE_BUS_LINK_DOWN, 0x40120003, "Fieldbus link down")\
719X(INOS_MCMSG_CODE_BUS_POST_OVERRUN, 0x40120004, "Fieldbus post overrun detected")\
720X(INOS_MCMSG_CODE_BUS_SYNCCORES_TIMEOUT, 0x40120005, "Timeout while syncing cores")\
721X(INOS_MCMSG_CODE_BUS_RESCAN, 0x40120006, "Fieldbus rescan happened")\
722X(INOS_MCMSG_CODE_BUS_MAINTENANCE, 0x40120007, "Fieldbus maintenance overrun detected")\
723X(INOS_MCMSG_CODE_BUS_HOOK_WRONG_STATE, 0x40120100, "Hooks handler in wrong state")\
724X(INOS_MCMSG_CODE_BUS_HOOK_CORES_INVALID, 0x40120101, "Invalid number of cores given")\
725X(INOS_MCMSG_CODE_BUS_HOOK_COREBASE_INVALID, 0x40120102, "Invalid core base given")\
726X(INOS_MCMSG_CODE_BUS_HOOK_COREID_INVALID, 0x40120103, "Invalid core id given")\
727X(INOS_MCMSG_CODE_BUS_HOOK_GROUPID_INVALID, 0x40120104, "Invalid group id given (only 0..3 allowed)")\
728X(INOS_MCMSG_CODE_BUS_HOOK_CATEGORIES_INVALID, 0x40120105, "Invalid number of categories given")\
729X(INOS_MCMSG_CODE_BUS_HOOK_CATEGORY_INVALID, 0x40120106, "Invalid category given")\
730X(INOS_MCMSG_CODE_BUS_HOOK_CATEGORY_INVALID_CYCLETIME, 0x40120107, "Invalid category cycletime given")\
731X(INOS_MCMSG_CODE_BUS_HOOK_CATEGORY_NO_VALID_FOUND, 0x40120108, "No valid category found")\
732X(INOS_MCMSG_CODE_BUS_HOOK_CYCLENUMBER_INVALID, 0x40120109, "Invalid cyclenumber given")\
733X(INOS_MCMSG_CODE_BUS_HOOK_CYCLETIME_INVALID, 0x4012010A, "Invalid cycletime given")\
734X(INOS_MCMSG_CODE_BUS_HOOK_ORDER_INVALID, 0x4012010B, "Invalid order given")\
735X(INOS_MCMSG_CODE_BUS_HOOK_HANDLER_INVALID, 0x4012010C, "Invalid handler given")\
736X(INOS_MCMSG_CODE_BUS_HOOK_HOOKS_INVALID, 0x4012010D, "Invalid number of hooks given")\
737X(INOS_MCMSG_CODE_BUS_HOOK_HOOKS_POWER_OF_TWO, 0x4012010E, "Number of hooks has to be a power of 2")\
738X(INOS_MCMSG_CODE_BUS_HOOK_NO_MORE_HOOKS_LEFT, 0x4012010F, "No more hooks left")\
739X(INOS_MCMSG_CODE_BUS_HOOK_HOOKID_INVALID, 0x40120110, "Invalid hook id given")\
740X(INOS_MCMSG_CODE_BUS_HOOK_NODE_LEAK_DETECTED, 0x40120111, "Hook node leak at shutdown detected")\
741X(INOS_MCMSG_CODE_BUS_HOOK_ORDER_MISMATCH, 0x40120112, "Hook order mismatch detected")\
742X(INOS_MCMSG_CODE_BUS_HOOK_EXCEPTION_NOT_SUPPORTED, 0x40120113, "Exception handling not supported")\
743\
744/*--- CINOSSio (0x0013xxxx) -----------------------------------------*/\
745\
746X(INOS_MCMSG_CODE_SIO_ERROR, 0x40130000, "Unknown SIO error")\
747X(INOS_MCMSG_CODE_SIO_INTERNAL_ERROR, 0x40130005, "Internal communication error")\
748X(INOS_MCMSG_CODE_SIO_ABORT_CHAR, 0x40130020, "Abort character received")\
749X(INOS_MCMSG_CODE_SIO_FRAMING_ERR, 0x40130021, "Framing error")\
750X(INOS_MCMSG_CODE_SIO_PARITY_ERR, 0x40130022, "Parity error")\
751X(INOS_MCMSG_CODE_SIO_OVERRUN_ERR, 0x40130023, "Overrun error")\
752X(INOS_MCMSG_CODE_SIO_INP_OVERFLOW, 0x40130024, "Input buffer overflow")\
753X(INOS_MCMSG_CODE_SIO_DSR_MISSING, 0x40130025, "DSR input missing")\
754X(INOS_MCMSG_CODE_SIO_TIMEOUT, 0x40130026, "Communication timeout")\
755X(INOS_MCMSG_CODE_SIO_DEBUG_MODE, 0x40130027, "Channel is in debug mode")\
756X(INOS_MCMSG_CODE_SIO_CHANNEL, 0x40130028, "Unknown SIO channel")\
757X(INOS_MCMSG_CODE_SIO_CANCELED, 0x40130029, "Command canceled by a ResetDevice")\
758X(INOS_MCMSG_CODE_SIO_MAXCHARS, 0x4013002A, "Max. number of chars received")\
759\
760/*--- CINOSMovePath (0x0014xxxx) -----------------------------------------*/\
761\
762/* movepath */\
763X(INOS_MOVEPATH_ERROR_GENERAL, 0x40140000, "General movepath error")\
764X(INOS_MOVEPATH_ERROR_COMMAND_UNKNOWN, 0x40140001, "Unknown movepath command")\
765X(INOS_MOVEPATH_ERROR_COMMAND_CANCELED, 0x40140002, "Command canceled")\
766X(INOS_MOVEPATH_ERROR_COMMAND_REJECTED_WRONG_STATE, 0x40140003, "Command rejected, path in wrong state")\
767X(INOS_MOVEPATH_ERROR_COMMAND_REJECTED_ERROR, 0x40140004, "Command rejected, path is on error")\
768X(INOS_MOVEPATH_ERROR_INVALID_POINTER, 0x40140005, "Ivalid pointer given")\
769X(INOS_MOVEPATH_ERROR_OPTION_INVALID, 0x40140006, "Invalid movepath option requested")\
770X(INOS_MOVEPATH_ERROR_OPTION_EXCEPTION, 0x40140007, "Exception support disabled")\
771X(INOS_MOVEPATH_ERROR_OPTION_ASYNCH, 0x40140008, "Asynchronous support disabled")\
772X(INOS_MOVEPATH_ERROR_UNKNOWN_CURVE_TYPE, 0x40140009, "Unknown curve type requested")\
773X(INOS_MOVEPATH_ERROR_UNKNOWN_INTERPOLATOR_TYPE,0x4014000A, "Unknown interpolator type requested")\
774X(INOS_MOVEPATH_ERROR_UNKNOWN_TRAJECTORY_TYPE, 0x4014000B, "Unknown trajectory type requested")\
775X(INOS_MOVEPATH_ERROR_INVALID_AXIS_INDEX, 0x4014000C, "Invalid axis index requested")\
776X(INOS_MOVEPATH_ERROR_ASCENDING_AXIS_INDEX, 0x4014000D, "Ascending axis index required")\
777X(INOS_MOVEPATH_ERROR_UNKNOWN_AXIS, 0x4014000E, "Unknown axis requested")\
778X(INOS_MOVEPATH_ERROR_NO_AXIS_SET, 0x4014000F, "No axis set")\
779X(INOS_MOVEPATH_ERROR_INVALID_TOLERANCE, 0x40140010, "Invalid tolerance given")\
780X(INOS_MOVEPATH_ERROR_INVALID_VELOCITY, 0x40140011, "Invalid velocity given")\
781X(INOS_MOVEPATH_ERROR_SEGBEGIN_MISSING, 0x40140012, "SegBegin missing")\
782X(INOS_MOVEPATH_ERROR_SEGEND_MISSING, 0x40140013, "SegEnd missing")\
783X(INOS_MOVEPATH_ERROR_AXIS_INDEX_USED_TWICE, 0x40140014, "Axis index used twice")\
784X(INOS_MOVEPATH_ERROR_PARAM_NOT_FOUND, 0x40140015, "Requested param not found")\
785X(INOS_MOVEPATH_ERROR_ASYNCH_NOT_ALLOWED, 0x40140016, "Asynchronous call not allowed, no helper available")\
786X(INOS_MOVEPATH_ERROR_MAX_HELPER, 0x40140017, "Max. number of supported helpers reached")\
787X(INOS_MOVEPATH_ERROR_HELPER_NO_VALID_PATH, 0x40140018, "Helper got command without a valid path")\
788X(INOS_MOVEPATH_ERROR_NO_COMMAND_QUEUE, 0x40140019, "No command queue available")\
789X(INOS_MOVEPATH_ERROR_WRONG_START_POSITION, 0x4014001A, "Wrong startposition, can't run path")\
790X(INOS_MOVEPATH_ERROR_DELEGATE_NOT_ALLOWED, 0x4014001B, "Delegate not allowed if asynch support activated")\
791X(INOS_MOVEPATH_ERROR_CYCLETIME_NO_AXIS_SET, 0x4014001C, "Cycletime not available, no axis set")\
792X(INOS_MOVEPATH_ERROR_MAPPING_WRONG_DIMENSION, 0x4014001D, "Mapping has wrong dimension")\
793X(INOS_MOVEPATH_ERROR_EVENT_TICKS_NOT_YET_AVAILABLE,0x4014001E, "Event ticks not yet available")\
794X(INOS_MOVEPATH_ERROR_EVENT_INVALID_TYPE, 0x4014001F, "Invalid event type requested")\
795X(INOS_MOVEPATH_ERROR_EVENT_DUPLICATE_NAME, 0x40140020, "Duplicate event name detected")\
796X(INOS_MOVEPATH_ERROR_EVENT_UNKNOWN_RECEIVER, 0x40140021, "Unknown event receiver")\
797X(INOS_MOVEPATH_ERROR_EVENT_INVALID_RECEIVER_TYPE,0x40140022, "Receiver needs to be of type CINOSTaskEx or descendant")\
798X(INOS_MOVEPATH_ERROR_MAINAXIS_INDEX_INVALID, 0x40140023, "Invalid main axis index given")\
799X(INOS_MOVEPATH_ERROR_EVENT_DUPLICATE_PRESTART, 0x40140024, "Only one prestart event allowed (Type=eEvtBgnMs and Time<0)")\
800X(INOS_MOVEPATH_ERROR_EVENT_NEAGTIVE_NOT_ALLOWED,0x40140025, "Negative value not allowed for this event type")\
801X(INOS_MOVEPATH_ERROR_NURBS_REQUIRES_INTERPOLATOR_NONE, 0x40140026, "Curve type 'Nurbs' requires interpolator type 'None'")\
802X(INOS_MOVEPATH_ERROR_NURBS_SEGBEGIN_NOT_ALLOWED, 0x40140027, "SegBegin not allowed, use NrbBegin instead")\
803X(INOS_MOVEPATH_ERROR_NURBS_SEGEND_NOT_ALLOWED, 0x40140028, "SegEnd not allowed, use NrbEnd instead")\
804X(INOS_MOVEPATH_ERROR_NURBS_NRBBEGIN_MISSING, 0x4014002B, "NrbBegin missing")\
805X(INOS_MOVEPATH_ERROR_NURBS_NRBEND_MISSING, 0x4014002C, "NrbEnd missing")\
806X(INOS_MOVEPATH_ERROR_NURBS_DEGREE_INVALID, 0x4014002D, "Invalid nurbs curve degree selected (allowed 1..3)")\
807X(INOS_MOVEPATH_ERROR_NURBS_NOT_ENOUGH_POINTS, 0x4014002E, "Nurbs curve does not have enough points (needs at least degree+1)")\
808X(INOS_MOVEPATH_ERROR_NURBS_NUMBER_OF_KNOTS_INVALID,0x4014002F, "Nurbs with wrong number of knots (needs points+degree+1)")\
809X(INOS_MOVEPATH_ERROR_NURBS_ALL_WEIGHTS_ZERO, 0x40140030, "Nurbs with all control point weights = 0.0")\
810X(INOS_MOVEPATH_ERROR_NURBS_NRBPOINT_AXES, 0x40140031, "NrbPoint got invalid number of coordinates")\
811X(INOS_MOVEPATH_ERROR_DUPLICATE_NAME, 0x40140032, "Duplicate movepath name detected")\
812X(INOS_MOVEPATH_ERROR_UNKNOWN_NAME, 0x40140033, "Unknown movepath name given")\
813X(INOS_MOVEPATH_ERROR_COMMAND_NOT_YET_IMPLEMENTED,0x40140034, "Command not yet implemented")\
814X(INOS_MOVEPATH_ERROR_INVALID_JSON_PARAM_GIVEN, 0x40140035, "Invalid JSON param given")\
815X(INOS_MOVEPATH_ERROR_ASYNCH_NOT_ALLOWED_FOR_CMD,0x40140036, "Asynchronous call not allowed for this command") \
816X(INOS_MOVEPATH_ERROR_NURBS_RELEVANT_LENGTH_ZERO,0x40140037, "Nurbs curve relevant length must be non-zero at any point of the curve ")\
817X(INOS_MOVEPATH_ERROR_UNKNOWN_AXIS_TYPE, 0x40140038, "Unknown axis resource type")\
818X(INOS_MOVEPATH_ERROR_RAPIDBEGIN_MISSING, 0x40140039, "RapidBegin missing") \
819X(INOS_MOVEPATH_ERROR_RAPIDEND_MISSING, 0x4014003A, "RapidEnd missing") \
820X(INOS_MOVEPATH_ERROR_UNKNOWN_AXIS_SPEEDSET, 0x4014003B, "Unknown axis speedset") \
821X(INOS_MOVEPATH_ERROR_NO_EDIT_CURVE, 0x4014003C, "No edit curve available, EditBegin missing") \
822X(INOS_MOVEPATH_ERROR_EDITBEGIN_NOT_ALLOWED, 0x4014003D, "EditBegin not allowed, EditEnd missing") \
823X(INOS_MOVEPATH_ERROR_NO_PREPARE_CURVE, 0x4014003E, "No curve to prepare available") \
824X(INOS_MOVEPATH_ERROR_NO_RUN_CURVE, 0x4014003F, "No prepared curve available") \
825X(INOS_MOVEPATH_ERROR_NO_APPEND_CURVE, 0x40140040, "No curve to append available") \
826X(INOS_MOVEPATH_ERROR_TO_MANY_AXES, 0x40140041, "Too many axes added, maximal number of supported axes reached") \
827X(INOS_MOVEPATH_ERROR_UNKNOWN_RESOURCE_TYPE, 0x40140042, "Unknown additional resource type") \
828X(INOS_MOVEPATH_ERROR_UNKNOWN_RESOURCE, 0x40140043, "Unknown additional resource requested") \
829X(INOS_MOVEPATH_ERROR_INVALID_RESOURCE_INDEX, 0x40140044, "Invalid resource index requested") \
830X(INOS_MOVEPATH_RESULT_PARSE_INCOPMPLETE, 0x40140045, "Parser reached maximum number of segments.") \
831X(INOS_MOVEPATH_ERROR_SETCURVE_NOT_ALLOWED, 0x40140046, "SetCurve not allowed when there is already a curve") \
832X(INOS_MOVEPATH_ERROR_RAPID_RAMP_CALC, 0x40140047, "Rapid part ramp calculation failed") \
833X(INOS_MOVEPATH_ERROR_INVALID_SPEEDSET, 0x40140048, "Invalid speedset Values")\
834/* movepath curve */\
835X(INOS_MOVEPATH_ERROR_CRV_GENERAL, 0x40141000, "General movepath curve error")\
836X(INOS_MOVEPATH_ERROR_CRV_RELOCATE_WITH_START, 0x40141001, "Relocatable curve with start vector not allowed")\
837X(INOS_MOVEPATH_ERROR_CRV_ABSOLUTE_WRONG_START, 0x40141002, "Absolute curve has wrong start vector")\
838/* movepath interpolator */\
839X(INOS_MOVEPATH_ERROR_ITP_GENERAL, 0x40142000, "General movepath interpolator error")\
840X(INOS_MOVEPATH_ERROR_ITP_TRANSITION_SHRINK, 0x40142001, "Transition segment needs to be shrunk")\
841X(INOS_MOVEPATH_ERROR_ITP_MAX_SEGMENTS, 0x40142002, "Max. number of supported segments reached")\
842X(INOS_MOVEPATH_ERROR_ITP_ONLY_LINEAR_SEGMENTS, 0x40142003, "Interpolator supports only linear segments")\
843X(INOS_MOVEPATH_ERROR_ITP_SEGMENT_TYPE_NOT_SUPPORTED,0x40142004, "Segment type not supported by requested interpolator")\
844X(INOS_MOVEPATH_ERROR_ITP_PARAM_MISSING, 0x40142005, "Interpolator parameters missing")\
845X(INOS_MOVEPATH_ERROR_ITP_NO_RESULT, 0x40142006, "Interpolator failed to handle given curve")\
846X(INOS_MOVEPATH_ERROR_ITP_ONLY_2DIM, 0x40142007, "Interpolator allows only two dimensional curves")\
847X(INOS_MOVEPATH_ERROR_ITP_ONLY_INDEX0_AND_1, 0x40142008, "Interpolator allows only axis index 0 and 1")\
848X(INOS_MOVEPATH_ERROR_ITP_FIRST_NEEDS_TO_BE_LINEAR,0x40142009, "First curve segment needs to be pure linear")\
849X(INOS_MOVEPATH_ERROR_ITP_LAST_NEEDS_TO_BE_LINEAR,0x4014200A, "Last curve segment needs to be pure linear")\
850X(INOS_MOVEPATH_ERROR_ITP_TWO_NON_LINEAR, 0x4014200B, "Two successive non linear segments are not allowed")\
851X(INOS_MOVEPATH_ERROR_ITP_STOP_REQUESTED_BUT_NOT_SUPPORTED, 0x4014200C, "Interpolator requires stop but trajectory doesn't support it")\
852X(INOS_MOVEPATH_ERROR_ITP_INVALID_ONSHRINK_PARAMETER, 0x4014200D, "Shape interpolator detected an invalid 'Shape.OnShrink' parameter value")\
853X(INOS_MOVEPATH_ERROR_ITP_OVERLAP_NEGATIVE, 0x4014200E, "'Nurrbs.Overlap' < 0.0 is not allowed")\
854X(INOS_MOVEPATH_ERROR_ITP_OVERLAP_TOO_BIG, 0x4014200F, "'Nurbs.Overlap' can't be bigger than a thrid of 'Nurbs.MaxLength'")\
855/* movepath trajectory */\
856X(INOS_MOVEPATH_ERROR_TRJ_GENERAL, 0x40143000, "General movepath trajectory error")\
857X(INOS_MOVEPATH_ERROR_TRJ_NOT_SUPPORTED, 0x40143001, "Command not supported")\
858X(INOS_MOVEPATH_ERROR_TRJ_NOT_AVAILABLE, 0x40143002, "Result currently not available")\
859X(INOS_MOVEPATH_ERROR_TRJ_UNKNOWN_BUFFER_TYPE, 0x40143003, "Unknown trajectory buffer type")\
860X(INOS_MOVEPATH_ERROR_TRJ_UNKNOWN_SPEEDSET, 0x40143004, "Unknown trajectory speedset")\
861X(INOS_MOVEPATH_ERROR_TRJ_BUFFER_TO_SMALL, 0x40143005, "Trajectory buffer too small")\
862X(INOS_MOVEPATH_ERROR_TRJ_BUFFER_NOT_VALID, 0x40143006, "Trajectory buffer contains no valid data")\
863X(INOS_MOVEPATH_ERROR_TRJ_AXIS_ON_ERROR, 0x40143007, "Involved movepath axis on error")\
864X(INOS_MOVEPATH_ERROR_TRJ_SEGMENT_TYPE_NOT_YET_SUPPORTED,0x40143008, "Interpolator segment type not yet supported")\
865X(INOS_MOVEPATH_ERROR_TRJ_MAX_SEGMENTS, 0x40143009, "Max. number of supported segments reached")\
866X(INOS_MOVEPATH_ERROR_TRJ_BACK_PLANNING_NOT_YET_SUPPORTED,0x4014300A, "Trajectory back planning not yet supported")\
867X(INOS_MOVEPATH_ERROR_TRJ_PLANING_FAILED, 0x4014300B, "Trajectory planning failed with no solution (please report to Indel)")\
868X(INOS_MOVEPATH_ERROR_TRJ_VELOCITY_CHECK, 0x4014300C, "Requested trajectory velocity too big")\
869X(INOS_MOVEPATH_ERROR_TRJ_CURVE_NOT_1LEVEL_CONT,0x4014300D, "Curve is not first level continuous")\
870X(INOS_MOVEPATH_ERROR_TRJ_CURVE_NOT_2LEVEL_CONT,0x4014300E, "Curve is not second level continuous")\
871X(INOS_MOVEPATH_ERROR_TRJ_MOVETIME_DELTA_NOT_SUPPORTED,0x4014300F, "Movetime delta != 0.0 not supported")\
872X(INOS_MOVEPATH_ERROR_TRJ_BUFFER_UNDERFLOW, 0x40143010, "Trajectory buffer underflow")\
873\
874/*--- CINOSMcTarget (0x0030xxxx)------------------------------------------*/\
875\
876X(INOS_MCTARGET_GENERIC, 0x40300000, "Generic error")\
877X(INOS_MCTARGET_SUBSCRIPTION_NOT_ALLOWED, 0x40300001, "Subscription only from CINOSMcTargetResource based classes allowed")\
878X(INOS_MCTARGET_SUBSCRIPTION_ID_UNKNOWN, 0x40300002, "Unknown subscription id given")\
879X(INOS_MCTARGET_RESOURCE_UNKNOWN, 0x40300003, "Unknown resource name given")\
880X(INOS_MCTARGET_GINSAM3_FPGA_TOO_OLD, 0x40300004, "GIN-SAM3 requires a FPGA version of at least 0x1F (see 'Target.Prop.GalRevision')")\
881X(INOS_MCTARGET_SHUTDOWN_NOT_SUPPORTED, 0x40300005, "Shutdown not supported")\
882X(INOS_MCTARGET_SHUTDOWN_PARAM_INVALID, 0x40300006, "Invalid shutdown param detected")\
883X(INOS_MCTARGET_SHUTDOWN_PARAM_UNKNOWN, 0x40300007, "Unknown shutdown param requested")\
884X(INOS_MCTARGET_SHUTDOWN_TYPE_UNKNOWN, 0x40300008, "Unknown shutdown type requested")\
885X(INOS_MCTARGET_SHUTDOWN_TYPE_FORCE_NOT_SUPPORTED,0x40300009, "Shutdown type 'force' not supported")\
886 \
887/*-- CINOSMcTargetData (0x0031xxxx)------------------------------------------*/ \
888 \
889X(INOS_MCTARGET_DATA_GENERAL, 0x40310000, "General data error") \
890X(INOS_MCTARGET_DATA_OBJECT_NOT_FOUND, 0x40310001, "Data object not found") \
891X(INOS_MCTARGET_DATA_PROPERTY_NOT_FOUND, 0x40310002, "Data property not found") \
892X(INOS_MCTARGET_DATA_ATTRIBUTE_NOT_FOUND, 0x40310003, "Data attribute not found") \
893 \
894/*--- CINOSMcTargetImage (0x00320xxx)------------------------------------------*/ \
895 \
896X(INOS_MCTARGET_IMAGE_GENERAL, 0x40320001, "General error") \
897X(INOS_MCTARGET_IMAGE_TYPE_NOT_SUPPORTED, 0x40320002, "Image type not supported") \
898X(INOS_MCTARGET_IMAGE_ID_UNKNOWN, 0x40320003, "Unknown image id") \
899X(INOS_MCTARGET_IMAGE_INVALID_ADDRESS_GIVEN, 0x40320004, "Invalid address given") \
900 \
901/*--- CINOSMcTargetImageTransfer (0x00321xxx)-------------------------------------*/ \
902 \
903X(INOS_MCTARGET_IMAGE_TRANSFER_GENERAL, 0x40321001, "General error") \
904X(INOS_MCTARGET_IMAGE_TRANSFER_SEND_FAILED, 0x40321002, "Sending image failed") \
905 \
906/*--- CINOSMcTargetComm (0x0033xxxx)------------------------------------------*/ \
907 \
908X(INOS_MCTARGET_COMM_GENERAL, 0x40330001, "General error") \
909X(INOS_MCTARGET_COMM_UNKNOWN_TARGET, 0x40330002, "Unknown target given") \
910X(INOS_MCTARGET_COMM_TARGET_OFFLINE, 0x40330003, "Target is offline") \
911 \
912/*--- CINOSMcTargetSafety (0x0034xxxx)------------------------------------------*/ \
913 \
914X(INOS_MCTARGET_SAFETY_GENERAL, 0x40340001, "General error") \
915X(INOS_MCTARGET_SAFETY_BINARY_MISSING, 0x40340002, "Safety binary missing") \
916X(INOS_MCTARGET_SAFETY_BINARY_INVALID, 0x40340003, "Safety binary invalid") \
917X(INOS_MCTARGET_SAFETY_BINARY_SIZE_MISMATCH, 0x40340004, "Safety binary size mismatch") \
918X(INOS_MCTARGET_SAFETY_UNKNOWN_DEVICE_ID, 0x40340005, "Unknown device id given") \
919X(INOS_MCTARGET_SAFETY_UNKNOWN_MAIN_DEVICE_ID, 0x40340006, "Unknown main device id given") \
920X(INOS_MCTARGET_SAFETY_UNKNOWN_DEVICE_NAME, 0x40340007, "Unknown device name given") \
921X(INOS_MCTARGET_SAFETY_DEVICE_MAP_MISSING, 0x40340008, "UID to Indel hardware mapping file missing") \
922X(INOS_MCTARGET_SAFETY_DEVICE_MAP_INVALID, 0x40340009, "UID to Indel hardware mapping file invalid") \
923X(INOS_MCTARGET_SAFETY_DEVICE_MAP_PARSE_FAILED, 0x4034000A, "Parsing UID to Indel hardware mapping file failed") \
924X(INOS_MCTARGET_SAFETY_DEVICE_MAP_UID_NOT_FOUND,0x4034000B, "Failed to get UID from hardware mapping file") \
925X(INOS_MCTARGET_SAFETY_NO_DEVICE, 0x4034000C, "No safety device detected", INOS_MCMSG_TYPE_FATAL, INOS_MCMSG_FLAG_NONE) \
926X(INOS_MCTARGET_SAFETY_CONFIRM_STO_FAILED, 0x4034000D, "Confirming STO in safety controller failed") \
927X(INOS_MCTARGET_SAFETY_CONFIRM_STO_INVALID_NAME,0x4034000E, "Confirming STO invalid device name given") \
928X(INOS_MCTARGET_SAFETY_UNKNOWN_MONITOR_DEVICE0, 0x40340010, "Unknown monitor device 0 requested") \
929X(INOS_MCTARGET_SAFETY_UNKNOWN_MONITOR_DEVICE1, 0x40340011, "Unknown monitor device 1 requested") \
930X(INOS_MCTARGET_SAFETY_UNKNOWN_MONITOR_DEVICE2, 0x40340012, "Unknown monitor device 2 requested") \
931X(INOS_MCTARGET_SAFETY_UNKNOWN_MONITOR_DEVICE3, 0x40340013, "Unknown monitor device 3 requested") \
932X(INOS_MCTARGET_SAFETY_INCOV_PASSWORD_MISSING, 0x40340014, "ch.indel.data.system incov.password missing (mandatory for safety applications)") \
933X(INOS_MCTARGET_SAFETY_DEVICE_NO_RAM, 0x40340015, "No communication RAM to safety device detected") \
934 \
935X(INOS_MCTARGET_SAFETY_COMM_FAILED, 0x40340100, "General communication failure", INOS_MCMSG_TYPE_FATAL, INOS_MCMSG_FLAG_NONE) \
936X(INOS_MCTARGET_SAFETY_COMM_READ08_FAILED, 0x40340101, "Reading an uint8 from safety device failed", INOS_MCMSG_TYPE_FATAL, INOS_MCMSG_FLAG_NONE) \
937X(INOS_MCTARGET_SAFETY_COMM_WRITE08_FAILED, 0x40340102, "Writing an uint8 to safety device failed", INOS_MCMSG_TYPE_FATAL, INOS_MCMSG_FLAG_NONE) \
938X(INOS_MCTARGET_SAFETY_COMM_READ16_FAILED, 0x40340103, "Reading an uint16 from safety device failed", INOS_MCMSG_TYPE_FATAL, INOS_MCMSG_FLAG_NONE) \
939X(INOS_MCTARGET_SAFETY_COMM_WRITE16_FAILED, 0x40340104, "Writing an uint16 to safety device failed", INOS_MCMSG_TYPE_FATAL, INOS_MCMSG_FLAG_NONE) \
940X(INOS_MCTARGET_SAFETY_COMM_READ32_FAILED, 0x40340105, "Reading an uint32 from safety device failed", INOS_MCMSG_TYPE_FATAL, INOS_MCMSG_FLAG_NONE) \
941X(INOS_MCTARGET_SAFETY_COMM_WRITE32_FAILED, 0x40340106, "Writing an uint32 to safety device failed", INOS_MCMSG_TYPE_FATAL, INOS_MCMSG_FLAG_NONE) \
942X(INOS_MCTARGET_SAFETY_COMM_READ64_FAILED, 0x40340107, "Reading an uint64 from safety device failed", INOS_MCMSG_TYPE_FATAL, INOS_MCMSG_FLAG_NONE) \
943X(INOS_MCTARGET_SAFETY_COMM_WRITE64_FAILED, 0x40340108, "Writing an uint64 to safety device failed", INOS_MCMSG_TYPE_FATAL, INOS_MCMSG_FLAG_NONE) \
944X(INOS_MCTARGET_SAFETY_COMM_TIMEOUT_FAILED, 0x40340110, "Command failed, no reaction from safety device", INOS_MCMSG_TYPE_FATAL, INOS_MCMSG_FLAG_NONE) \
945X(INOS_MCTARGET_SAFETY_RESET_FAILED, 0x40340200, "Reset failed, please reboot!", INOS_MCMSG_TYPE_FATAL, INOS_MCMSG_FLAG_NONE) \
946X(INOS_MCTARGET_SAFETY_RESET_READ08_FAILED, 0x40340201, "Reset failed due to a read uint8 failure, please reboot!", INOS_MCMSG_TYPE_FATAL, INOS_MCMSG_FLAG_NONE) \
947X(INOS_MCTARGET_SAFETY_RESET_WRITE08_FAILED, 0x40340202, "Reset failed due to a write uint8 failure, please reboot!", INOS_MCMSG_TYPE_FATAL, INOS_MCMSG_FLAG_NONE) \
948X(INOS_MCTARGET_SAFETY_RESET_READ16_FAILED, 0x40340203, "Reset failed due to a read uint16 failure, please reboot!", INOS_MCMSG_TYPE_FATAL, INOS_MCMSG_FLAG_NONE) \
949X(INOS_MCTARGET_SAFETY_RESET_WRITE16_FAILED, 0x40340204, "Reset failed due to a write uint16 failure, please reboot!", INOS_MCMSG_TYPE_FATAL, INOS_MCMSG_FLAG_NONE) \
950X(INOS_MCTARGET_SAFETY_RESET_READ32_FAILED, 0x40340205, "Reset failed due to a read uint32 failure, please reboot!", INOS_MCMSG_TYPE_FATAL, INOS_MCMSG_FLAG_NONE) \
951X(INOS_MCTARGET_SAFETY_RESET_WRITE32_FAILED, 0x40340206, "Reset failed due to a write uint32 failure, please reboot!", INOS_MCMSG_TYPE_FATAL, INOS_MCMSG_FLAG_NONE) \
952X(INOS_MCTARGET_SAFETY_RESET_TIMEOUT_FAILED, 0x40340210, "Reset failed, no reaction from safety device, please reboot!", INOS_MCMSG_TYPE_FATAL, INOS_MCMSG_FLAG_NONE) \
953X(INOS_MCTARGET_SAFETY_SETUP_FAILED, 0x40340300, "Setting up configuration failed, please reboot", INOS_MCMSG_TYPE_FATAL, INOS_MCMSG_FLAG_NONE) \
954X(INOS_MCTARGET_SAFETY_SETUP_READ08_FAILED, 0x40340301, "Setting up configuration failed due to a read uint8 failure, please reboot!", INOS_MCMSG_TYPE_FATAL, INOS_MCMSG_FLAG_NONE) \
955X(INOS_MCTARGET_SAFETY_SETUP_WRITE08_FAILED, 0x40340302, "Setting up configuration failed due to a write uint8 failure, please reboot!", INOS_MCMSG_TYPE_FATAL, INOS_MCMSG_FLAG_NONE) \
956X(INOS_MCTARGET_SAFETY_SETUP_READ16_FAILED, 0x40340303, "Setting up configuration failed due to a read uint16 failure, please reboot!", INOS_MCMSG_TYPE_FATAL, INOS_MCMSG_FLAG_NONE) \
957X(INOS_MCTARGET_SAFETY_SETUP_WRITE16_FAILED, 0x40340304, "Setting up configuration failed due to a write uint16 failure, please reboot!", INOS_MCMSG_TYPE_FATAL, INOS_MCMSG_FLAG_NONE) \
958X(INOS_MCTARGET_SAFETY_SETUP_READ32_FAILED, 0x40340305, "Setting up configuration failed due to a read uint32 failure, please reboot!", INOS_MCMSG_TYPE_FATAL, INOS_MCMSG_FLAG_NONE) \
959X(INOS_MCTARGET_SAFETY_SETUP_WRITE32_FAILED, 0x40340306, "Setting up configuration failed due to a write uint32 failure, please reboot!", INOS_MCMSG_TYPE_FATAL, INOS_MCMSG_FLAG_NONE) \
960X(INOS_MCTARGET_SAFETY_SETUP_WRITE_FAILED, 0x40340307, "Setting up configuration failed due to a write to safety ram failure, please reboot and contact Indel",INOS_MCMSG_TYPE_FATAL, INOS_MCMSG_FLAG_NONE) \
961X(INOS_MCTARGET_SAFETY_SETUP_TIMEOUT_FAILED, 0x40340310, "Setting up configuration failed, no reaction from safety device, please reboot!", INOS_MCMSG_TYPE_FATAL, INOS_MCMSG_FLAG_NONE) \
962X(INOS_MCTARGET_SAFETY_SETUP_NEEDS_VERIFICATION,0x40340320, "Safety configuration needs verification", INOS_MCMSG_TYPE_INFO, INOS_MCMSG_FLAG_DEFAULT, "{\"property\":{\"category\":\"safety\",\"authlevel\":1}}") \
963X(INOS_MCTARGET_SAFETY_SETUP_VERIFY_CRC, 0x40340321, "Please confirm correctness of safety configuration", INOS_MCMSG_TYPE_INFO, INOS_MCMSG_FLAG_DEFAULT, "{\"property\":{\"category\":\"safety\",\"delay\":{\"acknowledge\":10000}}}") \
964X(INOS_MCTARGET_SAFETY_VERIFY_FAILED, 0x40340400, "Verifying configuration failed, please reboot!", INOS_MCMSG_TYPE_FATAL, INOS_MCMSG_FLAG_NONE) \
965X(INOS_MCTARGET_SAFETY_VERIFY_READ08_FAILED, 0x40340401, "Verifying configuration failed due to a read uint8 failure, please reboot!", INOS_MCMSG_TYPE_FATAL, INOS_MCMSG_FLAG_NONE) \
966X(INOS_MCTARGET_SAFETY_VERIFY_WRITE08_FAILED, 0x40340402, "Verifying configuration failed due to a write uint8 failure, please reboot!", INOS_MCMSG_TYPE_FATAL, INOS_MCMSG_FLAG_NONE) \
967X(INOS_MCTARGET_SAFETY_VERIFY_READ16_FAILED, 0x40340403, "Verifying configuration failed due to a read uint16 failure, please reboot!", INOS_MCMSG_TYPE_FATAL, INOS_MCMSG_FLAG_NONE) \
968X(INOS_MCTARGET_SAFETY_VERIFY_WRITE16_FAILED, 0x40340404, "Verifying configuration failed due to a write uint16 failure, please reboot!", INOS_MCMSG_TYPE_FATAL, INOS_MCMSG_FLAG_NONE) \
969X(INOS_MCTARGET_SAFETY_VERIFY_READ32_FAILED, 0x40340405, "Verifying configuration failed due to a read uint32 failure, please reboot!", INOS_MCMSG_TYPE_FATAL, INOS_MCMSG_FLAG_NONE) \
970X(INOS_MCTARGET_SAFETY_VERIFY_WRITE32_FAILED, 0x40340406, "Verifying configuration failed due to a write uint32 failure, please reboot!", INOS_MCMSG_TYPE_FATAL, INOS_MCMSG_FLAG_NONE) \
971X(INOS_MCTARGET_SAFETY_VERIFY_TIMEOUT_FAILED, 0x40340410, "Verifying configuration failed, no reaction from safety device, please reboot!", INOS_MCMSG_TYPE_FATAL, INOS_MCMSG_FLAG_NONE) \
972X(INOS_MCTARGET_SAFETY_VERIFY_INVALID_REPLY, 0x40340430, "Verifying configuration failed, invalid reply from user", INOS_MCMSG_TYPE_FATAL, INOS_MCMSG_FLAG_NONE) \
973 \
974/* error codes from safety devices mapped to INOS erros */ \
975X(INOS_MCTARGET_SAFETY_DEVICE_ERROR, 0x40340500, "Safety device error", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_CONFIRM) \
976X(INOS_MCTARGET_SAFETY_DEVICE_AllHwStackFailOverflow, 0x40340501, "Initial stack test has failed as stack pointer has already overflowed", INOS_MCMSG_TYPE_FATAL, INOS_MCMSG_FLAG_NONE) \
977X(INOS_MCTARGET_SAFETY_DEVICE_AllHwStackFailInit, 0x40340502, "Initialising stack test has failed", INOS_MCMSG_TYPE_FATAL, INOS_MCMSG_FLAG_NONE) \
978X(INOS_MCTARGET_SAFETY_DEVICE_AllHwStackFailInitTest, 0x40340503, "Initial run of stack test has failed", INOS_MCMSG_TYPE_FATAL, INOS_MCMSG_FLAG_NONE) \
979X(INOS_MCTARGET_SAFETY_DEVICE_AllHwStackFailSetup, 0x40340504, "Setting up periodic stack test has failed", INOS_MCMSG_TYPE_FATAL, INOS_MCMSG_FLAG_NONE) \
980X(INOS_MCTARGET_SAFETY_DEVICE_AllHwStackFail, 0x40340505, "Periodic stack test has failed", INOS_MCMSG_TYPE_FATAL, INOS_MCMSG_FLAG_NONE) \
981X(INOS_MCTARGET_SAFETY_DEVICE_AllHwCPUFailInit, 0x40340506, "Initial cpu test has failed", INOS_MCMSG_TYPE_FATAL, INOS_MCMSG_FLAG_NONE) \
982X(INOS_MCTARGET_SAFETY_DEVICE_AllHwCPUFailFirst, 0x40340507, "First cpu test has not completed", INOS_MCMSG_TYPE_FATAL, INOS_MCMSG_FLAG_NONE) \
983X(INOS_MCTARGET_SAFETY_DEVICE_AllHwCPUFail, 0x40340508, "Periodic cpu test has failed", INOS_MCMSG_TYPE_FATAL, INOS_MCMSG_FLAG_NONE) \
984X(INOS_MCTARGET_SAFETY_DEVICE_AllHwMemoryFailInit, 0x40340509, "Initial memory test has failed", INOS_MCMSG_TYPE_FATAL, INOS_MCMSG_FLAG_NONE) \
985X(INOS_MCTARGET_SAFETY_DEVICE_AllHwMemoryFailSetup, 0x4034050A, "Setting up periodic memory test has failed", INOS_MCMSG_TYPE_FATAL, INOS_MCMSG_FLAG_NONE) \
986X(INOS_MCTARGET_SAFETY_DEVICE_AllHwMemoryFail, 0x4034050B, "Periodic memory test has failed", INOS_MCMSG_TYPE_FATAL, INOS_MCMSG_FLAG_NONE) \
987X(INOS_MCTARGET_SAFETY_DEVICE_AllHwFirmwareFailInit, 0x4034050C, "Initial firmware test has failed", INOS_MCMSG_TYPE_FATAL, INOS_MCMSG_FLAG_NONE) \
988X(INOS_MCTARGET_SAFETY_DEVICE_AllHwFirmwareFailSetup, 0x4034050D, "Setting up periodic firmware test has failed", INOS_MCMSG_TYPE_FATAL, INOS_MCMSG_FLAG_NONE) \
989X(INOS_MCTARGET_SAFETY_DEVICE_AllHwFirmwareFail, 0x4034050E, "Periodic firmware test has failed", INOS_MCMSG_TYPE_FATAL, INOS_MCMSG_FLAG_NONE) \
990X(INOS_MCTARGET_SAFETY_DEVICE_CpuBDevHwRevInputs, 0x4034050F, "Wrong value of hardware revision inputs", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
991X(INOS_MCTARGET_SAFETY_DEVICE_CtrlSynchSafetyState, 0x40340514, "Safety state on cpu A and B doesn't match", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
992X(INOS_MCTARGET_SAFETY_DEVICE_AllSynchSchedState, 0x40340515, "Scheduler state on cpu A and B doesn't match", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
993X(INOS_MCTARGET_SAFETY_DEVICE_AllSynchTwin, 0x40340516, "Spi synchronisation between cpu A and B failed", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
994X(INOS_MCTARGET_SAFETY_DEVICE_AllSynchClock, 0x40340517, "Clock speed doesn't match between cpu A and B", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
995X(INOS_MCTARGET_SAFETY_DEVICE_AllSetClockFail, 0x40340518, "Clock speed could not be set correctly", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
996X(INOS_MCTARGET_SAFETY_DEVICE_AllIntCommDma13Enabled, 0x4034051E, "Spi dma 1 stream 3 couldn't be disabled in time", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
997X(INOS_MCTARGET_SAFETY_DEVICE_AllIntCommDma14Enabled, 0x4034051F, "Spi dma 1 stream 4 couldn't be disabled in time", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
998X(INOS_MCTARGET_SAFETY_DEVICE_CpuAIntCommToXInput, 0x40340520, "Spi exchange has failed chip select synchronisation", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
999X(INOS_MCTARGET_SAFETY_DEVICE_CpuAIntCommToXTx, 0x40340521, "Spi exchange didn't finish transmitting in time", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1000X(INOS_MCTARGET_SAFETY_DEVICE_AllIntCommToXRx, 0x40340522, "Spi exchange didn't finish receiving in time", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1001X(INOS_MCTARGET_SAFETY_DEVICE_CpuAIntCommToIntInput, 0x40340523, "Spi internal comm has failed chip select synchronisation", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1002X(INOS_MCTARGET_SAFETY_DEVICE_AllIntCommToIntTx, 0x40340524, "Spi internal comm didn't finish transmitting in time", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1003X(INOS_MCTARGET_SAFETY_DEVICE_CpuAIntCommToExtInput, 0x40340525, "Spi external comm has failed chip select synchronisation", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1004X(INOS_MCTARGET_SAFETY_DEVICE_AllIntCommToExtTx, 0x40340526, "Spi external comm didn't finish transmitting in time", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1005X(INOS_MCTARGET_SAFETY_DEVICE_AllIntCommToExtRx, 0x40340527, "Spi external comm didn't finish receiving in time", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1006X(INOS_MCTARGET_SAFETY_DEVICE_AllIntCommToExtData, 0x40340528, "Spi external comm address doesn't match", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1007X(INOS_MCTARGET_SAFETY_DEVICE_MoniDevScDma20Enabled, 0x40340529, "Spi dma 2 stream 0 couldn't be disabled in time", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1008X(INOS_MCTARGET_SAFETY_DEVICE_CtrlIntCommInputs, 0x4034052A, "Input communication frames don't match", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1009X(INOS_MCTARGET_SAFETY_DEVICE_CpuAExtCommDma12Enabled, 0x40340532, "Dma 1 stream 2 couldn't be disabled in time", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1010X(INOS_MCTARGET_SAFETY_DEVICE_CpuAExtCommDma15Enabled, 0x40340533, "Dma 1 stream 5 couldn't be disabled in time", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1011X(INOS_MCTARGET_SAFETY_DEVICE_CtrlMoniCommTo, 0x40340534, "Communication loss to axis monitor", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1012X(INOS_MCTARGET_SAFETY_DEVICE_CpuAExtCommToDmaFinished, 0x40340535, "Spi external dma comm didn't finish transmitting in time", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1013X(INOS_MCTARGET_SAFETY_DEVICE_CpuAExtCommRandomNumber, 0x40340536, "Spi external dma comm didn't finish transmitting in time", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1014X(INOS_MCTARGET_SAFETY_DEVICE_CtrlDevInpTestIncomplete, 0x40340537, "Input device tests were not completed within 1 hour", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1015X(INOS_MCTARGET_SAFETY_DEVICE_CtrlDevOutTestIncomplete, 0x40340538, "Output device tests were not completed within 1 hour", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1016X(INOS_MCTARGET_SAFETY_DEVICE_CtrlDevStoTestIncomplete, 0x40340539, "STO device tests were not completed within 1 hour", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1017X(INOS_MCTARGET_SAFETY_DEVICE_CtrlDevFsTestIncomplete, 0x4034053A, "Fail-Safe device tests were not completed within 1 hour", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1018X(INOS_MCTARGET_SAFETY_DEVICE_MoniDevScTestIncomplete, 0x4034053B, "SinCos device tests were not completed within 1 hour", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1019X(INOS_MCTARGET_SAFETY_DEVICE_AllSchedTestMaxCycState, 0x4034053C, "Too many cycles used per state, scheduler state is not increasing anymore", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1020X(INOS_MCTARGET_SAFETY_DEVICE_AllSchedTestMaxCycLoop, 0x4034053D, "Too many cycles used per scheduler loop", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1021X(INOS_MCTARGET_SAFETY_DEVICE_AllSchedTestIncomplete, 0x4034053E, "Too many cycles used for one full test cycle", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1022X(INOS_MCTARGET_SAFETY_DEVICE_AllMgrCtTestIncomplete, 0x4034053F, "CPU manager device tests were not completed within 1 hour", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1023X(INOS_MCTARGET_SAFETY_DEVICE_AllDevPomTestIncomplete, 0x40340540, "Power monitoring device tests were not completed within 1 hour", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1024X(INOS_MCTARGET_SAFETY_DEVICE_AllMgrRpTestIncomplete, 0x40340541, "Reporting manager tests were not completed within 1 hour", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1025X(INOS_MCTARGET_SAFETY_DEVICE_AllContConfTestIncomplete, 0x40340542, "Configuration container tests were not completed within 1 hour", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1026X(INOS_MCTARGET_SAFETY_DEVICE_MoniMgrAmSafetyLevel, 0x40340546, "Requested safety level from configuration higher than supported", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1027X(INOS_MCTARGET_SAFETY_DEVICE_AllMgrConfigState, 0x40340547, "Wrong value of configuration manager state", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1028X(INOS_MCTARGET_SAFETY_DEVICE_CtrlMgrImcState, 0x40340548, "Wrong value of inter module communication manager state", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1029X(INOS_MCTARGET_SAFETY_DEVICE_AllDevPomInit, 0x40340549, "Error in initialisation of power monitoring device", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1030X(INOS_MCTARGET_SAFETY_DEVICE_AllMgrRpState, 0x4034054A, "Wrong value of module state in reporting manager", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1031X(INOS_MCTARGET_SAFETY_DEVICE_CpuAMgrRpStep, 0x4034054B, "Wrong value of reporting manager step", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1032X(INOS_MCTARGET_SAFETY_DEVICE_MoniDevScInit, 0x4034054D, "Error in initialisation of sincos device", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1033X(INOS_MCTARGET_SAFETY_DEVICE_MoniDevScNonexQuad, 0x4034054E, "Error in encoder quadrant and sincos alignment, non-existing quadrant", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1034X(INOS_MCTARGET_SAFETY_DEVICE_CtrlSelectionConfigError, 0x4034054F, "Configured operation mode selection not supported", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1035X(INOS_MCTARGET_SAFETY_DEVICE_MoniResSpeedFilterSize, 0x40340550, "Resolver speed filter size error", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1036X(INOS_MCTARGET_SAFETY_DEVICE_MoniResNonPosTimeDiff, 0x40340551, "Resolver speed calculation time was not a positive number", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1037X(INOS_MCTARGET_SAFETY_DEVICE_AllStartupErrorSize, 0x40340552, "Startup error list size error", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1038X(INOS_MCTARGET_SAFETY_DEVICE_AllConfigLengthWrong, 0x4034055A, "Configuration container length wrong", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1039X(INOS_MCTARGET_SAFETY_DEVICE_AllConfigCrcWrong, 0x4034055B, "Configuration container crc value wrong", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1040X(INOS_MCTARGET_SAFETY_DEVICE_AllConfigProductIdWrong, 0x4034055C, "Configuration container product id wrong", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1041X(INOS_MCTARGET_SAFETY_DEVICE_AllConfigVersionWrong, 0x4034055D, "Configuration container version wrong", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1042X(INOS_MCTARGET_SAFETY_DEVICE_AllConfigFieldbusPosWrong, 0x4034055E, "Configuration container fieldbus position wrong", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1043X(INOS_MCTARGET_SAFETY_DEVICE_AllConfigContainerDamaged, 0x4034055F, "Configuration container periodic health test failed", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1044X(INOS_MCTARGET_SAFETY_DEVICE_MoniConfigAxisNumber, 0x40340560, "Configured axis number doesn't match hardware axis number", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1045X(INOS_MCTARGET_SAFETY_DEVICE_MoniConfigInvalidLimit, 0x40340561, "Configured axis safety function limit is not valid", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1046X(INOS_MCTARGET_SAFETY_DEVICE_MoniConfigInvalidSafetyFunction, 0x40340562, "Configured axis safety function not valid", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1047X(INOS_MCTARGET_SAFETY_DEVICE_MoniConfigInvalidTolerance, 0x40340563, "Configured axis signal tolerance invalid", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1048X(INOS_MCTARGET_SAFETY_DEVICE_eISE_MoniConfigInvalidSignalStrength, 0x40340564, "Configured axis signal strength invalid", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1049X(INOS_MCTARGET_SAFETY_DEVICE_AllCycleOverrun, 0x4034056E, "Main cycle overrun, watchdog has stopped the system", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1050X(INOS_MCTARGET_SAFETY_DEVICE_AllTrapNmi, 0x4034056F, "Cpu nmi trap", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1051X(INOS_MCTARGET_SAFETY_DEVICE_AllTrapHardFault, 0x40340570, "Cpu hard fault", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1052X(INOS_MCTARGET_SAFETY_DEVICE_AllTrapMemManage, 0x40340571, "Cpu mem manage fault", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1053X(INOS_MCTARGET_SAFETY_DEVICE_AllTrapBusFault, 0x40340572, "Cpu bus fault", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1054X(INOS_MCTARGET_SAFETY_DEVICE_AllTrapUsageFault, 0x40340573, "Cpu usage fault", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1055X(INOS_MCTARGET_SAFETY_DEVICE_AllPowerError24VTooLow, 0x40340578, "Measured 24V is too low", INOS_MCMSG_TYPE_FATAL, INOS_MCMSG_FLAG_NONE) \
1056X(INOS_MCTARGET_SAFETY_DEVICE_AllPowerError24VTooHigh, 0x40340579, "Measured 24V is too high", INOS_MCMSG_TYPE_FATAL, INOS_MCMSG_FLAG_NONE) \
1057X(INOS_MCTARGET_SAFETY_DEVICE_AllPowerError3_3VTooLow, 0x4034057A, "Measured 3.3V is too low", INOS_MCMSG_TYPE_FATAL, INOS_MCMSG_FLAG_NONE) \
1058X(INOS_MCTARGET_SAFETY_DEVICE_AllPowerError3_3VTooHigh, 0x4034057B, "Measured 3.3V is too high", INOS_MCMSG_TYPE_FATAL, INOS_MCMSG_FLAG_NONE) \
1059X(INOS_MCTARGET_SAFETY_DEVICE_AllPowerErrorGNDTooHigh, 0x4034057C, "Measured ground is too high", INOS_MCMSG_TYPE_FATAL, INOS_MCMSG_FLAG_NONE) \
1060X(INOS_MCTARGET_SAFETY_DEVICE_AllAdcMalfunction, 0x4034057D, "Adc register didn't change, no new value was sampled", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1061X(INOS_MCTARGET_SAFETY_DEVICE_AllAdc24VDiffTooLarge, 0x4034057E, "Difference in ADC measurement of 24V between CPU A and B is too large", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1062X(INOS_MCTARGET_SAFETY_DEVICE_AllAdcSafe24VDiffTooLarge, 0x4034057F, "Difference in ADC measurement of Safe24V between CPU A and B is too large", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1063X(INOS_MCTARGET_SAFETY_DEVICE_AllPowerErrorVRefIntTooLow, 0x40340580, "Measured VRefInt is too low", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1064X(INOS_MCTARGET_SAFETY_DEVICE_AllPowerErrorVRefIntTooHigh, 0x40340581, "Measured VRefInt is too high", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1065X(INOS_MCTARGET_SAFETY_DEVICE_AllFlashReadError, 0x40340582, "Error while reading flash", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1066X(INOS_MCTARGET_SAFETY_DEVICE_AllFlashEraseError, 0x40340583, "Error while erasing flash sector", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1067X(INOS_MCTARGET_SAFETY_DEVICE_AllFlashWriteError, 0x40340584, "Error while writing flash", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1068X(INOS_MCTARGET_SAFETY_DEVICE_CtrlInputInternal, 0x4034058C, "Input device: internal input test has failed", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1069X(INOS_MCTARGET_SAFETY_DEVICE_CtrlInputExternalFBHigh, 0x4034058D, "Input device: pulse output is not low", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1070X(INOS_MCTARGET_SAFETY_DEVICE_CtrlInputExternal0, 0x4034058E, "Input device: external input test has failed on input 0", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1071X(INOS_MCTARGET_SAFETY_DEVICE_CtrlInputExternal1, 0x4034058F, "Input device: external input test has failed on input 1", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1072X(INOS_MCTARGET_SAFETY_DEVICE_CtrlInputExternal2, 0x40340590, "Input device: external input test has failed on input 2", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1073X(INOS_MCTARGET_SAFETY_DEVICE_CtrlInputExternal3, 0x40340591, "Input device: external input test has failed on input 3", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1074X(INOS_MCTARGET_SAFETY_DEVICE_CtrlInputInconsistent0, 0x40340592, "Input device: input dual channels not consistent on input 0", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1075X(INOS_MCTARGET_SAFETY_DEVICE_CtrlInputInconsistent1, 0x40340593, "Input device: input dual channels not consistent on input 1", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1076X(INOS_MCTARGET_SAFETY_DEVICE_CtrlInputInconsistent2, 0x40340594, "Input device: input dual channels not consistent on input 2", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1077X(INOS_MCTARGET_SAFETY_DEVICE_CtrlInputInconsistent3, 0x40340595, "Input device: input dual channels not consistent on input 3", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1078X(INOS_MCTARGET_SAFETY_DEVICE_CtrlOutputInternalOffIsHigh, 0x40340596, "Output device: internal feedback high when output is off", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1079X(INOS_MCTARGET_SAFETY_DEVICE_CtrlOutputExternalOffTooHigh, 0x40340597, "Output device: external feedback high when output is off", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1080X(INOS_MCTARGET_SAFETY_DEVICE_CtrlFailSafeNoDrop, 0x40340598, "Failsafe device: safe voltage didn't drop after switching off toggling", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1081X(INOS_MCTARGET_SAFETY_DEVICE_CtrlFailSafeSkip, 0x40340599, "Failsafe device: fail safe test skipped too many times", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1082X(INOS_MCTARGET_SAFETY_DEVICE_CtrlSafe24VDiffTooLarge, 0x4034059A, "Failsafe device: difference between safe voltage and 24V is too large", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1083X(INOS_MCTARGET_SAFETY_DEVICE_CtrlSafe24VCycleTimeTooLarge, 0x4034059B, "Failsafe device: cycle time between Safe24V checks is too large", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1084X(INOS_MCTARGET_SAFETY_DEVICE_CtrlStoOnTooLow, 0x4034059C, "Sto device: output voltage while switched on is too low", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1085X(INOS_MCTARGET_SAFETY_DEVICE_CtrlStoOnTooHigh, 0x4034059D, "Sto device: output voltage while switched on is too high", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1086X(INOS_MCTARGET_SAFETY_DEVICE_CtrlStoTestTooLow, 0x4034059E, "Sto device: output voltage during test pulse too low", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1087X(INOS_MCTARGET_SAFETY_DEVICE_CtrlStoTestTooHigh, 0x4034059F, "Sto device: output voltage during test pulse too high", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1088X(INOS_MCTARGET_SAFETY_DEVICE_CtrlStoOffTooHigh, 0x403405A0, "Sto device: output voltage while switched off is too high", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1089X(INOS_MCTARGET_SAFETY_DEVICE_CtrlFailSafeInitHigh, 0x403405A1, "Failsafe device: initial test toggling should not create safe 24V", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1090X(INOS_MCTARGET_SAFETY_DEVICE_CtrlOutputInternalPulseIsHigh, 0x403405A2, "Output device: internal feedback is high during test pulse", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1091X(INOS_MCTARGET_SAFETY_DEVICE_CtrlOutputExternalPulseIsHigh, 0x403405A3, "Output device: external feedback is high during test pulse", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1092X(INOS_MCTARGET_SAFETY_DEVICE_CtrlOutputInternalOnIsLow, 0x403405A4, "Output device: internal feedback high when output is off", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1093X(INOS_MCTARGET_SAFETY_DEVICE_CtrlOutputExternalOnTooLow, 0x403405A5, "Output device: external feedback low when output is on", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1094X(INOS_MCTARGET_SAFETY_DEVICE_CtrlOutputExternalOnTooHigh, 0x403405A6, "Output device: external feedback too high for output on", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1095X(INOS_MCTARGET_SAFETY_DEVICE_CtrlInputExternalFBLow, 0x403405A7, "Input device: pulse output is not high", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1096X(INOS_MCTARGET_SAFETY_DEVICE_CtrlSafetyStateTooManyConfirms, 0x403405A8, "SafetyState manager: too many confirms", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1097X(INOS_MCTARGET_SAFETY_DEVICE_CtrlSafetyStateCycleTimeTooLarge, 0x403405A9, "SafetyState manager: cycle time between update confirms too large", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1098X(INOS_MCTARGET_SAFETY_DEVICE_MoniResolverInconsistency, 0x403405B4, "Resolver device: could not read consistent ADC values in time", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1099X(INOS_MCTARGET_SAFETY_DEVICE_MoniResolverTriggerMissing, 0x403405B5, "Resolver device: no trigger received in time", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1100X(INOS_MCTARGET_SAFETY_DEVICE_MoniResolverS2C2TooLow, 0x403405B6, "Resolver device: sin^2 + cos^2 is too low", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1101X(INOS_MCTARGET_SAFETY_DEVICE_MoniResolverS2C2TooHigh, 0x403405B7, "Resolver device: sin^2 + cos^2 is too high", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1102X(INOS_MCTARGET_SAFETY_DEVICE_MoniSinCosS2C2TooLow, 0x403405B8, "SinCos device: sin^2 + cos^2 is too low", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1103X(INOS_MCTARGET_SAFETY_DEVICE_MoniSinCosS2C2TooHigh, 0x403405B9, "SinCos device: sin^2 + cos^2 is too high", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1104X(INOS_MCTARGET_SAFETY_DEVICE_MoniSinCosS2C2TooLowSpeed, 0x403405BA, "SinCos device: sin^2 + cos^2 is too low at high speed", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1105X(INOS_MCTARGET_SAFETY_DEVICE_MoniSinCosAlignment, 0x403405BB, "SinCos device: encoder and sincos angles are not in the same sector", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1106X(INOS_MCTARGET_SAFETY_DEVICE_MoniSinCosEncoderStep, 0x403405BC, "SinCos device: encoder step larger than one", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1107X(INOS_MCTARGET_SAFETY_DEVICE_MoniPosSpeedDiffTooLarge, 0x403405BD, "Difference in speed between CPU A and B is too large", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1108X(INOS_MCTARGET_SAFETY_DEVICE_MoniPosPosDiffTooLarge, 0x403405BE, "Difference in position between CPU A and B is too large", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1109X(INOS_MCTARGET_SAFETY_DEVICE_MoniPosS2C2DiffTooLarge, 0x403405BF, "Difference in sin^2 + cos^2 between CPU A and B is too large", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1110X(INOS_MCTARGET_SAFETY_DEVICE_MoniFeedbackOffsetTooHigh, 0x403405C1, "Feedback voltage offset too high", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1111X(INOS_MCTARGET_SAFETY_DEVICE_MoniFeedbackOffsetTooLow, 0x403405C2, "Feedback voltage offset too low", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1112X(INOS_MCTARGET_SAFETY_DEVICE_MoniFeedbackOffsetDiffTooLarge, 0x403405C3, "Feedback voltage offset difference between CPU A and CPU B too large", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1113X(INOS_MCTARGET_SAFETY_DEVICE_MoniSinCosAccelerationTooLarge, 0x403405C4, "Feedback acceleration too large", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1114X(INOS_MCTARGET_SAFETY_DEVICE_MoniSinCosAccelDiffTooLarge, 0x403405C5, "Difference in acceleration between CPU A and CPU B too large", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1115X(INOS_MCTARGET_SAFETY_DEVICE_MoniResolverPosNegAmpl, 0x403405C6, "Difference between positive and negative amplitude too large", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1116X(INOS_MCTARGET_SAFETY_DEVICE_MoniSafetyLevelInconsistency, 0x403405C7, "Inconsistency in safety level between CPU A and CPU B", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1117X(INOS_MCTARGET_SAFETY_DEVICE_MoniAxisMonitoringState, 0x403405C8, "Wrong axis monitoring state", INOS_MCMSG_TYPE_ERROR, INOS_MCMSG_FLAG_SAFETY_RESET) \
1118X(INOS_MCTARGET_SAFETY_STO, 0x40340600, "Safe torque off (STO) : unknown") \
1119X(INOS_MCTARGET_SAFETY_STO_INPUT_LOW, 0x40340601, "Safe torque off (STO) : STO input low") \
1120X(INOS_MCTARGET_SAFETY_STO_RING_INPUT_LOW, 0x40340602, "Safe torque off (STO) : ring input low") \
1121X(INOS_MCTARGET_SAFETY_STO_AXIS0, 0x40340603, "Safe torque off (STO) : axis number 0") \
1122X(INOS_MCTARGET_SAFETY_STO_AXIS1, 0x40340604, "Safe torque off (STO) : axis number 1") \
1123X(INOS_MCTARGET_SAFETY_STO_AXIS2, 0x40340605, "Safe torque off (STO) : axis number 2") \
1124X(INOS_MCTARGET_SAFETY_STO_AXIS3, 0x40340606, "Safe torque off (STO) : axis number 3") \
1125X(INOS_MCTARGET_SAFETY_STO_NMD_AXIS0, 0x40340607, "Axis was never moved (STO) : axis number 0") \
1126X(INOS_MCTARGET_SAFETY_STO_NMD_AXIS1, 0x40340608, "Axis was never moved (STO) : axis number 1") \
1127X(INOS_MCTARGET_SAFETY_STO_NMD_AXIS2, 0x40340609, "Axis was never moved (STO) : axis number 2") \
1128X(INOS_MCTARGET_SAFETY_STO_NMD_AXIS3, 0x4034060A, "Axis was never moved (STO) : axis number 3") \
1129X(INOS_MCTARGET_SAFETY_STO_24H_AXIS0, 0x4034060B, "Axis was not moved for 24 hours (STO) : axis number 0") \
1130X(INOS_MCTARGET_SAFETY_STO_24H_AXIS1, 0x4034060C, "Axis was not moved for 24 hours (STO) : axis number 1") \
1131X(INOS_MCTARGET_SAFETY_STO_24H_AXIS2, 0x4034060D, "Axis was not moved for 24 hours (STO) : axis number 2") \
1132X(INOS_MCTARGET_SAFETY_STO_24H_AXIS3, 0x4034060E, "Axis was not moved for 24 hours (STO) : axis number 3") \
1133 \
1134/*--- CINOSMcTargetFieldbusSlave (0x00350xxx)---------------------------------------*/ \
1135 \
1136X(INOS_MCTARGET_FIELDBUS_SLAVE_GENERAL, 0x40350001, "General error") \
1137X(INOS_MCTARGET_FIELDBUS_SLAVE_BUSNUMBER_NOT_AVAILABLE, 0x40350002, "Fieldbus number not available") \
1138 \
1139/*--- CINOSMcTargetFieldbusMaster (0x00351xxx)--------------------------------------*/ \
1140 \
1141X(INOS_MCTARGET_FIELDBUS_MASTER_GENERAL, 0x40351001, "General error") \
1142X(INOS_MCTARGET_FIELDBUS_MASTER_DUPLICATE_BUSID, 0x40351002, "Duplicate fieldbus id detected") \
1143X(INOS_MCTARGET_FIELDBUS_MASTER_INVALID_BUSID, 0x40351003, "Invalid fieldbus id detected") \
1144 \
1145/*--- CINOSMcTargetMotionController (0x0036xxxx)------------------------------------*/ \
1146 \
1147X(INOS_MCTARGET_MOTOR_GENERAL, 0x40360001, "General error") \
1148X(INOS_MCTARGET_MOTOR_RESOLVER_ADJUSTMENT_FAILED_TARGET,0x40360002, "Resolver adjustment failed") \
1149 \
1150/*--- CINOSMcTargetEnvironment (0x0037xxxx)--------------------------------------*/ \
1151 \
1152X(INOS_MCTARGET_ENVIRONMENT_GENERAL, 0x40370001, "General error") \
1153X(INOS_MCTARGET_ENVIRONMENT_UNKNOWN_VARIABLE, 0x40370002, "Unknown variable") \
1154X(INOS_MCTARGET_ENVIRONMENT_ALREAD_EXISTS, 0x40370003, "Variable already exists") \
1155X(INOS_MCTARGET_ENVIRONMENT_PERSISTENT_NOT_SUPPORTED, 0x40370004, "Persistent environment write not supported") \
1156X(INOS_MCTARGET_ENVIRONMENT_FLASH_NOT_FOUND, 0x40370005, "Environment flash not found") \
1157X(INOS_MCTARGET_ENVIRONMENT_FLASH_UNLOCK_FAILED, 0x40370006, "Failed to unlock environment flash") \
1158X(INOS_MCTARGET_ENVIRONMENT_FLASH_LOCK_FAILED, 0x40370007, "Failed to lock environment flash") \
1159 \
1160/*--- CINOSMcTargetSystem (0x0038xxxx)--------------------------------------*/ \
1161 \
1162X(INOS_MCTARGET_SYSTEM_GENERAL, 0x40380001, "General error") \
1163X(INOS_MCTARGET_SYSTEM_UNKNOWN_CONTAINER, 0x40380002, "Unknown container") \
1164X(INOS_MCTARGET_SYSTEM_UNKNOWN_VARIABLE, 0x40380003, "Unknown variable") \
1165X(INOS_MCTARGET_SYSTEM_INVALID_VARIABLE_NAME, 0x40380004, "Invalid variable name given") \
1166X(INOS_MCTARGET_SYSTEM_ALREAD_EXISTS, 0x40380005, "Variable already exists") \
1167X(INOS_MCTARGET_SYSTEM_PERSISTENT_NOT_SUPPORTED, 0x40380006, "Persistent write not supported") \
1168X(INOS_MCTARGET_SYSTEM_PERSISTENT_IMAGE_CREATION_FAILED,0x40380007, "Persistent image creation failed") \
1169X(INOS_MCTARGET_SYSTEM_PERSISTENT_IMAGE_TO_BIG, 0x40380008, "Persistent image too big") \
1170X(INOS_MCTARGET_SYSTEM_FLASH_NOT_FOUND, 0x40380009, "System variable device not found") \
1171X(INOS_MCTARGET_SYSTEM_FLASH_UNLOCK_FAILED, 0x4038000A, "Failed to unlock environment flash") \
1172X(INOS_MCTARGET_SYSTEM_FLASH_LOCK_FAILED, 0x4038000B, "Failed to lock environment flash") \
1173X(INOS_MCTARGET_SYSTEM_PROTECTED, 0x4038000C, "Variable protected, unprotect first") \
1174X(INOS_MCTARGET_SYSTEM_NOT_PROTECTED, 0x4038000D, "Variable not protected") \
1175X(INOS_MCTARGET_SYSTEM_NO_PASSWORD, 0x4038000E, "No passowrd given") \
1176X(INOS_MCTARGET_SYSTEM_PASSWORD_TOO_SHORT, 0x4038000F, "Password too short") \
1177X(INOS_MCTARGET_SYSTEM_WRONG_PASSWORD, 0x40380010, "Wrong password given") \
1178 \
1179/*--- CINOSMcTargetRamTest (0x00391xxx)--------------------------------------*/ \
1180 \
1181X(INOS_MCTARGET_TEST_RAM_GENERAL, 0x40391001, "General error") \
1182X(INOS_MCTARGET_TEST_RAM_TEST_UNKNOWN, 0x40391002, "Unknown test requested, currently only 'general' allowed") \
1183X(INOS_MCTARGET_TEST_RAM_TEST_ONLY_ONE, 0x40391003, "Only one running test allowed") \
1184X(INOS_MCTARGET_TEST_RAM_TEST_NO_RUNNING, 0x40391004, "No test running") \
1185X(INOS_MCTARGET_TEST_RAM_TEST_CORRUPTED_CODE, 0x40391005, "Corrupted code detected") \
1186X(INOS_MCTARGET_TEST_RAM_TEST_WRITE_FAILURE, 0x40391006, "Writing to RAM failed") \
1187X(INOS_MCTARGET_TEST_RAM_TEST_READ_FAILURE, 0x40391007, "Reading from RAM failed") \
1188 \
1189/*--- CINOSMcTargetNvRamTest (0x00390xxx)--------------------------------------*/ \
1190 \
1191X(INOS_MCTARGET_TEST_NVRAM_GENERAL, 0x40390001, "General error") \
1192X(INOS_MCTARGET_TEST_NVRAM_BACKUP_ALREADY_EXISTS, 0x40390002, "Backup already exists") \
1193X(INOS_MCTARGET_TEST_NVRAM_BACKUP_UNKNOWN, 0x40390003, "Unknown backup") \
1194X(INOS_MCTARGET_TEST_NVRAM_TEST_UNKNOWN, 0x40390004, "Unknown test requested, currently only 'mcrobot' allowed") \
1195X(INOS_MCTARGET_TEST_NVRAM_TEST_ONLY_ONE, 0x40390005, "Only one running test allowed") \
1196X(INOS_MCTARGET_TEST_NVRAM_TEST_NO_RUNNING, 0x40390006, "No test running") \
1197X(INOS_MCTARGET_TEST_NVRAM_TEST_CORRUPTED_BLOCK, 0x40390007, "Corrupted NVRAM block detected") \
1198 \
1199/*--- CINOSMcTargetEthernetFrameCapture (0x003Axxxx)------------------------------*/ \
1200 \
1201X(INOS_MCTARGET_ETHCAP_GENERAL, 0x403A0001, "General error") \
1202X(INOS_MCTARGET_ETHCAP_INTERFACE_UNKNOWN, 0x403A0002, "Unknown interface name given") \
1203 \
1204/*--- CINOSMcTargetOpcUaServer (0x003Bxxxx)------------------------------*/ \
1205 \
1206X(INOS_MCTARGET_OPCUA_SERVER_GENERAL, 0x403B0000, "OPC UA Server General error. Check Eventlog for more info") \
1207X(INOS_MCTARGET_OPCUA_SERVER_UA_FAILED, 0x403B0001, "OPC UA Server: An open62541 library function failed") \
1208X(INOS_MCTARGET_OPCUA_SERVER_URI_MISSING, 0x403B0002, "OPC UA Server application URI must be specified") \
1209X(INOS_MCTARGET_OPCUA_SERVER_SECURITY_CONFIG_MISSING, 0x403B0003, "OPC UA Server security configuration missing") \
1210X(INOS_MCTARGET_OPCUA_SERVER_CERT_MISSING, 0x403B0004, "OPC UA Server security certificate missing") \
1211X(INOS_MCTARGET_OPCUA_SERVER_PRIVKEY_MISSING, 0x403B0005, "OPC UA Server private key missing") \
1212X(INOS_MCTARGET_OPCUA_SERVER_CLIENTCERT_MISSING, 0x403B0006, "OPC UA Server trust list certificate not found") \
1213X(INOS_MCTARGET_OPCUA_SERVER_SECURITY_POLICY_UNKNOWN, 0x403B0007, "OPC UA Server does not support a configured security policy") \
1214X(INOS_MCTARGET_OPCUA_SERVER_TERMINATED, 0x403B0008, "OPC UA Server terminated unexpectedly") \
1215 \
1216/*--- CINOSHwDPAA2Resource (0x003Cxxxx)--------------------------------------*/\
1217\
1218X(INOS_MCMSG_CODE_DPAA2_RESOURCE_COMMAND_STATUS, 0x403C0000, "DPAA2 Command ended successfully (set by MC on successful command completion)")\
1219X(INOS_MCMSG_CODE_DPAA2_RESOURCE_COMMAND_READY, 0x403C0001, "DPAA2 Command is ready for processing (must be set by the submitter)")\
1220X(INOS_MCMSG_CODE_DPAA2_RESOURCE_COMMAND_AUTH_ERROR, 0x403C0003, "DPAA2 Command Authentication error (illegal object-portal-icid combination)")\
1221X(INOS_MCMSG_CODE_DPAA2_RESOURCE_COMMAND_NO_PRIVILIEGE, 0x403C0004, "DPAA2 Command No privilege (operation not permitted for current user)")\
1222X(INOS_MCMSG_CODE_DPAA2_RESOURCE_COMMAND_DMA_IO_ERROR, 0x403C0005, "DPAA2 Command DMA or I/O error")\
1223X(INOS_MCMSG_CODE_DPAA2_RESOURCE_COMMAND_CONFIG_ERROR, 0x403C0006, "DPAA2 Command Configuration error (invalid/conflicting parameters)")\
1224X(INOS_MCMSG_CODE_DPAA2_RESOURCE_COMMAND_TIMED_OUT, 0x403C0007, "DPAA2 Command timed out (unexpected long execution time)")\
1225X(INOS_MCMSG_CODE_DPAA2_RESOURCE_COMMAND_NO_RESOURCE, 0x403C0008, "DPAA2 Command No DPAA2 resources for completing the command")\
1226X(INOS_MCMSG_CODE_DPAA2_RESOURCE_COMMAND_NO_MEMORY, 0x403C0009, "DPAA2 Command No memory available for completing the command")\
1227X(INOS_MCMSG_CODE_DPAA2_RESOURCE_COMMAND_BUSY, 0x403C000A, "DPAA2 Command Busy (operation cannot be completed temporarily)")\
1228X(INOS_MCMSG_CODE_DPAA2_RESOURCE_COMMAND_UNSUPPORTED, 0x403C000B, "DPAA2 Command Unsupported/unknown operation")\
1229X(INOS_MCMSG_CODE_DPAA2_RESOURCE_COMMAND_INVALID_STATE, 0x403C000C, "DPAA2 Command Invalid state (may indicate incorrect calling sequence)")\
1230X(INOS_MCMSG_CODE_DPAA2_RESOURCE_COMMAND_TIMEOUT, 0x403C0010, "DPAA2 Command timeout")\
1231X(INOS_MCMSG_CODE_DPAA2_RESOURCE_INVALID_TOKEN, 0x403C0011, "DPAA2 Command Got invalid token")\
1232X(INOS_MCMSG_CODE_DPAA2_QBMAN_ACQUIRE_ECC_ERROR, 0x403C0100, "DPAA2 QBMAN stockpile ECC error occured while acquiring buffers, buffer pointers may be corrupt")\
1233X(INOS_MCMSG_CODE_DPAA2_QBMAN_ACQUIRE_INVALID, 0x403C0101, "DPAA2 QBMAN Error, unrecognized, invalid, or unauthorized (in a portal with BDI=0) command was received.")\
1234X(INOS_MCMSG_CODE_DPAA2_QBMAN_ACQUIRE_NUMBER, 0x403C0102, "DPAA2 QBMAN Acquire didn't get requested number of buffers")\
1235X(INOS_MCMSG_CODE_DPAA2_QBMAN_ACQUIRE_UNKNOWN, 0x403C0103, "DPAA2 QBMAN unknown error occured")\
1236X(INOS_MCMSG_CODE_DPAA2_QBMAN_QUERY_INVALID_BPID, 0x403C0104, "DPAA2 QBMAN Error, command failed due to invalid BPID")\
1237X(INOS_MCMSG_CODE_DPAA2_QBMAN_QUERY_INVALID, 0x403C0105, "DPAA2 QBMAN Error, unrecognized, invalid, or unauthorized (in a portal with BDI=0) command was received.")\
1238X(INOS_MCMSG_CODE_DPAA2_QBMAN_QUERY_UNKNOWN, 0x403C0106, "DPAA2 QBMAN unknown error occured")\
1239X(INOS_MCMSG_CODE_DPAA2_QBMAN_FQ_INVALID_FQID, 0x403C0107, "DPAA2 QBMAN Error, command failed due to FQID")\
1240X(INOS_MCMSG_CODE_DPAA2_QBMAN_FQ_INVALID_STATE, 0x403C0108, "DPAA2 QBMAN Error, command failed due to invalid FQ state")\
1241X(INOS_MCMSG_CODE_DPAA2_QBMAN_FQ_INVALID, 0x403C0109, "DPAA2 QBMAN Error, unrecognized, invalid, or unauthorized (in a portal with BDI=0) command was received..")\
1242X(INOS_MCMSG_CODE_DPAA2_QBMAN_FQ_UNKNOWN, 0x403C010A, "DPAA2 QBMAN unknown error occured")\
1243X(INOS_MCMSG_CODE_DPAA2_QBMAN_WQ_INVALID_CHANNEL, 0x403C010B, "DPAA2 QBMAN Error, an invalid channel number was specified in the command")\
1244X(INOS_MCMSG_CODE_DPAA2_QBMAN_WQ_INVALID, 0x403C010C, "DPAA2 QBMAN Error, unrecognized, invalid, or unauthorized (in a portal with BDI=0) command was received..")\
1245X(INOS_MCMSG_CODE_DPAA2_QBMAN_WQ_UNKNOWN, 0x403C010D, "DPAA2 QBMAN unknown error occured")\
1246X(INOS_MCMSG_CODE_DPAA2_QBMAN_AT_ALREADY_EXISTS, 0x403C010E, "DPAA2 QBMAN An authorization table entry already exists")\
1247X(INOS_MCMSG_CODE_DPAA2_QBMAN_AT_INSERT_FAILED, 0x403C010F, "DPAA2 QBMAN Authorization table insert failed. Please re-try the command with a different VRID")\
1248X(INOS_MCMSG_CODE_DPAA2_QBMAN_AT_INVALID, 0x403C0110, "DPAA2 QBMAN Error, unrecognized, invalid, or unauthorized (in a portal with BDI=0) command was received..")\
1249X(INOS_MCMSG_CODE_DPAA2_QBMAN_AT_UNKNOWN, 0x403C0111, "DPAA2 QBMAN unknown error occured")\
1250X(INOS_MCMSG_CODE_DPAA2_QBMAN_AT_NOT_FOUND, 0x403C0112, "DPAA2 QBMAN No authorization table entry was found for the specified TYPE, ICID, and VRID")\
1251X(INOS_MCMSG_CODE_DPAA2_QBMAN_AT_ADDR_OUTSIDE_RANGE, 0x403C0113, "DPAA2 QBMAN ADDR supplied in the command is outside the valid range for this SoC")\
1252\
1253/*--- CINOSMcTargetEntropy (0x003Dxxxx)--------------------------------------*/\
1254\
1255X(INOS_MCTARGET_ENTROPY_GENERAL, 0x403D0001, "General error")\
1256X(INOS_MCTARGET_ENTROPY_UNDERFLOW, 0x403D0002, "Not enough entropy to generate random bytes (e.g. used by OPC UA). System load too high?")\
1257X(INOS_MCTARGET_ENTROPY_BIASED, 0x403D0003, "Entropy bias: collected random data is not cryptographically secure")\
1258\
1259/*--- CINOSMcTargetKernelLogger (0x003Exxxx)--------------------------------------*/\
1260\
1261X(INOS_MCTARGET_KERNEL_LOGGER_GENERAL, 0x403E0001, "General error")\
1262X(INOS_MCTARGET_KERNEL_LOGGER_BUFFER_ALREADY_CREATED, 0x403E0002, "Logger buffer already created")\
1263X(INOS_MCTARGET_KERNEL_LOGGER_NOT_ENOUGH_MEMORY, 0x403E0003, "Not enough memory to create logger buffer")\
1264X(INOS_MCTARGET_KERNEL_LOGGER_START_TYPE_UNKNOWN, 0x403E0004, "Unknown logger start type given")\
1265X(INOS_MCTARGET_KERNEL_LOGGER_PROPERTY_UNKNOWN, 0x403E0005, "Unknown property given")\
1266X(INOS_MCTARGET_KERNEL_LOGGER_PROPERTY_TYPE_WRONG, 0x403E0006, "Property type wrong")\
1267X(INOS_MCTARGET_KERNEL_LOGGER_PROPERTY_SET_NOT_ALLOWED, 0x403E0007, "Property set not allowed, logger running")\
1268X(INOS_MCTARGET_KERNEL_LOGGER_PROPERTY_SET_TASK_UNKNOWN,0x403E0008, "Unknown task name given")\
1269X(INOS_MCTARGET_KERNEL_LOGGER_TRIGGER_TYPE_UNKNOWN, 0x403E0009, "Unknown trigger type given")\
1270X(INOS_MCTARGET_KERNEL_LOGGER_TRIGGER_TESTPOINT_NA, 0x403E000A, "Requested trigger testpoint not available")\
1271X(INOS_MCTARGET_KERNEL_LOGGER_ACTUAL_INVALID_COREID, 0x403E000B, "Invalid coreid given")\
1272X(INOS_MCTARGET_KERNEL_LOGGER_ACTUAL_UNKNOWN, 0x403E000C, "Unknown actual given")\
1273\
1274/*--- CINOSMcTargetCommDex (0x003F0xxx)--------------------------------------*/\
1275\
1276X(INOS_MCTARGET_DEX_GENERAL, 0x403F0001, "General error")\
1277X(INOS_MCTARGET_DEX_INVALID_ADDRESS_SWITCH, 0x403F0002, "Invalid address switch given")\
1278X(INOS_MCTARGET_DEX_DUPLICATE_ADDRESS_SWITCH, 0x403F0003, "Duplicate address switch given")\
1279X(INOS_MCTARGET_DEX_UNKNOWN_ADDRESS_SWITCH, 0x403F0004, "Unknown address switch given")\
1280X(INOS_MCTARGET_DEX_INVALID_WORDS, 0x403F0005, "Invalid number of words given")\
1281X(INOS_MCTARGET_DEX_INVALID_IP_ADDRESS, 0x403F0006, "Invalid ip address given")\
1282X(INOS_MCTARGET_DEX_DUPLICATE_IP_ADDRESS, 0x403F0007, "Duplicate ip address given")\
1283X(INOS_MCTARGET_DEX_UNKNOWN_MODULE, 0x403F0008, "Unknown DEX module given")\
1284\
1285/*--- CINOSMcTargetCanbus (0x003F1xxx)--------------------------------------*/\
1286\
1287X(INOS_MCTARGET_CANBUS_GENERAL, 0x403F1001, "General error")\
1288X(INOS_MCTARGET_CANBUS_NOT_IMPLEMENTED, 0x403F1002, "Method not implemented")\
1289X(INOS_MCTARGET_CANBUS_INVALID_CHANNEL_INDEX, 0x403F1003, "Invalid channel index given")\
1290X(INOS_MCTARGET_CANBUS_UNKNOWN_CHANNEL_NAME, 0x403F1004, "Unknown channel name given")\
1291X(INOS_MCTARGET_CANBUS_INVALID_CHANNEL_NAME, 0x403F1005, "Invalid channel name detected (call Indel)")\
1292X(INOS_MCTARGET_CANBUS_RECEIVE_TIMEOUT, 0x403F1006, "Timeout waiting for frame")\
1293X(INOS_MCTARGET_CANBUS_PROXY_INIT_FAILED, 0x403F1007, "Calling Init on canbus slave failed")\
1294X(INOS_MCTARGET_CANBUS_INVALID_BAUDRATE, 0x403F1008, "Invalid CAN bus baudrate")\
1295X(INOS_MCTARGET_CANBUS_BUS_INIT_FAILED, 0x403F1009, "Error in initializing CAN bus")\
1296X(INOS_MCTARGET_CANBUS_TX_OVERRUN, 0x403F100A, "No buffers left for sending")\
1297X(INOS_MCTARGET_CANBUS_WRONG_FIRMWARE, 0x403F100B, "Firmware not as expected")\
1298\
1299/*--- CINOSMcTargetCANFrameCapture (0x003F2xxx)------------------------------*/\
1300\
1301X(INOS_MCTARGET_CANCAP_GENERAL, 0x403F2001, "General error")\
1302X(INOS_MCTARGET_CANCAP_INTERFACE_UNKNOWN, 0x403F2002, "Unknown interface name given")\
1303\
1304/*--- CINOSMcTargetFirmware (0x003F3xxx)-------------------------------------*/\
1305\
1306X(INOS_MCTARGET_FIRMWARE_GENERAL, 0x403F3000, "General error")\
1307X(INOS_MCTARGET_FIRMWARE_UNKNOWN_IMAGE, 0x403F3002, "Unknown image given")\
1308X(INOS_MCTARGET_FIRMWARE_IMAGE_CRC, 0x403F3003, "wrong image crc")\
1309X(INOS_MCTARGET_FIRMWARE_WRONG_ARGUMENTS, 0x403F3010, "wrong arguments")\
1310X(INOS_MCTARGET_FIRMWARE_VERIFY, 0x403F3014, "verification failed")\
1311X(INOS_MCTARGET_FIRMWARE_NO_ISP_SUPPORT, 0x403F3015, "wrong spi id")\
1312X(INOS_MCTARGET_FIRMWARE_FILE_SIZE, 0x403F3020, "-l length is bigger than the binary")\
1313X(INOS_MCTARGET_FIRMWARE_POLL_TIMEOUT, 0x403F3050, "timeout")\
1314X(INOS_MCTARGET_FIRMWARE_COP_TIMEOUT, 0x403F3060, "timeout")\
1315X(INOS_MCTARGET_FIRMWARE_SPI_SPI_NOTBLANK, 0x403F3061, "flash not blank")\
1316X(INOS_MCTARGET_FIRMWARE_COP_MODUL_NOT_FOUND, 0x403F3062, "module not found")\
1317X(INOS_MCTARGET_FIRMWARE_COP_ADDR_PROTECTED, 0x403F3063, "flash address protected")\
1318X(INOS_MCTARGET_FIRMWARE_COP_ADDR_OVERRUN, 0x403F3064, "flash address overrun")\
1319X(INOS_MCTARGET_FIRMWARE_COP_WRONG_LENGTH, 0x403F3065, "wrong length")\
1320X(INOS_MCTARGET_FIRMWARE_COP_CYCLE_BUSY, 0x403F3066, "cycle time not writable")\
1321X(INOS_MCTARGET_FIRMWARE_SPI_UNSUPORTEDCMD, 0x403F3070, "Unsupported spi command")\
1322X(INOS_MCTARGET_FIRMWARE_PROGRAM, 0x403F3100, "program failed")\
1323X(INOS_MCTARGET_FIRMWARE_ERASE, 0x403F3101, "erase failed")\
1324X(INOS_MCTARGET_FIRMWARE_DATALOADADDR, 0x403F3102, "no data load address")\
1325\
1326/*--- CINOSMcTargetSupervision (0x003F4xxx)--------------------------------------*/\
1327\
1328X(INOS_MCTARGET_SUPERVISION_GENERAL, 0x403F4001, "General error")\
1329X(INOS_MCTARGET_SUPERVISION_TEMPERATURE_WARNING, 0x403F4002, "Temperature warning")\
1330X(INOS_MCTARGET_SUPERVISION_TEMPERATURE_ERROR, 0x403F4003, "Overtemperature detected. Danger of hardware damage!")\
1331X(INOS_MCTARGET_SUPERVISION_COOLING_WARNING, 0x403F4004, "Cooling system warning")\
1332\
1333/*--- CINOSMcTargetOnnx (0x003F5xxx)---------------------------------------------*/\
1334\
1335X(INOS_MCTARGET_ONNX_GENERAL, 0x403F5000, "General error")\
1336X(INOS_MCTARGET_ONNX_MODEL_NAME_UNKNOWN, 0x403F5001, "Unknown model name given")\
1337X(INOS_MCTARGET_ONNX_MODEL_ALREADY_LOCKED, 0x403F5002, "Model already locked")\
1338X(INOS_MCTARGET_ONNX_MODEL_CONTEXT_ALLOC_FAILED, 0x403F5003, "Failed to allocate context memory")\
1339X(INOS_MCTARGET_ONNX_MODEL_CONTEXT_INVALID, 0x403F5004, "Invalid model context given")\
1340\
1341/*--- CCOPBus (0x0040xxxx)--------------------------------------*/\
1342\
1343X(INOS_COPBUS_FAILED_TO_WRITE_MODULE_VARIABLE, 0x40400001, "Failed to write COP module variable")\
1344X(INOS_COPBUS_FAILED_TO_READ_CONSISTENT_PORT_VALUE, 0x40400002, "Failed to read consistent COP module port value")\
1345\
1346/*--- Configuration (0x0041xxxx)--------------------------------------*/\
1347 \
1348X(INOS_CONFIG_GENERAL, 0x40410000, "General configuration error") \
1349X(INOS_CONFIG_INVALID_ATTRIBUTE_REQUESTED, 0x40410001, "Invalid attribute requested", INOS_MCMSG_TYPE_FATAL, INOS_MCMSG_FLAG_NONE) \
1350X(INOS_CONFIG_UNKNOWN_DISTRIBUTIONBOARD_REQUESTED,0x40410002, "Unknown distrbution board requested",INOS_MCMSG_TYPE_FATAL, INOS_MCMSG_FLAG_NONE) \
1351 \
1352/*--- CGINLink (0x0042xxxx)--------------------------------------*/ \
1353 \
1354X(INOS_GINLINK_FAILED_TO_READ_DESCRIPTOR, 0x40420001, "Failed to read GinLink module descriptor") \
1355X(INOS_GINLINK_TRANSMIT_DATA_BUFFER_TOO_SMALL, 0x40420002, "Cyclic transmit data buffer too small") \
1356 \
1357/*--- Ethercat (0x0050xxxx)----------------------------------------*/ \
1358 \
1359X(INOS_ETHERCAT_GENERAL, 0x40500000, "General Ethercat error") \
1360X(INOS_ETHERCAT_UNKNOWN_SLAVE_ADDRESS, 0x40500001, "Unknown slave address given") \
1361X(INOS_ETHERCAT_CMD_GENERAL, 0x40510000, "General Ethercat command error") \
1362X(INOS_ETHERCAT_MBX_GENERAL, 0x40520000, "General Ethercat mailbox error") \
1363X(INOS_ETHERCAT_MBX_NOT_AVAILBALE, 0x40520001, "No mailbox available") \
1364X(INOS_ETHERCAT_MBX_OUT_EMPTY_TIMEOUT, 0x40520002, "Timeout waiting for OUT mailbox") \
1365X(INOS_ETHERCAT_MBX_OUT_SEND, 0x40520003, "Error writing to OUT mailbox") \
1366X(INOS_ETHERCAT_MBX_EOE_NOT_SUPPORTED, 0x40520004, "EoE not supported") \
1367X(INOS_ETHERCAT_MBX_EMERGENCY_REQUEST, 0x40520005, "Mailbox emergency request") \
1368X(INOS_ETHERCAT_COE_GENERAL, 0x40530000, "General Ethercat CoE error") \
1369X(INOS_ETHERCAT_COE_UNEXPECTED_RESULT, 0x40530001, "Received unexpected CoE result") \
1370X(INOS_ETHERCAT_COE_SEGMENTED_TRANSFER_NOT_SUPPORTED,0x40530002, "Segmented transfer not supported") \
1371X(INOS_ETHERCAT_COE_EXPEDITED_ONLY, 0x40530003, "Only expedited transfer supported (<= 4 bytes)") \
1372X(INOS_ETHERCAT_COE_MORE_DATA_THAN_EXPECTED, 0x40530004, "Got more data than expected") \
1373X(INOS_ETHERCAT_COE_SDO_ABORT, 0x40530005, "Received an SDO abort") \
1374 \
1375/*--- CINOSDataObject (0x0080xxxx)------------------------------------------*/ \
1376 \
1377X(INOS_DATA_ID_NOT_FOUND, 0x40800001, "Data id not found") \
1378X(INOS_DATA_OBJECT_NOT_FOUND, 0x40800002, "Data object not found") \
1379X(INOS_DATA_PROPERTY_NOT_FOUND, 0x40800003, "Data property not found") \
1380X(INOS_DATA_ATTRIBUTE_NOT_FOUND, 0x40800004, "Data attribute not found") \
1381X(INOS_DATA_PROPERTY_ID_IS_OBJECT, 0x40800005, "Given id is an object") \
1382X(INOS_DATA_PROPERTY_ID_IS_STRING, 0x40800006, "Given id is a string") \
1383X(INOS_DATA_PROPERTY_ID_IS_NUMBER, 0x40800007, "Given id is a number") \
1384X(INOS_DATA_ATTRIBUTE_IS_STRING, 0x40800008, "Attribute is a string") \
1385X(INOS_DATA_ATTRIBUTE_IS_NUMBER, 0x40800009, "Attribute is a number") \
1386X(INOS_DATA_ATTRIBUTE_DUPLICATE, 0x4080000A, "Duplicate attribute detected") \
1387X(INOS_DATA_PROPERTY_DUPLICATE, 0x4080000B, "Duplicate property detected") \
1388X(INOS_DATA_OBJECT_DUPLICATE, 0x4080000C, "Duplicate object detected") \
1389X(INOS_DATA_OBJECT_ID_IS_PROPERTY, 0x4080000D, "Given object id is a property") \
1390X(INOS_DATA_ITEM_NOT_FOUND, 0x4080000E, "Data item not found") \
1391X(INOS_DATA_INVALID_PATH_GIVEN, 0x4080000F, "Invalid INCO path given") \
1392 \
1393/*--- CINOSDataLock (0x0081xxxx)------------------------------------------*/ \
1394 \
1395X(INOS_DATA_LOCK_NOT_YET_SUPPORTED, 0x40810001, "Data lock mechanism not yet supported") \
1396X(INOS_DATA_LOCK_PENDING, 0x40810002, "Data lock pending") \
1397X(INOS_DATA_LOCK_UNKNOWN_ID, 0x40810003, "Unknown lock id given") \
1398 \
1399/*--- CINOSImage (0x00820xxx)------------------------------------------*/ \
1400 \
1401X(INOS_IMAGE_HEADER_INVALID_MAGIC_NUMBER, 0x40820001, "Invalid magic number") \
1402X(INOS_IMAGE_HEADER_CRC_WRONG, 0x40820002, "Wrong header crc detected") \
1403X(INOS_IMAGE_HEADER_LINE_NOT_FOUND, 0x40820003, "Requested header line not found") \
1404X(INOS_IMAGE_DATA_CRC_WRONG, 0x40820004, "Wrong data crc detected") \
1405X(INOS_IMAGE_COMPRESS_TYPE_UNKNOWN, 0x40820005, "Unknown compression type") \
1406X(INOS_IMAGE_COMPRESS_TYPE_NOT_SUPPORTED, 0x40820006, "Compression type not supported") \
1407X(INOS_IMAGE_COMPRESS_FAILED, 0x40820007, "Failed to compress image data") \
1408X(INOS_IMAGE_UNCOMPRESS_FAILED, 0x40820008, "Failed to uncompress image data") \
1409X(INOS_IMAGE_UNCOMPRESS_SIZE_MISMATCH, 0x40820009, "Uncompressed data size mismatch") \
1410X(INOS_IMAGE_INVALID_REFERENCE_INDEX, 0x4082000A, "Invalid reference index requested") \
1411X(INOS_IMAGE_INVALID_OBJECT_INDEX, 0x4082000B, "Invalid object index requested") \
1412X(INOS_IMAGE_DATA_XML_PARSING_FAILED, 0x4082000C, "Parsing data xml failed") \
1413X(INOS_IMAGE_DATA_XML_OBJECT_EXISTS, 0x4082000D, "Creation failed, object already exists") \
1414X(INOS_IMAGE_UNKNOWN_CONTENT_TYPE, 0x4082000E, "Unknown image content type requested") \
1415X(INOS_IMAGE_MULTIIMAGE_SIZE_TO_SMALL, 0x4082000F, "Multiimage size to small") \
1416X(INOS_IMAGE_DATA_JSON_PARSING_FAILED, 0x40820010, "Parsing data json failed") \
1417X(INOS_IMAGE_NOT_YET_IMPLEMENTED, 0x40820011, "Not yet implemented") \
1418X(INOS_IMAGE_NOT_BOOTABLE, 0x40820012, "Given image not bootable") \
1419X(INOS_IMAGE_MOVEPATH_XML_PARSING_FAILED, 0x40820013, "Parsing movepath xml failed") \
1420X(INOS_IMAGE_MOVEPATH_XML_NO_PATH, 0x40820014, "No movepath found in given xml") \
1421X(INOS_IMAGE_MOVEPATH_XML_NRBPOINT_INVALID, 0x40820015, "Invalid nurb point detected in given xml") \
1422X(INOS_IMAGE_MOVEPATH_XML_INVALID_AXIS_NAME, 0x40820016, "Invalid axis name detected in given xml") \
1423X(INOS_IMAGE_MOVEPATH_XML_INVALID_FORMAT, 0x40820017, "Invalid format detected in given xml") \
1424X(INOS_IMAGE_DATA_SIGNATURE_NOT_FOUND, 0x40820018, "Image signature not found") \
1425X(INOS_IMAGE_NO_KEY_PROVIDED, 0x40820019, "No public key for signature check provided") \
1426X(INOS_IMAGE_DATA_SIGNATURE_INVALID, 0x4082001A, "Invalid image signature detected") \
1427 \
1428/*--- CHttpImageLoaderResource (0x00821xxx)------------------------------------------*/ \
1429 \
1430X(INOS_IMAGE_LOADER_FLASH_NO_DEVICE, 0x40821001, "No flash device available") \
1431X(INOS_IMAGE_LOADER_FLASH_WRITE_FAILED, 0x40821002, "Failed to write flash") \
1432X(INOS_IMAGE_LOADER_FLASH_VERIFY_FAILED, 0x40821003, "Flash verification failed. Do not turn off power and try again!") \
1433X(INOS_IMAGE_LOADER_IMAGE_TOO_LARGE, 0x40821004, "Image too large to fit in flash") \
1434X(INOS_IMAGE_LOADER_PRODUCT_ID_MISMATCH, 0x40821005, "Product Id mismatch. Did you select the wrong target/build configuration?") \
1435X(INOS_IMAGE_LOADER_IMAGE_NO_NAME, 0x40821006, "Image name missing") \
1436X(INOS_IMAGE_LOADER_BOOTLOADER_TOO_OLD, 0x40821007, "Bootloader too old to load INOS images") \
1437X(INOS_IMAGE_LOADER_FLASH_READ_FAILED, 0x40821008, "Failed to reading from flash") \
1438X(INOS_IMAGE_LOADER_BOOT_NOT_SUPPORTED, 0x40821009, "Boot from image not supported") \
1439X(INOS_IMAGE_LOADER_TRANSFER_STOPPED_BY_CLIENT, 0x4082100A, "Image transfer stopped by client before completed") \
1440 \
1441/*--- FPGA / Bootloader (0x00822xxx)--------------------------------------------*/ \
1442 \
1443X(INOS_FPGA_UPDATE_NECESSARY, 0x40822001, "FPGA or bootloader too old for this system, please update first") \
1444 \
1445/*--- CINOSDT2Helper (0x0083xxxx)------------------------------------------*/ \
1446 \
1447X(INOS_DT2_UNKNOWN_TABLE_NAME, 0x40830001, "Unknown table name requested") \
1448X(INOS_DT2_STRUCTURE_SIZE_MISMATCH, 0x40830002, "Given structure size doesn't match internal one") \
1449X(INOS_DT2_INVALID_RECORD_NUMBER, 0x40830003, "Invalid record number given") \
1450 \
1451/*--- CINOSJson (0x0084xxxx)--------------------------------------------*/ \
1452 \
1453X(INOS_JSON_GENERAL, 0x40840000, "General JSON error") \
1454X(INOS_JSON_NOT_ENOUGH_TOKENS, 0x40840001, "Not enough tokens were provided") \
1455X(INOS_JSON_INVALID_CHARACTER, 0x40840002, "Invalid character inside JSON string") \
1456X(INOS_JSON_INCOMPLETE, 0x40840003, "The string is not a full JSON packet, more bytes expected") \
1457X(INOS_JSON_JUNK, 0x40840004, "The string contains junk data after its root element") \
1458X(INOS_JSON_INVALID_ESCAPE_CHARACTER, 0x40840005, "Invalid escape character inside JSON string") \
1459X(INOS_JSON_STRING_TO_LONG, 0x40840006, "String value to long for available buffer") \
1460X(INOS_JSON_KEY_NOT_FOUND, 0x40840010, "Requested key not found") \
1461X(INOS_JSON_KEY_WITHOUT_VALUE, 0x40840011, "The requested key has no value (':' followed by value expected)") \
1462X(INOS_JSON_RESULT_BUFFER_TO_SMALL, 0x40840012, "Given result buffer to small") \
1463X(INOS_JSON_TOKEN_NOT_A_OBJECT, 0x40840013, "Token is not a 'object' type") \
1464X(INOS_JSON_TOKEN_NOT_A_STRING, 0x40840014, "Token is not a 'string' type") \
1465X(INOS_JSON_TOKEN_NOT_A_NUMBER, 0x40840015, "Token is not a 'number' type") \
1466X(INOS_JSON_KEY_IS_NOT_A_STRING, 0x40840016, "The expected key token is not a 'string' type") \
1467X(INOS_JSON_TOKEN_OBJECT_EMPTY, 0x40840017, "The JSON object is empty") \
1468X(INOS_JSON_TOKEN_HAS_NOT_ONE_CHILD, 0x40840018, "The JSON token was expected to have exactly 1 child, but it didn't") \
1469X(INOS_JSON_VALUE_IS_NOT_A_BOOL, 0x40840019, "Token is not a 'boolean' type") \
1470X(INOS_JSON_NUMBER_PARSER_INVALID_NUMBER, 0x40840020, "The JSON number parser failed: Not a valid number") \
1471X(INOS_JSON_NUMBER_PARSER_TRAILING_CRAP, 0x40840021, "The JSON number parser failed: Non-number chars were detected at end of the number") \
1472X(INOS_JSON_NUMBER_TOO_BIG, 0x40840022, "The JSON number parser failed: Number is too big for destination type") \
1473X(INOS_JSON_INVALID_VALUE, 0x40840023, "The JSON parser failed: Not a valid value") \
1474X(INOS_JSON_INVALID_OBJECT_SYNTAX, 0x40840024, "Invalid JSON object : ',' or '}' expected after value ") \
1475X(INOS_JSON_INVALID_ARRAY_SYNTAX, 0x40840025, "Invalid JSON array : ',' or ']' expected after value ") \
1476 \
1477/*--- CINOSSafeConfig (0x0085xxxx)--------------------------------------------*/ \
1478 \
1479X(INOS_SAFECONFIG_HEADER_INVALID_MAGIC_NUMBER, 0x40850001, "Safe config has invalid magic number") \
1480X(INOS_SAFECONFIG_HEADER_MAX_DEVICES, 0x40850002, "Safe config has invalid number of devices") \
1481X(INOS_SAFECONFIG_HEADER_NO_DEVICES, 0x40850003, "Safe config has no devices") \
1482X(INOS_SAFECONFIG_UNKNOWN_INDEL_ID, 0x40850004, "Unknown Indel id requested") \
1483X(INOS_SAFECONFIG_UNKNOWN_UID, 0x40850005, "Unknown UID requested") \
1484 \
1485/*--- CINOSLVDT (0x0086xxxx)--------------------------------------------*/ \
1486 \
1487X(INOS_LVDT_GENERAL, 0x40860000, "General LVDT error") \
1488X(INOS_LVDT_UNKNOWN_CHANNEL, 0x40860001, "Unknown LVDT channel given") \
1489X(INOS_LVDT_CALIBRATION_FAILED, 0x40860002, "LVDT channel calibration failed") \
1490 \
1491/*--- CINOSImageDt2 (0x0087xxxx)--------------------------------------------*/ \
1492 \
1493X(INOS_IMAGE_DT2_GENERAL_PARSE_ERROR, 0x40870000, "General parse error") \
1494 \
1495/*--- CINOSImageHx (0x0088xxxx)--------------------------------------------*/ \
1496 \
1497X(INOS_IMAGE_HX_GENERAL_PARSE_ERROR, 0x40880000, "General HX file parse error") \
1498 \
1499/*--- CINOSOpcUaClient (0x0089xxxx)--------------------------------------------*/ \
1500 \
1501X(INOS_OPCUA_CLIENT_INTERNAL, 0x40890000, "An internal open62541 library error occurred. Check Eventlog or GetInternalStatus() for details") \
1502X(INOS_OPCUA_CLIENT_NODEID_UNKNOWN, 0x40890001, "OPC UA node id unknown") \
1503X(INOS_OPCUA_CLIENT_VALUE_TYPE_MISMATCH, 0x40890002, "Value type mismatch in OPC UA call") \
1504X(INOS_OPCUA_CLIENT_METHOD_PARAM_TYPE_MISMATCH, 0x40890003, "Parameter type mismatch in OPC UA method call") \
1505X(INOS_OPCUA_CLIENT_STRING_BUFFER_TOO_SMALL, 0x40890004, "Provided string buffer is too small in OPC UA call") \
1506X(INOS_OPCUA_CLIENT_TOO_MANY_ARGUMENTS, 0x40890005, "Too many (input) arguments in OPC UA call") \
1507X(INOS_OPCUA_CLIENT_DISCONNECTED, 0x40890006, "OPC UA client disconnected") \
1508X(INOS_OPCUA_CLIENT_SECURITY_NOT_AVAILABLE, 0x40890007, "OPC UA security support not available. Please check iDev features") \
1509X(INOS_OPCUA_CLIENT_URI_MISSING, 0x40890008, "OPC UA client application URI must be specified") \
1510X(INOS_OPCUA_CLIENT_SECURITY_CONFIG_MISSING, 0x40890009, "OPC UA client security configuration missing") \
1511X(INOS_OPCUA_CLIENT_CERT_MISSING, 0x4089000A, "OPC UA client security certificate missing") \
1512X(INOS_OPCUA_CLIENT_PRIVKEY_MISSING, 0x4089000B, "OPC UA client private key missing") \
1513X(INOS_OPCUA_CLIENT_SERVERCERT_MISSING, 0x4089000C, "OPC UA client trust list certificate not found") \
1514X(INOS_OPCUA_CLIENT_MISSING_CREDENTIALS, 0x4089000D, "OPC UA client missing username and/or password") \
1515 \
1516/*--- Networking / lwIP (0x008Axxxx)--------------------------------------------*/ \
1517 \
1518X(INOS_MDNS_NAME_CONFLICT, 0x408A0001, "mDNS name conflict") \
1519 \
1520/*--- CINOSBusTsn (0x008Bxxxx)--------------------------------------------*/ \
1521 \
1522X(INOS_TSN_PAYLOAD_LIMIT_EXCEEDED, 0x408B0001, "TSN payload limit exceeded") \
1523X(INOS_TSN_SEND_FAILED, 0x408B0002, "TSN send failed") \
1524X(INOS_TSN_INVALID_FRAME_SIZE, 0x408B0003, "Invalid TSN frame size") \
1525X(INOS_TSN_NOTHING_TO_RECEIVE, 0x408B0004, "TSN: nothing to receive") \
1526X(INOS_TSN_BUS_NOT_AVAILABLE, 0x408B0005, "TSN bus not available") \
1527X(INOS_TSN_PUBSUB_ADDRESS_INVALID, 0x408B0006, "TSN: PubSub address invalid") \
1528X(INOS_TSN_PUBSUB_FORMAT_INVALID, 0x408B0007, "TSN: PubSub format invalid") \
1529X(INOS_TSN_FRAME_CHECKSUM_INVALID, 0x408B0008, "TSN: frame checksum invalid") \
1530X(INOS_TSN_IGMP_JOIN_FAILED, 0x408B0009, "TSN: failed to join multicast group") \
1531X(INOS_TSN_IP_RESOLVE_FAILED, 0x408B000A, "TSN: failed to resolve IP address") \
1532X(INOS_TSN_REMOTE_UNREACHABLE, 0x408B0010, "TSN: remote unreachable") \
1533X(INOS_TSN_REMOTE_INCOMPATIBLE, 0x408B0011, "TSN: remote incompatible. May need INOS update.") \
1534X(INOS_TSN_REMOTE_NOT_READY, 0x408B0012, "TSN: remote not ready. May be still booting or on error.") \
1535 \
1536/*--- CINOSTestManager (0x008Cxxxx)--------------------------------------------*/ \
1537 \
1538X(INOS_TESTUTIL_TEST_FAILED_ERR, 0x408C0001, "Test failed.") \
1539X(INOS_TESTUTIL_RAMTEST_FAILED_ERR, 0x408C0002, "RamTest failed.") \
1540 \
1541/*--- CINOSOutPwm (0x008D00xx)--------------------------------------------*/ \
1542 \
1543X(INOS_OUTPWM_POWER_DETECTION_DISABLED, 0x408D0000, "Power frequency detection disabled.") \
1544X(INOS_OUTPWM_POWER_DETECTION_WAITING_SYNC, 0x408D0001, "Waiting for power sync input.") \
1545X(INOS_OUTPWM_POWER_DETECTION_ON_GOING, 0x408D0002, "Power frequency detection on going.") \
1546X(INOS_OUTPWM_POWER_DETECTION_FAILED, 0x408D0003, "Power frequency detection failed.") \
1547X(INOS_OUTPWM_POWER_DETECTION_STATE_UNKNOWN, 0x408D0004, "Power frequency detection ended in an unknown state.") \
1548X(INOS_OUTPWM_NAME_UNKNOWN, 0x408D0005, "Unknown output pwm name given.") \
1549X(INOS_OUTPWM_POWER_FREQUENCY_INVALID, 0x408D0006, "Invalid power frequency given.") \
1550 \
1551/*-------------------------------------------------------------------------------- \
1552 INCO (0x0015xxxx) \
1553--------------------------------------------------------------------------------*/ \
1554X(INOS_MCMSG_CODE_INCO_INVALIDPATH, 0x401500F7, "Invalid INCO path") \
1555X(INOS_MCMSG_CODE_INCO_UNKNOWNFRAME, 0x401500FF, "Target doesn't support this INCO frame type") \
1556 \
1557X(INOS_MCMSG_CODE_INCO_VAR_BASE, 0x40150200, "Generic INCO variable error") \
1558X(INOS_MCMSG_CODE_INCO_VAR_NOTFOUND, 0x40150201, "Variable not found") \
1559X(INOS_MCMSG_CODE_INCO_VAR_READONLY, 0x40150202, "Variable is read only") \
1560X(INOS_MCMSG_CODE_INCO_VAR_MINIMUM, 0x40150203, "Variable minimum value reached") \
1561X(INOS_MCMSG_CODE_INCO_VAR_MAXIMUM, 0x40150204, "Variable maximum value reached") \
1562X(INOS_MCMSG_CODE_INCO_VAR_STRLENGTH, 0x40150205, "Variable string length error") \
1563X(INOS_MCMSG_CODE_INCO_VAR_ARRAYINDEX, 0x40150206, "Variable array index out of bound") \
1564X(INOS_MCMSG_CODE_INCO_VAR_KEYLEVEL, 0x40150207, "Variable keylevel not enough") \
1565X(INOS_MCMSG_CODE_INCO_VAR_PROPNOTFOUND, 0x40150208, "Variable property not found") \
1566X(INOS_MCMSG_CODE_INCO_VAR_BITNUMBER, 0x40150209, "Variable bit number not allowed") \
1567X(INOS_MCMSG_CODE_INCO_VAR_BUFSIZE, 0x4015020a, "Variable buffer to small. Note: currently only used on PC side") \
1568X(INOS_MCMSG_CODE_INCO_VAR_MULTIDISP, 0x4015020b, "Multidispatch failed. Note: currently only used by INIX on PC side") \
1569X(INOS_MCMSG_CODE_INCO_VAR_TRIGTWICE, 0x4015020c, "A trigger with the same action and of the same type is already registered. Note: currently only used by INIX on PC side") \
1570X(INOS_MCMSG_CODE_INCO_VAR_EMENOTALLOWED, 0x4015020d, "Variable read/write not allowed for emergency incodispatcher") \
1571X(INOS_MCMSG_CODE_INCO_VAR_ASYNCRESLOST, 0x4015020e, "Asynchronous variable getter did not return a result, or result was already purged from ring buffer. Note: currently only used by INIX on PC side") \
1572X(INOS_MCMSG_CODE_INCO_VAR_TRIGSYNTAX, 0x4015020f, "The trigger command has wrong syntax. Note: currently only used by INIX on PC side") \
1573X(INOS_MCMSG_CODE_INCO_VAR_TYPEUNSUPP, 0x40150210, "The type is unsupported. Depending whether a GetVariable or PutVariable was performed, this means that either INOS or the inco_32.dll should be updated") \
1574X(INOS_MCMSG_CODE_INCO_VAR_NOTSTRING, 0x40150211, "GetVariable was called to read a string, but the variable is not of type string") \
1575X(INOS_MCMSG_CODE_INCO_VAR_NOTNUMBER, 0x40150212, "GetVariable was called to read a number, but the variable is not of type number") \
1576X(INOS_MCMSG_CODE_INCO_VAR_NAMELENGTH, 0x40150213, "McFrame to ClassicFrame conversion: the variable name length is too long (i.e. does not fit into the maximum possible frame length)") \
1577X(INOS_MCMSG_CODE_INCO_VAR_PUTBUFSIZE, 0x40150214, "McFrame to ClassicFrame conversion: the communication buffer is too small to put the variable. Variable name/path and or variable value exceeds maximum length") \
1578X(INOS_MCMSG_CODE_INCO_VAR_PUTGETEX_TYPE_MISMATCH,0x40150215, "Put/GetVariableEx type mismatch detected") \
1579X(INOS_MCMSG_CODE_INCO_VAR_PUTGETEX_SIZE_MISMATCH,0x40150216, "Put/GetVariableEx size mismatch detected") \
1580X(INOS_MCMSG_CODE_INCO_VAR_PUTGETEX_NOT_SUPPORTED,0x40150217, "Put/GetVariableEx not supported") \
1581X(INOS_MCMSG_CODE_INCO_VAR_PUTGETEX_VALUE_TOO_BIG,0x40150218, "Value too big to be represented in a double, use Get/PutVariableEx instead") \
1582X(INOS_MCMSG_CODE_INCO_VAR_USERERR, 0x40150280, "Variable user errors") \
1583X(INOS_MCMSG_CODE_INCO_VAR_VARASYNC, 0x401502fe, "Variable access is async. This is a 'virtual' error only used for communication between the target and the INCOServer") \
1584X(INOS_MCMSG_CODE_INCO_VAR_UNKNOWN, 0x401502ff, "Target doesn't support this 'variable' frame sub type") \
1585 \
1586X(INOS_MCMSG_CODE_INCO_RPC_BASE, 0x40150400, "Generic INCO procedure error") \
1587X(INOS_MCMSG_CODE_INCO_RPC_NOTFOUND, 0x40150401, "INCO procedure not found") \
1588X(INOS_MCMSG_CODE_INCO_RPC_NOTARPC, 0x40150402, "INCO item is not a procedure object") \
1589X(INOS_MCMSG_CODE_INCO_RPC_NUMBERPARAM, 0x40150403, "INCO procedure wrong number of parameters") \
1590X(INOS_MCMSG_CODE_INCO_RPC_WRONGPARAM, 0x40150404, "INCO procedure wrong parameter type") \
1591X(INOS_MCMSG_CODE_INCO_RPC_NOTEXEC, 0x40150405, "INCO procedure is not executable at the moment") \
1592X(INOS_MCMSG_CODE_INCO_RPC_INPROGRESS, 0x40150406, "INCO procedure'Virtual error': this value will be set as a task error (see CINOSTask::SetError) during the time that a procedure is called by INCO") \
1593X(INOS_MCMSG_CODE_INCO_RPC_NOFLOAT, 0x40150407, "INCO procedure doesn't support return type float") \
1594X(INOS_MCMSG_CODE_INCO_RPC_VALUERANGE, 0x40150408, "INCO procedure value out of range") \
1595X(INOS_MCMSG_CODE_INCO_RPC_ARGTOOLONG, 0x40150409, "INCO procedure argument is too long") \
1596X(INOS_MCMSG_CODE_INCO_RPC_MULTIDISP, 0x4015040a, "INCO procedure failure with multidispatch: at least one callprocedure failed. Note: currently only used by INIX on PC side") \
1597X(INOS_MCMSG_CODE_INCO_RPC_ARGFORMAT, 0x4015040b, "INCO procedure error in argument formatting ('\', \", :l...)") \
1598/* 0x4015040c .. 0x40150416 are used by INIX only (see libindel) and are therefore not specified here */ \
1599X(INOS_MCMSG_CODE_INCO_RPC_KEYLEVEL, 0x40150417, "INCO user access level insufficient") \
1600X(INOS_MCMSG_CODE_INCO_RPC_RESULT_TOO_LARGE, 0x40150418, "INCO procedure async result length exceeds payload buffer") \
1601X(INOS_MCMSG_CODE_INCO_RPC_USERERR, 0x40150480, "INCO procedure returned a user specific error") \
1602X(INOS_MCMSG_CODE_INCO_RPC_ASYNC, 0x401504fe, "INCO procedure execution is async. This is a 'virtual' error only used for communication between the target and the INCOServer") \
1603X(INOS_MCMSG_CODE_INCO_RPC_UNKNOWN, 0x401504ff, "INCO procedure unknown function call") \
1604X(INOS_MCMSG_CODE_INCO_RPC_ASYNC_RES_FAILED, 0x40150500, "INCO procedure async result send failure") \
1605X(INOS_MCMSG_CODE_INCO_RPC_ASYNC_RES_RETRY, 0x40150501, "INCO procedure async result send with retries") \
1606X(INOS_MCMSG_CODE_INCO_RPC_ASYNC_RES_WRONG_ACK_NUM, 0x40150502, "INCO procedure async result wrong acknowledge number") \
1607X(INOS_MCMSG_CODE_INCO_RPC_ASYNC_RES_TIMEOUT, 0x40150503, "INCO procedure async result acknowledge timeout") \
1608X(INOS_MCMSG_CODE_INCO_RPC_ASYNC_RES_WRONG_ACK_SIZE,0x40150504, "INCO procedure async result wrong acknowledge size") \
1609X(INOS_MCMSG_CODE_INCO_RPC_ASYNC_RES_UDP_CHN_FAIL, 0x40150505, "INCO procedure async result failed to create UDP channel") \
1610X(INOS_MCMSG_CODE_INCO_RPC_ASYNC_RES_PDP_CHN_FAIL, 0x40150506, "INCO procedure async result failed to create PDP channel") \
1611X(INOS_MCMSG_CODE_INCO_RPC_ASYNC_RES_WRITE_FAIL, 0x40150507, "INCO procedure async result write failure") \
1612X(INOS_MCMSG_CODE_INCO_RPC_TICKET_OVERFLOW, 0x40150508, "INCO procedure ticket overflow. This could possibly invalidate long-lasting CallProcedures on PC side.") \
1613X(INOS_MCMSG_CODE_INCO_RPC_DUPLICATE_MSGID, 0x40150509, "INCO procedure already pending for given message id") \
1614X(INOS_MCMSG_CODE_INCO_RPC_UNKNOWN_MSGID, 0x4015050A, "INCO procedure unknown message id") \
1615\
1616X(INOS_MCMSG_CODE_INCO_DBG_BASE, 0x40150600, "Generic INCO debug error") \
1617X(INOS_MCMSG_CODE_INCO_DBG_TSK_ID_NOT_VALID, 0x40150601, "Task id not valid") \
1618X(INOS_MCMSG_CODE_INCO_DBG_TSK_NAME_NOT_VALID, 0x40150602, "Task name not valid") \
1619X(INOS_MCMSG_CODE_INCO_DBG_TSK_NO_FLOAT, 0x40150603, "Task has no floating point") \
1620X(INOS_MCMSG_CODE_INCO_DBG_TSK_BKPT_NOT_VALID, 0x40150604, "Task breakpoint not valid") \
1621X(INOS_MCMSG_CODE_INCO_DBG_TSK_BKPT_SET, 0x40150605, "Task breakpoint already set") \
1622X(INOS_MCMSG_CODE_INCO_DBG_TSK_DATA_LENGTH, 0x40150606, "Task data wrong length for requested data") \
1623X(INOS_MCMSG_CODE_INCO_DBG_TSK_DATA_UNKNOWN, 0x40150607, "Task data unknown data request") \
1624X(INOS_MCMSG_CODE_INCO_DBG_TSK_DATA_PUT_NA, 0x40150608, "Task data put not allowed") \
1625X(INOS_MCMSG_CODE_INCO_DBG_BKPT_NOT_ENOUGH_MEM, 0x40150609, "Not enough memory to set breakpoint") \
1626X(INOS_MCMSG_CODE_INCO_DBG_HARD_RESET_NOT_SUP, 0x4015060A, "Hard reset not supported") \
1627X(INOS_MCMSG_CODE_INCO_DBG_NO_LOAD_DEVICE, 0x4015060B, "No load device found to handle request") \
1628X(INOS_MCMSG_CODE_INCO_DBG_SOFT_RESET_NOT_ALWD, 0x4015060C, "Soft reset not allowed") \
1629X(INOS_MCMSG_CODE_INCO_DBG_BUFFER_TO_SMALL, 0x4015060D, "Buffer is to small to store all data. Data has been truncated") \
1630X(INOS_MCMSG_CODE_INCO_DBG_INVALID_ARGUMENT, 0x4015060E, "Invalid argument passed") \
1631X(INOS_MCMSG_CODE_INCO_DBG_WTP_NUMBER, 0x4015060F, "Number of watchpoints exceeded") \
1632X(INOS_MCMSG_CODE_INCO_DBG_WTP_CLEAR, 0x40150610, "Trying to clear unknown watchpoint") \
1633X(INOS_MCMSG_CODE_INCO_DBG_TSK_NOT_DBG_SUSP, 0x40150611, "operation failed because task state is not debug suspended") \
1634X(INOS_MCMSG_CODE_INCO_DBG_BUFFER_TO_SMALL2, 0x40150612, "Buffer is to small to store all data. No data returned") \
1635X(INOS_MCMSG_CODE_INCO_DBG_EMPTY_CACHE, 0x40150613, "No cache information available") \
1636X(INOS_MCMSG_CODE_INCO_DBG_INVALID_COOKIE, 0x40150614, "Unknown cookie received") \
1637X(INOS_MCMSG_CODE_INCO_DBG_BKP_NO_SPACE, 0x40150615, "No more breakpoint space left") \
1638X(INOS_MCMSG_CODE_INCO_DBG_DATA_VALUE_TO_BIG, 0x40150616, "Requested value does not fit into 32 bit") \
1639X(INOS_MCMSG_CODE_INCO_DBG_WTP_COREMSK_NOT_SUP, 0x40150617, "Watchpoint coremask not supported") \
1640X(INOS_MCMSG_CODE_INCO_DBG_WTP_NOT_FOUND, 0x40150618, "Watchpoint not found") \
1641X(INOS_MCMSG_CODE_INCO_DBG_WTP_INVALID_INDEX, 0x40150619, "Invalid watchpoint index given") \
1642X(INOS_MCMSG_CODE_INCO_DBG_WTP_INVALID_ACCESS, 0x4015061A, "Invalid watchpoint access type given") \
1643X(INOS_MCMSG_CODE_INCO_DBG_WTP_OVERLAPPED, 0x4015061B, "Overlapping watchpoints are not allowed") \
1644\
1645/*------------------------------------------------------------------------------ \
1646 Generic errors (0x0020xxxx) \
1647------------------------------------------------------------------------------*/ \
1648 \
1649 \
1651X(INOS_ERR_FAILED, 0x40200000, "Operation failed") \
1652 \
1653 \
1655X(INOS_ERR_NOT_SUPPORTED, 0x40200001, "Operation not supported") \
1656 \
1657 \
1659X(INOS_ERR_BAD_STATE, 0x40200002, "Operation not permitted in current state") \
1660 \
1661 \
1663X(INOS_ERR_INVALID_ARG, 0x40200003, "Invalid argument") \
1664 \
1665 \
1667X(INOS_ERR_ALREADY_EXISTING, 0x40200004, "Item already exists") \
1668 \
1669 \
1671X(INOS_ERR_NOT_FOUND, 0x40200005, "Item not found") \
1672 \
1673 \
1676X(INOS_ERR_OUT_OF_RES, 0x40200006, "Out of resources") \
1678 \
1680X(INOS_ERR_TIMEOUT, 0x40200007, "Operation timed out") \
1681 \
1682 \
1684X(INOS_ERR_CANCELLED, 0x40200008, "Operation cancelled") \
1685 \
1686 \
1688X(INOS_ERR_INTERNAL, 0x40200009, "An internal error occurred") \
1689
1690
1691// Generate the enum and label declaration
1692INOS_ERRORS(INOSERROR)
1693
1694
1695
1696//------------------------------------------------------------------------------
1697// INCOV (0x50xxxxxx)
1698//------------------------------------------------------------------------------
1699
1700#ifdef INOS_INCOV
1701#include <incov/error.h>
1702/*
1703 * Include INCOV library codes as INOS errors, making them available at e.g.
1704 * "Target.message.Code".
1705 * Use INOS_ prefix for labels to avoid name clash with enums defined by the library.
1706 */
1707#define GENERATE_INOSERROR(label, code, text) INOSERROR(INOS_##label, code, text)
1709#undef GENERATE_INOSERROR
1710#define INCOV_SUCCESS ((int) INOS_OK)
1711#endif
1712
1713#undef INOSERROR
1714
1715//------------------------------------------------------------------------------
1716// end of file
1717//------------------------------------------------------------------------------
1718
1719#endif // INC_INOSERROR_H
The mcmessage definitions.
Exception class associated with an INOS error code.
Definition inoserror.h:259
virtual const char * GetText() const
get error text
Definition inoserror.h:279
Definition cinosmcmodule.h:1900
#define INOSERROR(label, code, text)
Definition inoserror.h:40
The macro definition file.
#define ASSERT_ALWAYS(f)
Definition inosmacro.h:696
Definition inoserror.h:209
Definition inoserror.h:94