summaryrefslogtreecommitdiffstats
path: root/drivers/staging/epl/Epl.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/staging/epl/Epl.h')
-rw-r--r--drivers/staging/epl/Epl.h272
1 files changed, 0 insertions, 272 deletions
diff --git a/drivers/staging/epl/Epl.h b/drivers/staging/epl/Epl.h
deleted file mode 100644
index 7f22b04..0000000
--- a/drivers/staging/epl/Epl.h
+++ /dev/null
@@ -1,272 +0,0 @@
-/****************************************************************************
-
- (c) SYSTEC electronic GmbH, D-07973 Greiz, August-Bebel-Str. 29
- www.systec-electronic.com
-
- Project: openPOWERLINK
-
- Description: include file for EPL API layer
-
- 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: Epl.h,v $
-
- $Author: D.Krueger $
-
- $Revision: 1.8 $ $Date: 2008/11/17 16:40:39 $
-
- $State: Exp $
-
- Build Environment:
- GCC V3.4
-
- -------------------------------------------------------------------------
-
- Revision History:
-
- 2006/05/22 d.k.: start of the implementation, version 1.00
-
-****************************************************************************/
-
-#ifndef _EPL_API_H_
-#define _EPL_API_H_
-
-#include "EplInc.h"
-#include "EplSdo.h"
-#include "EplObd.h"
-#include "EplLed.h"
-#include "EplEvent.h"
-
-//---------------------------------------------------------------------------
-// const defines
-//---------------------------------------------------------------------------
-
-//---------------------------------------------------------------------------
-// typedef
-//---------------------------------------------------------------------------
-
-typedef struct {
- unsigned int m_uiNodeId;
- tEplNmtState m_NmtState;
- tEplNmtNodeEvent m_NodeEvent;
- u16 m_wErrorCode; // EPL error code if m_NodeEvent == kEplNmtNodeEventError
- BOOL m_fMandatory;
-
-} tEplApiEventNode;
-
-typedef struct {
- tEplNmtState m_NmtState; // local NMT state
- tEplNmtBootEvent m_BootEvent;
- u16 m_wErrorCode; // EPL error code if m_BootEvent == kEplNmtBootEventError
-
-} tEplApiEventBoot;
-
-typedef struct {
- tEplLedType m_LedType; // type of the LED (e.g. Status or Error)
- BOOL m_fOn; // state of the LED (e.g. on or off)
-
-} tEplApiEventLed;
-
-typedef enum {
- kEplApiEventNmtStateChange = 0x10, // m_NmtStateChange
-// kEplApiEventRequestNmt = 0x11, // m_bNmtCmd
- kEplApiEventCriticalError = 0x12, // m_InternalError, Stack halted
- kEplApiEventWarning = 0x13, // m_InternalError, Stack running
- kEplApiEventNode = 0x20, // m_Node
- kEplApiEventBoot = 0x21, // m_Boot
- kEplApiEventSdo = 0x62, // m_Sdo
- kEplApiEventObdAccess = 0x69, // m_ObdCbParam
- kEplApiEventLed = 0x70, // m_Led
-
-} tEplApiEventType;
-
-typedef union {
- tEplEventNmtStateChange m_NmtStateChange;
- tEplEventError m_InternalError;
- tEplSdoComFinished m_Sdo;
- tEplObdCbParam m_ObdCbParam;
- tEplApiEventNode m_Node;
- tEplApiEventBoot m_Boot;
- tEplApiEventLed m_Led;
-
-} tEplApiEventArg;
-
-typedef tEplKernel(*tEplApiCbEvent) (tEplApiEventType EventType_p, // IN: event type (enum)
- tEplApiEventArg *pEventArg_p, // IN: event argument (union)
- void *pUserArg_p);
-
-typedef struct {
- unsigned int m_uiSizeOfStruct;
- BOOL m_fAsyncOnly; // do not need to register PRes
- unsigned int m_uiNodeId; // local node ID
- u8 m_abMacAddress[6]; // local MAC address
-
- // 0x1F82: NMT_FeatureFlags_U32
- u32 m_dwFeatureFlags;
- // Cycle Length (0x1006: NMT_CycleLen_U32) in [us]
- u32 m_dwCycleLen; // required for error detection
- // 0x1F98: NMT_CycleTiming_REC
- // 0x1F98.1: IsochrTxMaxPayload_U16
- unsigned int m_uiIsochrTxMaxPayload; // const
- // 0x1F98.2: IsochrRxMaxPayload_U16
- unsigned int m_uiIsochrRxMaxPayload; // const
- // 0x1F98.3: PResMaxLatency_U32
- u32 m_dwPresMaxLatency; // const in [ns], only required for IdentRes
- // 0x1F98.4: PReqActPayloadLimit_U16
- unsigned int m_uiPreqActPayloadLimit; // required for initialisation (+28 bytes)
- // 0x1F98.5: PResActPayloadLimit_U16
- unsigned int m_uiPresActPayloadLimit; // required for initialisation of Pres frame (+28 bytes)
- // 0x1F98.6: ASndMaxLatency_U32
- u32 m_dwAsndMaxLatency; // const in [ns], only required for IdentRes
- // 0x1F98.7: MultiplCycleCnt_U8
- unsigned int m_uiMultiplCycleCnt; // required for error detection
- // 0x1F98.8: AsyncMTU_U16
- unsigned int m_uiAsyncMtu; // required to set up max frame size
- // 0x1F98.9: Prescaler_U16
- unsigned int m_uiPrescaler; // required for sync
- // $$$ Multiplexed Slot
-
- // 0x1C14: DLL_LossOfFrameTolerance_U32 in [ns]
- u32 m_dwLossOfFrameTolerance;
-
- // 0x1F8A: NMT_MNCycleTiming_REC
- // 0x1F8A.1: WaitSoCPReq_U32 in [ns]
- u32 m_dwWaitSocPreq;
-
- // 0x1F8A.2: AsyncSlotTimeout_U32 in [ns]
- u32 m_dwAsyncSlotTimeout;
-
- u32 m_dwDeviceType; // NMT_DeviceType_U32
- u32 m_dwVendorId; // NMT_IdentityObject_REC.VendorId_U32
- u32 m_dwProductCode; // NMT_IdentityObject_REC.ProductCode_U32
- u32 m_dwRevisionNumber; // NMT_IdentityObject_REC.RevisionNo_U32
- u32 m_dwSerialNumber; // NMT_IdentityObject_REC.SerialNo_U32
- u64 m_qwVendorSpecificExt1;
- u32 m_dwVerifyConfigurationDate; // CFM_VerifyConfiguration_REC.ConfDate_U32
- u32 m_dwVerifyConfigurationTime; // CFM_VerifyConfiguration_REC.ConfTime_U32
- u32 m_dwApplicationSwDate; // PDL_LocVerApplSw_REC.ApplSwDate_U32 on programmable device or date portion of NMT_ManufactSwVers_VS on non-programmable device
- u32 m_dwApplicationSwTime; // PDL_LocVerApplSw_REC.ApplSwTime_U32 on programmable device or time portion of NMT_ManufactSwVers_VS on non-programmable device
- u32 m_dwIpAddress;
- u32 m_dwSubnetMask;
- u32 m_dwDefaultGateway;
- u8 m_sHostname[32];
- u8 m_abVendorSpecificExt2[48];
-
- char *m_pszDevName; // NMT_ManufactDevName_VS (0x1008/0 local OD)
- char *m_pszHwVersion; // NMT_ManufactHwVers_VS (0x1009/0 local OD)
- char *m_pszSwVersion; // NMT_ManufactSwVers_VS (0x100A/0 local OD)
-
- tEplApiCbEvent m_pfnCbEvent;
- void *m_pEventUserArg;
- tEplSyncCb m_pfnCbSync;
-
-} tEplApiInitParam;
-
-typedef struct {
- void *m_pImage;
- unsigned int m_uiSize;
-
-} tEplApiProcessImage;
-
-//---------------------------------------------------------------------------
-// function prototypes
-//---------------------------------------------------------------------------
-
-tEplKernel EplApiInitialize(tEplApiInitParam *pInitParam_p);
-
-tEplKernel EplApiShutdown(void);
-
-tEplKernel EplApiReadObject(tEplSdoComConHdl *pSdoComConHdl_p,
- unsigned int uiNodeId_p,
- unsigned int uiIndex_p,
- unsigned int uiSubindex_p,
- void *pDstData_le_p,
- unsigned int *puiSize_p,
- tEplSdoType SdoType_p, void *pUserArg_p);
-
-tEplKernel EplApiWriteObject(tEplSdoComConHdl *pSdoComConHdl_p,
- unsigned int uiNodeId_p,
- unsigned int uiIndex_p,
- unsigned int uiSubindex_p,
- void *pSrcData_le_p,
- unsigned int uiSize_p,
- tEplSdoType SdoType_p, void *pUserArg_p);
-
-tEplKernel EplApiFreeSdoChannel(tEplSdoComConHdl SdoComConHdl_p);
-
-tEplKernel EplApiReadLocalObject(unsigned int uiIndex_p,
- unsigned int uiSubindex_p,
- void *pDstData_p,
- unsigned int *puiSize_p);
-
-tEplKernel EplApiWriteLocalObject(unsigned int uiIndex_p,
- unsigned int uiSubindex_p,
- void *pSrcData_p,
- unsigned int uiSize_p);
-
-tEplKernel EplApiCbObdAccess(tEplObdCbParam *pParam_p);
-
-tEplKernel EplApiLinkObject(unsigned int uiObjIndex_p,
- void *pVar_p,
- unsigned int *puiVarEntries_p,
- tEplObdSize *pEntrySize_p,
- unsigned int uiFirstSubindex_p);
-
-tEplKernel EplApiExecNmtCommand(tEplNmtEvent NmtEvent_p);
-
-tEplKernel EplApiProcess(void);
-
-#if (((EPL_MODULE_INTEGRATION) & (EPL_MODULE_NMT_MN)) != 0)
-tEplKernel EplApiMnTriggerStateChange(unsigned int uiNodeId_p,
- tEplNmtNodeCommand NodeCommand_p);
-#endif
-
-tEplKernel EplApiGetIdentResponse(unsigned int uiNodeId_p,
- tEplIdentResponse **ppIdentResponse_p);
-
-// functions for process image will be implemented in separate file
-tEplKernel EplApiProcessImageSetup(void);
-tEplKernel EplApiProcessImageExchangeIn(tEplApiProcessImage *pPI_p);
-tEplKernel EplApiProcessImageExchangeOut(tEplApiProcessImage *pPI_p);
-
-#endif // #ifndef _EPL_API_H_
OpenPOWER on IntegriCloud