337 lines
19 KiB
C
337 lines
19 KiB
C
/*******************************************************************************
|
|
|
|
File - CO_OD.c
|
|
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 !!!!
|
|
|
|
*******************************************************************************/
|
|
|
|
|
|
#include "CO_driver.h"
|
|
#include "CO_OD.h"
|
|
#include "CO_SDO.h"
|
|
|
|
|
|
/*******************************************************************************
|
|
DEFINITION AND INITIALIZATION OF OBJECT DICTIONARY VARIABLES
|
|
*******************************************************************************/
|
|
|
|
/***** Definition for RAM variables *******************************************/
|
|
struct sCO_OD_RAM CO_OD_RAM = {
|
|
CO_OD_FIRST_LAST_WORD,
|
|
|
|
/*1001*/ 0x0,
|
|
/*1002*/ 0x0L,
|
|
/*1003*/ {0x0L, 0x0L, 0x0L, 0x0L, 0x0L, 0x0L, 0x0L, 0x0L},
|
|
/*1010*/ {0x3L},
|
|
/*1011*/ {0x1L},
|
|
/*2100*/ {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
|
|
/*2103*/ 0x0,
|
|
/*2104*/ 0x0,
|
|
/*2107*/ {0x3E8, 0x0, 0x0, 0x0, 0x0},
|
|
/*2108*/ {0},
|
|
/*2109*/ {0},
|
|
/*2110*/ {0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L},
|
|
/*2120*/ {0x5, 0x1234567890ABCDEFLL, 0x234567890ABCDEF1LL, 12.345, 456.789, 0},
|
|
/*6000*/ {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},
|
|
/*6200*/ {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},
|
|
/*6401*/ {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
|
|
/*6411*/ {0, 0, 0, 0, 0, 0, 0, 0},
|
|
|
|
CO_OD_FIRST_LAST_WORD,
|
|
};
|
|
|
|
|
|
/***** Definition for EEPROM variables ****************************************/
|
|
struct sCO_OD_EEPROM CO_OD_EEPROM = {
|
|
CO_OD_FIRST_LAST_WORD,
|
|
|
|
/*2106*/ 0x0L,
|
|
/*2112*/ {1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L},
|
|
|
|
CO_OD_FIRST_LAST_WORD,
|
|
};
|
|
|
|
|
|
/***** Definition for ROM variables *******************************************/
|
|
struct sCO_OD_ROM CO_OD_ROM = { //constant variables, stored in flash
|
|
CO_OD_FIRST_LAST_WORD,
|
|
|
|
/*1000*/ 0x0L,
|
|
/*1005*/ 0x80L,
|
|
/*1006*/ 0x0L,
|
|
/*1007*/ 0x0L,
|
|
/*1008*/ {'C', 'A', 'N', 'o', 'p', 'e', 'n', 'N', 'o', 'd', 'e'},
|
|
/*1009*/ {'3', '.', '0', '0'},
|
|
/*100A*/ {'3', '.', '0', '0'},
|
|
/*1014*/ 0x80L,
|
|
/*1015*/ 0x64,
|
|
/*1016*/ {0x0L, 0x0L, 0x0L, 0x0L},
|
|
/*1017*/ 0x3E8,
|
|
/*1018*/ {0x4, 0x0L, 0x0L, 0x0L, 0x0L},
|
|
/*1019*/ 0x0,
|
|
/*1029*/ {0x0, 0x0, 0x1, 0x0, 0x0, 0x0},
|
|
/*1200*/{{0x2, 0x600L, 0x580L}},
|
|
/*1400*/{{0x2, 0x200L, 0xFF},
|
|
/*1401*/ {0x2, 0x300L, 0xFE},
|
|
/*1402*/ {0x2, 0x400L, 0xFE},
|
|
/*1403*/ {0x2, 0x500L, 0xFE}},
|
|
/*1600*/{{0x2, 0x62000108L, 0x62000208L, 0x0L, 0x0L, 0x0L, 0x0L, 0x0L, 0x0L},
|
|
/*1601*/ {0x0, 0x0L, 0x0L, 0x0L, 0x0L, 0x0L, 0x0L, 0x0L, 0x0L},
|
|
/*1602*/ {0x0, 0x0L, 0x0L, 0x0L, 0x0L, 0x0L, 0x0L, 0x0L, 0x0L},
|
|
/*1603*/ {0x0, 0x0L, 0x0L, 0x0L, 0x0L, 0x0L, 0x0L, 0x0L, 0x0L}},
|
|
/*1800*/{{0x6, 0x180L, 0xFF, 0x64, 0x0, 0x0, 0x0},
|
|
/*1801*/ {0x6, 0x280L, 0xFE, 0x0, 0x0, 0x0, 0x0},
|
|
/*1802*/ {0x6, 0x380L, 0xFE, 0x0, 0x0, 0x0, 0x0},
|
|
/*1803*/ {0x6, 0x480L, 0xFE, 0x0, 0x0, 0x0, 0x0}},
|
|
/*1A00*/{{0x2, 0x60000108L, 0x60000208L, 0x0L, 0x0L, 0x0L, 0x0L, 0x0L, 0x0L},
|
|
/*1A01*/ {0x0, 0x0L, 0x0L, 0x0L, 0x0L, 0x0L, 0x0L, 0x0L, 0x0L},
|
|
/*1A02*/ {0x0, 0x0L, 0x0L, 0x0L, 0x0L, 0x0L, 0x0L, 0x0L, 0x0L},
|
|
/*1A03*/ {0x0, 0x0L, 0x0L, 0x0L, 0x0L, 0x0L, 0x0L, 0x0L, 0x0L}},
|
|
/*1F80*/ 0x0L,
|
|
/*2101*/ 0x30,
|
|
/*2102*/ 0xFA,
|
|
/*2111*/ {1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L},
|
|
|
|
CO_OD_FIRST_LAST_WORD
|
|
};
|
|
|
|
|
|
/*******************************************************************************
|
|
STRUCTURES FOR RECORD TYPE OBJECTS
|
|
*******************************************************************************/
|
|
/*0x1018*/ const CO_OD_entryRecord_t OD_record1018[5] = {
|
|
{(void*)&CO_OD_ROM.identity.maxSubIndex, 0x05, 1},
|
|
{(void*)&CO_OD_ROM.identity.vendorID, 0x85, 4},
|
|
{(void*)&CO_OD_ROM.identity.productCode, 0x85, 4},
|
|
{(void*)&CO_OD_ROM.identity.revisionNumber, 0x85, 4},
|
|
{(void*)&CO_OD_ROM.identity.serialNumber, 0x85, 4}};
|
|
/*0x1200*/ const CO_OD_entryRecord_t OD_record1200[3] = {
|
|
{(void*)&CO_OD_ROM.SDOServerParameter[0].maxSubIndex, 0x05, 1},
|
|
{(void*)&CO_OD_ROM.SDOServerParameter[0].COB_IDClientToServer, 0x85, 4},
|
|
{(void*)&CO_OD_ROM.SDOServerParameter[0].COB_IDServerToClient, 0x85, 4}};
|
|
/*0x1400*/ const CO_OD_entryRecord_t OD_record1400[3] = {
|
|
{(void*)&CO_OD_ROM.RPDOCommunicationParameter[0].maxSubIndex, 0x05, 1},
|
|
{(void*)&CO_OD_ROM.RPDOCommunicationParameter[0].COB_IDUsedByRPDO, 0x8D, 4},
|
|
{(void*)&CO_OD_ROM.RPDOCommunicationParameter[0].transmissionType, 0x0D, 1}};
|
|
/*0x1401*/ const CO_OD_entryRecord_t OD_record1401[3] = {
|
|
{(void*)&CO_OD_ROM.RPDOCommunicationParameter[1].maxSubIndex, 0x05, 1},
|
|
{(void*)&CO_OD_ROM.RPDOCommunicationParameter[1].COB_IDUsedByRPDO, 0x8D, 4},
|
|
{(void*)&CO_OD_ROM.RPDOCommunicationParameter[1].transmissionType, 0x0D, 1}};
|
|
/*0x1402*/ const CO_OD_entryRecord_t OD_record1402[3] = {
|
|
{(void*)&CO_OD_ROM.RPDOCommunicationParameter[2].maxSubIndex, 0x05, 1},
|
|
{(void*)&CO_OD_ROM.RPDOCommunicationParameter[2].COB_IDUsedByRPDO, 0x8D, 4},
|
|
{(void*)&CO_OD_ROM.RPDOCommunicationParameter[2].transmissionType, 0x0D, 1}};
|
|
/*0x1403*/ const CO_OD_entryRecord_t OD_record1403[3] = {
|
|
{(void*)&CO_OD_ROM.RPDOCommunicationParameter[3].maxSubIndex, 0x05, 1},
|
|
{(void*)&CO_OD_ROM.RPDOCommunicationParameter[3].COB_IDUsedByRPDO, 0x8D, 4},
|
|
{(void*)&CO_OD_ROM.RPDOCommunicationParameter[3].transmissionType, 0x0D, 1}};
|
|
/*0x1600*/ const CO_OD_entryRecord_t OD_record1600[9] = {
|
|
{(void*)&CO_OD_ROM.RPDOMappingParameter[0].numberOfMappedObjects, 0x0D, 1},
|
|
{(void*)&CO_OD_ROM.RPDOMappingParameter[0].mappedObject1, 0x8D, 4},
|
|
{(void*)&CO_OD_ROM.RPDOMappingParameter[0].mappedObject2, 0x8D, 4},
|
|
{(void*)&CO_OD_ROM.RPDOMappingParameter[0].mappedObject3, 0x8D, 4},
|
|
{(void*)&CO_OD_ROM.RPDOMappingParameter[0].mappedObject4, 0x8D, 4},
|
|
{(void*)&CO_OD_ROM.RPDOMappingParameter[0].mappedObject5, 0x8D, 4},
|
|
{(void*)&CO_OD_ROM.RPDOMappingParameter[0].mappedObject6, 0x8D, 4},
|
|
{(void*)&CO_OD_ROM.RPDOMappingParameter[0].mappedObject7, 0x8D, 4},
|
|
{(void*)&CO_OD_ROM.RPDOMappingParameter[0].mappedObject8, 0x8D, 4}};
|
|
/*0x1601*/ const CO_OD_entryRecord_t OD_record1601[9] = {
|
|
{(void*)&CO_OD_ROM.RPDOMappingParameter[1].numberOfMappedObjects, 0x0D, 1},
|
|
{(void*)&CO_OD_ROM.RPDOMappingParameter[1].mappedObject1, 0x8D, 4},
|
|
{(void*)&CO_OD_ROM.RPDOMappingParameter[1].mappedObject2, 0x8D, 4},
|
|
{(void*)&CO_OD_ROM.RPDOMappingParameter[1].mappedObject3, 0x8D, 4},
|
|
{(void*)&CO_OD_ROM.RPDOMappingParameter[1].mappedObject4, 0x8D, 4},
|
|
{(void*)&CO_OD_ROM.RPDOMappingParameter[1].mappedObject5, 0x8D, 4},
|
|
{(void*)&CO_OD_ROM.RPDOMappingParameter[1].mappedObject6, 0x8D, 4},
|
|
{(void*)&CO_OD_ROM.RPDOMappingParameter[1].mappedObject7, 0x8D, 4},
|
|
{(void*)&CO_OD_ROM.RPDOMappingParameter[1].mappedObject8, 0x8D, 4}};
|
|
/*0x1602*/ const CO_OD_entryRecord_t OD_record1602[9] = {
|
|
{(void*)&CO_OD_ROM.RPDOMappingParameter[2].numberOfMappedObjects, 0x0D, 1},
|
|
{(void*)&CO_OD_ROM.RPDOMappingParameter[2].mappedObject1, 0x8D, 4},
|
|
{(void*)&CO_OD_ROM.RPDOMappingParameter[2].mappedObject2, 0x8D, 4},
|
|
{(void*)&CO_OD_ROM.RPDOMappingParameter[2].mappedObject3, 0x8D, 4},
|
|
{(void*)&CO_OD_ROM.RPDOMappingParameter[2].mappedObject4, 0x8D, 4},
|
|
{(void*)&CO_OD_ROM.RPDOMappingParameter[2].mappedObject5, 0x8D, 4},
|
|
{(void*)&CO_OD_ROM.RPDOMappingParameter[2].mappedObject6, 0x8D, 4},
|
|
{(void*)&CO_OD_ROM.RPDOMappingParameter[2].mappedObject7, 0x8D, 4},
|
|
{(void*)&CO_OD_ROM.RPDOMappingParameter[2].mappedObject8, 0x8D, 4}};
|
|
/*0x1603*/ const CO_OD_entryRecord_t OD_record1603[9] = {
|
|
{(void*)&CO_OD_ROM.RPDOMappingParameter[3].numberOfMappedObjects, 0x0D, 1},
|
|
{(void*)&CO_OD_ROM.RPDOMappingParameter[3].mappedObject1, 0x8D, 4},
|
|
{(void*)&CO_OD_ROM.RPDOMappingParameter[3].mappedObject2, 0x8D, 4},
|
|
{(void*)&CO_OD_ROM.RPDOMappingParameter[3].mappedObject3, 0x8D, 4},
|
|
{(void*)&CO_OD_ROM.RPDOMappingParameter[3].mappedObject4, 0x8D, 4},
|
|
{(void*)&CO_OD_ROM.RPDOMappingParameter[3].mappedObject5, 0x8D, 4},
|
|
{(void*)&CO_OD_ROM.RPDOMappingParameter[3].mappedObject6, 0x8D, 4},
|
|
{(void*)&CO_OD_ROM.RPDOMappingParameter[3].mappedObject7, 0x8D, 4},
|
|
{(void*)&CO_OD_ROM.RPDOMappingParameter[3].mappedObject8, 0x8D, 4}};
|
|
/*0x1800*/ const CO_OD_entryRecord_t OD_record1800[7] = {
|
|
{(void*)&CO_OD_ROM.TPDOCommunicationParameter[0].maxSubIndex, 0x05, 1},
|
|
{(void*)&CO_OD_ROM.TPDOCommunicationParameter[0].COB_IDUsedByTPDO, 0x8D, 4},
|
|
{(void*)&CO_OD_ROM.TPDOCommunicationParameter[0].transmissionType, 0x0D, 1},
|
|
{(void*)&CO_OD_ROM.TPDOCommunicationParameter[0].inhibitTime, 0x8D, 2},
|
|
{(void*)&CO_OD_ROM.TPDOCommunicationParameter[0].compatibilityEntry, 0x0D, 1},
|
|
{(void*)&CO_OD_ROM.TPDOCommunicationParameter[0].eventTimer, 0x8D, 2},
|
|
{(void*)&CO_OD_ROM.TPDOCommunicationParameter[0].SYNCStartValue, 0x0D, 1}};
|
|
/*0x1801*/ const CO_OD_entryRecord_t OD_record1801[7] = {
|
|
{(void*)&CO_OD_ROM.TPDOCommunicationParameter[1].maxSubIndex, 0x05, 1},
|
|
{(void*)&CO_OD_ROM.TPDOCommunicationParameter[1].COB_IDUsedByTPDO, 0x8D, 4},
|
|
{(void*)&CO_OD_ROM.TPDOCommunicationParameter[1].transmissionType, 0x0D, 1},
|
|
{(void*)&CO_OD_ROM.TPDOCommunicationParameter[1].inhibitTime, 0x8D, 2},
|
|
{(void*)&CO_OD_ROM.TPDOCommunicationParameter[1].compatibilityEntry, 0x0D, 1},
|
|
{(void*)&CO_OD_ROM.TPDOCommunicationParameter[1].eventTimer, 0x8D, 2},
|
|
{(void*)&CO_OD_ROM.TPDOCommunicationParameter[1].SYNCStartValue, 0x0D, 1}};
|
|
/*0x1802*/ const CO_OD_entryRecord_t OD_record1802[7] = {
|
|
{(void*)&CO_OD_ROM.TPDOCommunicationParameter[2].maxSubIndex, 0x05, 1},
|
|
{(void*)&CO_OD_ROM.TPDOCommunicationParameter[2].COB_IDUsedByTPDO, 0x8D, 4},
|
|
{(void*)&CO_OD_ROM.TPDOCommunicationParameter[2].transmissionType, 0x0D, 1},
|
|
{(void*)&CO_OD_ROM.TPDOCommunicationParameter[2].inhibitTime, 0x8D, 2},
|
|
{(void*)&CO_OD_ROM.TPDOCommunicationParameter[2].compatibilityEntry, 0x0D, 1},
|
|
{(void*)&CO_OD_ROM.TPDOCommunicationParameter[2].eventTimer, 0x8D, 2},
|
|
{(void*)&CO_OD_ROM.TPDOCommunicationParameter[2].SYNCStartValue, 0x0D, 1}};
|
|
/*0x1803*/ const CO_OD_entryRecord_t OD_record1803[7] = {
|
|
{(void*)&CO_OD_ROM.TPDOCommunicationParameter[3].maxSubIndex, 0x05, 1},
|
|
{(void*)&CO_OD_ROM.TPDOCommunicationParameter[3].COB_IDUsedByTPDO, 0x8D, 4},
|
|
{(void*)&CO_OD_ROM.TPDOCommunicationParameter[3].transmissionType, 0x0D, 1},
|
|
{(void*)&CO_OD_ROM.TPDOCommunicationParameter[3].inhibitTime, 0x8D, 2},
|
|
{(void*)&CO_OD_ROM.TPDOCommunicationParameter[3].compatibilityEntry, 0x0D, 1},
|
|
{(void*)&CO_OD_ROM.TPDOCommunicationParameter[3].eventTimer, 0x8D, 2},
|
|
{(void*)&CO_OD_ROM.TPDOCommunicationParameter[3].SYNCStartValue, 0x0D, 1}};
|
|
/*0x1A00*/ const CO_OD_entryRecord_t OD_record1A00[9] = {
|
|
{(void*)&CO_OD_ROM.TPDOMappingParameter[0].numberOfMappedObjects, 0x0D, 1},
|
|
{(void*)&CO_OD_ROM.TPDOMappingParameter[0].mappedObject1, 0x8D, 4},
|
|
{(void*)&CO_OD_ROM.TPDOMappingParameter[0].mappedObject2, 0x8D, 4},
|
|
{(void*)&CO_OD_ROM.TPDOMappingParameter[0].mappedObject3, 0x8D, 4},
|
|
{(void*)&CO_OD_ROM.TPDOMappingParameter[0].mappedObject4, 0x8D, 4},
|
|
{(void*)&CO_OD_ROM.TPDOMappingParameter[0].mappedObject5, 0x8D, 4},
|
|
{(void*)&CO_OD_ROM.TPDOMappingParameter[0].mappedObject6, 0x8D, 4},
|
|
{(void*)&CO_OD_ROM.TPDOMappingParameter[0].mappedObject7, 0x8D, 4},
|
|
{(void*)&CO_OD_ROM.TPDOMappingParameter[0].mappedObject8, 0x8D, 4}};
|
|
/*0x1A01*/ const CO_OD_entryRecord_t OD_record1A01[9] = {
|
|
{(void*)&CO_OD_ROM.TPDOMappingParameter[1].numberOfMappedObjects, 0x0D, 1},
|
|
{(void*)&CO_OD_ROM.TPDOMappingParameter[1].mappedObject1, 0x8D, 4},
|
|
{(void*)&CO_OD_ROM.TPDOMappingParameter[1].mappedObject2, 0x8D, 4},
|
|
{(void*)&CO_OD_ROM.TPDOMappingParameter[1].mappedObject3, 0x8D, 4},
|
|
{(void*)&CO_OD_ROM.TPDOMappingParameter[1].mappedObject4, 0x8D, 4},
|
|
{(void*)&CO_OD_ROM.TPDOMappingParameter[1].mappedObject5, 0x8D, 4},
|
|
{(void*)&CO_OD_ROM.TPDOMappingParameter[1].mappedObject6, 0x8D, 4},
|
|
{(void*)&CO_OD_ROM.TPDOMappingParameter[1].mappedObject7, 0x8D, 4},
|
|
{(void*)&CO_OD_ROM.TPDOMappingParameter[1].mappedObject8, 0x8D, 4}};
|
|
/*0x1A02*/ const CO_OD_entryRecord_t OD_record1A02[9] = {
|
|
{(void*)&CO_OD_ROM.TPDOMappingParameter[2].numberOfMappedObjects, 0x0D, 1},
|
|
{(void*)&CO_OD_ROM.TPDOMappingParameter[2].mappedObject1, 0x8D, 4},
|
|
{(void*)&CO_OD_ROM.TPDOMappingParameter[2].mappedObject2, 0x8D, 4},
|
|
{(void*)&CO_OD_ROM.TPDOMappingParameter[2].mappedObject3, 0x8D, 4},
|
|
{(void*)&CO_OD_ROM.TPDOMappingParameter[2].mappedObject4, 0x8D, 4},
|
|
{(void*)&CO_OD_ROM.TPDOMappingParameter[2].mappedObject5, 0x8D, 4},
|
|
{(void*)&CO_OD_ROM.TPDOMappingParameter[2].mappedObject6, 0x8D, 4},
|
|
{(void*)&CO_OD_ROM.TPDOMappingParameter[2].mappedObject7, 0x8D, 4},
|
|
{(void*)&CO_OD_ROM.TPDOMappingParameter[2].mappedObject8, 0x8D, 4}};
|
|
/*0x1A03*/ const CO_OD_entryRecord_t OD_record1A03[9] = {
|
|
{(void*)&CO_OD_ROM.TPDOMappingParameter[3].numberOfMappedObjects, 0x0D, 1},
|
|
{(void*)&CO_OD_ROM.TPDOMappingParameter[3].mappedObject1, 0x8D, 4},
|
|
{(void*)&CO_OD_ROM.TPDOMappingParameter[3].mappedObject2, 0x8D, 4},
|
|
{(void*)&CO_OD_ROM.TPDOMappingParameter[3].mappedObject3, 0x8D, 4},
|
|
{(void*)&CO_OD_ROM.TPDOMappingParameter[3].mappedObject4, 0x8D, 4},
|
|
{(void*)&CO_OD_ROM.TPDOMappingParameter[3].mappedObject5, 0x8D, 4},
|
|
{(void*)&CO_OD_ROM.TPDOMappingParameter[3].mappedObject6, 0x8D, 4},
|
|
{(void*)&CO_OD_ROM.TPDOMappingParameter[3].mappedObject7, 0x8D, 4},
|
|
{(void*)&CO_OD_ROM.TPDOMappingParameter[3].mappedObject8, 0x8D, 4}};
|
|
/*0x2120*/ const CO_OD_entryRecord_t OD_record2120[6] = {
|
|
{(void*)&CO_OD_RAM.testVar.maxSubIndex, 0x06, 1},
|
|
{(void*)&CO_OD_RAM.testVar.I64, 0xBE, 8},
|
|
{(void*)&CO_OD_RAM.testVar.U64, 0xBE, 8},
|
|
{(void*)&CO_OD_RAM.testVar.R32, 0xBE, 4},
|
|
{(void*)&CO_OD_RAM.testVar.R64, 0xBE, 8},
|
|
{0, 0x0E, 0}};
|
|
|
|
|
|
/*******************************************************************************
|
|
OBJECT DICTIONARY
|
|
*******************************************************************************/
|
|
const CO_OD_entry_t CO_OD[CO_OD_NoOfElements] = {
|
|
{0x1000, 0x00, 0x85, 4, (void*)&CO_OD_ROM.deviceType},
|
|
{0x1001, 0x00, 0x36, 1, (void*)&CO_OD_RAM.errorRegister},
|
|
{0x1002, 0x00, 0xB6, 4, (void*)&CO_OD_RAM.manufacturerStatusRegister},
|
|
{0x1003, 0x08, 0x8E, 4, (void*)&CO_OD_RAM.preDefinedErrorField[0]},
|
|
{0x1005, 0x00, 0x8D, 4, (void*)&CO_OD_ROM.COB_ID_SYNCMessage},
|
|
{0x1006, 0x00, 0x8D, 4, (void*)&CO_OD_ROM.communicationCyclePeriod},
|
|
{0x1007, 0x00, 0x8D, 4, (void*)&CO_OD_ROM.synchronousWindowLength},
|
|
{0x1008, 0x00, 0x05, 11, (void*)&CO_OD_ROM.manufacturerDeviceName[0]},
|
|
{0x1009, 0x00, 0x05, 4, (void*)&CO_OD_ROM.manufacturerHardwareVersion[0]},
|
|
{0x100A, 0x00, 0x05, 4, (void*)&CO_OD_ROM.manufacturerSoftwareVersion[0]},
|
|
{0x1010, 0x01, 0x8E, 4, (void*)&CO_OD_RAM.storeParameters[0]},
|
|
{0x1011, 0x01, 0x8E, 4, (void*)&CO_OD_RAM.restoreDefaultParameters[0]},
|
|
{0x1014, 0x00, 0x85, 4, (void*)&CO_OD_ROM.COB_ID_EMCY},
|
|
{0x1015, 0x00, 0x8D, 2, (void*)&CO_OD_ROM.inhibitTimeEMCY},
|
|
{0x1016, 0x04, 0x8D, 4, (void*)&CO_OD_ROM.consumerHeartbeatTime[0]},
|
|
{0x1017, 0x00, 0x8D, 2, (void*)&CO_OD_ROM.producerHeartbeatTime},
|
|
{0x1018, 0x04, 0x00, 0, (void*)&OD_record1018},
|
|
{0x1019, 0x00, 0x0D, 1, (void*)&CO_OD_ROM.synchronousCounterOverflowValue},
|
|
{0x1029, 0x06, 0x0D, 1, (void*)&CO_OD_ROM.errorBehavior[0]},
|
|
{0x1200, 0x02, 0x00, 0, (void*)&OD_record1200},
|
|
{0x1400, 0x02, 0x00, 0, (void*)&OD_record1400},
|
|
{0x1401, 0x02, 0x00, 0, (void*)&OD_record1401},
|
|
{0x1402, 0x02, 0x00, 0, (void*)&OD_record1402},
|
|
{0x1403, 0x02, 0x00, 0, (void*)&OD_record1403},
|
|
{0x1600, 0x08, 0x00, 0, (void*)&OD_record1600},
|
|
{0x1601, 0x08, 0x00, 0, (void*)&OD_record1601},
|
|
{0x1602, 0x08, 0x00, 0, (void*)&OD_record1602},
|
|
{0x1603, 0x08, 0x00, 0, (void*)&OD_record1603},
|
|
{0x1800, 0x06, 0x00, 0, (void*)&OD_record1800},
|
|
{0x1801, 0x06, 0x00, 0, (void*)&OD_record1801},
|
|
{0x1802, 0x06, 0x00, 0, (void*)&OD_record1802},
|
|
{0x1803, 0x06, 0x00, 0, (void*)&OD_record1803},
|
|
{0x1A00, 0x08, 0x00, 0, (void*)&OD_record1A00},
|
|
{0x1A01, 0x08, 0x00, 0, (void*)&OD_record1A01},
|
|
{0x1A02, 0x08, 0x00, 0, (void*)&OD_record1A02},
|
|
{0x1A03, 0x08, 0x00, 0, (void*)&OD_record1A03},
|
|
{0x1F80, 0x00, 0x8D, 4, (void*)&CO_OD_ROM.NMTStartup},
|
|
{0x2100, 0x00, 0x36, 10, (void*)&CO_OD_RAM.errorStatusBits[0]},
|
|
{0x2101, 0x00, 0x0D, 1, (void*)&CO_OD_ROM.CANNodeID},
|
|
{0x2102, 0x00, 0x8D, 2, (void*)&CO_OD_ROM.CANBitRate},
|
|
{0x2103, 0x00, 0x8E, 2, (void*)&CO_OD_RAM.SYNCCounter},
|
|
{0x2104, 0x00, 0x86, 2, (void*)&CO_OD_RAM.SYNCTime},
|
|
{0x2106, 0x00, 0x87, 4, (void*)&CO_OD_EEPROM.powerOnCounter},
|
|
{0x2107, 0x05, 0xBE, 2, (void*)&CO_OD_RAM.performance[0]},
|
|
{0x2108, 0x01, 0xB6, 2, (void*)&CO_OD_RAM.temperature[0]},
|
|
{0x2109, 0x01, 0xB6, 2, (void*)&CO_OD_RAM.voltage[0]},
|
|
{0x2110, 0x10, 0xFE, 4, (void*)&CO_OD_RAM.variableInt32[0]},
|
|
{0x2111, 0x10, 0xFD, 4, (void*)&CO_OD_ROM.variableROMInt32[0]},
|
|
{0x2112, 0x10, 0xFF, 4, (void*)&CO_OD_EEPROM.variableNVInt32[0]},
|
|
{0x2120, 0x05, 0x00, 0, (void*)&OD_record2120},
|
|
{0x6000, 0x08, 0x76, 1, (void*)&CO_OD_RAM.readInput8Bit[0]},
|
|
{0x6200, 0x08, 0x3E, 1, (void*)&CO_OD_RAM.writeOutput8Bit[0]},
|
|
{0x6401, 0x0C, 0xB6, 2, (void*)&CO_OD_RAM.readAnalogueInput16Bit[0]},
|
|
{0x6411, 0x08, 0xBE, 2, (void*)&CO_OD_RAM.writeAnalogueOutput16Bit[0]},
|
|
};
|