diff options
Diffstat (limited to 'drivers/staging/epl/Epl.h')
-rw-r--r-- | drivers/staging/epl/Epl.h | 272 |
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_ |