# CANopen stack errors ## Generic Error | Code | Description ---------------------|--------|----------------------------------------------------------------------------------------------------------------------- Successful | 0x0000 | No error/successful run IllegalInstance | 0x0001 | The called instans does not exist InvalidInstanceParam | 0x0002 | Invalid instance NoFreeInstance | 0x0003 | AddInstance was called but no free instance is available WrongSignature | 0x0004 | Wrong signature while writing to object 0x1010 or 0x1011 UnsupportedBtrTable | 0x0005 | Unsupported baudrate table was configured with LSS service UnsupportedBtrIndex | 0x0006 | Unsupported baudrate index was configured with LSS service InvalidNodeId | 0x0007 | CANopen was initialized with an invalid NodeId NoResource | 0x0008 | Resource could not be created (Windows, PxROS, ...) InvalidParam | 0x0009 | Generic error code for an invalid param OriginalBehaviour | 0x000A | Defines an error code for callback handlers in application which needs to keep the original behaviour in CANopen stack ## CDRV Error | Code | Description -----------------------|--------|---------------------------------------------------------------------------------- CdrvNoMsg | 0x0010 | No CAN message was received CdrvMsgHigh | 0x0011 | CAN message with high priority was received CdrvMsgLow | 0x0012 | CAN message with low priority was received CdrvInitError | 0x0013 | Initialisation error CdrvNoFreeChannel | 0x0014 | CAN controller has not a free channel CdrvTxBuffHighOverrun | 0x0015 | Buffer for high priority CAN transmit messages has overrun CdrvTxBuffLowOverrun | 0x0016 | Buffer for low priority CAN transmit messages has overrun CdrvIllegalBdi | 0x0017 | Unsupported baudrate within baudrate table CdrvBusy | 0x0018 | Remote frame can not be updated because no bus contact or CAN CdrvInvalidDriverType | 0x0019 | (PC: Windows or Linux) invalid driver type CdrvDriverNotFound | 0x001A | (PC: Windows or Linux) driver (DLL) could not be found CdrvInvalidBaseAddress | 0x001B | (PC: Windows or Linux) driver could not found the CAN controller CdrvInvalidParam | 0x001C | Invalid param in function call CdrvInvalidDevNumber | 0x001D | (PC: Windows or Linux) the given device number is invalid CdrvDevAlreadyInUse | 0x001E | (PC: Windows or Linux) the device with the given number is already in use CdrvHostOsError | 0x001F | (PC: Windows or Linux) OS specific internal error (e.g. malloc, y_from_user, ...) ## COB Error | Code | Description ----------------------|--------|-------------------------------------------------------------------------- CobNoFreeEntry | 0x0020 | No free entry in RX- or TX-COB table CobAlreadyExist | 0x0021 | COB-ID already exists in RX- resp. TX-COB table CobIllegalHdl | 0x0022 | Illegal handle for a COB was assigned CobIllegalCanId | 0x0023 | COB-ID is not allowed (like 0x000 is reserved for NMT, ...) CobInvalidCanId | 0x0024 | COB-ID is switched off CobCdrvStateSet | 0x0025 | At least one bit of CAN driver state is set CobNoFreeEntryHighBuf | 0x0026 | No free entry in high priotity RX- or TX-COB table CobOwnId | 0x0027 | COB-ID already exists in own module which calls CobDefine() or CobCheck() CobWrongCobType | 0x0028 | A COB which was definded as Rx-Message should be sent ## OBD Error | Code | Description ---------------------|--------|----------------------------------------------------- ObdIllegalPart | 0x0030 | Unknown OD part ObdIndexNotExist | 0x0031 | Object index does not exist in OD ObdSubindexNotExist | 0x0032 | Subindex does not exist in object index ObdReadViolation | 0x0033 | Read access to a write-only object ObdWriteViolation | 0x0034 | Write access to a read-only object ObdAccessViolation | 0x0035 | Access not allowed ObdUnknownObjectType | 0x0036 | Object type not defined/known ObdVarEntryNotExist | 0x0037 | Object does not contain VarEntry structure ObdValueToLow | 0x0038 | Value to write to an object is to low ObdValueToHigh | 0x0039 | Value to write to an object is to high ObdValueLengthError | 0x003A | Value to write is to long or to short ObdIllegalFloat | 0x003B | Illegal float variable ObdWrongOdBuilderKey | 0x003F | OD was generated with demo version of tool ODBuilder ## NMT Error | Code | Description ------------------------|--------|----------------------------------------------------------------------------------------- NmtUnknownCommand | 0x0040 | Unknown NMT command NmtLifeguardVsHeartbeat | 0x0041 | One of life guarding or heartbeat was configured but the other one is already configured NmtBootupNotPossible | 0x0042 | Bootup message can not be sent in this NMT state NmtHbcWrongCfg | 0x0043 | Configuration of Heartbeat Consumer was wrong NmtmSlaveNodeExist | 0x0044 | NMT slave node can not be added because it does already exist NmtmNoFreeSlaveEntry | 0x0045 | No free entry to add a new NMT slave node NmtmSlaveEntryNotExist | 0x0046 | NMT slave node was never added NmtStateError | 0x0047 | Error has occured during NMT state machine NmtmInvalidSlaveNodeId | 0x0048 | Not a valid Slave Node Id ## SDO client Error | Code | Description ------------------------|--------|--------------------------------------------------- SdocInitError | 0x0050 | Initial. or changing parameter not successful SdocInvalidParam | 0x0051 | One of the function parameter is invalid SdocClientNotExist | 0x0052 | Selected SDO client does not exist SdocBusy | 0x0053 | SDO client is already busy SdocTransferError | 0x0054 | An error occured during SDO transfer SdocWrongMultiplexor | 0x0055 | An SDO response was received with wron multiplexor SdocEntryAlreadyDefined | 0x0056 | Client entry is already defined SdocNoFreeEntry | 0x0057 | No free client entry found in SDO server table SdocConfigOrder | 0x0058 | ## SDO server Error | Code | Description ------------------------|--------|----------------------------------------------- SdosInitError | 0x0060 | Initial. or changing parameter not successful SdosServerNotExist | 0x0061 | Selected SDO server does not exist SdosBusy | 0x0062 | SDO server is already busy SdosSizeMismatch | 0x0063 | SdosNoFreeEntry | 0x0064 | No free server entry found in SDO server table SdosEntryAlreadyDefined | 0x0065 | Server entry is already defined SdosConfigOrder | 0x0066 | SdosWrongDlc | 0x0067 | SdosWrongCcs | 0x0068 | ## PDO module Error | Code | Description ------------------------|--------|-------------------------------------------------------------------------------------------------------- PdoNotExist | 0x0070 | Selected PDO does not exist PdoLengthExceeded | 0x0071 | Length of PDO mapping exceedes 64 bis PdoGranularityMismatch | 0x0072 | Configured PDO granularity is not equal to supported granularity PdoInitError | 0x0073 | Error during initialisation of PDO module PdoErrorPdoEncode | 0x0074 | Error during encoding a PDO PdoErrorPdoDecode | 0x0075 | Error during decoding a PDO PdoErrorSend | 0x0076 | Error during sending a PDO PdoErrorSyncWin | 0x0077 | The SYNC window runs out during sending SYNC-PDOs PdoErrorMapp | 0x0078 | Invalid PDO mapping PdoVarNotFound | 0x0079 | Variable was not found in function PdoSignalVar() PdoErrorEmcyPdoLen | 0x007A | The length of a received PDO is unequal to the expected value PdoWriteConstObject | 0x007B | Constant object can not be written (only TxType, Inhibit-, Event Time for CANopen Kit) PdoErrorRxEventTimer | 0x007C | If an RPDO is configured with Event Timer, but PDO is not received after this time CcmCbError() will be LsssResetNode | 0x0080 | NMT command reset node has to be processed after LSS configuration LsssInvalidNodeId | 0x0081 | No valid NodeId is configured -> wait until it is configured with EmccNoFreeProducerEntry | 0x0090 | No free entry to add a Emergency Producer EmccNodeIdNotExist | 0x0091 | Selected NodeId was never added EmccNodeIdInvalid | 0x0092 | Selected NodeId is outside of range (0x01 until 0x7F) EmccNodeIdExist | 0x0093 | Selected NodeId already exist ## Dynamic OD Error | Code | Description -----------------|--------|------------------------------------------- DynNoMemory | 0x00A0 | No memory available DynInvalidConfig | 0x00A1 | Invalid configuration in segment container ## Heartbeat Error | Code | Description ---------------------|--------|----------------------------------------------------------------------- HbcEntryNotExist | 0x00B0 | Heartbeat Producer node not configured HbcEntryAlreadyExist | 0x00B1 | NodeId was already defined in heartbeat consumer table (object 0x1016) HbcNoFreeEntry | 0x00B2 | ## Configuration manager Error | Code | Description ----------------------|--------|------------------------------------------------------- CfgMaConfigError | 0x00C0 | Error in configuration manager CfgMaSdocTimeOut | 0x00C1 | Error in configuration manager, Sdoc timeout CfgMaNoErrorCb | 0x00C2 | No error callback function is used CfgMaNoFreeConfig | 0x00C3 | No free entry in internal list for configuratio CfgMaNoConfigData | 0x00C4 | No data for configuration found in 0x1F22 CfgMaInvaildSdoc | 0x00C5 | The SDO Client Index is not in Rang 0x1280 util 0x1300 CfgMaConfigwithErrors | 0x00C6 | Configuration of node finished, but with errors CfgMaConciseCorrupt | 0x00C7 | Concise DCF is corrupt ## LSS master Error | Code | Description -------------------|--------|---------------------------------------------------------------- LssmIllegalMode | 0x00D0 | Illegal LSS mode (operation / configuration) LssmIllegalState | 0x00D1 | Function was called in illegal state of LSS master LssmBusy | 0x00D2 | LSS process is busy with an previous service LssmIllegalCmd | 0x00D3 | Illegal command code was set for function LssmInquireIdentity() LssmTimeout | 0x00D4 | LSS slave did not answer a LSS service LssmErrorInConfirm | 0x00D5 | LSS slave replied an error code for a LSS service ## CCM Error | Code | Description ---------------------|--------|--------------------------------------------- CcmStoreUnvalidState | 0x00E0 | Memory device not available due device state CcmStoreHwError | 0x00E1 | Hw error due device access ## SDO router Error | Code | Description ------------------------|--------|--------------------------------------------------------------------------------------------------- SdorInvalidNetworkId | 0x00F0 | Invalid netwird-ID SdorWrongRoutingNetwork | 0x00F1 | Port number is the own instance SdorInvalidPortNr | 0x00F2 | Invalid port number SdorNoSdocAvailable | 0x00F3 | No SDO client is available SdorWaitingNetworInd | 0x00F4 | NOT AN ERROR: network indication has been started for next router - SDO server has to wait for the ## SDRO Error | Code | Description ------------------------|--------|------------------------------------------------------------------ SrdoNotExist | 0x0100 | Selected SRDO does not exist SrdoGranularityMismatch | 0x0101 | Configured SRDO granularity is not equal to supported granularity SrdoCfgTimingError | 0x0102 | Configuration is not ok (Timing) SrdoCfgIdError | 0x0103 | Configuration is not ok (CobIds) SrdoCfgCrcError | 0x0104 | Configuration is not ok (CRC) SrdoNmtError | 0x0105 | An action was tried in a wrong NMT state SrdoInvalidCfg | 0x0106 | An action was tried with an invald SRDO configuration SrdoInvalid | 0x0107 | An action was tried with an invald SRDO SrdoRxTxConflict | 0x0108 | An transmission was tried with an receive SRDO (or the other way) SrdoIllegalCanId | 0x0109 | The CanId is invalid SrdoCanIdAlreadyInUse | 0x010A | The CanId is already in use SrdoNotInOrder | 0x010B | The two messages of a SRDO are not in order SrdoSctTimeout | 0x010C | Timeout of SCT SrdoSrvtTimeout | 0x010D | Timeout of SRVT SrdoCanIdNotValid | 0x010E | One of received CAN-IDs are not equal to configured one SrdoDlcNotValid | 0x010F | One of received CAN-DLC are not equal to configured one SrdoErrorMapp | 0x0110 | Wrong values in mapping found SrdoDataError | 0x0111 | Data of CAN messages are not invers SrdoLengthExceeded | 0x0112 | Length of SRDO mapping exceedes 64 bit per CAN-message SrdoNotHandledInApp | 0x0113 | The SRDO error was not handled in AppSrdoError() SrdoOverrun | 0x0114 | A RxSRDO was received but the pevious one was not else processed ## SDO manager Error | Code | Description -----------------------|--------|--------------------------------------------------------- SdomListFull | 0x0120 | List for registration of possible SRD Clients is full SdomBusy | 0x0121 | SDO Manager works SdomInternStructFull | 0x0122 | An internal structure is full SdomErrorCbInternError | 0x0123 | For Errorcallback function to indicate an internal error SdomErrorCbError | 0x0124 | For Errorcallback function to indicate a Error ## SRD client Error | Code | Description --------------------|--------|-------------------------------------------------------------------------------------------- SrdBusy | 0x0130 | SRD Client is not in State Idle SrdNotRegistered | 0x0131 | SRD Client not registered to SDO Manager SrdNoAnswerSdom | 0x0132 | SRD Client got no answer from SDO Manager SrdNotMasterMode | 0x0133 | SRD Client MasterMode not TRUE SrdNotDynConnection | 0x0134 | The connection to release is no dynamic connection SrdSdomNotUndefSdoc | 0x0135 | SDO Manager did not undefine SDO Client after release connection was successfully requested ## CANopen manager Error | Code | Description -----------------------|--------|------------------------------------------------------------------------------------------------------------- MgrTaskDeferred | 0x0140 | Mgr performs task in background and informs the application, when it is finished MgrInvalidOperation | 0x0141 | Calling MgrEnterOperational() or any other function call is not allowed in this situation MgrInvalidParam | 0x0142 | Passed invalid parameters to a function (e.g. invalid node id) MgrSdomError | 0x0143 | Error in SDO manager while in boot slave process MgrNoFreeEntry | 0x0144 | No free entry in node list MgrNodeBusy | 0x0145 | Mgr performs SDO transfers to the request slave node by itself; no other SDO transfer possible at the moment MgrSdocTypeAutoRunning | 0x0146 | A SDO transfer with type , MgrSdocTypeAuto is already running ## Flying master Error | Code | Description --------------|--------|------------------------------------------------------------------------------- FlyMaNmtStart | 0x0150 | NO ERROR: only information that Flying Master has established the NMT mode FlyMaNmtReset | 0x0151 | NO ERROR: only information that Flying Master has sent NMT Reset Communication