EtherCAT Slave  1.04.01
ESL_cia402Obd.c

Interface for creating CiA 402 Object Dictionary - "AXES_NUMBER" axes.

Author
KUNBUS GmbH
Date
2020-06-19
#include "ESL_cia402Obd.h"
#include "ESL_cia402Demo.h"
#include <ecSlvApi.h>
#include <ecApiError.h>
#include <ecApiDef.h>
uint32_t EC_SLV_APP_cia402ObjectDictionary(void* pContext_p)
{
EC_API_SLV_SHandle_t* pEcApiSlv = (EC_API_SLV_SHandle_t*) pContext_p;
EC_API_SLV_SCoE_Object_t* pObj607B = NULL;
EC_API_SLV_SCoE_Object_t* pObj607D = NULL;
EC_API_SLV_SCoE_Object_t* pObj608F = NULL;
EC_API_SLV_SCoE_Object_t* pObj6090 = NULL;
EC_API_SLV_SCoE_Object_t* pObj6091 = NULL;
EC_API_SLV_SCoE_Object_t* pObj6092 = NULL;
EC_API_SLV_SCoE_Object_t* pObj6096 = NULL;
EC_API_SLV_SCoE_Object_t* pObj6099 = NULL;
uint32_t err = EC_API_eERR_NONE;
for(uint8_t axis = 0; axis < AXES_NUMBER; axis++)
{
//Object 0x6007: Abort connection
err = EC_API_SLV_CoE_odAddVariable(pEcApiSlv, OBD_ABORT_CONNECTION_OPTION_CODE_INDEX(axis), "Abort connection option code", DEFTYPE_INTEGER16, 16, ACCESS_READWRITE, NULL, NULL, NULL, NULL);
if (err != EC_API_eERR_NONE)
{
OSAL_printf("%s:%d (%s) Error code: 0x%08x\r\n", __FILE__, __LINE__, __FUNCTION__, err);
goto Exit;
}
//Object 0x6040: Controlword
err = EC_API_SLV_CoE_odAddVariable(pEcApiSlv, OBD_CONTROLWORD_INDEX(axis), "Controlword", DEFTYPE_UNSIGNED16, 16, ACCESS_READWRITE | OBJACCESS_RXPDOMAPPING, NULL, NULL, NULL, NULL);
if (err != EC_API_eERR_NONE)
{
OSAL_printf("%s:%d (%s) Error code: 0x%08x\r\n", __FILE__, __LINE__, __FUNCTION__, err);
goto Exit;
}
//Object 0x6041: Statusword
err = EC_API_SLV_CoE_odAddVariable(pEcApiSlv, OBD_STATUSWORD_INDEX(axis), "Statusword", DEFTYPE_UNSIGNED16, 16, ACCESS_READ | OBJACCESS_TXPDOMAPPING, NULL, NULL, NULL, NULL);
if (err != EC_API_eERR_NONE)
{
OSAL_printf("%s:%d (%s) Error code: 0x%08x\r\n", __FILE__, __LINE__, __FUNCTION__, err);
goto Exit;
}
//Object 0x605A: Quickstop option code
err = EC_API_SLV_CoE_odAddVariable(pEcApiSlv, OBD_QUICKSTOP_INDEX(axis), "Quickstop option code", DEFTYPE_INTEGER16, 16, ACCESS_READWRITE, NULL, NULL, NULL, NULL);
if (err != EC_API_eERR_NONE)
{
OSAL_printf("%s:%d (%s) Error code: 0x%08x\r\n", __FILE__, __LINE__, __FUNCTION__, err);
goto Exit;
}
//Object 0x605B: Shutdown option code
err = EC_API_SLV_CoE_odAddVariable(pEcApiSlv, OBD_SHUTDOWN_INDEX(axis), "Shutdown option code", DEFTYPE_INTEGER16, 16, ACCESS_READWRITE, NULL, NULL, NULL, NULL);
if (err != EC_API_eERR_NONE)
{
OSAL_printf("%s:%d (%s) Error code: 0x%08x\r\n", __FILE__, __LINE__, __FUNCTION__, err);
goto Exit;
}
//Object 0x605C: Disable operation option code
err = EC_API_SLV_CoE_odAddVariable(pEcApiSlv, OBD_DISABLE_OPERATION_INDEX(axis), "Disable operation option code", DEFTYPE_INTEGER16, 16, ACCESS_READWRITE, NULL, NULL, NULL, NULL);
if (err != EC_API_eERR_NONE)
{
OSAL_printf("%s:%d (%s) Error code: 0x%08x\r\n", __FILE__, __LINE__, __FUNCTION__, err);
goto Exit;
}
//Object 0x605D: Halt option code
err = EC_API_SLV_CoE_odAddVariable(pEcApiSlv, OBD_HALT_OPTION_CODE_INDEX(axis), "Halt option code", DEFTYPE_INTEGER16, 16, ACCESS_READWRITE, NULL, NULL, NULL, NULL);
if (err != EC_API_eERR_NONE)
{
OSAL_printf("%s:%d (%s) Error code: 0x%08x\r\n", __FILE__, __LINE__, __FUNCTION__, err);
goto Exit;
}
//Object 0x605E: Fault reaction option code
err = EC_API_SLV_CoE_odAddVariable(pEcApiSlv, OBD_FAULT_REACTION_INDEX(axis), "Fault reaction option code", DEFTYPE_INTEGER16, 16, ACCESS_READWRITE, NULL, NULL, NULL, NULL);
if (err != EC_API_eERR_NONE)
{
OSAL_printf("%s:%d (%s) Error code: 0x%08x\r\n", __FILE__, __LINE__, __FUNCTION__, err);
goto Exit;
}
//Object 0x6060: Mode of operation
err = EC_API_SLV_CoE_odAddVariable(pEcApiSlv, OBD_MODES_OF_OPERATION_INDEX(axis), "Modes of operation", DEFTYPE_INTEGER8, 8, ACCESS_READWRITE | OBJACCESS_RXPDOMAPPING, NULL, NULL, NULL, NULL);
if (err != EC_API_eERR_NONE)
{
OSAL_printf("%s:%d (%s) Error code: 0x%08x\r\n", __FILE__, __LINE__, __FUNCTION__, err);
goto Exit;
}
//Object 0x6061: Modes of operation display
err = EC_API_SLV_CoE_odAddVariable(pEcApiSlv, OBD_MODES_OF_OPERATION_DISPLAY_INDEX(axis), "Modes of operation display", DEFTYPE_INTEGER8, 8, ACCESS_READ | OBJACCESS_TXPDOMAPPING, NULL, NULL, NULL, NULL);
if (err != EC_API_eERR_NONE)
{
OSAL_printf("%s:%d (%s) Error code: 0x%08x\r\n", __FILE__, __LINE__, __FUNCTION__, err);
goto Exit;
}
//Object 0x6062: Position demand value
err = EC_API_SLV_CoE_odAddVariable(pEcApiSlv, OBD_POSITION_DEMAND_VALUE_INDEX(axis), "Position demand value", DEFTYPE_INTEGER32, 32, ACCESS_READ | OBJACCESS_TXPDOMAPPING, NULL, NULL, NULL, NULL);
if (err != EC_API_eERR_NONE)
{
OSAL_printf("%s:%d (%s) Error code: 0x%08x\r\n", __FILE__, __LINE__, __FUNCTION__, err);
goto Exit;
}
//Object 0x6063: Position actual internal value
err = EC_API_SLV_CoE_odAddVariable(pEcApiSlv, OBD_POSITION_ACTUAL_INTERNAL_VALUE_INDEX(axis), "Position actual internal value", DEFTYPE_INTEGER32, 32, ACCESS_READ | OBJACCESS_TXPDOMAPPING, NULL, NULL, NULL, NULL);
if (err != EC_API_eERR_NONE)
{
OSAL_printf("%s:%d (%s) Error code: 0x%08x\r\n", __FILE__, __LINE__, __FUNCTION__, err);
goto Exit;
}
//Object 0x6064: Position actual value
err = EC_API_SLV_CoE_odAddVariable(pEcApiSlv, OBD_POSITION_ACTUAL_VALUE_INDEX(axis), "Position actual value", DEFTYPE_INTEGER32, 32, ACCESS_READ | OBJACCESS_TXPDOMAPPING, NULL, NULL, NULL, NULL);
if (err != EC_API_eERR_NONE)
{
OSAL_printf("%s:%d (%s) Error code: 0x%08x\r\n", __FILE__, __LINE__, __FUNCTION__, err);
goto Exit;
}
//Object 0x6065: Following error window
err = EC_API_SLV_CoE_odAddVariable(pEcApiSlv, OBD_FOLLOWING_ERROR_WINDOW_INDEX(axis), "Following error window", DEFTYPE_UNSIGNED32, 32, ACCESS_READWRITE | OBJACCESS_RXPDOMAPPING, NULL, NULL, NULL, NULL);
if (err != EC_API_eERR_NONE)
{
OSAL_printf("%s:%d (%s) Error code: 0x%08x\r\n", __FILE__, __LINE__, __FUNCTION__, err);
goto Exit;
}
//Object 0x6066: Following error timeout
err = EC_API_SLV_CoE_odAddVariable(pEcApiSlv, OBD_FOLLOWING_ERROR_TIMEOUT_INDEX(axis), "Following error timeout", DEFTYPE_UNSIGNED16, 16, ACCESS_READWRITE | OBJACCESS_RXPDOMAPPING, NULL, NULL, NULL, NULL);
if (err != EC_API_eERR_NONE)
{
OSAL_printf("%s:%d (%s) Error code: 0x%08x\r\n", __FILE__, __LINE__, __FUNCTION__, err);
goto Exit;
}
//Object 0x6067: Position window
err = EC_API_SLV_CoE_odAddVariable(pEcApiSlv, OBD_POSITION_WINDOW_INDEX(axis), "Position window", DEFTYPE_UNSIGNED32, 32, ACCESS_READWRITE | OBJACCESS_RXPDOMAPPING, NULL, NULL, NULL, NULL);
if (err != EC_API_eERR_NONE)
{
OSAL_printf("%s:%d (%s) Error code: 0x%08x\r\n", __FILE__, __LINE__, __FUNCTION__, err);
goto Exit;
}
//Object 0x6068: Position window time
err = EC_API_SLV_CoE_odAddVariable(pEcApiSlv, OBD_POSITION_WINDOW_TIME_INDEX(axis), "Position window time", DEFTYPE_UNSIGNED16, 16, ACCESS_READWRITE | OBJACCESS_RXPDOMAPPING, NULL, NULL, NULL, NULL);
if (err != EC_API_eERR_NONE)
{
OSAL_printf("%s:%d (%s) Error code: 0x%08x\r\n", __FILE__, __LINE__, __FUNCTION__, err);
goto Exit;
}
//Object 0x6069: Velocity sensor actual value
err = EC_API_SLV_CoE_odAddVariable(pEcApiSlv, OBD_VELOCITY_SENSOR_ACTUAL_VALUE_INDEX(axis), "Velocity sensor actual value", DEFTYPE_INTEGER32, 32, ACCESS_READ | OBJACCESS_TXPDOMAPPING, NULL, NULL, NULL, NULL);
if (err != EC_API_eERR_NONE)
{
OSAL_printf("%s:%d (%s) Error code: 0x%08x\r\n", __FILE__, __LINE__, __FUNCTION__, err);
goto Exit;
}
//Object 0x606B: Velocity demand value
err = EC_API_SLV_CoE_odAddVariable(pEcApiSlv, OBD_VELOCITY_DEMAND_VALUE_INDEX(axis), "Velocity demand value", DEFTYPE_INTEGER32, 32, ACCESS_READ | OBJACCESS_TXPDOMAPPING, NULL, NULL, NULL, NULL);
if (err != EC_API_eERR_NONE)
{
OSAL_printf("%s:%d (%s) Error code: 0x%08x\r\n", __FILE__, __LINE__, __FUNCTION__, err);
goto Exit;
}
//Object 0x606C: Velocity actual value
err = EC_API_SLV_CoE_odAddVariable(pEcApiSlv, OBD_VELOCITY_ACTUAL_VALUE_INDEX(axis), "Velocity actual value", DEFTYPE_INTEGER32, 32, ACCESS_READ | OBJACCESS_TXPDOMAPPING, NULL, NULL, NULL, NULL);
if (err != EC_API_eERR_NONE)
{
OSAL_printf("%s:%d (%s) Error code: 0x%08x\r\n", __FILE__, __LINE__, __FUNCTION__, err);
goto Exit;
}
//Object 0x606D: Velocity window
err = EC_API_SLV_CoE_odAddVariable(pEcApiSlv, OBD_VELOCITY_WINDOW_INDEX(axis), "Velocity window", DEFTYPE_UNSIGNED16, 16, ACCESS_READWRITE | OBJACCESS_RXPDOMAPPING, NULL, NULL, NULL, NULL);
if (err != EC_API_eERR_NONE)
{
OSAL_printf("%s:%d (%s) Error code: 0x%08x\r\n", __FILE__, __LINE__, __FUNCTION__, err);
goto Exit;
}
//Object 0x606E: Velocity window time
err = EC_API_SLV_CoE_odAddVariable(pEcApiSlv, OBD_VELOCITY_WINDOW_TIME_INDEX(axis), "Velocity window time", DEFTYPE_UNSIGNED16, 16, ACCESS_READWRITE | OBJACCESS_RXPDOMAPPING, NULL, NULL, NULL, NULL);
if (err != EC_API_eERR_NONE)
{
OSAL_printf("%s:%d (%s) Error code: 0x%08x\r\n", __FILE__, __LINE__, __FUNCTION__, err);
goto Exit;
}
//Object 0x606F: Velocity threshold
err = EC_API_SLV_CoE_odAddVariable(pEcApiSlv, OBD_VELOCITY_THRESHOLD_INDEX(axis), "Velocity threshold", DEFTYPE_UNSIGNED16, 16, ACCESS_READWRITE | OBJACCESS_RXPDOMAPPING, NULL, NULL, NULL, NULL);
if (err != EC_API_eERR_NONE)
{
OSAL_printf("%s:%d (%s) Error code: 0x%08x\r\n", __FILE__, __LINE__, __FUNCTION__, err);
goto Exit;
}
//Object 0x6070: Velocity threshold time
err = EC_API_SLV_CoE_odAddVariable(pEcApiSlv, OBD_VELOCITY_THRESHOLD_TIME_INDEX(axis), "Velocity threshold time", DEFTYPE_UNSIGNED16, 16, ACCESS_READWRITE | OBJACCESS_RXPDOMAPPING, NULL, NULL, NULL, NULL);
if (err != EC_API_eERR_NONE)
{
OSAL_printf("%s:%d (%s) Error code: 0x%08x\r\n", __FILE__, __LINE__, __FUNCTION__, err);
goto Exit;
}
//Object 0x6071: Target torque
err = EC_API_SLV_CoE_odAddVariable(pEcApiSlv, OBD_TARGET_TORQUE_INDEX(axis), "Target torque", DEFTYPE_INTEGER16, 16, ACCESS_READWRITE | OBJACCESS_RXPDOMAPPING, NULL, NULL, NULL, NULL);
if (err != EC_API_eERR_NONE)
{
OSAL_printf("%s:%d (%s) Error code: 0x%08x\r\n", __FILE__, __LINE__, __FUNCTION__, err);
goto Exit;
}
//Object 0x6072: Max torque
err = EC_API_SLV_CoE_odAddVariable(pEcApiSlv, OBD_MAX_TORQUE_INDEX(axis), "Max torque", DEFTYPE_INTEGER16, 16, ACCESS_READ | OBJACCESS_TXPDOMAPPING, NULL, NULL, NULL, NULL);
if (err != EC_API_eERR_NONE)
{
OSAL_printf("%s:%d (%s) Error code: 0x%08x\r\n", __FILE__, __LINE__, __FUNCTION__, err);
goto Exit;
}
//Object 0x6074: Torque demand
err = EC_API_SLV_CoE_odAddVariable(pEcApiSlv, OBD_TORQUE_DEMAND_INDEX(axis), "Torque demand", DEFTYPE_INTEGER16, 16, ACCESS_READ | OBJACCESS_TXPDOMAPPING, NULL, NULL, NULL, NULL);
if (err != EC_API_eERR_NONE)
{
OSAL_printf("%s:%d (%s) Error code: 0x%08x\r\n", __FILE__, __LINE__, __FUNCTION__, err);
goto Exit;
}
//Object 0x6077: Torque actual value
err = EC_API_SLV_CoE_odAddVariable(pEcApiSlv, OBD_TORQUE_ACTUAL_VALUE_INDEX(axis), "Torque actual value", DEFTYPE_INTEGER16, 16, ACCESS_READ | OBJACCESS_TXPDOMAPPING, NULL, NULL, NULL, NULL);
if (err != EC_API_eERR_NONE)
{
OSAL_printf("%s:%d (%s) Error code: 0x%08x\r\n", __FILE__, __LINE__, __FUNCTION__, err);
goto Exit;
}
//Object 0x6078: Current actual value
err = EC_API_SLV_CoE_odAddVariable(pEcApiSlv, OBD_CURRENT_ACTUAL_VALUE_INDEX(axis), "Current actual value", DEFTYPE_INTEGER16, 16, ACCESS_READ | OBJACCESS_TXPDOMAPPING, NULL, NULL, NULL, NULL);
if (err != EC_API_eERR_NONE)
{
OSAL_printf("%s:%d (%s) Error code: 0x%08x\r\n", __FILE__, __LINE__, __FUNCTION__, err);
goto Exit;
}
//Object 0x607A: Target position
err = EC_API_SLV_CoE_odAddVariable(pEcApiSlv, OBD_TARGET_POSITION_INDEX(axis), "Target position", DEFTYPE_INTEGER32, 32, ACCESS_READWRITE | OBJACCESS_RXPDOMAPPING, NULL, NULL, NULL, NULL);
if (err != EC_API_eERR_NONE)
{
OSAL_printf("%s:%d (%s) Error code: 0x%08x\r\n", __FILE__, __LINE__, __FUNCTION__, err);
goto Exit;
}
//Object 0x607B: Position range limit
err = EC_API_SLV_CoE_odAddRecord(pEcApiSlv, OBD_POSITION_RANGE_LIMIT_INDEX(axis), "Position range limit", NULL, NULL, NULL, NULL, &pObj607B);
if (err != EC_API_eERR_NONE)
{
OSAL_printf("%s:%d (%s) Error code: 0x%08x\r\n", __FILE__, __LINE__, __FUNCTION__, err);
goto Exit;
}
if(pObj607B)
{
err = EC_API_SLV_CoE_configRecordSubIndex(pEcApiSlv, pObj607B, 1, "Min position range limit", DEFTYPE_INTEGER32, 32, ACCESS_READWRITE | OBJACCESS_RXPDOMAPPING);
if (err != EC_API_eERR_NONE)
{
OSAL_printf("%s:%d (%s) Error code: 0x%08x\r\n", __FILE__, __LINE__, __FUNCTION__, err);
goto Exit;
}
err = EC_API_SLV_CoE_configRecordSubIndex(pEcApiSlv, pObj607B, 2, "Max position range limit", DEFTYPE_INTEGER32, 32, ACCESS_READWRITE | OBJACCESS_RXPDOMAPPING);
if (err != EC_API_eERR_NONE)
{
OSAL_printf("%s:%d (%s) Error code: 0x%08x\r\n", __FILE__, __LINE__, __FUNCTION__, err);
goto Exit;
}
}
//Object 0x607C: Home offset
err = EC_API_SLV_CoE_odAddVariable(pEcApiSlv, OBD_HOME_OFFSET_INDEX(axis), "Home offset", DEFTYPE_INTEGER32, 32, ACCESS_READWRITE | OBJACCESS_RXPDOMAPPING, NULL, NULL, NULL, NULL);
if (err != EC_API_eERR_NONE)
{
OSAL_printf("%s:%d (%s) Error code: 0x%08x\r\n", __FILE__, __LINE__, __FUNCTION__, err);
goto Exit;
}
//Object 0x607D: Software position limit
err = EC_API_SLV_CoE_odAddRecord(pEcApiSlv, OBD_SW_POSITION_LIMIT_INDEX(axis), "Software position limit", NULL, NULL, NULL, NULL, &pObj607D);
if (err != EC_API_eERR_NONE)
{
OSAL_printf("%s:%d (%s) Error code: 0x%08x\r\n", __FILE__, __LINE__, __FUNCTION__, err);
goto Exit;
}
if(pObj607D)
{
if (err != EC_API_eERR_NONE)
{
OSAL_printf("%s:%d (%s) Error code: 0x%08x\r\n", __FILE__, __LINE__, __FUNCTION__, err);
goto Exit;
}
if (err != EC_API_eERR_NONE)
{
OSAL_printf("%s:%d (%s) Error code: 0x%08x\r\n", __FILE__, __LINE__, __FUNCTION__, err);
goto Exit;
}
}
//Object 0x607E: Polarity
err = EC_API_SLV_CoE_odAddVariable(pEcApiSlv, OBD_POLARITY_INDEX(axis), "Polarity", DEFTYPE_INTEGER8, 8, ACCESS_READWRITE | OBJACCESS_RXPDOMAPPING, NULL, NULL, NULL, NULL);
if (err != EC_API_eERR_NONE)
{
OSAL_printf("%s:%d (%s) Error code: 0x%08x\r\n", __FILE__, __LINE__, __FUNCTION__, err);
goto Exit;
}
//Object 0x6080: Max motor speed
err = EC_API_SLV_CoE_odAddVariable(pEcApiSlv, OBD_MAX_MOTOR_SPEED_INDEX(axis), "Max motor speed", DEFTYPE_UNSIGNED32, 32, ACCESS_READWRITE | OBJACCESS_RXPDOMAPPING, NULL, NULL, NULL, NULL);
if (err != EC_API_eERR_NONE)
{
OSAL_printf("%s:%d (%s) Error code: 0x%08x\r\n", __FILE__, __LINE__, __FUNCTION__, err);
goto Exit;
}
//Object 0x6081: Profile velocity
err = EC_API_SLV_CoE_odAddVariable(pEcApiSlv, OBD_PROFILE_VELOCITY_INDEX(axis), "Profile velocity", DEFTYPE_UNSIGNED32, 32, ACCESS_READWRITE | OBJACCESS_RXPDOMAPPING, NULL, NULL, NULL, NULL);
if (err != EC_API_eERR_NONE)
{
OSAL_printf("%s:%d (%s) Error code: 0x%08x\r\n", __FILE__, __LINE__, __FUNCTION__, err);
goto Exit;
}
//Object 0x6083: Profile acceleration
err = EC_API_SLV_CoE_odAddVariable(pEcApiSlv, OBD_PROFILE_ACCELERATION_INDEX(axis), "Profile acceleration", DEFTYPE_UNSIGNED32, 32, ACCESS_READWRITE | OBJACCESS_RXPDOMAPPING, NULL, NULL, NULL, NULL);
if (err != EC_API_eERR_NONE)
{
OSAL_printf("%s:%d (%s) Error code: 0x%08x\r\n", __FILE__, __LINE__, __FUNCTION__, err);
goto Exit;
}
//Object 0x6084: Profile deceleration
err = EC_API_SLV_CoE_odAddVariable(pEcApiSlv, OBD_PROFILE_DECELERATION_INDEX(axis), "Profile deceleration", DEFTYPE_UNSIGNED32, 32, ACCESS_READWRITE | OBJACCESS_RXPDOMAPPING, NULL, NULL, NULL, NULL);
if (err != EC_API_eERR_NONE)
{
OSAL_printf("%s:%d (%s) Error code: 0x%08x\r\n", __FILE__, __LINE__, __FUNCTION__, err);
goto Exit;
}
//Object 0x6085: Quickstop deceleration
err = EC_API_SLV_CoE_odAddVariable(pEcApiSlv, OBD_QUISTOP_DECELERATION_INDEX(axis), "Quickstop deceleration", DEFTYPE_UNSIGNED32, 32, ACCESS_READWRITE | OBJACCESS_RXPDOMAPPING, NULL, NULL, NULL, NULL);
if (err != EC_API_eERR_NONE)
{
OSAL_printf("%s:%d (%s) Error code: 0x%08x\r\n", __FILE__, __LINE__, __FUNCTION__, err);
goto Exit;
}
//Object 0x6086: Motion profile type
err = EC_API_SLV_CoE_odAddVariable(pEcApiSlv, OBD_MOTION_PROFILE_TYPE_INDEX(axis), "Motion profile type", DEFTYPE_INTEGER16, 16, ACCESS_READWRITE | OBJACCESS_RXPDOMAPPING, NULL, NULL, NULL, NULL);
if (err != EC_API_eERR_NONE)
{
OSAL_printf("%s:%d (%s) Error code: 0x%08x\r\n", __FILE__, __LINE__, __FUNCTION__, err);
goto Exit;
}
//Object 0x608F: Position encoder resolution
err = EC_API_SLV_CoE_odAddRecord(pEcApiSlv, OBD_POSITION_ENCODER_RESOLUTION_INDEX(axis), "Position encoder resolution", NULL, NULL, NULL, NULL, &pObj608F);
if (err != EC_API_eERR_NONE)
{
OSAL_printf("%s:%d (%s) Error code: 0x%08x\r\n", __FILE__, __LINE__, __FUNCTION__, err);
goto Exit;
}
if(pObj608F)
{
err = EC_API_SLV_CoE_configRecordSubIndex(pEcApiSlv, pObj608F, 1, "Encoder increments", DEFTYPE_UNSIGNED32, 32, ACCESS_READ);
if (err != EC_API_eERR_NONE)
{
OSAL_printf("%s:%d (%s) Error code: 0x%08x\r\n", __FILE__, __LINE__, __FUNCTION__, err);
goto Exit;
}
err = EC_API_SLV_CoE_configRecordSubIndex(pEcApiSlv, pObj608F, 2, "Motor revolutions", DEFTYPE_UNSIGNED32, 32, ACCESS_READ);
if (err != EC_API_eERR_NONE)
{
OSAL_printf("%s:%d (%s) Error code: 0x%08x\r\n", __FILE__, __LINE__, __FUNCTION__, err);
goto Exit;
}
}
//Object 0x6090: Velocity encoder resolution
err = EC_API_SLV_CoE_odAddRecord(pEcApiSlv, OBD_VELOCITY_ENCONDER_RESOLUTION_INDEX(axis), "Position encoder resolution", NULL, NULL, NULL, NULL, &pObj6090);
if (err != EC_API_eERR_NONE)
{
OSAL_printf("%s:%d (%s) Error code: 0x%08x\r\n", __FILE__, __LINE__, __FUNCTION__, err);
goto Exit;
}
if(pObj6090)
{
err = EC_API_SLV_CoE_configRecordSubIndex(pEcApiSlv, pObj6090, 1, "Encoder increments", DEFTYPE_UNSIGNED32, 32, ACCESS_READ);
if (err != EC_API_eERR_NONE)
{
OSAL_printf("%s:%d (%s) Error code: 0x%08x\r\n", __FILE__, __LINE__, __FUNCTION__, err);
goto Exit;
}
err = EC_API_SLV_CoE_configRecordSubIndex(pEcApiSlv, pObj6090, 2, "Motor revolutions", DEFTYPE_UNSIGNED32, 32, ACCESS_READ);
if (err != EC_API_eERR_NONE)
{
OSAL_printf("%s:%d (%s) Error code: 0x%08x\r\n", __FILE__, __LINE__, __FUNCTION__, err);
goto Exit;
}
}
//Object 0x6091: Gear ratio
err = EC_API_SLV_CoE_odAddRecord(pEcApiSlv, OBD_GEAR_RATIO_INDEX(axis), "Gear ratio", NULL, NULL, NULL, NULL, &pObj6091);
if (err != EC_API_eERR_NONE)
{
OSAL_printf("%s:%d (%s) Error code: 0x%08x\r\n", __FILE__, __LINE__, __FUNCTION__, err);
goto Exit;
}
if(pObj6091)
{
err = EC_API_SLV_CoE_configRecordSubIndex(pEcApiSlv, pObj6091, 1, "Motor shaft revolutions", DEFTYPE_UNSIGNED32, 32, ACCESS_READWRITE | OBJACCESS_RXPDOMAPPING);
if (err != EC_API_eERR_NONE)
{
OSAL_printf("%s:%d (%s) Error code: 0x%08x\r\n", __FILE__, __LINE__, __FUNCTION__, err);
goto Exit;
}
err = EC_API_SLV_CoE_configRecordSubIndex(pEcApiSlv, pObj6091, 2, "Driving shaft revolutions", DEFTYPE_UNSIGNED32, 32, ACCESS_READWRITE | OBJACCESS_RXPDOMAPPING);
if (err != EC_API_eERR_NONE)
{
OSAL_printf("%s:%d (%s) Error code: 0x%08x\r\n", __FILE__, __LINE__, __FUNCTION__, err);
goto Exit;
}
}
//Object 0x6092: Feed constant
err = EC_API_SLV_CoE_odAddRecord(pEcApiSlv, OBD_FEED_CONSTANT_INDEX(axis), "Feed constant", NULL, NULL, NULL, NULL, &pObj6092);
if (err != EC_API_eERR_NONE)
{
OSAL_printf("%s:%d (%s) Error code: 0x%08x\r\n", __FILE__, __LINE__, __FUNCTION__, err);
goto Exit;
}
if(pObj6092)
{
if (err != EC_API_eERR_NONE)
{
OSAL_printf("%s:%d (%s) Error code: 0x%08x\r\n", __FILE__, __LINE__, __FUNCTION__, err);
goto Exit;
}
err = EC_API_SLV_CoE_configRecordSubIndex(pEcApiSlv, pObj6092, 2, "Shaft revolutions", DEFTYPE_UNSIGNED32, 32, ACCESS_READWRITE | OBJACCESS_RXPDOMAPPING);
if (err != EC_API_eERR_NONE)
{
OSAL_printf("%s:%d (%s) Error code: 0x%08x\r\n", __FILE__, __LINE__, __FUNCTION__, err);
goto Exit;
}
}
//Object 0x6096: Velocity factor
err = EC_API_SLV_CoE_odAddRecord(pEcApiSlv, OBD_VELOCITY_FACTOR_INDEX(axis), "Velocity factor", NULL, NULL, NULL, NULL, &pObj6096);
if (err != EC_API_eERR_NONE)
{
OSAL_printf("%s:%d (%s) Error code: 0x%08x\r\n", __FILE__, __LINE__, __FUNCTION__, err);
goto Exit;
}
if(pObj6096)
{
if (err != EC_API_eERR_NONE)
{
OSAL_printf("%s:%d (%s) Error code: 0x%08x\r\n", __FILE__, __LINE__, __FUNCTION__, err);
goto Exit;
}
if (err != EC_API_eERR_NONE)
{
OSAL_printf("%s:%d (%s) Error code: 0x%08x\r\n", __FILE__, __LINE__, __FUNCTION__, err);
goto Exit;
}
}
//Object 0x6098: Homing method
err = EC_API_SLV_CoE_odAddVariable(pEcApiSlv, OBD_HOMING_METHOD_INDEX(axis), "Homing method", DEFTYPE_INTEGER8, 8, ACCESS_READWRITE | OBJACCESS_RXPDOMAPPING, NULL, NULL, NULL, NULL);
if (err != EC_API_eERR_NONE)
{
OSAL_printf("%s:%d (%s) Error code: 0x%08x\r\n", __FILE__, __LINE__, __FUNCTION__, err);
goto Exit;
}
//Object 0x6099: Homing speeds
err = EC_API_SLV_CoE_odAddRecord(pEcApiSlv, OBD_HOMING_SPEEDS_INDEX(axis), "Homing speeds", NULL, NULL, NULL, NULL, &pObj6099);
if (err != EC_API_eERR_NONE)
{
OSAL_printf("%s:%d (%s) Error code: 0x%08x\r\n", __FILE__, __LINE__, __FUNCTION__, err);
goto Exit;
}
if(pObj6099)
{
err = EC_API_SLV_CoE_configRecordSubIndex(pEcApiSlv, pObj6099, 1, "Switch seek velocity", DEFTYPE_UNSIGNED32, 32, ACCESS_READWRITE | OBJACCESS_RXPDOMAPPING);
if (err != EC_API_eERR_NONE)
{
OSAL_printf("%s:%d (%s) Error code: 0x%08x\r\n", __FILE__, __LINE__, __FUNCTION__, err);
goto Exit;
}
if (err != EC_API_eERR_NONE)
{
OSAL_printf("%s:%d (%s) Error code: 0x%08x\r\n", __FILE__, __LINE__, __FUNCTION__, err);
goto Exit;
}
}
//Object 0x609A: Homing acceleration
err = EC_API_SLV_CoE_odAddVariable(pEcApiSlv, OBD_HOMING_ACCELERATION_INDEX(axis), "Homing acceleration", DEFTYPE_UNSIGNED32, 32, ACCESS_READWRITE | OBJACCESS_RXPDOMAPPING, NULL, NULL, NULL, NULL);
if (err != EC_API_eERR_NONE)
{
OSAL_printf("%s:%d (%s) Error code: 0x%08x\r\n", __FILE__, __LINE__, __FUNCTION__, err);
goto Exit;
}
//Object 0x60B0: Position offset
err = EC_API_SLV_CoE_odAddVariable(pEcApiSlv, OBD_POSITION_OFFSET_INDEX(axis), "Position offset", DEFTYPE_INTEGER32, 32, ACCESS_READWRITE | OBJACCESS_RXPDOMAPPING, NULL, NULL, NULL, NULL);
if (err != EC_API_eERR_NONE)
{
OSAL_printf("%s:%d (%s) Error code: 0x%08x\r\n", __FILE__, __LINE__, __FUNCTION__, err);
goto Exit;
}
//Object 0x60B1: Velocity offset
err = EC_API_SLV_CoE_odAddVariable(pEcApiSlv, OBD_VELOCITY_OFFSET_INDEX(axis), "Velocity offset", DEFTYPE_INTEGER32, 32, ACCESS_READWRITE | OBJACCESS_RXPDOMAPPING, NULL, NULL, NULL, NULL);
if (err != EC_API_eERR_NONE)
{
OSAL_printf("%s:%d (%s) Error code: 0x%08x\r\n", __FILE__, __LINE__, __FUNCTION__, err);
goto Exit;
}
//Object 0x60B2: Torque offset
err = EC_API_SLV_CoE_odAddVariable(pEcApiSlv, OBD_TORQUE_OFFSET_INDEX(axis), "Torque offset", DEFTYPE_INTEGER16, 16, ACCESS_READWRITE | OBJACCESS_RXPDOMAPPING, NULL, NULL, NULL, NULL);
if (err != EC_API_eERR_NONE)
{
OSAL_printf("%s:%d (%s) Error code: 0x%08x\r\n", __FILE__, __LINE__, __FUNCTION__, err);
goto Exit;
}
//Object 0x60B8: Touch probe function
err = EC_API_SLV_CoE_odAddVariable(pEcApiSlv, OBD_TOUCH_PROBE_FUNCTION_INDEX(axis), "Touch probe function", DEFTYPE_UNSIGNED16, 16, ACCESS_READWRITE | OBJACCESS_RXPDOMAPPING, NULL, NULL, NULL, NULL);
if (err != EC_API_eERR_NONE)
{
OSAL_printf("%s:%d (%s) Error code: 0x%08x\r\n", __FILE__, __LINE__, __FUNCTION__, err);
goto Exit;
}
//Object 0x60B9: Touch probe status
err = EC_API_SLV_CoE_odAddVariable(pEcApiSlv, OBD_TOUCH_PROBE_STATUS_INDEX(axis), "Touch probe status", DEFTYPE_UNSIGNED16, 16, ACCESS_READ | OBJACCESS_TXPDOMAPPING, NULL, NULL, NULL, NULL);
if (err != EC_API_eERR_NONE)
{
OSAL_printf("%s:%d (%s) Error code: 0x%08x\r\n", __FILE__, __LINE__, __FUNCTION__, err);
goto Exit;
}
//Object 0x60BA: Touch probe 1 positive edge
err = EC_API_SLV_CoE_odAddVariable(pEcApiSlv, OBD_TOUCH_PROBE_1_POS_EDGE_INDEX(axis), "Touch probe 1 postive edge", DEFTYPE_INTEGER32, 32, ACCESS_READ | OBJACCESS_TXPDOMAPPING, NULL, NULL, NULL, NULL);
if (err != EC_API_eERR_NONE)
{
OSAL_printf("%s:%d (%s) Error code: 0x%08x\r\n", __FILE__, __LINE__, __FUNCTION__, err);
goto Exit;
}
//Object 0x60BB: Touch probe 1 negative edge
err = EC_API_SLV_CoE_odAddVariable(pEcApiSlv, OBD_TOUCH_PROBE_1_NEG_EDGE_INDEX(axis), "Touch probe 1 negative edge", DEFTYPE_INTEGER32, 32, ACCESS_READ | OBJACCESS_TXPDOMAPPING, NULL, NULL, NULL, NULL);
if (err != EC_API_eERR_NONE)
{
OSAL_printf("%s:%d (%s) Error code: 0x%08x\r\n", __FILE__, __LINE__, __FUNCTION__, err);
goto Exit;
}
//Object 0x60BC: Touch probe 2 positive edge
err = EC_API_SLV_CoE_odAddVariable(pEcApiSlv, OBD_TOUCH_PROBE_2_POS_EDGE_INDEX(axis), "Touch probe 2 postive edge", DEFTYPE_INTEGER32, 32, ACCESS_READ | OBJACCESS_TXPDOMAPPING, NULL, NULL, NULL, NULL);
if (err != EC_API_eERR_NONE)
{
OSAL_printf("%s:%d (%s) Error code: 0x%08x\r\n", __FILE__, __LINE__, __FUNCTION__, err);
goto Exit;
}
//Object 0x60BD: Touch probe 2 negative edge
err = EC_API_SLV_CoE_odAddVariable(pEcApiSlv, OBD_TOUCH_PROBE_2_NEG_EDGE_INDEX(axis), "Touch probe 2 negative edge", DEFTYPE_INTEGER32, 32, ACCESS_READ | OBJACCESS_TXPDOMAPPING, NULL, NULL, NULL, NULL);
if (err != EC_API_eERR_NONE)
{
OSAL_printf("%s:%d (%s) Error code: 0x%08x\r\n", __FILE__, __LINE__, __FUNCTION__, err);
goto Exit;
}
//Object 0x60C2: Interpolation time period
err = EC_API_SLV_CoE_odAddVariable(pEcApiSlv, OBD_INTERPOLATION_TIME_PERIOD_INDEX(axis), "Interpolation time period", DEFTYPE_UNSIGNED32, 32, ACCESS_READWRITE | OBJACCESS_RXPDOMAPPING, NULL, NULL, NULL, NULL);
if (err != EC_API_eERR_NONE)
{
OSAL_printf("%s:%d (%s) Error code: 0x%08x\r\n", __FILE__, __LINE__, __FUNCTION__, err);
goto Exit;
}
//Object 0x60C5: Max acceleration
err = EC_API_SLV_CoE_odAddVariable(pEcApiSlv, OBD_MAX_ACCELERATION_INDEX(axis), "Max acceleration", DEFTYPE_UNSIGNED32, 32, ACCESS_READWRITE | OBJACCESS_RXPDOMAPPING, NULL, NULL, NULL, NULL);
if (err != EC_API_eERR_NONE)
{
OSAL_printf("%s:%d (%s) Error code: 0x%08x\r\n", __FILE__, __LINE__, __FUNCTION__, err);
goto Exit;
}
//Object 0x60C6: Max deceleration
err = EC_API_SLV_CoE_odAddVariable(pEcApiSlv, OBD_MAX_DECELERATION_INDEX(axis), "Max deceleration", DEFTYPE_UNSIGNED32, 32, ACCESS_READWRITE | OBJACCESS_RXPDOMAPPING, NULL, NULL, NULL, NULL);
if (err != EC_API_eERR_NONE)
{
OSAL_printf("%s:%d (%s) Error code: 0x%08x\r\n", __FILE__, __LINE__, __FUNCTION__, err);
goto Exit;
}
//Object 0x60D5: Touch probe 1 positive edge counter
err = EC_API_SLV_CoE_odAddVariable(pEcApiSlv, OBD_TOUCH_PROBE_1_POS_EDGE_CNT_INDEX(axis), "Touch probe 1 positive edge counter", DEFTYPE_UNSIGNED16, 16, ACCESS_READ | OBJACCESS_TXPDOMAPPING, NULL, NULL, NULL, NULL);
if (err != EC_API_eERR_NONE)
{
OSAL_printf("%s:%d (%s) Error code: 0x%08x\r\n", __FILE__, __LINE__, __FUNCTION__, err);
goto Exit;
}
//Object 0x60D6: Touch probe 1 negative edge counter
err = EC_API_SLV_CoE_odAddVariable(pEcApiSlv, OBD_TOUCH_PROBE_1_NEG_EDGE_CNT_INDEX(axis), "Touch probe 2 negative edge counter", DEFTYPE_UNSIGNED16, 16, ACCESS_READ | OBJACCESS_TXPDOMAPPING, NULL, NULL, NULL, NULL);
if (err != EC_API_eERR_NONE)
{
OSAL_printf("%s:%d (%s) Error code: 0x%08x\r\n", __FILE__, __LINE__, __FUNCTION__, err);
goto Exit;
}
//Object 0x60D7: Touch probe 2 positive edge counter
err = EC_API_SLV_CoE_odAddVariable(pEcApiSlv, OBD_TOUCH_PROBE_2_POS_EDGE_CNT_INDEX(axis), "Touch probe 1 positive edge counter", DEFTYPE_UNSIGNED16, 16, ACCESS_READ | OBJACCESS_TXPDOMAPPING, NULL, NULL, NULL, NULL);
if (err != EC_API_eERR_NONE)
{
OSAL_printf("%s:%d (%s) Error code: 0x%08x\r\n", __FILE__, __LINE__, __FUNCTION__, err);
goto Exit;
}
//Object 0x60D8: Touch probe 2 negative edge counter
err = EC_API_SLV_CoE_odAddVariable(pEcApiSlv, OBD_TOUCH_PROBE_2_NEG_EDGE_CNT_INDEX(axis), "Touch probe 2 negative edge counter", DEFTYPE_UNSIGNED16, 16, ACCESS_READ | OBJACCESS_TXPDOMAPPING, NULL, NULL, NULL, NULL);
if (err != EC_API_eERR_NONE)
{
OSAL_printf("%s:%d (%s) Error code: 0x%08x\r\n", __FILE__, __LINE__, __FUNCTION__, err);
goto Exit;
}
//Object 0x60E0: Positive torque limit value
err = EC_API_SLV_CoE_odAddVariable(pEcApiSlv, OBD_POSITIVE_TORQUE_LIMIT_VALUE_INDEX(axis), "Positive torque limit value", DEFTYPE_UNSIGNED16, 16, ACCESS_READWRITE | OBJACCESS_RXPDOMAPPING, NULL, NULL, NULL, NULL);
if (err != EC_API_eERR_NONE)
{
OSAL_printf("%s:%d (%s) Error code: 0x%08x\r\n", __FILE__, __LINE__, __FUNCTION__, err);
goto Exit;
}
//Object 0x60E1: Negative torque limit value
err = EC_API_SLV_CoE_odAddVariable(pEcApiSlv, OBD_NEGATIVE_TORQUE_LIMIT_VALUE_INDEX(axis), "Negative torque limit value", DEFTYPE_UNSIGNED16, 16, ACCESS_READWRITE | OBJACCESS_RXPDOMAPPING, NULL, NULL, NULL, NULL);
if (err != EC_API_eERR_NONE)
{
OSAL_printf("%s:%d (%s) Error code: 0x%08x\r\n", __FILE__, __LINE__, __FUNCTION__, err);
goto Exit;
}
//Object 0x60F4: Following error actual value
err = EC_API_SLV_CoE_odAddVariable(pEcApiSlv, OBD_FOLLOWING_ERROR_ACTUAL_VALUE_INDEX(axis), "Following error actual value", DEFTYPE_INTEGER32, 32, ACCESS_READ | OBJACCESS_TXPDOMAPPING, NULL, NULL, NULL, NULL);
if (err != EC_API_eERR_NONE)
{
OSAL_printf("%s:%d (%s) Error code: 0x%08x\r\n", __FILE__, __LINE__, __FUNCTION__, err);
goto Exit;
}
//Object 0x60FF: Target velocity
err = EC_API_SLV_CoE_odAddVariable(pEcApiSlv, OBD_TARGET_VELOCITY_INDEX(axis), "Target velocity", DEFTYPE_INTEGER32, 32, ACCESS_READWRITE | OBJACCESS_RXPDOMAPPING, NULL, NULL, NULL, NULL);
if (err != EC_API_eERR_NONE)
{
OSAL_printf("%s:%d (%s) Error code: 0x%08x\r\n", __FILE__, __LINE__, __FUNCTION__, err);
goto Exit;
}
//Object 0x6502: Support drive modes
err = EC_API_SLV_CoE_odAddVariable(pEcApiSlv, OBD_SUPPORTED_DRIVE_MODES_INDEX(axis), "Support drive modes", DEFTYPE_INTEGER32, 32, ACCESS_READ | OBJACCESS_TXPDOMAPPING, NULL, NULL, NULL, NULL);
if (err != EC_API_eERR_NONE)
{
OSAL_printf("%s:%d (%s) Error code: 0x%08x\r\n", __FILE__, __LINE__, __FUNCTION__, err);
goto Exit;
}
}
Exit:
return err;
}
OBD_FOLLOWING_ERROR_TIMEOUT_INDEX
#define OBD_FOLLOWING_ERROR_TIMEOUT_INDEX(x)
Definition: ecApiDef.h:556
OBD_TOUCH_PROBE_2_POS_EDGE_CNT_INDEX
#define OBD_TOUCH_PROBE_2_POS_EDGE_CNT_INDEX(x)
Definition: ecApiDef.h:615
OBD_MAX_ACCELERATION_INDEX
#define OBD_MAX_ACCELERATION_INDEX(x)
Definition: ecApiDef.h:610
OBD_HOMING_METHOD_INDEX
#define OBD_HOMING_METHOD_INDEX(x)
Definition: ecApiDef.h:594
OBD_ABORT_CONNECTION_OPTION_CODE_INDEX
#define OBD_ABORT_CONNECTION_OPTION_CODE_INDEX(x)
Definition: ecApiDef.h:538
OBD_VELOCITY_WINDOW_TIME_INDEX
#define OBD_VELOCITY_WINDOW_TIME_INDEX(x)
Definition: ecApiDef.h:564
EC_API_SLV_CoE_odAddVariable
uint32_t EC_API_SLV_CoE_odAddVariable(EC_API_SLV_SHandle_t *pEcSlaveApi_p, uint16_t index_p, char *pName_p, uint16_t type_p, uint16_t bitLen_p, uint16_t flags_p, EC_API_SLV_CBObjRead_t cbRead_p, void *pReadCtxt_p, EC_API_SLV_CBObjWrite_t cbWrite_p, void *pWriteCtxt_p)
This function creates a Base Data Type Object for the Object Dictionary.
Definition: ecSlvApi_CoEStub.c:522
OBD_VELOCITY_SENSOR_ACTUAL_VALUE_INDEX
#define OBD_VELOCITY_SENSOR_ACTUAL_VALUE_INDEX(x)
Definition: ecApiDef.h:560
OBD_POSITION_WINDOW_INDEX
#define OBD_POSITION_WINDOW_INDEX(x)
Definition: ecApiDef.h:557
OBD_MODES_OF_OPERATION_DISPLAY_INDEX
#define OBD_MODES_OF_OPERATION_DISPLAY_INDEX(x)
Definition: ecApiDef.h:550
DEFTYPE_INTEGER16
#define DEFTYPE_INTEGER16
INTEGER16.
Definition: ecApiDef.h:67
OBD_TOUCH_PROBE_1_POS_EDGE_CNT_INDEX
#define OBD_TOUCH_PROBE_1_POS_EDGE_CNT_INDEX(x)
Definition: ecApiDef.h:613
OBD_MODES_OF_OPERATION_INDEX
#define OBD_MODES_OF_OPERATION_INDEX(x)
Definition: ecApiDef.h:549
OBJACCESS_TXPDOMAPPING
#define OBJACCESS_TXPDOMAPPING
Mappable in TxPDOs.
Definition: ecApiDef.h:143
DEFTYPE_INTEGER8
#define DEFTYPE_INTEGER8
INTEGER8.
Definition: ecApiDef.h:66
OBD_TOUCH_PROBE_2_NEG_EDGE_CNT_INDEX
#define OBD_TOUCH_PROBE_2_NEG_EDGE_CNT_INDEX(x)
Definition: ecApiDef.h:616
OBD_TARGET_POSITION_INDEX
#define OBD_TARGET_POSITION_INDEX(x)
Definition: ecApiDef.h:573
OBD_SHUTDOWN_INDEX
#define OBD_SHUTDOWN_INDEX(x)
Definition: ecApiDef.h:544
OBD_STATUSWORD_INDEX
#define OBD_STATUSWORD_INDEX(x)
Definition: ecApiDef.h:541
OBD_POSITIVE_TORQUE_LIMIT_VALUE_INDEX
#define OBD_POSITIVE_TORQUE_LIMIT_VALUE_INDEX(x)
Definition: ecApiDef.h:618
OBD_TOUCH_PROBE_1_NEG_EDGE_CNT_INDEX
#define OBD_TOUCH_PROBE_1_NEG_EDGE_CNT_INDEX(x)
Definition: ecApiDef.h:614
OBD_VELOCITY_DEMAND_VALUE_INDEX
#define OBD_VELOCITY_DEMAND_VALUE_INDEX(x)
Definition: ecApiDef.h:561
ACCESS_READWRITE
#define ACCESS_READWRITE
Read/write in all states.
Definition: ecApiDef.h:132
OBD_HALT_OPTION_CODE_INDEX
#define OBD_HALT_OPTION_CODE_INDEX(x)
Definition: ecApiDef.h:546
OBD_FOLLOWING_ERROR_WINDOW_INDEX
#define OBD_FOLLOWING_ERROR_WINDOW_INDEX(x)
Definition: ecApiDef.h:555
OBD_TORQUE_OFFSET_INDEX
#define OBD_TORQUE_OFFSET_INDEX(x)
Definition: ecApiDef.h:600
OBD_TOUCH_PROBE_FUNCTION_INDEX
#define OBD_TOUCH_PROBE_FUNCTION_INDEX(x)
Definition: ecApiDef.h:602
OBD_TOUCH_PROBE_2_NEG_EDGE_INDEX
#define OBD_TOUCH_PROBE_2_NEG_EDGE_INDEX(x)
Definition: ecApiDef.h:607
DEFTYPE_INTEGER32
#define DEFTYPE_INTEGER32
INTEGER32.
Definition: ecApiDef.h:68
OBD_MOTION_PROFILE_TYPE_INDEX
#define OBD_MOTION_PROFILE_TYPE_INDEX(x)
Definition: ecApiDef.h:586
OBD_VELOCITY_OFFSET_INDEX
#define OBD_VELOCITY_OFFSET_INDEX(x)
Definition: ecApiDef.h:599
OBD_NEGATIVE_TORQUE_LIMIT_VALUE_INDEX
#define OBD_NEGATIVE_TORQUE_LIMIT_VALUE_INDEX(x)
Definition: ecApiDef.h:619
EC_API_SLV_SCoE_Object_t
struct EC_API_SLV_SCoE_Object EC_API_SLV_SCoE_Object_t
TSdo describes an Object Dictionary Object.
Definition: ecSlvApi.h:131
EC_API_SLV_SHandle_t
struct EC_API_SLV_SHandle EC_API_SLV_SHandle_t
EC_API_SLV_SHandle_t describes the EtherCAT Slave API.
Definition: ecSlvApi.h:134
OBD_TOUCH_PROBE_1_POS_EDGE_INDEX
#define OBD_TOUCH_PROBE_1_POS_EDGE_INDEX(x)
Definition: ecApiDef.h:604
OBD_INTERPOLATION_TIME_PERIOD_INDEX
#define OBD_INTERPOLATION_TIME_PERIOD_INDEX(x)
Definition: ecApiDef.h:609
OBD_POSITION_RANGE_LIMIT_INDEX
#define OBD_POSITION_RANGE_LIMIT_INDEX(x)
Definition: ecApiDef.h:575
OBD_POSITION_ENCODER_RESOLUTION_INDEX
#define OBD_POSITION_ENCODER_RESOLUTION_INDEX(x)
Definition: ecApiDef.h:588
OBD_POSITION_OFFSET_INDEX
#define OBD_POSITION_OFFSET_INDEX(x)
Definition: ecApiDef.h:598
OBD_VELOCITY_THRESHOLD_TIME_INDEX
#define OBD_VELOCITY_THRESHOLD_TIME_INDEX(x)
Definition: ecApiDef.h:566
EC_SLV_APP_cia402ObjectDictionary
uint32_t EC_SLV_APP_cia402ObjectDictionary(void *pContext_p)
Generate CiA402 Objects.
Definition: ESL_cia402Obd.c:80
OBD_TOUCH_PROBE_STATUS_INDEX
#define OBD_TOUCH_PROBE_STATUS_INDEX(x)
Definition: ecApiDef.h:603
OBD_QUISTOP_DECELERATION_INDEX
#define OBD_QUISTOP_DECELERATION_INDEX(x)
Definition: ecApiDef.h:585
OBD_PROFILE_VELOCITY_INDEX
#define OBD_PROFILE_VELOCITY_INDEX(x)
Definition: ecApiDef.h:582
OBD_FAULT_REACTION_INDEX
#define OBD_FAULT_REACTION_INDEX(x)
Definition: ecApiDef.h:547
OBD_HOMING_SPEEDS_INDEX
#define OBD_HOMING_SPEEDS_INDEX(x)
Definition: ecApiDef.h:595
OBD_DISABLE_OPERATION_INDEX
#define OBD_DISABLE_OPERATION_INDEX(x)
Definition: ecApiDef.h:545
OBD_VELOCITY_WINDOW_INDEX
#define OBD_VELOCITY_WINDOW_INDEX(x)
Definition: ecApiDef.h:563
OBD_PROFILE_DECELERATION_INDEX
#define OBD_PROFILE_DECELERATION_INDEX(x)
Definition: ecApiDef.h:584
OBD_HOME_OFFSET_INDEX
#define OBD_HOME_OFFSET_INDEX(x)
Definition: ecApiDef.h:576
OBD_CONTROLWORD_INDEX
#define OBD_CONTROLWORD_INDEX(x)
Definition: ecApiDef.h:540
OBD_POSITION_ACTUAL_VALUE_INDEX
#define OBD_POSITION_ACTUAL_VALUE_INDEX(x)
Definition: ecApiDef.h:554
OBD_GEAR_RATIO_INDEX
#define OBD_GEAR_RATIO_INDEX(x)
Definition: ecApiDef.h:590
ACCESS_READ
#define ACCESS_READ
Read only in all states.
Definition: ecApiDef.h:133
EC_API_SLV_CoE_configRecordSubIndex
uint32_t EC_API_SLV_CoE_configRecordSubIndex(EC_API_SLV_SHandle_t *pEcSlaveApi_p, EC_API_SLV_SCoE_Object_t *pObject_p, uint8_t subIndex_p, char *pName_p, uint16_t type_p, uint16_t bitLen_p, uint16_t flags_p)
This function creates a subIndex for the Record Object.
Definition: ecSlvApi_CoEStub.c:678
OBD_FEED_CONSTANT_INDEX
#define OBD_FEED_CONSTANT_INDEX(x)
Definition: ecApiDef.h:591
OBD_TORQUE_ACTUAL_VALUE_INDEX
#define OBD_TORQUE_ACTUAL_VALUE_INDEX(x)
Definition: ecApiDef.h:571
OBD_FOLLOWING_ERROR_ACTUAL_VALUE_INDEX
#define OBD_FOLLOWING_ERROR_ACTUAL_VALUE_INDEX(x)
Definition: ecApiDef.h:621
OBD_TARGET_TORQUE_INDEX
#define OBD_TARGET_TORQUE_INDEX(x)
Definition: ecApiDef.h:568
OBD_SUPPORTED_DRIVE_MODES_INDEX
#define OBD_SUPPORTED_DRIVE_MODES_INDEX(x)
Definition: ecApiDef.h:624
OBD_TORQUE_DEMAND_INDEX
#define OBD_TORQUE_DEMAND_INDEX(x)
Definition: ecApiDef.h:570
OBD_TOUCH_PROBE_2_POS_EDGE_INDEX
#define OBD_TOUCH_PROBE_2_POS_EDGE_INDEX(x)
Definition: ecApiDef.h:606
DEFTYPE_UNSIGNED16
#define DEFTYPE_UNSIGNED16
UNSIGNED16.
Definition: ecApiDef.h:70
OBD_CURRENT_ACTUAL_VALUE_INDEX
#define OBD_CURRENT_ACTUAL_VALUE_INDEX(x)
Definition: ecApiDef.h:572
OBD_TOUCH_PROBE_1_NEG_EDGE_INDEX
#define OBD_TOUCH_PROBE_1_NEG_EDGE_INDEX(x)
Definition: ecApiDef.h:605
EC_API_SLV_CoE_odAddRecord
uint32_t EC_API_SLV_CoE_odAddRecord(EC_API_SLV_SHandle_t *pEcSlaveApi_p, uint16_t index_p, char *pName_p, EC_API_SLV_CBObjRead_t cbRead_p, void *pReadCtxt_p, EC_API_SLV_CBObjWrite_t cbWrite_p, void *pWriteCtxt_p, EC_API_SLV_SCoE_Object_t **pOutSdo_p)
This function creates a Record Object.
Definition: ecSlvApi_CoEStub.c:629
OBD_PROFILE_ACCELERATION_INDEX
#define OBD_PROFILE_ACCELERATION_INDEX(x)
Definition: ecApiDef.h:583
OBD_SW_POSITION_LIMIT_INDEX
#define OBD_SW_POSITION_LIMIT_INDEX(x)
Definition: ecApiDef.h:577
OBD_TARGET_VELOCITY_INDEX
#define OBD_TARGET_VELOCITY_INDEX(x)
Definition: ecApiDef.h:622
OBD_VELOCITY_THRESHOLD_INDEX
#define OBD_VELOCITY_THRESHOLD_INDEX(x)
Definition: ecApiDef.h:565
OBD_QUICKSTOP_INDEX
#define OBD_QUICKSTOP_INDEX(x)
Definition: ecApiDef.h:543
OBJACCESS_RXPDOMAPPING
#define OBJACCESS_RXPDOMAPPING
Mappable in RxPDOs.
Definition: ecApiDef.h:142
OBD_HOMING_ACCELERATION_INDEX
#define OBD_HOMING_ACCELERATION_INDEX(x)
Definition: ecApiDef.h:596
OBD_POLARITY_INDEX
#define OBD_POLARITY_INDEX(x)
Definition: ecApiDef.h:578
OBD_POSITION_WINDOW_TIME_INDEX
#define OBD_POSITION_WINDOW_TIME_INDEX(x)
Definition: ecApiDef.h:558
DEFTYPE_UNSIGNED32
#define DEFTYPE_UNSIGNED32
UNSIGNED32.
Definition: ecApiDef.h:71
OBD_VELOCITY_ACTUAL_VALUE_INDEX
#define OBD_VELOCITY_ACTUAL_VALUE_INDEX(x)
Definition: ecApiDef.h:562
OBD_VELOCITY_FACTOR_INDEX
#define OBD_VELOCITY_FACTOR_INDEX(x)
Definition: ecApiDef.h:592
OBD_POSITION_ACTUAL_INTERNAL_VALUE_INDEX
#define OBD_POSITION_ACTUAL_INTERNAL_VALUE_INDEX(x)
Definition: ecApiDef.h:553
OBD_MAX_TORQUE_INDEX
#define OBD_MAX_TORQUE_INDEX(x)
Definition: ecApiDef.h:569
OBD_MAX_MOTOR_SPEED_INDEX
#define OBD_MAX_MOTOR_SPEED_INDEX(x)
Definition: ecApiDef.h:581
OBD_VELOCITY_ENCONDER_RESOLUTION_INDEX
#define OBD_VELOCITY_ENCONDER_RESOLUTION_INDEX(x)
Definition: ecApiDef.h:589
EC_API_eERR_NONE
@ EC_API_eERR_NONE
Definition: ecApiError.h:66
OBD_MAX_DECELERATION_INDEX
#define OBD_MAX_DECELERATION_INDEX(x)
Definition: ecApiDef.h:611
OBD_POSITION_DEMAND_VALUE_INDEX
#define OBD_POSITION_DEMAND_VALUE_INDEX(x)
Definition: ecApiDef.h:552