| /* |
| * Copyright (c) 2019 Vestas Wind Systems A/S |
| * |
| * SPDX-License-Identifier: Apache-2.0 |
| */ |
| |
| /******************************************************************************* |
| |
| File - CO_OD.c/CO_OD.h |
| CANopen Object Dictionary. |
| |
| This file was automatically generated with libedssharp Object |
| Dictionary Editor v0.8-7-g2e53bbc DON'T EDIT THIS FILE MANUALLY !!!! |
| *******************************************************************************/ |
| |
| |
| #ifndef CO_OD_H_ |
| #define CO_OD_H_ |
| |
| /******************************************************************************* |
| CANopen DATA TYPES |
| *******************************************************************************/ |
| typedef bool_t BOOLEAN; |
| typedef uint8_t UNSIGNED8; |
| typedef uint16_t UNSIGNED16; |
| typedef uint32_t UNSIGNED32; |
| typedef uint64_t UNSIGNED64; |
| typedef int8_t INTEGER8; |
| typedef int16_t INTEGER16; |
| typedef int32_t INTEGER32; |
| typedef int64_t INTEGER64; |
| typedef float32_t REAL32; |
| typedef float64_t REAL64; |
| typedef char_t VISIBLE_STRING; |
| typedef oChar_t OCTET_STRING; |
| |
| #ifdef DOMAIN |
| #undef DOMAIN |
| #endif |
| |
| typedef domain_t DOMAIN; |
| |
| #ifndef timeOfDay_t |
| typedef union { |
| unsigned long long ullValue; |
| struct { |
| unsigned long ms : 28; |
| unsigned reserved : 4; |
| unsigned days : 16; |
| unsigned reserved2 : 16; |
| }; |
| } timeOfDay_t; |
| #endif |
| |
| typedef timeOfDay_t TIME_OF_DAY; |
| typedef timeOfDay_t TIME_DIFFERENCE; |
| |
| |
| /******************************************************************************* |
| FILE INFO: |
| FileName: objdict.eds |
| FileVersion: 1 |
| CreationTime: 2:52PM |
| CreationDate: 09-18-2019 |
| CreatedBy: |
| ******************************************************************************/ |
| |
| |
| /******************************************************************************* |
| DEVICE INFO: |
| VendorName: |
| VendorNumber 0 |
| ProductName: Zephyr RTOS CANopen sample |
| ProductNumber: 0 |
| ******************************************************************************/ |
| |
| |
| /******************************************************************************* |
| FEATURES |
| *******************************************************************************/ |
| #define CO_NO_SYNC 1 /* Associated objects: 1005-1007 */ |
| #define CO_NO_EMERGENCY 1 /* Associated objects: 1014, 1015 */ |
| #define CO_NO_TIME 1 /* Associated objects: 1012, 1013 */ |
| #define CO_NO_SDO_SERVER 1 /* Associated objects: 1200-127F */ |
| #define CO_NO_SDO_CLIENT 0 /* Associated objects: 1280-12FF */ |
| #define CO_NO_LSS_SERVER 0 /* LSS Slave */ |
| #define CO_NO_LSS_CLIENT 0 /* LSS Master */ |
| #define CO_NO_RPDO 4 /* Associated objects: 14xx, 16xx */ |
| #define CO_NO_TPDO 4 /* Associated objects: 18xx, 1Axx */ |
| #define CO_NO_NMT_MASTER 0 |
| |
| |
| /******************************************************************************* |
| OBJECT DICTIONARY |
| *******************************************************************************/ |
| #define CO_OD_NoOfElements 45 |
| |
| |
| /******************************************************************************* |
| TYPE DEFINITIONS FOR RECORDS |
| *******************************************************************************/ |
| /*1018 */ typedef struct { |
| UNSIGNED8 maxSubIndex; |
| UNSIGNED32 vendorID; |
| UNSIGNED32 productCode; |
| UNSIGNED32 revisionNumber; |
| UNSIGNED32 serialNumber; |
| } OD_identity_t; |
| /*1200 */ typedef struct { |
| UNSIGNED8 maxSubIndex; |
| UNSIGNED32 COB_IDClientToServer; |
| UNSIGNED32 COB_IDServerToClient; |
| } OD_SDOServerParameter_t; |
| /*1280 */ typedef struct { |
| UNSIGNED8 maxSubIndex; |
| UNSIGNED32 COB_IDClientToServer; |
| UNSIGNED32 COB_IDServerToClient; |
| UNSIGNED8 nodeIDOfTheSDOServer; |
| } OD_SDOClientParameter_t; |
| /*1400 */ typedef struct { |
| UNSIGNED8 maxSubIndex; |
| UNSIGNED32 COB_IDUsedByRPDO; |
| UNSIGNED8 transmissionType; |
| } OD_RPDOCommunicationParameter_t; |
| /*1600 */ typedef struct { |
| UNSIGNED8 numberOfMappedObjects; |
| UNSIGNED32 mappedObject1; |
| UNSIGNED32 mappedObject2; |
| UNSIGNED32 mappedObject3; |
| UNSIGNED32 mappedObject4; |
| UNSIGNED32 mappedObject5; |
| UNSIGNED32 mappedObject6; |
| UNSIGNED32 mappedObject7; |
| UNSIGNED32 mappedObject8; |
| } OD_RPDOMappingParameter_t; |
| /*1800 */ typedef struct { |
| UNSIGNED8 maxSubIndex; |
| UNSIGNED32 COB_IDUsedByTPDO; |
| UNSIGNED8 transmissionType; |
| UNSIGNED16 inhibitTime; |
| UNSIGNED8 compatibilityEntry; |
| UNSIGNED16 eventTimer; |
| UNSIGNED8 SYNCStartValue; |
| } OD_TPDOCommunicationParameter_t; |
| /*1a00 */ typedef struct { |
| UNSIGNED8 numberOfMappedObjects; |
| UNSIGNED32 mappedObject1; |
| UNSIGNED32 mappedObject2; |
| UNSIGNED32 mappedObject3; |
| UNSIGNED32 mappedObject4; |
| UNSIGNED32 mappedObject5; |
| UNSIGNED32 mappedObject6; |
| UNSIGNED32 mappedObject7; |
| UNSIGNED32 mappedObject8; |
| } OD_TPDOMappingParameter_t; |
| |
| /******************************************************************************* |
| TYPE DEFINITIONS FOR OBJECT DICTIONARY INDEXES |
| |
| some of those are redundant with CO_SDO.h CO_ObjDicId_t <Common CiA301 object |
| dictionary entries> |
| *******************************************************************************/ |
| /*1000 */ |
| #define OD_1000_deviceType 0x1000 |
| |
| /*1001 */ |
| #define OD_1001_errorRegister 0x1001 |
| |
| /*1002 */ |
| #define OD_1002_manufacturerStatusRegister 0x1002 |
| |
| /*1003 */ |
| #define OD_1003_preDefinedErrorField 0x1003 |
| |
| #define OD_1003_0_preDefinedErrorField_maxSubIndex 0 |
| #define OD_1003_1_preDefinedErrorField_standardErrorField 1 |
| #define OD_1003_2_preDefinedErrorField_standardErrorField 2 |
| #define OD_1003_3_preDefinedErrorField_standardErrorField 3 |
| #define OD_1003_4_preDefinedErrorField_standardErrorField 4 |
| #define OD_1003_5_preDefinedErrorField_standardErrorField 5 |
| #define OD_1003_6_preDefinedErrorField_standardErrorField 6 |
| #define OD_1003_7_preDefinedErrorField_standardErrorField 7 |
| #define OD_1003_8_preDefinedErrorField_standardErrorField 8 |
| |
| /*1005 */ |
| #define OD_1005_COB_ID_SYNCMessage 0x1005 |
| |
| /*1006 */ |
| #define OD_1006_communicationCyclePeriod 0x1006 |
| |
| /*1007 */ |
| #define OD_1007_synchronousWindowLength 0x1007 |
| |
| /*1008 */ |
| #define OD_1008_manufacturerDeviceName 0x1008 |
| |
| /*1009 */ |
| #define OD_1009_manufacturerHardwareVersion 0x1009 |
| |
| /*100a */ |
| #define OD_100a_manufacturerSoftwareVersion 0x100a |
| |
| /*1010 */ |
| #define OD_1010_storeParameters 0x1010 |
| |
| #define OD_1010_0_storeParameters_maxSubIndex 0 |
| #define OD_1010_1_storeParameters_saveAllParameters 1 |
| |
| /*1011 */ |
| #define OD_1011_restoreDefaultParameters 0x1011 |
| |
| #define OD_1011_0_restoreDefaultParameters_maxSubIndex 0 |
| #define OD_1011_1_restoreDefaultParameters_restoreAllDefaultParameters 1 |
| |
| /*1012 */ |
| #define OD_1012_COB_ID_TIME 0x1012 |
| |
| /*1014 */ |
| #define OD_1014_COB_ID_EMCY 0x1014 |
| |
| /*1015 */ |
| #define OD_1015_inhibitTimeEMCY 0x1015 |
| |
| /*1016 */ |
| #define OD_1016_consumerHeartbeatTime 0x1016 |
| |
| #define OD_1016_0_consumerHeartbeatTime_maxSubIndex 0 |
| #define OD_1016_1_consumerHeartbeatTime_consumerHeartbeatTime 1 |
| #define OD_1016_2_consumerHeartbeatTime_consumerHeartbeatTime 2 |
| #define OD_1016_3_consumerHeartbeatTime_consumerHeartbeatTime 3 |
| #define OD_1016_4_consumerHeartbeatTime_consumerHeartbeatTime 4 |
| |
| /*1017 */ |
| #define OD_1017_producerHeartbeatTime 0x1017 |
| |
| /*1018 */ |
| #define OD_1018_identity 0x1018 |
| |
| #define OD_1018_0_identity_maxSubIndex 0 |
| #define OD_1018_1_identity_vendorID 1 |
| #define OD_1018_2_identity_productCode 2 |
| #define OD_1018_3_identity_revisionNumber 3 |
| #define OD_1018_4_identity_serialNumber 4 |
| |
| /*1019 */ |
| #define OD_1019_synchronousCounterOverflowValue 0x1019 |
| |
| /*1029 */ |
| #define OD_1029_errorBehavior 0x1029 |
| |
| #define OD_1029_0_errorBehavior_maxSubIndex 0 |
| #define OD_1029_1_errorBehavior_communication 1 |
| #define OD_1029_2_errorBehavior_communicationOther 2 |
| #define OD_1029_3_errorBehavior_communicationPassive 3 |
| #define OD_1029_4_errorBehavior_generic 4 |
| #define OD_1029_5_errorBehavior_deviceProfile 5 |
| #define OD_1029_6_errorBehavior_manufacturerSpecific 6 |
| |
| /*1200 */ |
| #define OD_1200_SDOServerParameter 0x1200 |
| |
| #define OD_1200_0_SDOServerParameter_maxSubIndex 0 |
| #define OD_1200_1_SDOServerParameter_COB_IDClientToServer 1 |
| #define OD_1200_2_SDOServerParameter_COB_IDServerToClient 2 |
| |
| /*1400 */ |
| #define OD_1400_RPDOCommunicationParameter 0x1400 |
| |
| #define OD_1400_0_RPDOCommunicationParameter_maxSubIndex 0 |
| #define OD_1400_1_RPDOCommunicationParameter_COB_IDUsedByRPDO 1 |
| #define OD_1400_2_RPDOCommunicationParameter_transmissionType 2 |
| |
| /*1401 */ |
| #define OD_1401_RPDOCommunicationParameter 0x1401 |
| |
| #define OD_1401_0_RPDOCommunicationParameter_maxSubIndex 0 |
| #define OD_1401_1_RPDOCommunicationParameter_COB_IDUsedByRPDO 1 |
| #define OD_1401_2_RPDOCommunicationParameter_transmissionType 2 |
| |
| /*1402 */ |
| #define OD_1402_RPDOCommunicationParameter 0x1402 |
| |
| #define OD_1402_0_RPDOCommunicationParameter_maxSubIndex 0 |
| #define OD_1402_1_RPDOCommunicationParameter_COB_IDUsedByRPDO 1 |
| #define OD_1402_2_RPDOCommunicationParameter_transmissionType 2 |
| |
| /*1403 */ |
| #define OD_1403_RPDOCommunicationParameter 0x1403 |
| |
| #define OD_1403_0_RPDOCommunicationParameter_maxSubIndex 0 |
| #define OD_1403_1_RPDOCommunicationParameter_COB_IDUsedByRPDO 1 |
| #define OD_1403_2_RPDOCommunicationParameter_transmissionType 2 |
| |
| /*1600 */ |
| #define OD_1600_RPDOMappingParameter 0x1600 |
| |
| #define OD_1600_0_RPDOMappingParameter_maxSubIndex 0 |
| #define OD_1600_1_RPDOMappingParameter_mappedObject1 1 |
| #define OD_1600_2_RPDOMappingParameter_mappedObject2 2 |
| #define OD_1600_3_RPDOMappingParameter_mappedObject3 3 |
| #define OD_1600_4_RPDOMappingParameter_mappedObject4 4 |
| #define OD_1600_5_RPDOMappingParameter_mappedObject5 5 |
| #define OD_1600_6_RPDOMappingParameter_mappedObject6 6 |
| #define OD_1600_7_RPDOMappingParameter_mappedObject7 7 |
| #define OD_1600_8_RPDOMappingParameter_mappedObject8 8 |
| |
| /*1601 */ |
| #define OD_1601_RPDOMappingParameter 0x1601 |
| |
| #define OD_1601_0_RPDOMappingParameter_maxSubIndex 0 |
| #define OD_1601_1_RPDOMappingParameter_mappedObject1 1 |
| #define OD_1601_2_RPDOMappingParameter_mappedObject2 2 |
| #define OD_1601_3_RPDOMappingParameter_mappedObject3 3 |
| #define OD_1601_4_RPDOMappingParameter_mappedObject4 4 |
| #define OD_1601_5_RPDOMappingParameter_mappedObject5 5 |
| #define OD_1601_6_RPDOMappingParameter_mappedObject6 6 |
| #define OD_1601_7_RPDOMappingParameter_mappedObject7 7 |
| #define OD_1601_8_RPDOMappingParameter_mappedObject8 8 |
| |
| /*1602 */ |
| #define OD_1602_RPDOMappingParameter 0x1602 |
| |
| #define OD_1602_0_RPDOMappingParameter_maxSubIndex 0 |
| #define OD_1602_1_RPDOMappingParameter_mappedObject1 1 |
| #define OD_1602_2_RPDOMappingParameter_mappedObject2 2 |
| #define OD_1602_3_RPDOMappingParameter_mappedObject3 3 |
| #define OD_1602_4_RPDOMappingParameter_mappedObject4 4 |
| #define OD_1602_5_RPDOMappingParameter_mappedObject5 5 |
| #define OD_1602_6_RPDOMappingParameter_mappedObject6 6 |
| #define OD_1602_7_RPDOMappingParameter_mappedObject7 7 |
| #define OD_1602_8_RPDOMappingParameter_mappedObject8 8 |
| |
| /*1603 */ |
| #define OD_1603_RPDOMappingParameter 0x1603 |
| |
| #define OD_1603_0_RPDOMappingParameter_maxSubIndex 0 |
| #define OD_1603_1_RPDOMappingParameter_mappedObject1 1 |
| #define OD_1603_2_RPDOMappingParameter_mappedObject2 2 |
| #define OD_1603_3_RPDOMappingParameter_mappedObject3 3 |
| #define OD_1603_4_RPDOMappingParameter_mappedObject4 4 |
| #define OD_1603_5_RPDOMappingParameter_mappedObject5 5 |
| #define OD_1603_6_RPDOMappingParameter_mappedObject6 6 |
| #define OD_1603_7_RPDOMappingParameter_mappedObject7 7 |
| #define OD_1603_8_RPDOMappingParameter_mappedObject8 8 |
| |
| /*1800 */ |
| #define OD_1800_TPDOCommunicationParameter 0x1800 |
| |
| #define OD_1800_0_TPDOCommunicationParameter_maxSubIndex 0 |
| #define OD_1800_1_TPDOCommunicationParameter_COB_IDUsedByTPDO 1 |
| #define OD_1800_2_TPDOCommunicationParameter_transmissionType 2 |
| #define OD_1800_3_TPDOCommunicationParameter_inhibitTime 3 |
| #define OD_1800_4_TPDOCommunicationParameter_compatibilityEntry 4 |
| #define OD_1800_5_TPDOCommunicationParameter_eventTimer 5 |
| #define OD_1800_6_TPDOCommunicationParameter_SYNCStartValue 6 |
| |
| /*1801 */ |
| #define OD_1801_TPDOCommunicationParameter 0x1801 |
| |
| #define OD_1801_0_TPDOCommunicationParameter_maxSubIndex 0 |
| #define OD_1801_1_TPDOCommunicationParameter_COB_IDUsedByTPDO 1 |
| #define OD_1801_2_TPDOCommunicationParameter_transmissionType 2 |
| #define OD_1801_3_TPDOCommunicationParameter_inhibitTime 3 |
| #define OD_1801_4_TPDOCommunicationParameter_compatibilityEntry 4 |
| #define OD_1801_5_TPDOCommunicationParameter_eventTimer 5 |
| #define OD_1801_6_TPDOCommunicationParameter_SYNCStartValue 6 |
| |
| /*1802 */ |
| #define OD_1802_TPDOCommunicationParameter 0x1802 |
| |
| #define OD_1802_0_TPDOCommunicationParameter_maxSubIndex 0 |
| #define OD_1802_1_TPDOCommunicationParameter_COB_IDUsedByTPDO 1 |
| #define OD_1802_2_TPDOCommunicationParameter_transmissionType 2 |
| #define OD_1802_3_TPDOCommunicationParameter_inhibitTime 3 |
| #define OD_1802_4_TPDOCommunicationParameter_compatibilityEntry 4 |
| #define OD_1802_5_TPDOCommunicationParameter_eventTimer 5 |
| #define OD_1802_6_TPDOCommunicationParameter_SYNCStartValue 6 |
| |
| /*1803 */ |
| #define OD_1803_TPDOCommunicationParameter 0x1803 |
| |
| #define OD_1803_0_TPDOCommunicationParameter_maxSubIndex 0 |
| #define OD_1803_1_TPDOCommunicationParameter_COB_IDUsedByTPDO 1 |
| #define OD_1803_2_TPDOCommunicationParameter_transmissionType 2 |
| #define OD_1803_3_TPDOCommunicationParameter_inhibitTime 3 |
| #define OD_1803_4_TPDOCommunicationParameter_compatibilityEntry 4 |
| #define OD_1803_5_TPDOCommunicationParameter_eventTimer 5 |
| #define OD_1803_6_TPDOCommunicationParameter_SYNCStartValue 6 |
| |
| /*1a00 */ |
| #define OD_1a00_TPDOMappingParameter 0x1a00 |
| |
| #define OD_1a00_0_TPDOMappingParameter_maxSubIndex 0 |
| #define OD_1a00_1_TPDOMappingParameter_mappedObject1 1 |
| #define OD_1a00_2_TPDOMappingParameter_mappedObject2 2 |
| #define OD_1a00_3_TPDOMappingParameter_mappedObject3 3 |
| #define OD_1a00_4_TPDOMappingParameter_mappedObject4 4 |
| #define OD_1a00_5_TPDOMappingParameter_mappedObject5 5 |
| #define OD_1a00_6_TPDOMappingParameter_mappedObject6 6 |
| #define OD_1a00_7_TPDOMappingParameter_mappedObject7 7 |
| #define OD_1a00_8_TPDOMappingParameter_mappedObject8 8 |
| |
| /*1a01 */ |
| #define OD_1a01_TPDOMappingParameter 0x1a01 |
| |
| #define OD_1a01_0_TPDOMappingParameter_maxSubIndex 0 |
| #define OD_1a01_1_TPDOMappingParameter_mappedObject1 1 |
| #define OD_1a01_2_TPDOMappingParameter_mappedObject2 2 |
| #define OD_1a01_3_TPDOMappingParameter_mappedObject3 3 |
| #define OD_1a01_4_TPDOMappingParameter_mappedObject4 4 |
| #define OD_1a01_5_TPDOMappingParameter_mappedObject5 5 |
| #define OD_1a01_6_TPDOMappingParameter_mappedObject6 6 |
| #define OD_1a01_7_TPDOMappingParameter_mappedObject7 7 |
| #define OD_1a01_8_TPDOMappingParameter_mappedObject8 8 |
| |
| /*1a02 */ |
| #define OD_1a02_TPDOMappingParameter 0x1a02 |
| |
| #define OD_1a02_0_TPDOMappingParameter_maxSubIndex 0 |
| #define OD_1a02_1_TPDOMappingParameter_mappedObject1 1 |
| #define OD_1a02_2_TPDOMappingParameter_mappedObject2 2 |
| #define OD_1a02_3_TPDOMappingParameter_mappedObject3 3 |
| #define OD_1a02_4_TPDOMappingParameter_mappedObject4 4 |
| #define OD_1a02_5_TPDOMappingParameter_mappedObject5 5 |
| #define OD_1a02_6_TPDOMappingParameter_mappedObject6 6 |
| #define OD_1a02_7_TPDOMappingParameter_mappedObject7 7 |
| #define OD_1a02_8_TPDOMappingParameter_mappedObject8 8 |
| |
| /*1a03 */ |
| #define OD_1a03_TPDOMappingParameter 0x1a03 |
| |
| #define OD_1a03_0_TPDOMappingParameter_maxSubIndex 0 |
| #define OD_1a03_1_TPDOMappingParameter_mappedObject1 1 |
| #define OD_1a03_2_TPDOMappingParameter_mappedObject2 2 |
| #define OD_1a03_3_TPDOMappingParameter_mappedObject3 3 |
| #define OD_1a03_4_TPDOMappingParameter_mappedObject4 4 |
| #define OD_1a03_5_TPDOMappingParameter_mappedObject5 5 |
| #define OD_1a03_6_TPDOMappingParameter_mappedObject6 6 |
| #define OD_1a03_7_TPDOMappingParameter_mappedObject7 7 |
| #define OD_1a03_8_TPDOMappingParameter_mappedObject8 8 |
| |
| /*1f50 */ |
| #define OD_1f50_programData 0x1f50 |
| |
| #define OD_1f50_0_programData_maxSubIndex 0 |
| #define OD_1f50_1_programData_ 1 |
| |
| /*1f51 */ |
| #define OD_1f51_programControl 0x1f51 |
| |
| #define OD_1f51_0_programControl_maxSubIndex 0 |
| #define OD_1f51_1_programControl_ 1 |
| |
| /*1f56 */ |
| #define OD_1f56_programSoftwareIdentification 0x1f56 |
| |
| #define OD_1f56_0_programSoftwareIdentification_maxSubIndex 0 |
| #define OD_1f56_1_programSoftwareIdentification_ 1 |
| |
| /*1f57 */ |
| #define OD_1f57_flashStatusIdentification 0x1f57 |
| |
| #define OD_1f57_0_flashStatusIdentification_maxSubIndex 0 |
| #define OD_1f57_1_flashStatusIdentification_ 1 |
| |
| /*1f80 */ |
| #define OD_1f80_NMTStartup 0x1f80 |
| |
| /*2100 */ |
| #define OD_2100_errorStatusBits 0x2100 |
| |
| /*2101 */ |
| #define OD_2101_powerOnCounter 0x2101 |
| |
| /*2102 */ |
| #define OD_2102_buttonPressCounter 0x2102 |
| |
| /******************************************************************************* |
| STRUCTURES FOR VARIABLES IN DIFFERENT MEMORY LOCATIONS |
| *******************************************************************************/ |
| #define CO_OD_FIRST_LAST_WORD 0x55 /* Any value from 0x01 to 0xFE. If changed, EEPROM will be reinitialized. */ |
| |
| /***** Structure for ROM variables ********************************************/ |
| struct sCO_OD_ROM { |
| UNSIGNED32 FirstWord; |
| |
| /*1000 */ UNSIGNED32 deviceType; |
| /*1005 */ UNSIGNED32 COB_ID_SYNCMessage; |
| /*1006 */ UNSIGNED32 communicationCyclePeriod; |
| /*1007 */ UNSIGNED32 synchronousWindowLength; |
| /*1008 */ VISIBLE_STRING manufacturerDeviceName[23]; |
| /*1009 */ VISIBLE_STRING manufacturerHardwareVersion[4]; |
| /*100a */ VISIBLE_STRING manufacturerSoftwareVersion[4]; |
| /*1012 */ UNSIGNED32 COB_ID_TIME; |
| /*1014 */ UNSIGNED32 COB_ID_EMCY; |
| /*1015 */ UNSIGNED16 inhibitTimeEMCY; |
| /*1016 */ UNSIGNED32 consumerHeartbeatTime[4]; |
| /*1017 */ UNSIGNED16 producerHeartbeatTime; |
| /*1018 */ OD_identity_t identity; |
| /*1019 */ UNSIGNED8 synchronousCounterOverflowValue; |
| /*1029 */ UNSIGNED8 errorBehavior[6]; |
| /*1200 */ OD_SDOServerParameter_t SDOServerParameter[1]; |
| /*1400 */ OD_RPDOCommunicationParameter_t RPDOCommunicationParameter[4]; |
| /*1600 */ OD_RPDOMappingParameter_t RPDOMappingParameter[4]; |
| /*1800 */ OD_TPDOCommunicationParameter_t TPDOCommunicationParameter[4]; |
| /*1a00 */ OD_TPDOMappingParameter_t TPDOMappingParameter[4]; |
| /*1f80 */ UNSIGNED32 NMTStartup; |
| |
| UNSIGNED32 LastWord; |
| }; |
| |
| /***** Structure for RAM variables ********************************************/ |
| struct sCO_OD_RAM { |
| UNSIGNED32 FirstWord; |
| |
| /*1001 */ UNSIGNED8 errorRegister; |
| /*1002 */ UNSIGNED32 manufacturerStatusRegister; |
| /*1003 */ UNSIGNED32 preDefinedErrorField[8]; |
| /*1010 */ UNSIGNED32 storeParameters[1]; |
| /*1011 */ UNSIGNED32 restoreDefaultParameters[1]; |
| /*1f50 */ DOMAIN programData[1]; |
| /*1f51 */ UNSIGNED8 programControl[1]; |
| /*1f56 */ UNSIGNED32 programSoftwareIdentification[1]; |
| /*1f57 */ UNSIGNED32 flashStatusIdentification[1]; |
| /*2100 */ OCTET_STRING errorStatusBits[10]; |
| /*2102 */ UNSIGNED32 buttonPressCounter; |
| |
| UNSIGNED32 LastWord; |
| }; |
| |
| /***** Structure for EEPROM variables ********************************************/ |
| struct sCO_OD_EEPROM { |
| UNSIGNED32 FirstWord; |
| |
| /*2101 */ UNSIGNED32 powerOnCounter; |
| |
| UNSIGNED32 LastWord; |
| }; |
| |
| /***** Declaration of Object Dictionary variables *****************************/ |
| extern struct sCO_OD_ROM CO_OD_ROM; |
| |
| extern struct sCO_OD_RAM CO_OD_RAM; |
| |
| extern struct sCO_OD_EEPROM CO_OD_EEPROM; |
| |
| /******************************************************************************* |
| ALIASES FOR OBJECT DICTIONARY VARIABLES |
| *******************************************************************************/ |
| /*1000, Data Type: UNSIGNED32 */ |
| #define OD_deviceType CO_OD_ROM.deviceType |
| |
| /*1001, Data Type: UNSIGNED8 */ |
| #define OD_errorRegister CO_OD_RAM.errorRegister |
| |
| /*1002, Data Type: UNSIGNED32 */ |
| #define OD_manufacturerStatusRegister CO_OD_RAM.manufacturerStatusRegister |
| |
| /*1003, Data Type: UNSIGNED32, Array[8] */ |
| #define OD_preDefinedErrorField CO_OD_RAM.preDefinedErrorField |
| #define ODL_preDefinedErrorField_arrayLength 8 |
| #define ODA_preDefinedErrorField_standardErrorField 0 |
| |
| /*1005, Data Type: UNSIGNED32 */ |
| #define OD_COB_ID_SYNCMessage CO_OD_ROM.COB_ID_SYNCMessage |
| |
| /*1006, Data Type: UNSIGNED32 */ |
| #define OD_communicationCyclePeriod CO_OD_ROM.communicationCyclePeriod |
| |
| /*1007, Data Type: UNSIGNED32 */ |
| #define OD_synchronousWindowLength CO_OD_ROM.synchronousWindowLength |
| |
| /*1008, Data Type: VISIBLE_STRING */ |
| #define OD_manufacturerDeviceName CO_OD_ROM.manufacturerDeviceName |
| #define ODL_manufacturerDeviceName_stringLength 23 |
| |
| /*1009, Data Type: VISIBLE_STRING */ |
| #define OD_manufacturerHardwareVersion CO_OD_ROM.manufacturerHardwareVersion |
| #define ODL_manufacturerHardwareVersion_stringLength 4 |
| |
| /*100a, Data Type: VISIBLE_STRING */ |
| #define OD_manufacturerSoftwareVersion CO_OD_ROM.manufacturerSoftwareVersion |
| #define ODL_manufacturerSoftwareVersion_stringLength 4 |
| |
| /*1010, Data Type: UNSIGNED32, Array[1] */ |
| #define OD_storeParameters CO_OD_RAM.storeParameters |
| #define ODL_storeParameters_arrayLength 1 |
| #define ODA_storeParameters_saveAllParameters 0 |
| |
| /*1011, Data Type: UNSIGNED32, Array[1] */ |
| #define OD_restoreDefaultParameters CO_OD_RAM.restoreDefaultParameters |
| #define ODL_restoreDefaultParameters_arrayLength 1 |
| #define ODA_restoreDefaultParameters_restoreAllDefaultParameters 0 |
| |
| /*1012, Data Type: UNSIGNED32 */ |
| #define OD_COB_ID_TIME CO_OD_ROM.COB_ID_TIME |
| |
| /*1014, Data Type: UNSIGNED32 */ |
| #define OD_COB_ID_EMCY CO_OD_ROM.COB_ID_EMCY |
| |
| /*1015, Data Type: UNSIGNED16 */ |
| #define OD_inhibitTimeEMCY CO_OD_ROM.inhibitTimeEMCY |
| |
| /*1016, Data Type: UNSIGNED32, Array[4] */ |
| #define OD_consumerHeartbeatTime CO_OD_ROM.consumerHeartbeatTime |
| #define ODL_consumerHeartbeatTime_arrayLength 4 |
| #define ODA_consumerHeartbeatTime_consumerHeartbeatTime 0 |
| |
| /*1017, Data Type: UNSIGNED16 */ |
| #define OD_producerHeartbeatTime CO_OD_ROM.producerHeartbeatTime |
| |
| /*1018, Data Type: identity_t */ |
| #define OD_identity CO_OD_ROM.identity |
| |
| /*1019, Data Type: UNSIGNED8 */ |
| #define OD_synchronousCounterOverflowValue CO_OD_ROM.synchronousCounterOverflowValue |
| |
| /*1029, Data Type: UNSIGNED8, Array[6] */ |
| #define OD_errorBehavior CO_OD_ROM.errorBehavior |
| #define ODL_errorBehavior_arrayLength 6 |
| #define ODA_errorBehavior_communication 0 |
| #define ODA_errorBehavior_communicationOther 1 |
| #define ODA_errorBehavior_communicationPassive 2 |
| #define ODA_errorBehavior_generic 3 |
| #define ODA_errorBehavior_deviceProfile 4 |
| #define ODA_errorBehavior_manufacturerSpecific 5 |
| |
| /*1200, Data Type: SDOServerParameter_t */ |
| #define OD_SDOServerParameter CO_OD_ROM.SDOServerParameter |
| |
| /*1400, Data Type: RPDOCommunicationParameter_t */ |
| #define OD_RPDOCommunicationParameter CO_OD_ROM.RPDOCommunicationParameter |
| |
| /*1600, Data Type: RPDOMappingParameter_t */ |
| #define OD_RPDOMappingParameter CO_OD_ROM.RPDOMappingParameter |
| |
| /*1800, Data Type: TPDOCommunicationParameter_t */ |
| #define OD_TPDOCommunicationParameter CO_OD_ROM.TPDOCommunicationParameter |
| |
| /*1a00, Data Type: TPDOMappingParameter_t */ |
| #define OD_TPDOMappingParameter CO_OD_ROM.TPDOMappingParameter |
| |
| /*1f50, Data Type: DOMAIN, Array[1] */ |
| #define OD_programData CO_OD_RAM.programData |
| #define ODL_programData_arrayLength 1 |
| #define ODA_programData_ 0 |
| |
| /*1f51, Data Type: UNSIGNED8, Array[1] */ |
| #define OD_programControl CO_OD_RAM.programControl |
| #define ODL_programControl_arrayLength 1 |
| #define ODA_programControl_ 0 |
| |
| /*1f56, Data Type: UNSIGNED32, Array[1] */ |
| #define OD_programSoftwareIdentification CO_OD_RAM.programSoftwareIdentification |
| #define ODL_programSoftwareIdentification_arrayLength 1 |
| #define ODA_programSoftwareIdentification_ 0 |
| |
| /*1f57, Data Type: UNSIGNED32, Array[1] */ |
| #define OD_flashStatusIdentification CO_OD_RAM.flashStatusIdentification |
| #define ODL_flashStatusIdentification_arrayLength 1 |
| #define ODA_flashStatusIdentification_ 0 |
| |
| /*1f80, Data Type: UNSIGNED32 */ |
| #define OD_NMTStartup CO_OD_ROM.NMTStartup |
| |
| /*2100, Data Type: OCTET_STRING */ |
| #define OD_errorStatusBits CO_OD_RAM.errorStatusBits |
| #define ODL_errorStatusBits_stringLength 10 |
| |
| /*2101, Data Type: UNSIGNED32 */ |
| #define OD_powerOnCounter CO_OD_EEPROM.powerOnCounter |
| |
| /*2102, Data Type: UNSIGNED32 */ |
| #define OD_buttonPressCounter CO_OD_RAM.buttonPressCounter |
| |
| #endif |