// Process Image File
// Generated by CANopen Architect Professional 7.10.5820 on 11/05/2020 09:16:30
// Generated from project C:\Users\Olaf\Desktop\IMXRT1064-EVK-CanFD-Demo\ThirdParty\MCUXpressoSDK\mco_config\EDS\CANopen_NXP_SDK_Device.cax
// Generated from EDS 'CANopen_NXP_SDK_Accel' 05-11-2020 09:15AM 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       2

// Maximum number of transmit PDOs
#define NR_OF_TPDOS       2

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

// device type
#define OD_DEVICE_TYPE    0x00000191L

// 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   0xC0DE0010L
#define OD_REVISION       0x20190925L
#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

// [2222,00] Unsigned32
#define P222200_Counter 0x00000000
#define PCounter_222200 P222200_Counter
#define P222200 P222200_Counter
#define P0x22220x00 P222200_Counter
// The uppercase versions are deprecated
#define P222200_COUNTER P222200_Counter
#define PCOUNTER_222200 P222200_Counter
// [6411,01] Integer16
#define P641101_Pos_X 0x00000004
#define PPos_X_641101 P641101_Pos_X
#define P641101 P641101_Pos_X
#define P0x64110x01 P641101_Pos_X
// The uppercase versions are deprecated
#define P641101_POS_X P641101_Pos_X
#define PPOS_X_641101 P641101_Pos_X
// [6411,02] Integer16
#define P641102_Pos_Y 0x00000006
#define PPos_Y_641102 P641102_Pos_Y
#define P641102 P641102_Pos_Y
#define P0x64110x02 P641102_Pos_Y
// The uppercase versions are deprecated
#define P641102_POS_Y P641102_Pos_Y
#define PPOS_Y_641102 P641102_Pos_Y
// [6411,03] Integer16
#define P641103_Pos_Z 0x00000008
#define PPos_Z_641103 P641103_Pos_Z
#define P641103 P641103_Pos_Z
#define P0x64110x03 P641103_Pos_Z
// The uppercase versions are deprecated
#define P641103_POS_Z P641103_Pos_Z
#define PPOS_Z_641103 P641103_Pos_Z
// [6000,01] Unsigned8
#define P600001_DigInput8_1 0x0000000C
#define PDigInput8_1_600001 P600001_DigInput8_1
#define P600001 P600001_DigInput8_1
#define P0x60000x01 P600001_DigInput8_1
// The uppercase versions are deprecated
#define P600001_DIGINPUT8_1 P600001_DigInput8_1
#define PDIGINPUT8_1_600001 P600001_DigInput8_1
// [6000,02] Unsigned8
#define P600002_DigInput8_2 0x0000000D
#define PDigInput8_2_600002 P600002_DigInput8_2
#define P600002 P600002_DigInput8_2
#define P0x60000x02 P600002_DigInput8_2
// The uppercase versions are deprecated
#define P600002_DIGINPUT8_2 P600002_DigInput8_2
#define PDIGINPUT8_2_600002 P600002_DigInput8_2
// [6000,03] Unsigned8
#define P600003_DigInput8_3 0x0000000E
#define PDigInput8_3_600003 P600003_DigInput8_3
#define P600003 P600003_DigInput8_3
#define P0x60000x03 P600003_DigInput8_3
// The uppercase versions are deprecated
#define P600003_DIGINPUT8_3 P600003_DigInput8_3
#define PDIGINPUT8_3_600003 P600003_DigInput8_3
// [6000,04] Unsigned8
#define P600004_DigInput8_4 0x0000000F
#define PDigInput8_4_600004 P600004_DigInput8_4
#define P600004 P600004_DigInput8_4
#define P0x60000x04 P600004_DigInput8_4
// The uppercase versions are deprecated
#define P600004_DIGINPUT8_4 P600004_DigInput8_4
#define PDIGINPUT8_4_600004 P600004_DigInput8_4
// [6401,01] Integer16
#define P640101_AnalogInput16_1 0x00000010
#define PAnalogInput16_1_640101 P640101_AnalogInput16_1
#define P640101 P640101_AnalogInput16_1
#define P0x64010x01 P640101_AnalogInput16_1
// The uppercase versions are deprecated
#define P640101_ANALOGINPUT16_1 P640101_AnalogInput16_1
#define PANALOGINPUT16_1_640101 P640101_AnalogInput16_1
// [6401,02] Integer16
#define P640102_AnalogInput16_2 0x00000012
#define PAnalogInput16_2_640102 P640102_AnalogInput16_2
#define P640102 P640102_AnalogInput16_2
#define P0x64010x02 P640102_AnalogInput16_2
// The uppercase versions are deprecated
#define P640102_ANALOGINPUT16_2 P640102_AnalogInput16_2
#define PANALOGINPUT16_2_640102 P640102_AnalogInput16_2
// [1002,00] Unsigned32
#define P100200_Manufacturer_Status_Register 0x00000014
#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 0x00000018
#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 0x00000037
#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 0x00000049
#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
// [6200,01] Unsigned8
#define P620001_DigOutput8_1 0x00000061
#define PDigOutput8_1_620001 P620001_DigOutput8_1
#define P620001 P620001_DigOutput8_1
#define P0x62000x01 P620001_DigOutput8_1
// The uppercase versions are deprecated
#define P620001_DIGOUTPUT8_1 P620001_DigOutput8_1
#define PDIGOUTPUT8_1_620001 P620001_DigOutput8_1
// [6200,02] Unsigned8
#define P620002_DigOutput8_2 0x00000062
#define PDigOutput8_2_620002 P620002_DigOutput8_2
#define P620002 P620002_DigOutput8_2
#define P0x62000x02 P620002_DigOutput8_2
// The uppercase versions are deprecated
#define P620002_DIGOUTPUT8_2 P620002_DigOutput8_2
#define PDIGOUTPUT8_2_620002 P620002_DigOutput8_2
// [6200,03] Unsigned8
#define P620003_DigOutput8_3 0x00000063
#define PDigOutput8_3_620003 P620003_DigOutput8_3
#define P620003 P620003_DigOutput8_3
#define P0x62000x03 P620003_DigOutput8_3
// The uppercase versions are deprecated
#define P620003_DIGOUTPUT8_3 P620003_DigOutput8_3
#define PDIGOUTPUT8_3_620003 P620003_DigOutput8_3
// [6200,04] Unsigned8
#define P620004_DigOutput8_4 0x00000064
#define PDigOutput8_4_620004 P620004_DigOutput8_4
#define P620004 P620004_DigOutput8_4
#define P0x62000x04 P620004_DigOutput8_4
// The uppercase versions are deprecated
#define P620004_DIGOUTPUT8_4 P620004_DigOutput8_4
#define PDIGOUTPUT8_4_620004 P620004_DigOutput8_4

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

// sizes for entries in the process image in bytes
#define SIZEOF_2222_00_COUNTER 4
#define SIZEOF_6411_01_POS_X 2
#define SIZEOF_6411_02_POS_Y 2
#define SIZEOF_6411_03_POS_Z 2
#define SIZEOF_6000_01_DIGINPUT8_1 1
#define SIZEOF_6000_02_DIGINPUT8_2 1
#define SIZEOF_6000_03_DIGINPUT8_3 1
#define SIZEOF_6000_04_DIGINPUT8_4 1
#define SIZEOF_6401_01_ANALOGINPUT16_1 2
#define SIZEOF_6401_02_ANALOGINPUT16_2 2
#define SIZEOF_1002_00_MANUFACTURER_STATUS_REGISTER 4
#define SIZEOF_1008_00_MANUFACTURER_DEVICE_NAME 31
#define SIZEOF_1009_00_MANUFACTURER_HARDWARE_VERSION 18
#define SIZEOF_100A_00_MANUFACTURER_SOFTWARE_VERSION 24
#define SIZEOF_6200_01_DIGOUTPUT8_1 1
#define SIZEOF_6200_02_DIGOUTPUT8_2 1
#define SIZEOF_6200_03_DIGOUTPUT8_3 1
#define SIZEOF_6200_04_DIGOUTPUT8_4 1

// default values for process image
#define PIMGDEFAULTS { \
/*[2222,00]*/        0x00, 0x00, 0x00, 0x00, \
/*[6411,01]*/        0x00, 0x00, \
/*[6411,02]*/        0x00, 0x00, \
/*[6411,03]*/        0x00, 0x00, \
/* padding */        0x00, 0x00, \
/*[6000,01]*/        0x12, \
/*[6000,02]*/        0x23, \
/*[6000,03]*/        0x34, \
/*[6000,04]*/        0x45, \
/*[6401,01]*/        0xDC, 0xFE, \
/*[6401,02]*/        0xCB, 0xED, \
/*[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, 0x43, 0x69, 0x41, \
                     0x34, 0x30, 0x31, 0x20, 0x45, 0x78, 0x61, 0x6D, 0x70, 0x6C, \
                     0x65, \
/*[1009,00]*/        0x53, 0x6F, 0x6D, 0x65, 0x20, 0x4E, 0x58, 0x50, 0x20, 0x45, \
                     0x76, 0x61, 0x6C, 0x62, 0x6F, 0x61, 0x72, 0x64, \
/*[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, \
/*[6200,01]*/        0x00, \
/*[6200,02]*/        0x00, \
/*[6200,03]*/        0x00, \
/*[6200,04]*/        0x00, \
                     }

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

// minimum values for process image
#define PIMGMINS { \
/*[2222,00]*/        0x00, 0x00, 0x00, 0x00, \
/*[6411,01]*/        0x00, 0x00, \
/*[6411,02]*/        0x00, 0x00, \
/*[6411,03]*/        0x00, 0x00, \
/* padding */        0x00, 0x00, \
/*[6000,01]*/        0x00, \
/*[6000,02]*/        0x00, \
/*[6000,03]*/        0x00, \
/*[6000,04]*/        0x00, \
/*[6401,01]*/        0x00, 0x00, \
/*[6401,02]*/        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, \
/*[6200,01]*/        0x00, \
/*[6200,02]*/        0x00, \
/*[6200,03]*/        0x00, \
/*[6200,04]*/        0x00, \
                     }

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

// maximum values for process image
#define PIMGMAXS { \
/*[2222,00]*/        0x00, 0x00, 0x00, 0x00, \
/*[6411,01]*/        0x00, 0x00, \
/*[6411,02]*/        0x00, 0x00, \
/*[6411,03]*/        0x00, 0x00, \
/* padding */        0x00, 0x00, \
/*[6000,01]*/        0x00, \
/*[6000,02]*/        0x00, \
/*[6000,03]*/        0x00, \
/*[6000,04]*/        0x00, \
/*[6401,01]*/        0x00, 0x00, \
/*[6401,02]*/        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, \
/*[6200,01]*/        0x00, \
/*[6200,02]*/        0x00, \
/*[6200,03]*/        0x00, \
/*[6200,04]*/        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_
