| /**************************************************************************** |
| |
| (c) SYSTEC electronic GmbH, D-07973 Greiz, August-Bebel-Str. 29 |
| www.systec-electronic.com |
| |
| Project: openPOWERLINK |
| |
| Description: definitions for all EPL-function return codes |
| |
| License: |
| |
| Redistribution and use in source and binary forms, with or without |
| modification, are permitted provided that the following conditions |
| are met: |
| |
| 1. Redistributions of source code must retain the above copyright |
| notice, this list of conditions and the following disclaimer. |
| |
| 2. Redistributions in binary form must reproduce the above copyright |
| notice, this list of conditions and the following disclaimer in the |
| documentation and/or other materials provided with the distribution. |
| |
| 3. Neither the name of SYSTEC electronic GmbH nor the names of its |
| contributors may be used to endorse or promote products derived |
| from this software without prior written permission. For written |
| permission, please contact info@systec-electronic.com. |
| |
| THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
| "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
| LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS |
| FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE |
| COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, |
| INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, |
| BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
| LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER |
| CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT |
| LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN |
| ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE |
| POSSIBILITY OF SUCH DAMAGE. |
| |
| Severability Clause: |
| |
| If a provision of this License is or becomes illegal, invalid or |
| unenforceable in any jurisdiction, that shall not affect: |
| 1. the validity or enforceability in that jurisdiction of any other |
| provision of this License; or |
| 2. the validity or enforceability in other jurisdictions of that or |
| any other provision of this License. |
| |
| ------------------------------------------------------------------------- |
| |
| $RCSfile: EplErrDef.h,v $ |
| |
| $Author: D.Krueger $ |
| |
| $Revision: 1.9 $ $Date: 2008/06/23 14:56:33 $ |
| |
| $State: Exp $ |
| |
| Build Environment: |
| all |
| |
| ------------------------------------------------------------------------- |
| |
| Revision History: |
| |
| 2005/12/05 -as: start of the implementation, version 1.00 |
| |
| ****************************************************************************/ |
| |
| #ifndef _EPL_ERRORDEF_H_ |
| #define _EPL_ERRORDEF_H_ |
| |
| //--------------------------------------------------------------------------- |
| // return codes |
| //--------------------------------------------------------------------------- |
| |
| typedef enum { |
| // area for generic errors 0x0000 - 0x000F |
| kEplSuccessful = 0x0000, // no error/successful run |
| kEplIllegalInstance = 0x0001, // the called Instanz does not exist |
| kEplInvalidInstanceParam = 0x0002, // |
| kEplNoFreeInstance = 0x0003, // XxxAddInstance was called but no free instance is available |
| kEplWrongSignature = 0x0004, // wrong signature while writing to object 0x1010 or 0x1011 |
| kEplInvalidOperation = 0x0005, // operation not allowed in this situation |
| kEplInvalidNodeId = 0x0007, // invalid NodeId was specified |
| kEplNoResource = 0x0008, // resource could not be created (Windows, PxROS, ...) |
| kEplShutdown = 0x0009, // stack is shutting down |
| kEplReject = 0x000A, // reject the subsequent command |
| |
| // area for EDRV module 0x0010 - 0x001F |
| // kEplEdrvNoFrame = 0x0010, // no CAN message was received |
| // kEplEdrvMsgHigh = 0x0011, // CAN message with high priority was received |
| // kEplEdrvMsgLow = 0x0012, // CAN message with low priority was received |
| kEplEdrvInitError = 0x0013, // initialisation error |
| kEplEdrvNoFreeBufEntry = 0x0014, // no free entry in internal buffer table for Tx frames |
| kEplEdrvBufNotExisting = 0x0015, // specified Tx buffer does not exist |
| // kEplEdrvNoFreeChannel = 0x0014, // CAN controller has not a free channel |
| // kEplEdrvTxBuffHighOverrun = 0x0015, // buffer for high priority CAN transmit messages has overrun |
| // kEplEdrvTxBuffLowOverrun = 0x0016, // buffer for low priority CAN transmit messages has overrun |
| // kEplEdrvIllegalBdi = 0x0017, // unsupported baudrate within baudrate table |
| // kEplEdrvBusy = 0x0018, // remote frame can not be updated because no bus contact or CAN |
| // transmission is activ |
| // kEplEdrvInvalidDriverType = 0x0019, // (PC: Windows or Linux) invalid driver type |
| // kEplEdrvDriverNotFound = 0x001A, // (PC: Windows or Linux) driver (DLL) could not be found |
| // kEplEdrvInvalidBaseAddress = 0x001B, // (PC: Windows or Linux) driver could not found the CAN controller |
| // kEplEdrvInvalidParam = 0x001C, // invalid param in function call |
| |
| // area for COB module 0x0020 - 0x002F |
| /* kEplCobNoFreeEntry = 0x0020, // no free entry in RX- or TX-COB table |
| kEplCobAlreadyExist = 0x0021, // COB-ID already exists in RX- resp. TX-COB table |
| */ |
| kEplDllIllegalHdl = 0x0022, // illegal handle for a TxFrame was passed |
| kEplDllCbAsyncRegistered = 0x0023, // handler for non-EPL frames was already registered before |
| // kEplDllAsyncRxBufferFull = 0x0024, // receive buffer for asynchronous frames is full |
| kEplDllAsyncTxBufferEmpty = 0x0025, // transmit buffer for asynchronous frames is empty |
| kEplDllAsyncTxBufferFull = 0x0026, // transmit buffer for asynchronous frames is full |
| kEplDllNoNodeInfo = 0x0027, // MN: too less space in the internal node info structure |
| kEplDllInvalidParam = 0x0028, // invalid parameters passed to function |
| kEplDllTxBufNotReady = 0x002E, // TxBuffer (e.g. for PReq) is not ready yet |
| kEplDllTxFrameInvalid = 0x002F, // TxFrame (e.g. for PReq) is invalid or does not exist |
| /* kEplCobIllegalCanId = 0x0023, // COB-ID is not allowed (like 0x000 is reserved for NMT, ...) |
| kEplCobInvalidCanId = 0x0024, // COB-ID is switched off |
| kEplCobCdrvStateSet = 0x0025, // at least one bit of CAN driver state is set |
| kEplCobNoFreeEntryHighBuf = 0x0026, // no free entry in high priotity RX- or TX-COB table |
| kEplCobOwnId = 0x0027, // COB-ID already exists in own module which calls CobDefine() or CobCheck() |
| */ |
| // area for OBD module 0x0030 - 0x003F |
| kEplObdIllegalPart = 0x0030, // unknown OD part |
| kEplObdIndexNotExist = 0x0031, // object index does not exist in OD |
| kEplObdSubindexNotExist = 0x0032, // subindex does not exist in object index |
| kEplObdReadViolation = 0x0033, // read access to a write-only object |
| kEplObdWriteViolation = 0x0034, // write access to a read-only object |
| kEplObdAccessViolation = 0x0035, // access not allowed |
| kEplObdUnknownObjectType = 0x0036, // object type not defined/known |
| kEplObdVarEntryNotExist = 0x0037, // object does not contain VarEntry structure |
| kEplObdValueTooLow = 0x0038, // value to write to an object is too low |
| kEplObdValueTooHigh = 0x0039, // value to write to an object is too high |
| kEplObdValueLengthError = 0x003A, // value to write is to long or to short |
| // kEplObdIllegalFloat = 0x003B, // illegal float variable |
| // kEplObdWrongOdBuilderKey = 0x003F, // OD was generated with demo version of tool ODBuilder |
| |
| // area for NMT module 0x0040 - 0x004F |
| kEplNmtUnknownCommand = 0x0040, // unknown NMT command |
| kEplNmtInvalidFramePointer = 0x0041, // pointer to the frame is not valid |
| kEplNmtInvalidEvent = 0x0042, // invalid event send to NMT-modul |
| kEplNmtInvalidState = 0x0043, // unknown state in NMT-State-Maschine |
| kEplNmtInvalidParam = 0x0044, // invalid parameters specified |
| |
| // area for SDO/UDP module 0x0050 - 0x005F |
| kEplSdoUdpMissCb = 0x0050, // missing callback-function pointer during inti of |
| // module |
| kEplSdoUdpNoSocket = 0x0051, // error during init of socket |
| kEplSdoUdpSocketError = 0x0052, // error during usage of socket |
| kEplSdoUdpThreadError = 0x0053, // error during start of listen thread |
| kEplSdoUdpNoFreeHandle = 0x0054, // no free connection handle for Udp |
| kEplSdoUdpSendError = 0x0055, // Error during send of frame |
| kEplSdoUdpInvalidHdl = 0x0056, // the connection handle is invalid |
| |
| // area for SDO Sequence layer module 0x0060 - 0x006F |
| kEplSdoSeqMissCb = 0x0060, // no callback-function assign |
| kEplSdoSeqNoFreeHandle = 0x0061, // no free handle for connection |
| kEplSdoSeqInvalidHdl = 0x0062, // invalid handle in SDO sequence layer |
| kEplSdoSeqUnsupportedProt = 0x0063, // unsupported Protocol selected |
| kEplSdoSeqNoFreeHistory = 0x0064, // no free entry in history |
| kEplSdoSeqFrameSizeError = 0x0065, // the size of the frames is not correct |
| kEplSdoSeqRequestAckNeeded = 0x0066, // indeicates that the history buffer is full |
| // and a ack request is needed |
| kEplSdoSeqInvalidFrame = 0x0067, // frame not valid |
| kEplSdoSeqConnectionBusy = 0x0068, // connection is busy -> retry later |
| kEplSdoSeqInvalidEvent = 0x0069, // invalid event received |
| |
| // area for SDO Command Layer Module 0x0070 - 0x007F |
| kEplSdoComUnsupportedProt = 0x0070, // unsupported Protocol selected |
| kEplSdoComNoFreeHandle = 0x0071, // no free handle for connection |
| kEplSdoComInvalidServiceType = 0x0072, // invalid SDO service type specified |
| kEplSdoComInvalidHandle = 0x0073, // handle invalid |
| kEplSdoComInvalidSendType = 0x0074, // the stated to of frame to send is |
| // not possible |
| kEplSdoComNotResponsible = 0x0075, // internal error: command layer handle is |
| // not responsible for this event from sequence layer |
| kEplSdoComHandleExists = 0x0076, // handle to same node already exists |
| kEplSdoComHandleBusy = 0x0077, // transfer via this handle is already running |
| kEplSdoComInvalidParam = 0x0078, // invalid parameters passed to function |
| |
| // area for EPL Event-Modul 0x0080 - 0x008F |
| kEplEventUnknownSink = 0x0080, // unknown sink for event |
| kEplEventPostError = 0x0081, // error during post of event |
| |
| // area for EPL Timer Modul 0x0090 - 0x009F |
| kEplTimerInvalidHandle = 0x0090, // invalid handle for timer |
| kEplTimerNoTimerCreated = 0x0091, // no timer was created caused by |
| // an error |
| |
| // area for EPL SDO/Asnd Module 0x00A0 - 0x0AF |
| kEplSdoAsndInvalidNodeId = 0x00A0, //0 node id is invalid |
| kEplSdoAsndNoFreeHandle = 0x00A1, // no free handle for connection |
| kEplSdoAsndInvalidHandle = 0x00A2, // handle for connection is invalid |
| |
| // area for PDO module 0x00B0 - 0x00BF |
| kEplPdoNotExist = 0x00B0, // selected PDO does not exist |
| kEplPdoLengthExceeded = 0x00B1, // length of PDO mapping exceedes 64 bis |
| kEplPdoGranularityMismatch = 0x00B2, // configured PDO granularity is not equal to supported granularity |
| kEplPdoInitError = 0x00B3, // error during initialisation of PDO module |
| kEplPdoErrorPdoEncode = 0x00B4, // error during encoding a PDO |
| kEplPdoErrorPdoDecode = 0x00B5, // error during decoding a PDO |
| kEplPdoErrorSend = 0x00B6, // error during sending a PDO |
| kEplPdoErrorSyncWin = 0x00B7, // the SYNC window runs out during sending SYNC-PDOs |
| kEplPdoErrorMapp = 0x00B8, // invalid PDO mapping |
| kEplPdoVarNotFound = 0x00B9, // variable was not found in function PdoSignalVar() |
| kEplPdoErrorEmcyPdoLen = 0x00BA, // the length of a received PDO is unequal to the expected value |
| kEplPdoWriteConstObject = 0x00BB, // constant object can not be written |
| // (only TxType, Inhibit-, Event Time for CANopen Kit) |
| |
| // area for LSS slave module |
| /* kEplLsssResetNode = 0x0080, // NMT command "reset node" has to be processed after LSS configuration |
| // new of NodeId |
| kEplLsssInvalidNodeId = 0x0081, // no valid NodeId is configured -> wait until it is configured with |
| // LSS service before calling CcmConnectToNet() |
| */ |
| // area for emergency consumer module 0x0090 - 0x009F |
| /* kEplEmccNoFreeProducerEntry = 0x0090, // no free entry to add a Emergency Producer |
| kEplEmccNodeIdNotExist = 0x0091, // selected NodeId was never added |
| kEplEmccNodeIdInvalid = 0x0092, // selected NodeId is outside of range (0x01 until 0x7F) |
| kEplEmccNodeIdExist = 0x0093, // selected NodeId already exist |
| */ |
| // area for dynamic OD 0x00A0 - 0x00AF |
| /* kEplDynNoMemory = 0x00A0, // no memory available |
| kEplDynInvalidConfig = 0x00A1, // invalid configuration in segment container |
| */ |
| // area for hertbeat consumer module 0x00B0 - 0x00BF |
| /* kEplHbcEntryNotExist = 0x00B0, // Heartbeat Producer node not configured |
| kEplHbcEntryAlreadyExist = 0x00B1, // NodeId was already defined in heartbeat consumer table (object 0x1016) |
| */ |
| // Configuration manager module 0x00C0 - 0x00CF |
| kEplCfgMaConfigError = 0x00C0, // error in configuration manager |
| kEplCfgMaSdocTimeOutError = 0x00C1, // error in configuration manager, Sdo timeout |
| kEplCfgMaInvalidDcf = 0x00C2, // configration file not valid |
| kEplCfgMaUnsupportedDcf = 0x00C3, // unsupported Dcf format |
| kEplCfgMaConfigWithErrors = 0x00C4, // configuration finished with errors |
| kEplCfgMaNoFreeConfig = 0x00C5, // no free configuration entry |
| kEplCfgMaNoConfigData = 0x00C6, // no configuration data present |
| kEplCfgMaUnsuppDatatypeDcf = 0x00C7, // unsupported datatype found in dcf |
| // -> this entry was not configured |
| |
| // area for LSS master module 0x00D0 - 0x00DF |
| /* kEplLssmIllegalMode = 0x00D0, // illegal LSS mode (operation / configuration) |
| kEplLssmIllegalState = 0x00D1, // function was called in illegal state of LSS master |
| kEplLssmBusy = 0x00D2, // LSS process is busy with an previous service |
| kEplLssmIllegalCmd = 0x00D3, // illegal command code was set for function LssmInquireIdentity() |
| kEplLssmTimeout = 0x00D4, // LSS slave did not answer a LSS service |
| kEplLssmErrorInConfirm = 0x00D5, // LSS slave replied an error code for a LSS service |
| */ |
| // area for CCM modules 0x00E0 - 0xEF |
| /* kEplCcmStoreUnvalidState = 0x00E0, // memory device not available due device state |
| kEplCcmStoreHwError = 0x00E1, // hw error due device access |
| */ |
| // area for SRDO module 0x0100 - 0x011F |
| /* kEplSrdoNotExist = 0x0100, // selected SRDO does not exist |
| kEplSrdoGranularityMismatch = 0x0101, // configured SRDO granularity is not equal to supported granularity |
| kEplSrdoCfgTimingError = 0x0102, // configuration is not ok (Timing) |
| kEplSrdoCfgIdError = 0x0103, // configuration is not ok (CobIds) |
| kEplSrdoCfgCrcError = 0x0104, // configuration is not ok (CRC) |
| kEplSrdoNmtError = 0x0105, // an action was tried in a wrong NMT state |
| kEplSrdoInvalidCfg = 0x0106, // an action was tried with an invald SRDO configuration |
| kEplSrdoInvalid = 0x0107, // an action was tried with an invald SRDO |
| kEplSrdoRxTxConflict = 0x0108, // an transmission was tried with an receive SRDO (or the other way) |
| kEplSrdoIllegalCanId = 0x0109, // the CanId is invalid |
| kEplSrdoCanIdAlreadyInUse = 0x010A, // the CanId is already in use |
| kEplSrdoNotInOrder = 0x010B, // the two messages of a SRDO are not in order |
| kEplSrdoSctTimeout = 0x010C, // timeout of SCT |
| kEplSrdoSrvtTimeout = 0x010D, // timeout of SRVT |
| kEplSrdoCanIdNotValid = 0x010E, // one of received CAN-IDs are not equal to configured one |
| kEplSrdoDlcNotValid = 0x010F, // one of received CAN-DLC are not equal to configured one |
| kEplSrdoErrorMapp = 0x0110, // wrong values in mapping found |
| kEplSrdoDataError = 0x0111, // data of CAN messages are not invers |
| kEplSrdoLengthExceeded = 0x0112, // length of SRDO mapping exceedes 64 bit per CAN-message |
| kEplSrdoNotHandledInApp = 0x0113, // the SRDO error was not handled in AppSrdoError() |
| kEplSrdoOverrun = 0x0114 // a RxSRDO was received but the pevious one was not else processed |
| */ |
| |
| kEplApiTaskDeferred = 0x0140, // EPL performs task in background and informs the application (or vice-versa), when it is finished |
| kEplApiInvalidParam = 0x0142, // passed invalid parameters to a function (e.g. invalid node id) |
| |
| // area untill 0x07FF is reserved |
| // area for user application from 0x0800 to 0x7FFF |
| |
| } tEplKernel; |
| |
| #endif |
| //EOF |
| |
| // Die letzte Zeile muß unbedingt eine leere Zeile sein, weil manche Compiler |
| // damit ein Problem haben, wenn das nicht so ist (z.B. GNU oder Borland C++ Builder). |