1
0
Fork 0
CANopenNode/stack/LPC177x_8x/CO_OD.h
2015-07-25 14:03:15 +02:00

414 lines
17 KiB
C

/*******************************************************************************
File: CO_OD.h
CANopen Object Dictionary.
Copyright (C) 2004-2008 Janez Paternoster
License: GNU Lesser General Public License (LGPL).
<http://canopennode.sourceforge.net>
(For more information see <CO_SDO.h>.)
*/
/*
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation, either version 2.1 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
Author: Janez Paternoster
This file was automatically generated with CANopenNode Object
Dictionary Editor. DON'T EDIT THIS FILE MANUALLY !!!!
*******************************************************************************/
#ifndef CO_OD_H
#define CO_OD_H
/*******************************************************************************
CANopen DATA DYPES
*******************************************************************************/
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;
typedef domain_t DOMAIN;
/*******************************************************************************
FILE INFO:
FileName: iMaxeon
FileVersion: 3
CreationTime: 08:47:43
CreationDate: 2014-09-02
CreatedBy: AH
*******************************************************************************/
/*******************************************************************************
DEVICE INFO:
VendorName: Paternoster
VendorNumber: 0
ProductName: CANopenNode
ProductNumber: 0
*******************************************************************************/
/*******************************************************************************
FEATURES
*******************************************************************************/
#define CO_NO_SYNC 1 //Associated objects: 1005, 1006, 1007, 2103, 2104
#define CO_NO_EMERGENCY 1 //Associated objects: 1014, 1015
#define CO_NO_SDO_SERVER 1 //Associated objects: 1200
#define CO_NO_SDO_CLIENT 1 //Associated objects: 1280
#define CO_NO_RPDO 4 //Associated objects: 1400, 1401, 1402, 1403, 1600, 1601, 1602, 1603
#define CO_NO_TPDO 4 //Associated objects: 1800, 1801, 1802, 1803, 1A00, 1A01, 1A02, 1A03
#define CO_NO_NMT_MASTER 0
/*******************************************************************************
OBJECT DICTIONARY
*******************************************************************************/
#define CO_OD_NoOfElements 57
/*******************************************************************************
TYPE DEFINITIONS FOR RECORDS
*******************************************************************************/
/*1018 */ typedef struct{
UNSIGNED8 maxSubIndex;
UNSIGNED32 vendorID;
UNSIGNED32 productCode;
UNSIGNED32 revisionNumber;
UNSIGNED32 serialNumber;
} OD_identity_t;
/*1200[1] */ typedef struct{
UNSIGNED8 maxSubIndex;
UNSIGNED32 COB_IDClientToServer;
UNSIGNED32 COB_IDServerToClient;
} OD_SDOServerParameter_t;
/*1280[1] */ typedef struct{
UNSIGNED8 maxSubIndex;
UNSIGNED32 COB_IDClientToServer;
UNSIGNED32 COB_IDServerToClient;
UNSIGNED8 nodeIDOfTheSDOServer;
} OD_SDOClientParameter_t;
/*1400[4] */ typedef struct{
UNSIGNED8 maxSubIndex;
UNSIGNED32 COB_IDUsedByRPDO;
UNSIGNED8 transmissionType;
} OD_RPDOCommunicationParameter_t;
/*1600[4] */ typedef struct{
UNSIGNED8 numberOfMappedObjects;
UNSIGNED32 mappedObject1;
UNSIGNED32 mappedObject2;
UNSIGNED32 mappedObject3;
UNSIGNED32 mappedObject4;
UNSIGNED32 mappedObject5;
UNSIGNED32 mappedObject6;
UNSIGNED32 mappedObject7;
UNSIGNED32 mappedObject8;
} OD_RPDOMappingParameter_t;
/*1800[4] */ typedef struct{
UNSIGNED8 maxSubIndex;
UNSIGNED32 COB_IDUsedByTPDO;
UNSIGNED8 transmissionType;
UNSIGNED16 inhibitTime;
UNSIGNED8 compatibilityEntry;
UNSIGNED16 eventTimer;
UNSIGNED8 SYNCStartValue;
} OD_TPDOCommunicationParameter_t;
/*1A00[4] */ typedef struct{
UNSIGNED8 numberOfMappedObjects;
UNSIGNED32 mappedObject1;
UNSIGNED32 mappedObject2;
UNSIGNED32 mappedObject3;
UNSIGNED32 mappedObject4;
UNSIGNED32 mappedObject5;
UNSIGNED32 mappedObject6;
UNSIGNED32 mappedObject7;
UNSIGNED32 mappedObject8;
} OD_TPDOMappingParameter_t;
/*******************************************************************************
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 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];
/*1280[1] */ OD_SDOClientParameter_t SDOClientParameter[1];
/*2100 */ OCTET_STRING errorStatusBits[10];
/*2103 */ UNSIGNED16 SYNCCounter;
/*2104 */ UNSIGNED16 SYNCTime;
/*6000 */ UNSIGNED32 controlWord;
/*6001 */ UNSIGNED32 statusWord;
/*6002 */ UNSIGNED8 injectionMode;
/*6003 */ UNSIGNED8 setDateAndTime[6];
/*6006 */ UNSIGNED8 communicationLost;
/*6007 */ UNSIGNED32 functionsSupported;
/*6008 */ UNSIGNED16 globalAttributesSupport[2];
/*6009 */ UNSIGNED16 currentInjectedTotalVolume;
/*600A */ UNSIGNED16 currentPressure;
/*600B */ UNSIGNED16 currentTotalFlowRate;
/*600C */ UNSIGNED16 currentVolumeRemaining[8];
/*6070 */ UNSIGNED32 medicalDiagnosticDeviceIdentity[4];
/*6073 */ UNSIGNED32 profileVersion;
UNSIGNED32 LastWord;
};
/***** Structure for EEPROM variables *****************************************/
struct sCO_OD_EEPROM{
UNSIGNED32 FirstWord;
/*2106 */ UNSIGNED32 powerOnCounter;
UNSIGNED32 LastWord;
};
/***** 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[11];
/*1009 */ VISIBLE_STRING manufacturerHardwareVersion[4];
/*100A */ VISIBLE_STRING manufacturerSoftwareVersion[4];
/*1014 */ UNSIGNED32 COB_ID_EMCY;
/*1015 */ UNSIGNED16 inhibitTimeEMCY;
/*1016 */ UNSIGNED32 consumerHeartbeatTime[1];
/*1017 */ UNSIGNED16 producerHeartbeatTime;
/*1018 */ OD_identity_t identity;
/*1019 */ UNSIGNED8 synchronousCounterOverflowValue;
/*1029 */ UNSIGNED8 errorBehavior[2];
/*1200[1] */ OD_SDOServerParameter_t SDOServerParameter[1];
/*1400[4] */ OD_RPDOCommunicationParameter_t RPDOCommunicationParameter[4];
/*1600[4] */ OD_RPDOMappingParameter_t RPDOMappingParameter[4];
/*1800[4] */ OD_TPDOCommunicationParameter_t TPDOCommunicationParameter[4];
/*1A00[4] */ OD_TPDOMappingParameter_t TPDOMappingParameter[4];
/*1F80 */ UNSIGNED32 NMTStartup;
/*2101 */ UNSIGNED8 CANNodeID;
/*2102 */ UNSIGNED16 CANBitRate;
UNSIGNED32 LastWord;
};
/***** Declaration of Object Dictionary variables *****************************/
extern struct sCO_OD_RAM CO_OD_RAM;
extern struct sCO_OD_EEPROM CO_OD_EEPROM;
extern struct sCO_OD_ROM CO_OD_ROM;
/*******************************************************************************
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
/*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, Array[11] */
#define OD_manufacturerDeviceName CO_OD_ROM.manufacturerDeviceName
#define ODL_manufacturerDeviceName_stringLength 11
/*1009, Data Type: VISIBLE_STRING, Array[4] */
#define OD_manufacturerHardwareVersion CO_OD_ROM.manufacturerHardwareVersion
#define ODL_manufacturerHardwareVersion_stringLength 4
/*100A, Data Type: VISIBLE_STRING, Array[4] */
#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
/*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[1] */
#define OD_consumerHeartbeatTime CO_OD_ROM.consumerHeartbeatTime
#define ODL_consumerHeartbeatTime_arrayLength 1
#define ODA_consumerHeartbeatTime_consumerHeartbeatTime 0
/*1017, Data Type: UNSIGNED16 */
#define OD_producerHeartbeatTime CO_OD_ROM.producerHeartbeatTime
/*1018, Data Type: OD_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[2] */
#define OD_errorBehavior CO_OD_ROM.errorBehavior
#define ODL_errorBehavior_arrayLength 2
#define ODA_errorBehavior_communication 0
#define ODA_errorBehavior_communicationOther 1
/*1200[1], Data Type: OD_SDOServerParameter_t, Array[1] */
#define OD_SDOServerParameter CO_OD_ROM.SDOServerParameter
/*1280[1], Data Type: OD_SDOClientParameter_t, Array[1] */
#define OD_SDOClientParameter CO_OD_RAM.SDOClientParameter
/*1400[4], Data Type: OD_RPDOCommunicationParameter_t, Array[4] */
#define OD_RPDOCommunicationParameter CO_OD_ROM.RPDOCommunicationParameter
/*1600[4], Data Type: OD_RPDOMappingParameter_t, Array[4] */
#define OD_RPDOMappingParameter CO_OD_ROM.RPDOMappingParameter
/*1800[4], Data Type: OD_TPDOCommunicationParameter_t, Array[4] */
#define OD_TPDOCommunicationParameter CO_OD_ROM.TPDOCommunicationParameter
/*1A00[4], Data Type: OD_TPDOMappingParameter_t, Array[4] */
#define OD_TPDOMappingParameter CO_OD_ROM.TPDOMappingParameter
/*1F80, Data Type: UNSIGNED32 */
#define OD_NMTStartup CO_OD_ROM.NMTStartup
/*2100, Data Type: OCTET_STRING, Array[10] */
#define OD_errorStatusBits CO_OD_RAM.errorStatusBits
#define ODL_errorStatusBits_stringLength 10
/*2101, Data Type: UNSIGNED8 */
#define OD_CANNodeID CO_OD_ROM.CANNodeID
/*2102, Data Type: UNSIGNED16 */
#define OD_CANBitRate CO_OD_ROM.CANBitRate
/*2103, Data Type: UNSIGNED16 */
#define OD_SYNCCounter CO_OD_RAM.SYNCCounter
/*2104, Data Type: UNSIGNED16 */
#define OD_SYNCTime CO_OD_RAM.SYNCTime
/*2106, Data Type: UNSIGNED32 */
#define OD_powerOnCounter CO_OD_EEPROM.powerOnCounter
/*6000, Data Type: UNSIGNED32 */
#define OD_controlWord CO_OD_RAM.controlWord
/*6001, Data Type: UNSIGNED32 */
#define OD_statusWord CO_OD_RAM.statusWord
/*6002, Data Type: UNSIGNED8 */
#define OD_injectionMode CO_OD_RAM.injectionMode
/*6003, Data Type: UNSIGNED8, Array[6] */
#define OD_setDateAndTime CO_OD_RAM.setDateAndTime
#define ODL_setDateAndTime_arrayLength 6
#define ODA_setDateAndTime_year 0
#define ODA_setDateAndTime_day 1
#define ODA_setDateAndTime_month 2
#define ODA_setDateAndTime_hour 3
#define ODA_setDateAndTime_minute 4
#define ODA_setDateAndTime_second 5
/*6006, Data Type: UNSIGNED8 */
#define OD_communicationLost CO_OD_RAM.communicationLost
/*6007, Data Type: UNSIGNED32 */
#define OD_functionsSupported CO_OD_RAM.functionsSupported
/*6008, Data Type: UNSIGNED16, Array[2] */
#define OD_globalAttributesSupport CO_OD_RAM.globalAttributesSupport
#define ODL_globalAttributesSupport_arrayLength 2
#define ODA_globalAttributesSupport_attributes_implemented 0
#define ODA_globalAttributesSupport_support_attributes 1
/*6009, Data Type: UNSIGNED16 */
#define OD_currentInjectedTotalVolume CO_OD_RAM.currentInjectedTotalVolume
/*600A, Data Type: UNSIGNED16 */
#define OD_currentPressure CO_OD_RAM.currentPressure
/*600B, Data Type: UNSIGNED16 */
#define OD_currentTotalFlowRate CO_OD_RAM.currentTotalFlowRate
/*600C, Data Type: UNSIGNED16, Array[8] */
#define OD_currentVolumeRemaining CO_OD_RAM.currentVolumeRemaining
#define ODL_currentVolumeRemaining_arrayLength 8
/*6070, Data Type: UNSIGNED32, Array[4] */
#define OD_medicalDiagnosticDeviceIdentity CO_OD_RAM.medicalDiagnosticDeviceIdentity
#define ODL_medicalDiagnosticDeviceIdentity_arrayLength 4
#define ODA_medicalDiagnosticDeviceIdentity_vendorId 0
#define ODA_medicalDiagnosticDeviceIdentity_productCode 1
#define ODA_medicalDiagnosticDeviceIdentity_revisionNumber 2
#define ODA_medicalDiagnosticDeviceIdentity_serialNumber 3
/*6073, Data Type: UNSIGNED32 */
#define OD_profileVersion CO_OD_RAM.profileVersion
#endif