1
0
Fork 0
CANopenNode/example/OD.h

320 lines
11 KiB
C

/*******************************************************************************
CANopen Object Dictionary definition for CANopenNode V4
This file was automatically generated with
libedssharp Object Dictionary Editor v0.8-99-g0425f94
https://github.com/CANopenNode/CANopenNode
https://github.com/robincornelius/libedssharp
DON'T EDIT THIS FILE MANUALLY !!!!
********************************************************************************
File info:
File Names: OD.h; OD.c
Project File: DS301_profile.xpd
File Version: 1
Created: 23. 11. 2020 12:00:00
Created By:
Modified: 24. 11. 2020 13:31:53
Modified By:
Device Info:
Vendor Name:
Vendor ID:
Product Name: New Product
Product ID:
Description:
*******************************************************************************/
#ifndef OD_H
#define OD_H
/*******************************************************************************
Counters of OD objects
*******************************************************************************/
#define OD_CNT_NMT 1
#define OD_CNT_EM 1
//#define OD_CNT_SYNC 1
//#define OD_CNT_SYNC_PROD 1
//#define OD_CNT_TIME 1
#define OD_CNT_EM_PROD 1
//#define OD_CNT_HB_CONS 1
#define OD_CNT_HB_PROD 1
#define OD_CNT_SDO_SRV 1
#define OD_CNT_SDO_CLI 1
//#define OD_CNT_RPDO 4
//#define OD_CNT_TPDO 4
/*******************************************************************************
OD data declaration of all groups
*******************************************************************************/
typedef struct {
uint32_t x1000_deviceType;
uint32_t x1005_COB_ID_SYNCMessage;
uint32_t x1006_communicationCyclePeriod;
uint32_t x1007_synchronousWindowLength;
uint32_t x1012_COB_IDTimeStampObject;
uint32_t x1014_COB_ID_EMCY;
uint16_t x1015_inhibitTimeEMCY;
uint8_t x1016_consumerHeartbeatTime_sub0;
uint32_t x1016_consumerHeartbeatTime[8];
uint16_t x1017_producerHeartbeatTime;
struct {
uint8_t highestSub_indexSupported;
uint32_t vendor_ID;
uint32_t productCode;
uint32_t revisionNumber;
uint32_t serialNumber;
} x1018_identity;
uint8_t x1019_synchronousCounterOverflowValue;
struct {
uint8_t highestSub_indexSupported;
uint32_t COB_IDClientToServerTx;
uint32_t COB_IDServerToClientRx;
uint8_t node_IDOfTheSDOServer;
} x1280_SDOClientParameter;
struct {
uint8_t highestSub_indexSupported;
uint32_t COB_IDUsedByRPDO;
uint8_t transmissionType;
uint16_t eventTimer;
} x1400_RPDOCommunicationParameter;
struct {
uint8_t highestSub_indexSupported;
uint32_t COB_IDUsedByRPDO;
uint8_t transmissionType;
uint16_t eventTimer;
} x1401_RPDOCommunicationParameter;
struct {
uint8_t highestSub_indexSupported;
uint32_t COB_IDUsedByRPDO;
uint8_t transmissionType;
uint16_t eventTimer;
} x1402_RPDOCommunicationParameter;
struct {
uint8_t highestSub_indexSupported;
uint32_t COB_IDUsedByRPDO;
uint8_t transmissionType;
uint16_t eventTimer;
} x1403_RPDOCommunicationParameter;
struct {
uint8_t numberOfMappedApplicationObjectsInPDO;
uint32_t applicationObject_1;
uint32_t applicationObject_2;
uint32_t applicationObject_3;
uint32_t applicationObject_4;
uint32_t applicationObject_5;
uint32_t applicationObject_6;
uint32_t applicationObject_7;
uint32_t applicationObject_8;
} x1600_RPDOMappingParameter;
struct {
uint8_t numberOfMappedApplicationObjectsInPDO;
uint32_t applicationObject_1;
uint32_t applicationObject_2;
uint32_t applicationObject_3;
uint32_t applicationObject_4;
uint32_t applicationObject_5;
uint32_t applicationObject_6;
uint32_t applicationObject_7;
uint32_t applicationObject_8;
} x1601_RPDOMappingParameter;
struct {
uint8_t numberOfMappedApplicationObjectsInPDO;
uint32_t applicationObject_1;
uint32_t applicationObject_2;
uint32_t applicationObject_3;
uint32_t applicationObject_4;
uint32_t applicationObject_5;
uint32_t applicationObject_6;
uint32_t applicationObject_7;
uint32_t applicationObject_8;
} x1602_RPDOMappingParameter;
struct {
uint8_t numberOfMappedApplicationObjectsInPDO;
uint32_t applicationObject_1;
uint32_t applicationObject_2;
uint32_t applicationObject_3;
uint32_t applicationObject_4;
uint32_t applicationObject_5;
uint32_t applicationObject_6;
uint32_t applicationObject_7;
uint32_t applicationObject_8;
} x1603_RPDOMappingParameter;
struct {
uint8_t highestSub_indexSupported;
uint32_t COB_IDUsedByTPDO;
uint8_t transmissionType;
uint16_t inhibitTime;
uint16_t eventTimer;
uint8_t SYNCStartValue;
} x1800_TPDOCommunicationParameter;
struct {
uint8_t highestSub_indexSupported;
uint32_t COB_IDUsedByTPDO;
uint8_t transmissionType;
uint16_t inhibitTime;
uint16_t eventTimer;
uint8_t SYNCStartValue;
} x1801_TPDOCommunicationParameter;
struct {
uint8_t highestSub_indexSupported;
uint32_t COB_IDUsedByTPDO;
uint8_t transmissionType;
uint16_t inhibitTime;
uint16_t eventTimer;
uint8_t SYNCStartValue;
} x1802_TPDOCommunicationParameter;
struct {
uint8_t highestSub_indexSupported;
uint32_t COB_IDUsedByTPDO;
uint8_t transmissionType;
uint16_t inhibitTime;
uint16_t eventTimer;
uint8_t SYNCStartValue;
} x1803_TPDOCommunicationParameter;
struct {
uint8_t numberOfMappedApplicationObjectsInPDO;
uint32_t applicationObject_1;
uint32_t applicationObject_2;
uint32_t applicationObject_3;
uint32_t applicationObject_4;
uint32_t applicationObject_5;
uint32_t applicationObject_6;
uint32_t applicationObject_7;
uint32_t applicationObject_8;
} x1A00_TPDOMappingParameter;
struct {
uint8_t numberOfMappedApplicationObjectsInPDO;
uint32_t applicationObject_1;
uint32_t applicationObject_2;
uint32_t applicationObject_3;
uint32_t applicationObject_4;
uint32_t applicationObject_5;
uint32_t applicationObject_6;
uint32_t applicationObject_7;
uint32_t applicationObject_8;
} x1A01_TPDOMappingParameter;
struct {
uint8_t numberOfMappedApplicationObjectsInPDO;
uint32_t applicationObject_1;
uint32_t applicationObject_2;
uint32_t applicationObject_3;
uint32_t applicationObject_4;
uint32_t applicationObject_5;
uint32_t applicationObject_6;
uint32_t applicationObject_7;
uint32_t applicationObject_8;
} x1A02_TPDOMappingParameter;
struct {
uint8_t numberOfMappedApplicationObjectsInPDO;
uint32_t applicationObject_1;
uint32_t applicationObject_2;
uint32_t applicationObject_3;
uint32_t applicationObject_4;
uint32_t applicationObject_5;
uint32_t applicationObject_6;
uint32_t applicationObject_7;
uint32_t applicationObject_8;
} x1A03_TPDOMappingParameter;
} OD_PERSIST_COMM_t;
typedef struct {
uint8_t x1001_errorRegister;
uint8_t x1003_pre_definedErrorField_sub0;
uint32_t x1003_pre_definedErrorField[8];
uint8_t x1010_storeParameters_sub0;
uint32_t x1010_storeParameters[4];
uint8_t x1011_restoreDefaultParameters_sub0;
uint32_t x1011_restoreDefaultParameters[4];
struct {
uint8_t highestSub_indexSupported;
uint32_t COB_IDClientToServerRx;
uint32_t COB_IDServerToClientTx;
} x1200_SDOServerParameter;
} OD_RAM_t;
extern OD_PERSIST_COMM_t OD_PERSIST_COMM;
extern OD_RAM_t OD_RAM;
extern const OD_t OD;
/*******************************************************************************
Object dictionary entries - shortcuts
*******************************************************************************/
#define OD_ENTRY_H1000 &OD.list[0]
#define OD_ENTRY_H1001 &OD.list[1]
#define OD_ENTRY_H1003 &OD.list[2]
#define OD_ENTRY_H1005 &OD.list[3]
#define OD_ENTRY_H1006 &OD.list[4]
#define OD_ENTRY_H1007 &OD.list[5]
#define OD_ENTRY_H1010 &OD.list[6]
#define OD_ENTRY_H1011 &OD.list[7]
#define OD_ENTRY_H1012 &OD.list[8]
#define OD_ENTRY_H1014 &OD.list[9]
#define OD_ENTRY_H1015 &OD.list[10]
#define OD_ENTRY_H1016 &OD.list[11]
#define OD_ENTRY_H1017 &OD.list[12]
#define OD_ENTRY_H1018 &OD.list[13]
#define OD_ENTRY_H1019 &OD.list[14]
#define OD_ENTRY_H1200 &OD.list[15]
#define OD_ENTRY_H1280 &OD.list[16]
#define OD_ENTRY_H1400 &OD.list[17]
#define OD_ENTRY_H1401 &OD.list[18]
#define OD_ENTRY_H1402 &OD.list[19]
#define OD_ENTRY_H1403 &OD.list[20]
#define OD_ENTRY_H1600 &OD.list[21]
#define OD_ENTRY_H1601 &OD.list[22]
#define OD_ENTRY_H1602 &OD.list[23]
#define OD_ENTRY_H1603 &OD.list[24]
#define OD_ENTRY_H1800 &OD.list[25]
#define OD_ENTRY_H1801 &OD.list[26]
#define OD_ENTRY_H1802 &OD.list[27]
#define OD_ENTRY_H1803 &OD.list[28]
#define OD_ENTRY_H1A00 &OD.list[29]
#define OD_ENTRY_H1A01 &OD.list[30]
#define OD_ENTRY_H1A02 &OD.list[31]
#define OD_ENTRY_H1A03 &OD.list[32]
/*******************************************************************************
Object dictionary entries - shortcuts with names
*******************************************************************************/
#define OD_ENTRY_H1000_deviceType &OD.list[0]
#define OD_ENTRY_H1001_errorRegister &OD.list[1]
#define OD_ENTRY_H1003_pre_definedErrorField &OD.list[2]
#define OD_ENTRY_H1005_COB_ID_SYNCMessage &OD.list[3]
#define OD_ENTRY_H1006_communicationCyclePeriod &OD.list[4]
#define OD_ENTRY_H1007_synchronousWindowLength &OD.list[5]
#define OD_ENTRY_H1010_storeParameters &OD.list[6]
#define OD_ENTRY_H1011_restoreDefaultParameters &OD.list[7]
#define OD_ENTRY_H1012_COB_IDTimeStampObject &OD.list[8]
#define OD_ENTRY_H1014_COB_ID_EMCY &OD.list[9]
#define OD_ENTRY_H1015_inhibitTimeEMCY &OD.list[10]
#define OD_ENTRY_H1016_consumerHeartbeatTime &OD.list[11]
#define OD_ENTRY_H1017_producerHeartbeatTime &OD.list[12]
#define OD_ENTRY_H1018_identity &OD.list[13]
#define OD_ENTRY_H1019_synchronousCounterOverflowValue &OD.list[14]
#define OD_ENTRY_H1200_SDOServerParameter &OD.list[15]
#define OD_ENTRY_H1280_SDOClientParameter &OD.list[16]
#define OD_ENTRY_H1400_RPDOCommunicationParameter &OD.list[17]
#define OD_ENTRY_H1401_RPDOCommunicationParameter &OD.list[18]
#define OD_ENTRY_H1402_RPDOCommunicationParameter &OD.list[19]
#define OD_ENTRY_H1403_RPDOCommunicationParameter &OD.list[20]
#define OD_ENTRY_H1600_RPDOMappingParameter &OD.list[21]
#define OD_ENTRY_H1601_RPDOMappingParameter &OD.list[22]
#define OD_ENTRY_H1602_RPDOMappingParameter &OD.list[23]
#define OD_ENTRY_H1603_RPDOMappingParameter &OD.list[24]
#define OD_ENTRY_H1800_TPDOCommunicationParameter &OD.list[25]
#define OD_ENTRY_H1801_TPDOCommunicationParameter &OD.list[26]
#define OD_ENTRY_H1802_TPDOCommunicationParameter &OD.list[27]
#define OD_ENTRY_H1803_TPDOCommunicationParameter &OD.list[28]
#define OD_ENTRY_H1A00_TPDOMappingParameter &OD.list[29]
#define OD_ENTRY_H1A01_TPDOMappingParameter &OD.list[30]
#define OD_ENTRY_H1A02_TPDOMappingParameter &OD.list[31]
#define OD_ENTRY_H1A03_TPDOMappingParameter &OD.list[32]
#endif /* OD_H */