EtherCAT Slave
1.10.00
CiA402 Application interface.
Author KUNBUS GmbH
Date 2021-05-18
Copyright Copyright (c) 2021, KUNBUS GmbH
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
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.
Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
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 HOLDER 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.
#if !(defined __ECSLVCIA402_H__)
#define __ECSLVCIA402_H__ 1
#include <osal.h>
#include <ecSlvApi.h>
#include <ESL_os.h>
#define AXES_NUMBER 3
{
{
{
{
#if (defined OSAL_FREERTOS)
TaskP_Params mainThreadParam;
#elif (defined OSAL_FREERTOS_JACINTO)
TaskP_Params mainThreadParam;
#else
#endif
#if (defined OSAL_LINUX)
struct stat buffer;
uint8_t foeValue;
#endif
#if (defined __cplusplus)
extern "C" {
#endif
#if (defined __cplusplus)
}
#endif
#endif
EC_SLV_APP_sCIA_objectEntry_t positionLimitMax
Definition: ecSlvCiA402.h:147
EC_API_SLV_SCoE_Object_t * pt2007RecObj
Definition: ecSlvSimple.h:89
EC_SLV_APP_sCIA_object_t swPositionLimitIndex
Definition: ecSlvCiA402.h:110
uint8_t * pdRxBuffer
Definition: ecSlvCiA402.h:201
uint8_t * pdTxBuffer
Definition: ecSlvCiA402.h:202
uint16_t pdoOffset
Definition: ecSlvCiA402.h:64
EC_SLV_APP_sCIA_object_t positionActualValueIndex
Definition: ecSlvCiA402.h:90
EC_API_SLV_SCoE_Object_t * ptRecObjOut
Definition: ecSlvSimple.h:87
clock_t prev
Definition: ecSlvSimple.h:85
void EC_SLV_APP_registerStacklessBoardFunctions(EC_SLV_APP_Sapplication_t *pAppInstance_p)
Register board related functions, which do not use stack handle.
Definition: ecSlvSimple.c:2026
void * ioexpLedHandle
Definition: ecSlvSimple.h:74
EC_SLV_APP_sCIA_object_t supportedDriveModesIndex
Definition: ecSlvCiA402.h:145
uint16_t pdoOutLen
Definition: ecSlvCiA402.h:199
EC_API_SLV_SCoE_Object_t * pSdo
Definition: ecSlvCiA402.h:60
EC_API_SLV_SPdo_t * ptRxPdo1601
Definition: ecSlvSimple.h:93
Definition: ecSlvCiA402.h:67
EC_API_SLV_SCoE_Object_t * pt2002RecObj
Definition: ecSlvSimple.h:88
uint8_t rsvd[3]
Definition: ecSlvSimple.h:84
void EC_SLV_APP_applicationDeInit(EC_SLV_APP_Sapplication_t *pAppInstance_p)
Deinitialize application.
Definition: ecSlvSimple.c:2314
uint16_t pdoInLen
Definition: ecSlvCiA402.h:200
void * mainThreadHandle
Definition: ecSlvSimple.h:67
EC_API_SLV_SPdo_t * ptTxPdo1A01
Definition: ecSlvSimple.h:95
EC_SLV_APP_sCIA_object_t controlWordIndex
Definition: ecSlvCiA402.h:79
struct EC_API_SLV_SCoE_Object EC_API_SLV_SCoE_Object_t
TSdo describes an Object Dictionary Object.
Definition: ecSlvApi.h:136
EC_SLV_APP_sCIA_object_t modesOfOperationDisplayIndex
Definition: ecSlvCiA402.h:87
uint8_t state
Definition: ecSlvSimple.h:83
Definition: ecSlvSimple.h:55
Definition: ecSlvCiA402.h:57
struct EC_API_SLV_SHandle EC_API_SLV_SHandle_t
EC_API_SLV_SHandle_t describes the EtherCAT Slave API.
Definition: ecSlvApi.h:139
EC_API_SLV_SPdo_t * ptRxPdo1602
Definition: ecSlvCiA402.h:194
uint16_t objectIndex
Definition: ecSlvCiA402.h:59
void * gpioHandle
Definition: ecSlvSimple.h:72
EC_SLV_APP_sCIA_object_t targetVelocityIndex
Definition: ecSlvCiA402.h:112
uint16_t objectIndex
Definition: ecSlvCiA402.h:69
uint32_t posLimitMax
Definition: ecSlvCiA402.h:150
struct EC_API_SLV_SPdo EC_API_SLV_SPdo_t
TPdo is used to describe the RxPDOs and TxPDOs.
Definition: ecSlvApi.h:130
EC_SLV_APP_sCIA_object_t statusWordIndex
Definition: ecSlvCiA402.h:80
EC_API_SLV_SCoE_Object_t * pt200FRecObj
Definition: ecSlvSimple.h:90
EC_API_SLV_SPdo_t * ptTxPdo1A00
Definition: ecSlvSimple.h:94
void * loopThreadHandle
Definition: ecSlvSimple.h:69
EC_SLV_APP_sCIA_object_t targetPositionIndex
Definition: ecSlvCiA402.h:107
EC_SLV_APP_sCIA_axisData_t CiA402_axisData[AXES_NUMBER]
Definition: ecSlvCiA402.h:206
EC_SLV_APP_sCIA_object_t quickStopIndex
Definition: ecSlvCiA402.h:81
void * remoteHandle
Definition: ecSlvSimple.h:73
uint32_t selectedPruInstance
Definition: ecSlvSimple.h:57
Definition: ecSlvCiA402.h:76
EC_API_SLV_SPdo_t * pdoObject
Definition: ecSlvCiA402.h:62
struct EC_API_SLV_SCoE_ObjEntry EC_API_SLV_SCoE_ObjEntry_t
TSdoEntry describes an OBD Object Entry.
Definition: ecSlvApi.h:133
EC_SLV_APP_sCIA_object_t disableOperationIndex
Definition: ecSlvCiA402.h:83
EC_SLV_APP_sCIA_objectEntry_t positionLimitMin
Definition: ecSlvCiA402.h:148
uint16_t realPdoInLen
Definition: ecSlvCiA402.h:205
uint16_t pdoObjectOffset
Definition: ecSlvCiA402.h:63
void EC_SLV_APP_applicationInit(EC_SLV_APP_Sapplication_t *pAppInstance_p)
Initialize application.
Definition: ecSlvSimple.c:2156
EC_API_SLV_SHandle_t * ptEcSlvApi
Definition: ecSlvSimple.h:97
EC_API_SLV_SCoE_ObjEntry_t * pObjetEntry
Definition: ecSlvCiA402.h:73
EC_API_SLV_SPdo_t * ptRxPdo1600
Definition: ecSlvSimple.h:92
uint32_t posLimitMin
Definition: ecSlvCiA402.h:151
void EC_SLV_APP_initBoardFunctions(EC_SLV_APP_Sapplication_t *pAppInstance_p)
Initialize board related functions.
Definition: ecSlvSimple.c:1931
uint16_t realPdoOutLen
Definition: ecSlvCiA402.h:204
EC_API_SLV_SCoE_Object_t * pSdo
Definition: ecSlvCiA402.h:71
EC_SLV_APP_sCIA_object_t targetTorqueIndex
Definition: ecSlvCiA402.h:102
int32_t trigger
Definition: ecSlvSimple.h:81
clock_t diff
Definition: ecSlvSimple.h:85
uint8_t objectSubIndex
Definition: ecSlvCiA402.h:70
EC_API_SLV_SPdo_t * ptTxPdo1A02
Definition: ecSlvCiA402.h:197
int32_t msec
Definition: ecSlvSimple.h:80
EC_SLV_APP_sCIA_object_t velocityActualValueIndex
Definition: ecSlvCiA402.h:97
EC_SLV_APP_sCIA_object_t shutdownIndex
Definition: ecSlvCiA402.h:82
EC_SLV_APP_sCIA_object_t faultReactionIndex
Definition: ecSlvCiA402.h:85
EC_SLV_APP_sCIA_object_t modesOfOperationIndex
Definition: ecSlvCiA402.h:86
EC_SLV_APP_sCIA_object_t torqueActualValueIndex
Definition: ecSlvCiA402.h:105