// Process Image File
// Generated by CANopen Architect Professional 8.21.5844 on 5/12/2020 12:01:55 PM
// Generated from project E:\ESA_new\MicroCANopenPlus\trunk\MCO_CiA401_LPC54xxx_MCUX_SDK\Example-Config\EDS-Accel\CANopen_NXP_SDK_Accel_Device.cax
// Generated from EDS 'CANopen_NXP_SDK_Accel' 05-12-2020 12:00PM by Pf
// Use with MicroCANopen Plus CANopen stack
// For more information visit www.esacademy.com and www.microcanopen.com

// Check for warnings below before using this file

#ifndef _PIMGH_
#define _PIMGH_

// EDS configuration usage
// 1 = configuration was used when this file was generated
#define EDSCONFIGURATION_ALL_ENTRIES 1

// EDS group usage
// 1 = group was used when this file was generated

// set to 1 to use this stack config
#define AUTO_GENERATED_STACK_CONFIG 1

#if (AUTO_GENERATED_STACK_CONFIG == 1)
// stack configuration

// if no stack version defined then assume version 5.xx
#ifndef _MCOPVERSION_
#define _MCOPVERSION_ 5
#endif

// Maximum number of receive PDOs
#define NR_OF_RPDOS       1

// Maximum number of transmit PDOs
#define NR_OF_TPDOS       2

// Default Node ID of this node
#if _MCOPVERSION_ >= 6
#define NODEID_DCF         0x03
#define DEFAULT_EMCY_COBID 0x00000080L + NODEID_DCF
#else
#define NODE_ID            0x03
#define DEFAULT_EMCY_COBID 0x00000080L + NODE_ID
#endif

// device type
#define OD_DEVICE_TYPE    0x00000000L

// Identity Object data [1018]
// Note: the values in Device -> Information are not used for this piece of code,
// only the values in [1018] are used
#define OD_VENDOR_ID      0xAF0002DCL
#define OD_PRODUCT_CODE   0xC0DE0021L
#define OD_REVISION       0x20200417L
#define OD_SERIAL_NUMBER  0x00000000L

// Specify the default heartbeat here
#define DEFAULT_HEARTBEAT 1000

// Defines the maximum number of heartbeat consumers
#define NR_OF_HB_CONSUMER 3

// Defines the maximum number of emergency consumers
#define NR_OF_EMCY_CONSUMERS 0

// Defines the emergency inhibit time (x100us)
#define EMCY_INHIBIT_TIME 100

#endif // AUTO_GENERATED_STACK_CONFIG == 1

// [6200,01] Unsigned8
#define P620001_CommandByte 0x00000000
#define PCommandByte_620001 P620001_CommandByte
#define P620001 P620001_CommandByte
#define P0x62000x01 P620001_CommandByte
// The uppercase versions are deprecated
#define P620001_COMMANDBYTE P620001_CommandByte
#define PCOMMANDBYTE_620001 P620001_CommandByte
// [2200,00] Unsigned32
#define P220000_LoopCount 0x00000004
#define PLoopCount_220000 P220000_LoopCount
#define P220000 P220000_LoopCount
#define P0x22000x00 P220000_LoopCount
// The uppercase versions are deprecated
#define P220000_LOOPCOUNT P220000_LoopCount
#define PLOOPCOUNT_220000 P220000_LoopCount
// [6401,01] Integer16
#define P640101_PosX 0x00000008
#define PPosX_640101 P640101_PosX
#define P640101 P640101_PosX
#define P0x64010x01 P640101_PosX
// The uppercase versions are deprecated
#define P640101_POSX P640101_PosX
#define PPOSX_640101 P640101_PosX
// [6401,02] Integer16
#define P640102_PosY 0x0000000A
#define PPosY_640102 P640102_PosY
#define P640102 P640102_PosY
#define P0x64010x02 P640102_PosY
// The uppercase versions are deprecated
#define P640102_POSY P640102_PosY
#define PPOSY_640102 P640102_PosY
// [6401,03] Integer16
#define P640103_PosZ 0x0000000C
#define PPosZ_640103 P640103_PosZ
#define P640103 P640103_PosZ
#define P0x64010x03 P640103_PosZ
// The uppercase versions are deprecated
#define P640103_POSZ P640103_PosZ
#define PPOSZ_640103 P640103_PosZ
// [1002,00] Unsigned32
#define P100200_Manufacturer_Status_Register 0x00000010
#define PManufacturer_Status_Register_100200 P100200_Manufacturer_Status_Register
#define P100200 P100200_Manufacturer_Status_Register
#define P0x10020x00 P100200_Manufacturer_Status_Register
// The uppercase versions are deprecated
#define P100200_MANUFACTURER_STATUS_REGISTER P100200_Manufacturer_Status_Register
#define PMANUFACTURER_STATUS_REGISTER_100200 P100200_Manufacturer_Status_Register
// [1008,00] VisibleString
#define P100800_Manufacturer_Device_Name 0x00000014
#define PManufacturer_Device_Name_100800 P100800_Manufacturer_Device_Name
#define P100800 P100800_Manufacturer_Device_Name
#define P0x10080x00 P100800_Manufacturer_Device_Name
// The uppercase versions are deprecated
#define P100800_MANUFACTURER_DEVICE_NAME P100800_Manufacturer_Device_Name
#define PMANUFACTURER_DEVICE_NAME_100800 P100800_Manufacturer_Device_Name
// [1009,00] VisibleString
#define P100900_Manufacturer_Hardware_Version 0x0000003A
#define PManufacturer_Hardware_Version_100900 P100900_Manufacturer_Hardware_Version
#define P100900 P100900_Manufacturer_Hardware_Version
#define P0x10090x00 P100900_Manufacturer_Hardware_Version
// The uppercase versions are deprecated
#define P100900_MANUFACTURER_HARDWARE_VERSION P100900_Manufacturer_Hardware_Version
#define PMANUFACTURER_HARDWARE_VERSION_100900 P100900_Manufacturer_Hardware_Version
// [100A,00] VisibleString
#define P100A00_Manufacturer_Software_Version 0x00000046
#define PManufacturer_Software_Version_100A00 P100A00_Manufacturer_Software_Version
#define P100A00 P100A00_Manufacturer_Software_Version
#define P0x100A0x00 P100A00_Manufacturer_Software_Version
// The uppercase versions are deprecated
#define P100A00_MANUFACTURER_SOFTWARE_VERSION P100A00_Manufacturer_Software_Version
#define PMANUFACTURER_SOFTWARE_VERSION_100A00 P100A00_Manufacturer_Software_Version
// [2010,00] VisibleString
#define P201000_128byte_Buffer_Segmentation_Test 0x0000005E
#define P128byte_Buffer_Segmentation_Test_201000 P201000_128byte_Buffer_Segmentation_Test
#define P201000 P201000_128byte_Buffer_Segmentation_Test
#define P0x20100x00 P201000_128byte_Buffer_Segmentation_Test
// The uppercase versions are deprecated
#define P201000_128BYTE_BUFFER_SEGMENTATION_TEST P201000_128byte_Buffer_Segmentation_Test
#define P128BYTE_BUFFER_SEGMENTATION_TEST_201000 P201000_128byte_Buffer_Segmentation_Test

// last byte used in process image
#define PIMGEND 0x000000DD

// sizes for entries in the process image in bytes
#define SIZEOF_6200_01_COMMANDBYTE 1
#define SIZEOF_2200_00_LOOPCOUNT 4
#define SIZEOF_6401_01_POSX 2
#define SIZEOF_6401_02_POSY 2
#define SIZEOF_6401_03_POSZ 2
#define SIZEOF_1002_00_MANUFACTURER_STATUS_REGISTER 4
#define SIZEOF_1008_00_MANUFACTURER_DEVICE_NAME 38
#define SIZEOF_1009_00_MANUFACTURER_HARDWARE_VERSION 12
#define SIZEOF_100A_00_MANUFACTURER_SOFTWARE_VERSION 24
#define SIZEOF_2010_00_128BYTE_BUFFER_SEGMENTATION_TEST 128

// default values for process image
#define PIMGDEFAULTS { \
/*[6200,01]*/        0x00, \
/* padding */        0x00, 0x00, 0x00, \
/*[2200,00]*/        0x00, 0x00, 0x00, 0x00, \
/*[6401,01]*/        0x34, 0x12, \
/*[6401,02]*/        0x45, 0x23, \
/*[6401,03]*/        0x56, 0x34, \
/* padding */        0x00, 0x00, \
/*[1002,00]*/        0x00, 0x00, 0x00, 0x00, \
/*[1008,00]*/        0x43, 0x41, 0x4E, 0x6F, 0x70, 0x65, 0x6E, 0x4C, 0x69, 0x62, \
                     0x4E, 0x58, 0x50, 0x53, 0x44, 0x4B, 0x20, 0x41, 0x63, 0x63, \
                     0x65, 0x6C, 0x65, 0x72, 0x6F, 0x6D, 0x65, 0x74, 0x65, 0x72, \
                     0x20, 0x45, 0x78, 0x61, 0x6D, 0x70, 0x6C, 0x65, \
/*[1009,00]*/        0x4C, 0x50, 0x43, 0x35, 0x35, 0x53, 0x31, 0x36, 0x2D, 0x45, \
                     0x56, 0x4B, \
/*[100A,00]*/        0x45, 0x6D, 0x53, 0x41, 0x20, 0x4D, 0x43, 0x4F, 0x50, 0x20, \
                     0x37, 0x2E, 0x30, 0x20, 0x32, 0x30, 0x31, 0x39, 0x2D, 0x30, \
                     0x39, 0x2D, 0x32, 0x35, \
/*[2010,00]*/        0x54, 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, 0x20, 0x61, 0x20, \
                     0x31, 0x32, 0x38, 0x20, 0x62, 0x79, 0x74, 0x65, 0x20, 0x6C, \
                     0x6F, 0x6E, 0x67, 0x20, 0x74, 0x65, 0x73, 0x74, 0x20, 0x73, \
                     0x74, 0x72, 0x69, 0x6E, 0x67, 0x20, 0x66, 0x6F, 0x72, 0x20, \
                     0x74, 0x68, 0x65, 0x20, 0x4E, 0x58, 0x50, 0x20, 0x4D, 0x43, \
                     0x55, 0x58, 0x70, 0x72, 0x65, 0x73, 0x73, 0x6F, 0x20, 0x53, \
                     0x44, 0x4B, 0x20, 0x4D, 0x69, 0x63, 0x72, 0x6F, 0x20, 0x43, \
                     0x41, 0x4E, 0x6F, 0x70, 0x65, 0x6E, 0x20, 0x46, 0x44, 0x20, \
                     0x64, 0x65, 0x6D, 0x6F, 0x20, 0x62, 0x79, 0x20, 0x45, 0x6D, \
                     0x62, 0x65, 0x64, 0x64, 0x65, 0x64, 0x20, 0x53, 0x79, 0x73, \
                     0x74, 0x65, 0x6D, 0x73, 0x20, 0x41, 0x63, 0x61, 0x64, 0x65, \
                     0x6D, 0x79, 0x20, 0x28, 0x77, 0x77, 0x77, 0x2E, 0x65, 0x6D, \
                     0x2D, 0x73, 0x61, 0x2E, 0x63, 0x6F, 0x6D, 0x29, \
                     }

// 1 MACROS WERE GENERATED TO HOLD THE PROCESS IMAGE
// USE THE FOLLOWING INITIALIZER:
// PIMGDEFAULTS 

// minimum values for process image
#define PIMGMINS { \
/*[6200,01]*/        0x00, \
/* padding */        0x00, 0x00, 0x00, \
/*[2200,00]*/        0x00, 0x00, 0x00, 0x00, \
/*[6401,01]*/        0x00, 0x00, \
/*[6401,02]*/        0x00, 0x00, \
/*[6401,03]*/        0x00, 0x00, \
/* padding */        0x00, 0x00, \
/*[1002,00]*/        0x00, 0x00, 0x00, 0x00, \
/*[1008,00]*/        0x00, 0x00, 0x00, 0x00, \
/*[1009,00]*/        0x00, 0x00, 0x00, 0x00, \
/*[100A,00]*/        0x00, 0x00, 0x00, 0x00, \
/*[2010,00]*/        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
                     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
                     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
                     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
                     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
                     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
                     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
                     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
                     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
                     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
                     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
                     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
                     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
                     }

// 1 MACROS WERE GENERATED TO HOLD THE PROCESS IMAGE
// USE THE FOLLOWING INITIALIZER:
// PIMGMINS 

// maximum values for process image
#define PIMGMAXS { \
/*[6200,01]*/        0x00, \
/* padding */        0x00, 0x00, 0x00, \
/*[2200,00]*/        0x00, 0x00, 0x00, 0x00, \
/*[6401,01]*/        0x00, 0x00, \
/*[6401,02]*/        0x00, 0x00, \
/*[6401,03]*/        0x00, 0x00, \
/* padding */        0x00, 0x00, \
/*[1002,00]*/        0x00, 0x00, 0x00, 0x00, \
/*[1008,00]*/        0x00, 0x00, 0x00, 0x00, \
/*[1009,00]*/        0x00, 0x00, 0x00, 0x00, \
/*[100A,00]*/        0x00, 0x00, 0x00, 0x00, \
/*[2010,00]*/        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
                     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
                     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
                     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
                     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
                     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
                     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
                     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
                     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
                     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
                     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
                     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
                     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
                     }

// 1 MACROS WERE GENERATED TO HOLD THE PROCESS IMAGE
// USE THE FOLLOWING INITIALIZER:
// PIMGMAXS 

// Example usage: PIMG_OFFSET(0x1000, 0x00)
#define PIMG_OFFSET(index, subindex) P##index##subindex

#endif // _PIMGH_
