Added state machine for endurance test bench, CAN LSS not working

This commit is contained in:
AzureAD\AniketSaha 2025-02-21 10:12:31 +01:00
parent 10992a0b2a
commit 52ac4f0b1c
7 changed files with 1552 additions and 225 deletions

View File

@ -5,10 +5,10 @@ FileVersion=1.0
FileRevision=1.0
EDSVersion=4.0
Description=EDS
CreationTime=15:45PM
CreationDate=02-14-25
ModificationTime=15:45PM
ModificationDate=02-14-25
CreationTime=10:10PM
CreationDate=02-21-25
ModificationTime=10:10PM
ModificationDate=02-21-25
CreatedBy=Aniket Saha
ModifiedBy=Aniket Saha
@ -61,7 +61,7 @@ SupportedObjects=2
2=0x3000
[OptionalObjects]
SupportedObjects=33
SupportedObjects=51
1=0x1003
2=0x1008
3=0x1014
@ -73,28 +73,46 @@ SupportedObjects=33
9=0x1200
10=0x1280
11=0x1281
12=0x1400
13=0x1401
14=0x1402
15=0x1600
16=0x1601
17=0x1602
18=0x1800
19=0x1801
20=0x1802
21=0x1803
22=0x1804
23=0x1a00
24=0x1a01
25=0x1a02
26=0x1a03
27=0x1a04
28=0x6000
29=0x6001
30=0x6002
31=0x6003
32=0x6004
33=0x6005
12=0x1282
13=0x1283
14=0x1284
15=0x1285
16=0x1286
17=0x1287
18=0x1288
19=0x1289
20=0x128a
21=0x128b
22=0x128c
23=0x128d
24=0x128e
25=0x128f
26=0x1290
27=0x1291
28=0x1292
29=0x1293
30=0x1400
31=0x1401
32=0x1402
33=0x1600
34=0x1601
35=0x1602
36=0x1800
37=0x1801
38=0x1802
39=0x1803
40=0x1804
41=0x1a00
42=0x1a01
43=0x1a02
44=0x1a03
45=0x1a04
46=0x6000
47=0x6001
48=0x6002
49=0x6003
50=0x6004
51=0x6005
[1000]
ParameterName=Device Type
@ -159,7 +177,7 @@ DefaultValue=0x0
[1016]
ParameterName=Consumer Heartbeat Time
ObjectType=8
SubNumber=3
SubNumber=21
[1016sub0]
ParameterName=Number of entries
@ -167,7 +185,7 @@ ObjectType=7
DataType=5
AccessType=ro
PDOMapping=0
DefaultValue=2
DefaultValue=20
[1016sub1]
ParameterName=Consumer Heartbeat Time
@ -175,7 +193,7 @@ ObjectType=7
DataType=7
AccessType=rw
PDOMapping=0
DefaultValue=0x0000
DefaultValue=1000
[1016sub2]
ParameterName=Consumer Heartbeat Time
@ -183,7 +201,151 @@ ObjectType=7
DataType=7
AccessType=rw
PDOMapping=0
DefaultValue=0x0000
DefaultValue=1000
[1016sub3]
ParameterName=Consumer Heartbeat Time
ObjectType=7
DataType=7
AccessType=rw
PDOMapping=0
DefaultValue=1000
[1016sub4]
ParameterName=Consumer Heartbeat Time
ObjectType=7
DataType=7
AccessType=rw
PDOMapping=0
DefaultValue=1000
[1016sub5]
ParameterName=Consumer Heartbeat Time
ObjectType=7
DataType=7
AccessType=rw
PDOMapping=0
DefaultValue=1000
[1016sub6]
ParameterName=Consumer Heartbeat Time
ObjectType=7
DataType=7
AccessType=rw
PDOMapping=0
DefaultValue=1000
[1016sub7]
ParameterName=Consumer Heartbeat Time
ObjectType=7
DataType=7
AccessType=rw
PDOMapping=0
DefaultValue=1000
[1016sub8]
ParameterName=Consumer Heartbeat Time
ObjectType=7
DataType=7
AccessType=rw
PDOMapping=0
DefaultValue=1000
[1016sub9]
ParameterName=Consumer Heartbeat Time
ObjectType=7
DataType=7
AccessType=rw
PDOMapping=0
DefaultValue=1000
[1016suba]
ParameterName=Consumer Heartbeat Time
ObjectType=7
DataType=7
AccessType=rw
PDOMapping=0
DefaultValue=1000
[1016subb]
ParameterName=Consumer Heartbeat Time
ObjectType=7
DataType=7
AccessType=rw
PDOMapping=0
DefaultValue=1000
[1016subc]
ParameterName=Consumer Heartbeat Time
ObjectType=7
DataType=7
AccessType=rw
PDOMapping=0
DefaultValue=1000
[1016subd]
ParameterName=Consumer Heartbeat Time
ObjectType=7
DataType=7
AccessType=rw
PDOMapping=0
DefaultValue=1000
[1016sube]
ParameterName=Consumer Heartbeat Time
ObjectType=7
DataType=7
AccessType=rw
PDOMapping=0
DefaultValue=1000
[1016subf]
ParameterName=Consumer Heartbeat Time
ObjectType=7
DataType=7
AccessType=rw
PDOMapping=0
DefaultValue=1000
[1016sub10]
ParameterName=Consumer Heartbeat Time
ObjectType=7
DataType=7
AccessType=rw
PDOMapping=0
DefaultValue=1000
[1016sub11]
ParameterName=Consumer Heartbeat Time
ObjectType=7
DataType=7
AccessType=rw
PDOMapping=0
DefaultValue=1000
[1016sub12]
ParameterName=Consumer Heartbeat Time
ObjectType=7
DataType=7
AccessType=rw
PDOMapping=0
DefaultValue=1000
[1016sub13]
ParameterName=Consumer Heartbeat Time
ObjectType=7
DataType=7
AccessType=rw
PDOMapping=0
DefaultValue=1000
[1016sub14]
ParameterName=Consumer Heartbeat Time
ObjectType=7
DataType=7
AccessType=rw
PDOMapping=0
DefaultValue=1000
[1017]
ParameterName=Producer Heartbeat Time
@ -379,6 +541,672 @@ DataType=5
AccessType=rw
PDOMapping=0
[1282]
ParameterName=SDO client parameter
ObjectType=9
SubNumber=4
;;This objects contains the parameters for the SDO for which the CANopen device is the SDO client.
[1282sub0]
ParameterName=Highest sub-index supported
ObjectType=7
DataType=5
AccessType=const
PDOMapping=0
DefaultValue=3
[1282sub1]
ParameterName=COB-ID client -> server
ObjectType=7
DataType=7
AccessType=rw
PDOMapping=0
DefaultValue=0x80000000
[1282sub2]
ParameterName=COB-ID server -> client
ObjectType=7
DataType=7
AccessType=rw
PDOMapping=0
DefaultValue=0x80000000
[1282sub3]
ParameterName=Node-ID of the SDO server
ObjectType=7
DataType=5
AccessType=rw
PDOMapping=0
[1283]
ParameterName=SDO client parameter
ObjectType=9
SubNumber=4
;;This objects contains the parameters for the SDO for which the CANopen device is the SDO client.
[1283sub0]
ParameterName=Highest sub-index supported
ObjectType=7
DataType=5
AccessType=const
PDOMapping=0
DefaultValue=3
[1283sub1]
ParameterName=COB-ID client -> server
ObjectType=7
DataType=7
AccessType=rw
PDOMapping=0
DefaultValue=0x80000000
[1283sub2]
ParameterName=COB-ID server -> client
ObjectType=7
DataType=7
AccessType=rw
PDOMapping=0
DefaultValue=0x80000000
[1283sub3]
ParameterName=Node-ID of the SDO server
ObjectType=7
DataType=5
AccessType=rw
PDOMapping=0
[1284]
ParameterName=SDO client parameter
ObjectType=9
SubNumber=4
;;This objects contains the parameters for the SDO for which the CANopen device is the SDO client.
[1284sub0]
ParameterName=Highest sub-index supported
ObjectType=7
DataType=5
AccessType=const
PDOMapping=0
DefaultValue=3
[1284sub1]
ParameterName=COB-ID client -> server
ObjectType=7
DataType=7
AccessType=rw
PDOMapping=0
DefaultValue=0x80000000
[1284sub2]
ParameterName=COB-ID server -> client
ObjectType=7
DataType=7
AccessType=rw
PDOMapping=0
DefaultValue=0x80000000
[1284sub3]
ParameterName=Node-ID of the SDO server
ObjectType=7
DataType=5
AccessType=rw
PDOMapping=0
[1285]
ParameterName=SDO client parameter
ObjectType=9
SubNumber=4
;;This objects contains the parameters for the SDO for which the CANopen device is the SDO client.
[1285sub0]
ParameterName=Highest sub-index supported
ObjectType=7
DataType=5
AccessType=const
PDOMapping=0
DefaultValue=3
[1285sub1]
ParameterName=COB-ID client -> server
ObjectType=7
DataType=7
AccessType=rw
PDOMapping=0
DefaultValue=0x80000000
[1285sub2]
ParameterName=COB-ID server -> client
ObjectType=7
DataType=7
AccessType=rw
PDOMapping=0
DefaultValue=0x80000000
[1285sub3]
ParameterName=Node-ID of the SDO server
ObjectType=7
DataType=5
AccessType=rw
PDOMapping=0
[1286]
ParameterName=SDO client parameter
ObjectType=9
SubNumber=4
;;This objects contains the parameters for the SDO for which the CANopen device is the SDO client.
[1286sub0]
ParameterName=Highest sub-index supported
ObjectType=7
DataType=5
AccessType=const
PDOMapping=0
DefaultValue=3
[1286sub1]
ParameterName=COB-ID client -> server
ObjectType=7
DataType=7
AccessType=rw
PDOMapping=0
DefaultValue=0x80000000
[1286sub2]
ParameterName=COB-ID server -> client
ObjectType=7
DataType=7
AccessType=rw
PDOMapping=0
DefaultValue=0x80000000
[1286sub3]
ParameterName=Node-ID of the SDO server
ObjectType=7
DataType=5
AccessType=rw
PDOMapping=0
[1287]
ParameterName=SDO client parameter
ObjectType=9
SubNumber=4
;;This objects contains the parameters for the SDO for which the CANopen device is the SDO client.
[1287sub0]
ParameterName=Highest sub-index supported
ObjectType=7
DataType=5
AccessType=const
PDOMapping=0
DefaultValue=3
[1287sub1]
ParameterName=COB-ID client -> server
ObjectType=7
DataType=7
AccessType=rw
PDOMapping=0
DefaultValue=0x80000000
[1287sub2]
ParameterName=COB-ID server -> client
ObjectType=7
DataType=7
AccessType=rw
PDOMapping=0
DefaultValue=0x80000000
[1287sub3]
ParameterName=Node-ID of the SDO server
ObjectType=7
DataType=5
AccessType=rw
PDOMapping=0
[1288]
ParameterName=SDO client parameter
ObjectType=9
SubNumber=4
;;This objects contains the parameters for the SDO for which the CANopen device is the SDO client.
[1288sub0]
ParameterName=Highest sub-index supported
ObjectType=7
DataType=5
AccessType=const
PDOMapping=0
DefaultValue=3
[1288sub1]
ParameterName=COB-ID client -> server
ObjectType=7
DataType=7
AccessType=rw
PDOMapping=0
DefaultValue=0x80000000
[1288sub2]
ParameterName=COB-ID server -> client
ObjectType=7
DataType=7
AccessType=rw
PDOMapping=0
DefaultValue=0x80000000
[1288sub3]
ParameterName=Node-ID of the SDO server
ObjectType=7
DataType=5
AccessType=rw
PDOMapping=0
[1289]
ParameterName=SDO client parameter
ObjectType=9
SubNumber=4
;;This objects contains the parameters for the SDO for which the CANopen device is the SDO client.
[1289sub0]
ParameterName=Highest sub-index supported
ObjectType=7
DataType=5
AccessType=const
PDOMapping=0
DefaultValue=3
[1289sub1]
ParameterName=COB-ID client -> server
ObjectType=7
DataType=7
AccessType=rw
PDOMapping=0
DefaultValue=0x80000000
[1289sub2]
ParameterName=COB-ID server -> client
ObjectType=7
DataType=7
AccessType=rw
PDOMapping=0
DefaultValue=0x80000000
[1289sub3]
ParameterName=Node-ID of the SDO server
ObjectType=7
DataType=5
AccessType=rw
PDOMapping=0
[128a]
ParameterName=SDO client parameter
ObjectType=9
SubNumber=4
;;This objects contains the parameters for the SDO for which the CANopen device is the SDO client.
[128asub0]
ParameterName=Highest sub-index supported
ObjectType=7
DataType=5
AccessType=const
PDOMapping=0
DefaultValue=3
[128asub1]
ParameterName=COB-ID client -> server
ObjectType=7
DataType=7
AccessType=rw
PDOMapping=0
DefaultValue=0x80000000
[128asub2]
ParameterName=COB-ID server -> client
ObjectType=7
DataType=7
AccessType=rw
PDOMapping=0
DefaultValue=0x80000000
[128asub3]
ParameterName=Node-ID of the SDO server
ObjectType=7
DataType=5
AccessType=rw
PDOMapping=0
[128b]
ParameterName=SDO client parameter
ObjectType=9
SubNumber=4
;;This objects contains the parameters for the SDO for which the CANopen device is the SDO client.
[128bsub0]
ParameterName=Highest sub-index supported
ObjectType=7
DataType=5
AccessType=const
PDOMapping=0
DefaultValue=3
[128bsub1]
ParameterName=COB-ID client -> server
ObjectType=7
DataType=7
AccessType=rw
PDOMapping=0
DefaultValue=0x80000000
[128bsub2]
ParameterName=COB-ID server -> client
ObjectType=7
DataType=7
AccessType=rw
PDOMapping=0
DefaultValue=0x80000000
[128bsub3]
ParameterName=Node-ID of the SDO server
ObjectType=7
DataType=5
AccessType=rw
PDOMapping=0
[128c]
ParameterName=SDO client parameter
ObjectType=9
SubNumber=4
;;This objects contains the parameters for the SDO for which the CANopen device is the SDO client.
[128csub0]
ParameterName=Highest sub-index supported
ObjectType=7
DataType=5
AccessType=const
PDOMapping=0
DefaultValue=3
[128csub1]
ParameterName=COB-ID client -> server
ObjectType=7
DataType=7
AccessType=rw
PDOMapping=0
DefaultValue=0x80000000
[128csub2]
ParameterName=COB-ID server -> client
ObjectType=7
DataType=7
AccessType=rw
PDOMapping=0
DefaultValue=0x80000000
[128csub3]
ParameterName=Node-ID of the SDO server
ObjectType=7
DataType=5
AccessType=rw
PDOMapping=0
[128d]
ParameterName=SDO client parameter
ObjectType=9
SubNumber=4
;;This objects contains the parameters for the SDO for which the CANopen device is the SDO client.
[128dsub0]
ParameterName=Highest sub-index supported
ObjectType=7
DataType=5
AccessType=const
PDOMapping=0
DefaultValue=3
[128dsub1]
ParameterName=COB-ID client -> server
ObjectType=7
DataType=7
AccessType=rw
PDOMapping=0
DefaultValue=0x80000000
[128dsub2]
ParameterName=COB-ID server -> client
ObjectType=7
DataType=7
AccessType=rw
PDOMapping=0
DefaultValue=0x80000000
[128dsub3]
ParameterName=Node-ID of the SDO server
ObjectType=7
DataType=5
AccessType=rw
PDOMapping=0
[128e]
ParameterName=SDO client parameter
ObjectType=9
SubNumber=4
;;This objects contains the parameters for the SDO for which the CANopen device is the SDO client.
[128esub0]
ParameterName=Highest sub-index supported
ObjectType=7
DataType=5
AccessType=const
PDOMapping=0
DefaultValue=3
[128esub1]
ParameterName=COB-ID client -> server
ObjectType=7
DataType=7
AccessType=rw
PDOMapping=0
DefaultValue=0x80000000
[128esub2]
ParameterName=COB-ID server -> client
ObjectType=7
DataType=7
AccessType=rw
PDOMapping=0
DefaultValue=0x80000000
[128esub3]
ParameterName=Node-ID of the SDO server
ObjectType=7
DataType=5
AccessType=rw
PDOMapping=0
[128f]
ParameterName=SDO client parameter
ObjectType=9
SubNumber=4
;;This objects contains the parameters for the SDO for which the CANopen device is the SDO client.
[128fsub0]
ParameterName=Highest sub-index supported
ObjectType=7
DataType=5
AccessType=const
PDOMapping=0
DefaultValue=3
[128fsub1]
ParameterName=COB-ID client -> server
ObjectType=7
DataType=7
AccessType=rw
PDOMapping=0
DefaultValue=0x80000000
[128fsub2]
ParameterName=COB-ID server -> client
ObjectType=7
DataType=7
AccessType=rw
PDOMapping=0
DefaultValue=0x80000000
[128fsub3]
ParameterName=Node-ID of the SDO server
ObjectType=7
DataType=5
AccessType=rw
PDOMapping=0
[1290]
ParameterName=SDO client parameter
ObjectType=9
SubNumber=4
;;This objects contains the parameters for the SDO for which the CANopen device is the SDO client.
[1290sub0]
ParameterName=Highest sub-index supported
ObjectType=7
DataType=5
AccessType=const
PDOMapping=0
DefaultValue=3
[1290sub1]
ParameterName=COB-ID client -> server
ObjectType=7
DataType=7
AccessType=rw
PDOMapping=0
DefaultValue=0x80000000
[1290sub2]
ParameterName=COB-ID server -> client
ObjectType=7
DataType=7
AccessType=rw
PDOMapping=0
DefaultValue=0x80000000
[1290sub3]
ParameterName=Node-ID of the SDO server
ObjectType=7
DataType=5
AccessType=rw
PDOMapping=0
[1291]
ParameterName=SDO client parameter
ObjectType=9
SubNumber=4
;;This objects contains the parameters for the SDO for which the CANopen device is the SDO client.
[1291sub0]
ParameterName=Highest sub-index supported
ObjectType=7
DataType=5
AccessType=const
PDOMapping=0
DefaultValue=3
[1291sub1]
ParameterName=COB-ID client -> server
ObjectType=7
DataType=7
AccessType=rw
PDOMapping=0
DefaultValue=0x80000000
[1291sub2]
ParameterName=COB-ID server -> client
ObjectType=7
DataType=7
AccessType=rw
PDOMapping=0
DefaultValue=0x80000000
[1291sub3]
ParameterName=Node-ID of the SDO server
ObjectType=7
DataType=5
AccessType=rw
PDOMapping=0
[1292]
ParameterName=SDO client parameter
ObjectType=9
SubNumber=4
;;This objects contains the parameters for the SDO for which the CANopen device is the SDO client.
[1292sub0]
ParameterName=Highest sub-index supported
ObjectType=7
DataType=5
AccessType=const
PDOMapping=0
DefaultValue=3
[1292sub1]
ParameterName=COB-ID client -> server
ObjectType=7
DataType=7
AccessType=rw
PDOMapping=0
DefaultValue=0x80000000
[1292sub2]
ParameterName=COB-ID server -> client
ObjectType=7
DataType=7
AccessType=rw
PDOMapping=0
DefaultValue=0x80000000
[1292sub3]
ParameterName=Node-ID of the SDO server
ObjectType=7
DataType=5
AccessType=rw
PDOMapping=0
[1293]
ParameterName=SDO client parameter
ObjectType=9
SubNumber=4
;;This objects contains the parameters for the SDO for which the CANopen device is the SDO client.
[1293sub0]
ParameterName=Highest sub-index supported
ObjectType=7
DataType=5
AccessType=const
PDOMapping=0
DefaultValue=3
[1293sub1]
ParameterName=COB-ID client -> server
ObjectType=7
DataType=7
AccessType=rw
PDOMapping=0
DefaultValue=0x80000000
[1293sub2]
ParameterName=COB-ID server -> client
ObjectType=7
DataType=7
AccessType=rw
PDOMapping=0
DefaultValue=0x80000000
[1293sub3]
ParameterName=Node-ID of the SDO server
ObjectType=7
DataType=5
AccessType=rw
PDOMapping=0
[1400]
ParameterName=Receive PDO Communication Parameter
ObjectType=9

View File

@ -19,17 +19,17 @@
#define CO_REC_BUFFER_COUNTS 10u
#define CO_TR_BUFFER_COUNTS 20u
/* Number of objects per line */
#define CO_OBJECTS_LINE_0_CNT 38u
#define CO_OBJECT_COUNTS 38u
#define CO_COB_COUNTS 21u
#define CO_OBJECTS_LINE_0_CNT 56u
#define CO_OBJECT_COUNTS 56u
#define CO_COB_COUNTS 75u
#define CO_TXPDO_COUNTS 5u
#define CO_RXPDO_COUNTS 3u
#define CO_SSDO_COUNTS 1u
#define CO_CSDO_COUNTS 2u
#define CO_CSDO_COUNTS 20u
#define CO_ASSIGN_COUNTS 0u
#define CO_MAX_ASSIGN_COUNTS 0u
#define CO_GUARDING_COUNTS CO_MAX_ASSIGN_COUNTS
#define CO_ERR_CTRL_COUNTS 2u
#define CO_ERR_CTRL_COUNTS 20u
#define CO_ERR_HIST_COUNTS 1u
#define CO_ACT_ERR_HIST_COUNTS 0u
#define CO_EMCY_CONS_COUNTS 0u
@ -39,12 +39,13 @@
/* Definition of numbers of CANopen services */
#define CO_NMT_MASTER 1u
#define CO_LSS_MASTER_SUPPORTED 1u
#define CO_LSS_INQUIRY_SERVICES 1u
#define CO_SDO_SERVER_CNT 1u
#define CO_SDO_CLIENT_CNT 2u
#define CO_SDO_CLIENT_CNT 20u
#define CO_PDO_TRANSMIT_CNT 5u
#define CO_PDO_RECEIVE_CNT 3u
#define CO_MAX_MAP_ENTRIES 2u
#define CO_HB_CONSUMER_CNT 2u
#define CO_HB_CONSUMER_CNT 20u
#define CO_EMCY_PRODUCER 1u
#define CO_EMCY_ERROR_HISTORY 1u
#define CO_SDO_BLOCK 1u
@ -54,10 +55,13 @@
#define CO_SDO_QUEUE_LEN 0u
#define CO_INHIBIT_SUPPORTED 1u
/* number of used COB objects */
#define CO_COB_CNT 21u
#define CO_COB_CNT 75u
/* Definition of number of call-back functions for each service*/
#define CO_EVENT_DYNAMIC_SDO_SERVER_READ 1u
#define CO_EVENT_DYNAMIC_SDO_SERVER_WRITE 1u
#define CO_EVENT_DYNAMIC_SDO_SERVER_CHECK_WRITE 1u
#define CO_EVENT_DYNAMIC_PDO 1u
#define CO_EVENT_DYNAMIC_PDO_UPDATE 1u
#define CO_EVENT_DYNAMIC_NMT 1u
@ -92,8 +96,8 @@
/* application-specific defines as defined in DeviceDesigner */
#define CODRV_BIT_TABLE_EXTERN 1
#define CODRV_CANCLOCK_40MHZ 1
#define CO_LSS_INQUIRY_SERVICES 1
#define C4L_DEVICE
#define CODRV_MCAN_STM32_G4
#define CONFIG_MCAN1
#define CUBE_MX_GENERATION

View File

@ -1,6 +1,6 @@
/*
* static indication definitions for enduranceTestBench - generated by CANopen DeviceDesigner 3.14.2
* Fri Feb 14 15:45:52 2025
* Fri Feb 21 10:10:40 2025
*/
/* protect against multiple inclusion of the file */

View File

@ -1,6 +1,6 @@
/*
* CO index/J1939 PGN/raw CAN-ID defines for enduranceTestBench - generated by CANopen DeviceDesigner 3.14.2
* Fri Feb 14 15:45:51 2025
* Fri Feb 21 10:10:40 2025
*/
/* protect against multiple inclusion of the file */
@ -34,6 +34,24 @@
#define S_COB_ID_SERVER_CLIENT 0x2u
#define S_NODE_ID_OF_THE_SDO_SERVER 0x3u
#define I_SDO_CLIENT_PARAMETER1 0x1281u
#define I_SDO_CLIENT_PARAMETER2 0x1282u
#define I_SDO_CLIENT_PARAMETER3 0x1283u
#define I_SDO_CLIENT_PARAMETER4 0x1284u
#define I_SDO_CLIENT_PARAMETER5 0x1285u
#define I_SDO_CLIENT_PARAMETER6 0x1286u
#define I_SDO_CLIENT_PARAMETER7 0x1287u
#define I_SDO_CLIENT_PARAMETER8 0x1288u
#define I_SDO_CLIENT_PARAMETER9 0x1289u
#define I_SDO_CLIENT_PARAMETER10 0x128au
#define I_SDO_CLIENT_PARAMETER11 0x128bu
#define I_SDO_CLIENT_PARAMETER12 0x128cu
#define I_SDO_CLIENT_PARAMETER13 0x128du
#define I_SDO_CLIENT_PARAMETER14 0x128eu
#define I_SDO_CLIENT_PARAMETER15 0x128fu
#define I_SDO_CLIENT_PARAMETER16 0x1290u
#define I_SDO_CLIENT_PARAMETER17 0x1291u
#define I_SDO_CLIENT_PARAMETER18 0x1292u
#define I_SDO_CLIENT_PARAMETER19 0x1293u
#define I_RECEIVE_PDO_COMMUNICATION_PARAMETER 0x1400u
#define S_COB_ID 0x1u
#define S_TRANSMISSION_TYPE 0x2u

View File

@ -1,6 +1,6 @@
/*
* object dictionary for enduranceTestBench - generated by CANopen DeviceDesigner 3.14.2
* Fri Feb 14 15:45:52 2025
* Fri Feb 21 10:10:40 2025
*/
#include <stdlib.h>
@ -31,8 +31,8 @@
/* definition of static indication function pointers */
/* number of objects */
#define CO_OD_ASSIGN_CNT 38u
#define CO_OBJ_DESC_CNT 141u
#define CO_OD_ASSIGN_CNT 56u
#define CO_OBJ_DESC_CNT 231u
/* definition of managed variables */
static UNSIGNED8 CO_STORAGE_CLASS od_u8[8]= {
@ -86,24 +86,25 @@ static REAL32 CO_STORAGE_CLASS od_r32[8]= {
(REAL32)0.0000000f /* 0x6005:4 */};
/* definition of constants */
static CO_CONST UNSIGNED8 CO_CONST_STORAGE_CLASS od_const_u8[9] = {
static CO_CONST UNSIGNED8 CO_CONST_STORAGE_CLASS od_const_u8[10] = {
(UNSIGNED8)0u,
(UNSIGNED8)2u,
(UNSIGNED8)20u,
(UNSIGNED8)4u,
(UNSIGNED8)2u,
(UNSIGNED8)1u,
(UNSIGNED8)3u,
(UNSIGNED8)254u,
(UNSIGNED8)5u,
(UNSIGNED8)6u,
(UNSIGNED8)8u};
static CO_CONST UNSIGNED16 CO_CONST_STORAGE_CLASS od_const_u16[4] = {
static CO_CONST UNSIGNED16 CO_CONST_STORAGE_CLASS od_const_u16[3] = {
(UNSIGNED16)0u,
(UNSIGNED16)1500u,
(UNSIGNED16)10u,
(UNSIGNED16)500u};
static CO_CONST UNSIGNED32 CO_CONST_STORAGE_CLASS od_const_u32[27] = {
(UNSIGNED16)500u,
(UNSIGNED16)10u};
static CO_CONST UNSIGNED32 CO_CONST_STORAGE_CLASS od_const_u32[28] = {
(UNSIGNED32)0UL,
(UNSIGNED32)128UL,
(UNSIGNED32)1000UL,
(UNSIGNED32)793UL,
(UNSIGNED32)1234UL,
(UNSIGNED32)1UL,
@ -153,121 +154,211 @@ CO_CONST CO_OBJECT_DESC_T CO_CONST_STORAGE_CLASS od_description[CO_OBJ_DESC_CNT]
{ (UNSIGNED8)0u, CO_DTYPE_U32_EMCY , (UNSIGNED16)4116u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)1u},/* 0x1014:0*/
{ (UNSIGNED8)0u, CO_DTYPE_U16_EMCY , (UNSIGNED16)4117u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)0u},/* 0x1015:0*/
{ (UNSIGNED8)0u, CO_DTYPE_U8_CONST , (UNSIGNED16)1u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)1u},/* 0x1016:0*/
{ (UNSIGNED8)1u, CO_DTYPE_U32_ERRCTRL, (UNSIGNED16)4118u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)0u},/* 0x1016:1*/
{ (UNSIGNED8)2u, CO_DTYPE_U32_ERRCTRL, (UNSIGNED16)4118u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)0u},/* 0x1016:2*/
{ (UNSIGNED8)1u, CO_DTYPE_U32_ERRCTRL, (UNSIGNED16)4118u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)2u},/* 0x1016:1*/
{ (UNSIGNED8)2u, CO_DTYPE_U32_ERRCTRL, (UNSIGNED16)4118u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)2u},/* 0x1016:2*/
{ (UNSIGNED8)3u, CO_DTYPE_U32_ERRCTRL, (UNSIGNED16)4118u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)2u},/* 0x1016:3*/
{ (UNSIGNED8)4u, CO_DTYPE_U32_ERRCTRL, (UNSIGNED16)4118u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)2u},/* 0x1016:4*/
{ (UNSIGNED8)5u, CO_DTYPE_U32_ERRCTRL, (UNSIGNED16)4118u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)2u},/* 0x1016:5*/
{ (UNSIGNED8)6u, CO_DTYPE_U32_ERRCTRL, (UNSIGNED16)4118u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)2u},/* 0x1016:6*/
{ (UNSIGNED8)7u, CO_DTYPE_U32_ERRCTRL, (UNSIGNED16)4118u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)2u},/* 0x1016:7*/
{ (UNSIGNED8)8u, CO_DTYPE_U32_ERRCTRL, (UNSIGNED16)4118u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)2u},/* 0x1016:8*/
{ (UNSIGNED8)9u, CO_DTYPE_U32_ERRCTRL, (UNSIGNED16)4118u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)2u},/* 0x1016:9*/
{ (UNSIGNED8)10u, CO_DTYPE_U32_ERRCTRL, (UNSIGNED16)4118u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)2u},/* 0x1016:10*/
{ (UNSIGNED8)11u, CO_DTYPE_U32_ERRCTRL, (UNSIGNED16)4118u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)2u},/* 0x1016:11*/
{ (UNSIGNED8)12u, CO_DTYPE_U32_ERRCTRL, (UNSIGNED16)4118u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)2u},/* 0x1016:12*/
{ (UNSIGNED8)13u, CO_DTYPE_U32_ERRCTRL, (UNSIGNED16)4118u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)2u},/* 0x1016:13*/
{ (UNSIGNED8)14u, CO_DTYPE_U32_ERRCTRL, (UNSIGNED16)4118u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)2u},/* 0x1016:14*/
{ (UNSIGNED8)15u, CO_DTYPE_U32_ERRCTRL, (UNSIGNED16)4118u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)2u},/* 0x1016:15*/
{ (UNSIGNED8)16u, CO_DTYPE_U32_ERRCTRL, (UNSIGNED16)4118u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)2u},/* 0x1016:16*/
{ (UNSIGNED8)17u, CO_DTYPE_U32_ERRCTRL, (UNSIGNED16)4118u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)2u},/* 0x1016:17*/
{ (UNSIGNED8)18u, CO_DTYPE_U32_ERRCTRL, (UNSIGNED16)4118u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)2u},/* 0x1016:18*/
{ (UNSIGNED8)19u, CO_DTYPE_U32_ERRCTRL, (UNSIGNED16)4118u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)2u},/* 0x1016:19*/
{ (UNSIGNED8)20u, CO_DTYPE_U32_ERRCTRL, (UNSIGNED16)4118u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)2u},/* 0x1016:20*/
{ (UNSIGNED8)0u, CO_DTYPE_U16_ERRCTRL, (UNSIGNED16)4119u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE, (UNSIGNED16)1u},/* 0x1017:0*/
{ (UNSIGNED8)0u, CO_DTYPE_U8_CONST , (UNSIGNED16)2u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)2u},/* 0x1018:0*/
{ (UNSIGNED8)1u, CO_DTYPE_U32_CONST, (UNSIGNED16)2u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)2u},/* 0x1018:1*/
{ (UNSIGNED8)2u, CO_DTYPE_U32_CONST, (UNSIGNED16)3u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)3u},/* 0x1018:2*/
{ (UNSIGNED8)3u, CO_DTYPE_U32_CONST, (UNSIGNED16)4u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)4u},/* 0x1018:3*/
{ (UNSIGNED8)1u, CO_DTYPE_U32_CONST, (UNSIGNED16)3u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)3u},/* 0x1018:1*/
{ (UNSIGNED8)2u, CO_DTYPE_U32_CONST, (UNSIGNED16)4u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)4u},/* 0x1018:2*/
{ (UNSIGNED8)3u, CO_DTYPE_U32_CONST, (UNSIGNED16)5u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)5u},/* 0x1018:3*/
{ (UNSIGNED8)4u, CO_DTYPE_U32_VAR , (UNSIGNED16)2u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)0u},/* 0x1018:4*/
{ (UNSIGNED8)0u, CO_DTYPE_U8_CONST , (UNSIGNED16)1u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)1u},/* 0x1029:0*/
{ (UNSIGNED8)1u, CO_DTYPE_U8_ERRCTRL, (UNSIGNED16)4137u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)3u},/* 0x1029:1*/
{ (UNSIGNED8)0u, CO_DTYPE_U8_CONST , (UNSIGNED16)3u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)3u},/* 0x1029:0*/
{ (UNSIGNED8)1u, CO_DTYPE_U8_ERRCTRL, (UNSIGNED16)4137u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)4u},/* 0x1029:1*/
{ (UNSIGNED8)2u, CO_DTYPE_U8_VAR , (UNSIGNED16)2u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE, (UNSIGNED16)0u},/* 0x1029:2*/
{ (UNSIGNED8)0u, CO_DTYPE_U16_NMT , (UNSIGNED16)4138u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)2u},/* 0x102a:0*/
{ (UNSIGNED8)0u, CO_DTYPE_U8_CONST , (UNSIGNED16)1u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)1u},/* 0x1200:0*/
{ (UNSIGNED8)1u, CO_DTYPE_U32_SDO_SERVER, (UNSIGNED16)1u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)5u},/* 0x1200:1*/
{ (UNSIGNED8)2u, CO_DTYPE_U32_SDO_SERVER, (UNSIGNED16)1u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)6u},/* 0x1200:2*/
{ (UNSIGNED8)0u, CO_DTYPE_U8_CONST , (UNSIGNED16)4u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)4u},/* 0x1280:0*/
{ (UNSIGNED8)1u, CO_DTYPE_U32_SDO_CLIENT, (UNSIGNED16)1u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)7u},/* 0x1280:1*/
{ (UNSIGNED8)2u, CO_DTYPE_U32_SDO_CLIENT, (UNSIGNED16)1u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)7u},/* 0x1280:2*/
{ (UNSIGNED8)0u, CO_DTYPE_U8_CONST , (UNSIGNED16)3u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)3u},/* 0x1200:0*/
{ (UNSIGNED8)1u, CO_DTYPE_U32_SDO_SERVER, (UNSIGNED16)1u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)6u},/* 0x1200:1*/
{ (UNSIGNED8)2u, CO_DTYPE_U32_SDO_SERVER, (UNSIGNED16)1u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)7u},/* 0x1200:2*/
{ (UNSIGNED8)0u, CO_DTYPE_U8_CONST , (UNSIGNED16)5u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)5u},/* 0x1280:0*/
{ (UNSIGNED8)1u, CO_DTYPE_U32_SDO_CLIENT, (UNSIGNED16)1u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)8u},/* 0x1280:1*/
{ (UNSIGNED8)2u, CO_DTYPE_U32_SDO_CLIENT, (UNSIGNED16)1u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)8u},/* 0x1280:2*/
{ (UNSIGNED8)3u, CO_DTYPE_U8_SDO_CLIENT, (UNSIGNED16)1u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE, (UNSIGNED16)0u},/* 0x1280:3*/
{ (UNSIGNED8)0u, CO_DTYPE_U8_CONST , (UNSIGNED16)4u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)4u},/* 0x1281:0*/
{ (UNSIGNED8)1u, CO_DTYPE_U32_SDO_CLIENT, (UNSIGNED16)2u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)7u},/* 0x1281:1*/
{ (UNSIGNED8)2u, CO_DTYPE_U32_SDO_CLIENT, (UNSIGNED16)2u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)7u},/* 0x1281:2*/
{ (UNSIGNED8)0u, CO_DTYPE_U8_CONST , (UNSIGNED16)5u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)5u},/* 0x1281:0*/
{ (UNSIGNED8)1u, CO_DTYPE_U32_SDO_CLIENT, (UNSIGNED16)2u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)8u},/* 0x1281:1*/
{ (UNSIGNED8)2u, CO_DTYPE_U32_SDO_CLIENT, (UNSIGNED16)2u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)8u},/* 0x1281:2*/
{ (UNSIGNED8)3u, CO_DTYPE_U8_SDO_CLIENT, (UNSIGNED16)2u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE, (UNSIGNED16)0u},/* 0x1281:3*/
{ (UNSIGNED8)0u, CO_DTYPE_U8_CONST , (UNSIGNED16)1u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)1u},/* 0x1400:0*/
{ (UNSIGNED8)1u, CO_DTYPE_U32_RPDO , (UNSIGNED16)1u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)8u},/* 0x1400:1*/
{ (UNSIGNED8)2u, CO_DTYPE_U8_RPDO , (UNSIGNED16)1u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)5u},/* 0x1400:2*/
{ (UNSIGNED8)0u, CO_DTYPE_U8_CONST , (UNSIGNED16)1u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)1u},/* 0x1401:0*/
{ (UNSIGNED8)1u, CO_DTYPE_U32_RPDO , (UNSIGNED16)2u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)8u},/* 0x1401:1*/
{ (UNSIGNED8)2u, CO_DTYPE_U8_RPDO , (UNSIGNED16)2u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)5u},/* 0x1401:2*/
{ (UNSIGNED8)0u, CO_DTYPE_U8_CONST , (UNSIGNED16)1u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)1u},/* 0x1402:0*/
{ (UNSIGNED8)1u, CO_DTYPE_U32_RPDO , (UNSIGNED16)3u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)8u},/* 0x1402:1*/
{ (UNSIGNED8)2u, CO_DTYPE_U8_RPDO , (UNSIGNED16)3u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)5u},/* 0x1402:2*/
{ (UNSIGNED8)0u, CO_DTYPE_U8_CONST , (UNSIGNED16)1u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)1u},/* 0x1600:0*/
{ (UNSIGNED8)1u, CO_DTYPE_U32_CONST, (UNSIGNED16)9u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)9u},/* 0x1600:1*/
{ (UNSIGNED8)2u, CO_DTYPE_U32_CONST, (UNSIGNED16)10u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)10u},/* 0x1600:2*/
{ (UNSIGNED8)0u, CO_DTYPE_U8_CONST , (UNSIGNED16)1u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)1u},/* 0x1601:0*/
{ (UNSIGNED8)1u, CO_DTYPE_U32_CONST, (UNSIGNED16)11u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)11u},/* 0x1601:1*/
{ (UNSIGNED8)2u, CO_DTYPE_U32_CONST, (UNSIGNED16)12u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)12u},/* 0x1601:2*/
{ (UNSIGNED8)0u, CO_DTYPE_U8_CONST , (UNSIGNED16)1u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)1u},/* 0x1602:0*/
{ (UNSIGNED8)1u, CO_DTYPE_U32_CONST, (UNSIGNED16)13u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)13u},/* 0x1602:1*/
{ (UNSIGNED8)2u, CO_DTYPE_U32_CONST, (UNSIGNED16)14u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)14u},/* 0x1602:2*/
{ (UNSIGNED8)0u, CO_DTYPE_U8_CONST , (UNSIGNED16)6u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)6u},/* 0x1800:0*/
{ (UNSIGNED8)1u, CO_DTYPE_U32_TPDO , (UNSIGNED16)1u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)15u},/* 0x1800:1*/
{ (UNSIGNED8)2u, CO_DTYPE_U8_TPDO , (UNSIGNED16)1u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)5u},/* 0x1800:2*/
{ (UNSIGNED8)0u, CO_DTYPE_U8_CONST , (UNSIGNED16)5u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)5u},/* 0x1282:0*/
{ (UNSIGNED8)1u, CO_DTYPE_U32_SDO_CLIENT, (UNSIGNED16)3u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)8u},/* 0x1282:1*/
{ (UNSIGNED8)2u, CO_DTYPE_U32_SDO_CLIENT, (UNSIGNED16)3u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)8u},/* 0x1282:2*/
{ (UNSIGNED8)3u, CO_DTYPE_U8_SDO_CLIENT, (UNSIGNED16)3u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE, (UNSIGNED16)0u},/* 0x1282:3*/
{ (UNSIGNED8)0u, CO_DTYPE_U8_CONST , (UNSIGNED16)5u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)5u},/* 0x1283:0*/
{ (UNSIGNED8)1u, CO_DTYPE_U32_SDO_CLIENT, (UNSIGNED16)4u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)8u},/* 0x1283:1*/
{ (UNSIGNED8)2u, CO_DTYPE_U32_SDO_CLIENT, (UNSIGNED16)4u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)8u},/* 0x1283:2*/
{ (UNSIGNED8)3u, CO_DTYPE_U8_SDO_CLIENT, (UNSIGNED16)4u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE, (UNSIGNED16)0u},/* 0x1283:3*/
{ (UNSIGNED8)0u, CO_DTYPE_U8_CONST , (UNSIGNED16)5u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)5u},/* 0x1284:0*/
{ (UNSIGNED8)1u, CO_DTYPE_U32_SDO_CLIENT, (UNSIGNED16)5u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)8u},/* 0x1284:1*/
{ (UNSIGNED8)2u, CO_DTYPE_U32_SDO_CLIENT, (UNSIGNED16)5u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)8u},/* 0x1284:2*/
{ (UNSIGNED8)3u, CO_DTYPE_U8_SDO_CLIENT, (UNSIGNED16)5u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE, (UNSIGNED16)0u},/* 0x1284:3*/
{ (UNSIGNED8)0u, CO_DTYPE_U8_CONST , (UNSIGNED16)5u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)5u},/* 0x1285:0*/
{ (UNSIGNED8)1u, CO_DTYPE_U32_SDO_CLIENT, (UNSIGNED16)6u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)8u},/* 0x1285:1*/
{ (UNSIGNED8)2u, CO_DTYPE_U32_SDO_CLIENT, (UNSIGNED16)6u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)8u},/* 0x1285:2*/
{ (UNSIGNED8)3u, CO_DTYPE_U8_SDO_CLIENT, (UNSIGNED16)6u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE, (UNSIGNED16)0u},/* 0x1285:3*/
{ (UNSIGNED8)0u, CO_DTYPE_U8_CONST , (UNSIGNED16)5u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)5u},/* 0x1286:0*/
{ (UNSIGNED8)1u, CO_DTYPE_U32_SDO_CLIENT, (UNSIGNED16)7u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)8u},/* 0x1286:1*/
{ (UNSIGNED8)2u, CO_DTYPE_U32_SDO_CLIENT, (UNSIGNED16)7u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)8u},/* 0x1286:2*/
{ (UNSIGNED8)3u, CO_DTYPE_U8_SDO_CLIENT, (UNSIGNED16)7u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE, (UNSIGNED16)0u},/* 0x1286:3*/
{ (UNSIGNED8)0u, CO_DTYPE_U8_CONST , (UNSIGNED16)5u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)5u},/* 0x1287:0*/
{ (UNSIGNED8)1u, CO_DTYPE_U32_SDO_CLIENT, (UNSIGNED16)8u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)8u},/* 0x1287:1*/
{ (UNSIGNED8)2u, CO_DTYPE_U32_SDO_CLIENT, (UNSIGNED16)8u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)8u},/* 0x1287:2*/
{ (UNSIGNED8)3u, CO_DTYPE_U8_SDO_CLIENT, (UNSIGNED16)8u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE, (UNSIGNED16)0u},/* 0x1287:3*/
{ (UNSIGNED8)0u, CO_DTYPE_U8_CONST , (UNSIGNED16)5u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)5u},/* 0x1288:0*/
{ (UNSIGNED8)1u, CO_DTYPE_U32_SDO_CLIENT, (UNSIGNED16)9u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)8u},/* 0x1288:1*/
{ (UNSIGNED8)2u, CO_DTYPE_U32_SDO_CLIENT, (UNSIGNED16)9u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)8u},/* 0x1288:2*/
{ (UNSIGNED8)3u, CO_DTYPE_U8_SDO_CLIENT, (UNSIGNED16)9u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE, (UNSIGNED16)0u},/* 0x1288:3*/
{ (UNSIGNED8)0u, CO_DTYPE_U8_CONST , (UNSIGNED16)5u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)5u},/* 0x1289:0*/
{ (UNSIGNED8)1u, CO_DTYPE_U32_SDO_CLIENT, (UNSIGNED16)10u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)8u},/* 0x1289:1*/
{ (UNSIGNED8)2u, CO_DTYPE_U32_SDO_CLIENT, (UNSIGNED16)10u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)8u},/* 0x1289:2*/
{ (UNSIGNED8)3u, CO_DTYPE_U8_SDO_CLIENT, (UNSIGNED16)10u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE, (UNSIGNED16)0u},/* 0x1289:3*/
{ (UNSIGNED8)0u, CO_DTYPE_U8_CONST , (UNSIGNED16)5u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)5u},/* 0x128a:0*/
{ (UNSIGNED8)1u, CO_DTYPE_U32_SDO_CLIENT, (UNSIGNED16)11u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)8u},/* 0x128a:1*/
{ (UNSIGNED8)2u, CO_DTYPE_U32_SDO_CLIENT, (UNSIGNED16)11u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)8u},/* 0x128a:2*/
{ (UNSIGNED8)3u, CO_DTYPE_U8_SDO_CLIENT, (UNSIGNED16)11u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE, (UNSIGNED16)0u},/* 0x128a:3*/
{ (UNSIGNED8)0u, CO_DTYPE_U8_CONST , (UNSIGNED16)5u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)5u},/* 0x128b:0*/
{ (UNSIGNED8)1u, CO_DTYPE_U32_SDO_CLIENT, (UNSIGNED16)12u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)8u},/* 0x128b:1*/
{ (UNSIGNED8)2u, CO_DTYPE_U32_SDO_CLIENT, (UNSIGNED16)12u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)8u},/* 0x128b:2*/
{ (UNSIGNED8)3u, CO_DTYPE_U8_SDO_CLIENT, (UNSIGNED16)12u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE, (UNSIGNED16)0u},/* 0x128b:3*/
{ (UNSIGNED8)0u, CO_DTYPE_U8_CONST , (UNSIGNED16)5u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)5u},/* 0x128c:0*/
{ (UNSIGNED8)1u, CO_DTYPE_U32_SDO_CLIENT, (UNSIGNED16)13u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)8u},/* 0x128c:1*/
{ (UNSIGNED8)2u, CO_DTYPE_U32_SDO_CLIENT, (UNSIGNED16)13u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)8u},/* 0x128c:2*/
{ (UNSIGNED8)3u, CO_DTYPE_U8_SDO_CLIENT, (UNSIGNED16)13u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE, (UNSIGNED16)0u},/* 0x128c:3*/
{ (UNSIGNED8)0u, CO_DTYPE_U8_CONST , (UNSIGNED16)5u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)5u},/* 0x128d:0*/
{ (UNSIGNED8)1u, CO_DTYPE_U32_SDO_CLIENT, (UNSIGNED16)14u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)8u},/* 0x128d:1*/
{ (UNSIGNED8)2u, CO_DTYPE_U32_SDO_CLIENT, (UNSIGNED16)14u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)8u},/* 0x128d:2*/
{ (UNSIGNED8)3u, CO_DTYPE_U8_SDO_CLIENT, (UNSIGNED16)14u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE, (UNSIGNED16)0u},/* 0x128d:3*/
{ (UNSIGNED8)0u, CO_DTYPE_U8_CONST , (UNSIGNED16)5u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)5u},/* 0x128e:0*/
{ (UNSIGNED8)1u, CO_DTYPE_U32_SDO_CLIENT, (UNSIGNED16)15u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)8u},/* 0x128e:1*/
{ (UNSIGNED8)2u, CO_DTYPE_U32_SDO_CLIENT, (UNSIGNED16)15u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)8u},/* 0x128e:2*/
{ (UNSIGNED8)3u, CO_DTYPE_U8_SDO_CLIENT, (UNSIGNED16)15u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE, (UNSIGNED16)0u},/* 0x128e:3*/
{ (UNSIGNED8)0u, CO_DTYPE_U8_CONST , (UNSIGNED16)5u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)5u},/* 0x128f:0*/
{ (UNSIGNED8)1u, CO_DTYPE_U32_SDO_CLIENT, (UNSIGNED16)16u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)8u},/* 0x128f:1*/
{ (UNSIGNED8)2u, CO_DTYPE_U32_SDO_CLIENT, (UNSIGNED16)16u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)8u},/* 0x128f:2*/
{ (UNSIGNED8)3u, CO_DTYPE_U8_SDO_CLIENT, (UNSIGNED16)16u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE, (UNSIGNED16)0u},/* 0x128f:3*/
{ (UNSIGNED8)0u, CO_DTYPE_U8_CONST , (UNSIGNED16)5u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)5u},/* 0x1290:0*/
{ (UNSIGNED8)1u, CO_DTYPE_U32_SDO_CLIENT, (UNSIGNED16)17u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)8u},/* 0x1290:1*/
{ (UNSIGNED8)2u, CO_DTYPE_U32_SDO_CLIENT, (UNSIGNED16)17u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)8u},/* 0x1290:2*/
{ (UNSIGNED8)3u, CO_DTYPE_U8_SDO_CLIENT, (UNSIGNED16)17u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE, (UNSIGNED16)0u},/* 0x1290:3*/
{ (UNSIGNED8)0u, CO_DTYPE_U8_CONST , (UNSIGNED16)5u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)5u},/* 0x1291:0*/
{ (UNSIGNED8)1u, CO_DTYPE_U32_SDO_CLIENT, (UNSIGNED16)18u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)8u},/* 0x1291:1*/
{ (UNSIGNED8)2u, CO_DTYPE_U32_SDO_CLIENT, (UNSIGNED16)18u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)8u},/* 0x1291:2*/
{ (UNSIGNED8)3u, CO_DTYPE_U8_SDO_CLIENT, (UNSIGNED16)18u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE, (UNSIGNED16)0u},/* 0x1291:3*/
{ (UNSIGNED8)0u, CO_DTYPE_U8_CONST , (UNSIGNED16)5u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)5u},/* 0x1292:0*/
{ (UNSIGNED8)1u, CO_DTYPE_U32_SDO_CLIENT, (UNSIGNED16)19u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)8u},/* 0x1292:1*/
{ (UNSIGNED8)2u, CO_DTYPE_U32_SDO_CLIENT, (UNSIGNED16)19u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)8u},/* 0x1292:2*/
{ (UNSIGNED8)3u, CO_DTYPE_U8_SDO_CLIENT, (UNSIGNED16)19u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE, (UNSIGNED16)0u},/* 0x1292:3*/
{ (UNSIGNED8)0u, CO_DTYPE_U8_CONST , (UNSIGNED16)5u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)5u},/* 0x1293:0*/
{ (UNSIGNED8)1u, CO_DTYPE_U32_SDO_CLIENT, (UNSIGNED16)20u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)8u},/* 0x1293:1*/
{ (UNSIGNED8)2u, CO_DTYPE_U32_SDO_CLIENT, (UNSIGNED16)20u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)8u},/* 0x1293:2*/
{ (UNSIGNED8)3u, CO_DTYPE_U8_SDO_CLIENT, (UNSIGNED16)20u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE, (UNSIGNED16)0u},/* 0x1293:3*/
{ (UNSIGNED8)0u, CO_DTYPE_U8_CONST , (UNSIGNED16)3u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)3u},/* 0x1400:0*/
{ (UNSIGNED8)1u, CO_DTYPE_U32_RPDO , (UNSIGNED16)1u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)9u},/* 0x1400:1*/
{ (UNSIGNED8)2u, CO_DTYPE_U8_RPDO , (UNSIGNED16)1u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)6u},/* 0x1400:2*/
{ (UNSIGNED8)0u, CO_DTYPE_U8_CONST , (UNSIGNED16)3u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)3u},/* 0x1401:0*/
{ (UNSIGNED8)1u, CO_DTYPE_U32_RPDO , (UNSIGNED16)2u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)9u},/* 0x1401:1*/
{ (UNSIGNED8)2u, CO_DTYPE_U8_RPDO , (UNSIGNED16)2u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)6u},/* 0x1401:2*/
{ (UNSIGNED8)0u, CO_DTYPE_U8_CONST , (UNSIGNED16)3u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)3u},/* 0x1402:0*/
{ (UNSIGNED8)1u, CO_DTYPE_U32_RPDO , (UNSIGNED16)3u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)9u},/* 0x1402:1*/
{ (UNSIGNED8)2u, CO_DTYPE_U8_RPDO , (UNSIGNED16)3u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)6u},/* 0x1402:2*/
{ (UNSIGNED8)0u, CO_DTYPE_U8_CONST , (UNSIGNED16)3u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)3u},/* 0x1600:0*/
{ (UNSIGNED8)1u, CO_DTYPE_U32_CONST, (UNSIGNED16)10u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)10u},/* 0x1600:1*/
{ (UNSIGNED8)2u, CO_DTYPE_U32_CONST, (UNSIGNED16)11u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)11u},/* 0x1600:2*/
{ (UNSIGNED8)0u, CO_DTYPE_U8_CONST , (UNSIGNED16)3u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)3u},/* 0x1601:0*/
{ (UNSIGNED8)1u, CO_DTYPE_U32_CONST, (UNSIGNED16)12u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)12u},/* 0x1601:1*/
{ (UNSIGNED8)2u, CO_DTYPE_U32_CONST, (UNSIGNED16)13u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)13u},/* 0x1601:2*/
{ (UNSIGNED8)0u, CO_DTYPE_U8_CONST , (UNSIGNED16)3u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)3u},/* 0x1602:0*/
{ (UNSIGNED8)1u, CO_DTYPE_U32_CONST, (UNSIGNED16)14u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)14u},/* 0x1602:1*/
{ (UNSIGNED8)2u, CO_DTYPE_U32_CONST, (UNSIGNED16)15u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)15u},/* 0x1602:2*/
{ (UNSIGNED8)0u, CO_DTYPE_U8_CONST , (UNSIGNED16)7u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)7u},/* 0x1800:0*/
{ (UNSIGNED8)1u, CO_DTYPE_U32_TPDO , (UNSIGNED16)1u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)16u},/* 0x1800:1*/
{ (UNSIGNED8)2u, CO_DTYPE_U8_TPDO , (UNSIGNED16)1u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)6u},/* 0x1800:2*/
{ (UNSIGNED8)3u, CO_DTYPE_U16_TPDO , (UNSIGNED16)1u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)0u},/* 0x1800:3*/
{ (UNSIGNED8)4u, CO_DTYPE_U8_TPDO , (UNSIGNED16)1u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)0u},/* 0x1800:4*/
{ (UNSIGNED8)5u, CO_DTYPE_U16_TPDO , (UNSIGNED16)1u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)3u},/* 0x1800:5*/
{ (UNSIGNED8)0u, CO_DTYPE_U8_CONST , (UNSIGNED16)7u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)7u},/* 0x1801:0*/
{ (UNSIGNED8)1u, CO_DTYPE_U32_TPDO , (UNSIGNED16)2u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)16u},/* 0x1801:1*/
{ (UNSIGNED8)2u, CO_DTYPE_U8_TPDO , (UNSIGNED16)2u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)5u},/* 0x1801:2*/
{ (UNSIGNED8)5u, CO_DTYPE_U16_TPDO , (UNSIGNED16)1u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)1u},/* 0x1800:5*/
{ (UNSIGNED8)0u, CO_DTYPE_U8_CONST , (UNSIGNED16)8u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)8u},/* 0x1801:0*/
{ (UNSIGNED8)1u, CO_DTYPE_U32_TPDO , (UNSIGNED16)2u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)17u},/* 0x1801:1*/
{ (UNSIGNED8)2u, CO_DTYPE_U8_TPDO , (UNSIGNED16)2u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)6u},/* 0x1801:2*/
{ (UNSIGNED8)3u, CO_DTYPE_U16_TPDO , (UNSIGNED16)2u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)0u},/* 0x1801:3*/
{ (UNSIGNED8)4u, CO_DTYPE_U8_TPDO , (UNSIGNED16)2u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)0u},/* 0x1801:4*/
{ (UNSIGNED8)5u, CO_DTYPE_U16_TPDO , (UNSIGNED16)2u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)3u},/* 0x1801:5*/
{ (UNSIGNED8)5u, CO_DTYPE_U16_TPDO , (UNSIGNED16)2u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)1u},/* 0x1801:5*/
{ (UNSIGNED8)6u, CO_DTYPE_U8_TPDO , (UNSIGNED16)2u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)0u},/* 0x1801:6*/
{ (UNSIGNED8)0u, CO_DTYPE_U8_CONST , (UNSIGNED16)7u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)7u},/* 0x1802:0*/
{ (UNSIGNED8)1u, CO_DTYPE_U32_TPDO , (UNSIGNED16)3u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)17u},/* 0x1802:1*/
{ (UNSIGNED8)2u, CO_DTYPE_U8_TPDO , (UNSIGNED16)3u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)5u},/* 0x1802:2*/
{ (UNSIGNED8)0u, CO_DTYPE_U8_CONST , (UNSIGNED16)8u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)8u},/* 0x1802:0*/
{ (UNSIGNED8)1u, CO_DTYPE_U32_TPDO , (UNSIGNED16)3u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)18u},/* 0x1802:1*/
{ (UNSIGNED8)2u, CO_DTYPE_U8_TPDO , (UNSIGNED16)3u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)6u},/* 0x1802:2*/
{ (UNSIGNED8)3u, CO_DTYPE_U16_TPDO , (UNSIGNED16)3u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)0u},/* 0x1802:3*/
{ (UNSIGNED8)4u, CO_DTYPE_U8_TPDO , (UNSIGNED16)3u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)0u},/* 0x1802:4*/
{ (UNSIGNED8)5u, CO_DTYPE_U16_TPDO , (UNSIGNED16)3u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)3u},/* 0x1802:5*/
{ (UNSIGNED8)5u, CO_DTYPE_U16_TPDO , (UNSIGNED16)3u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)1u},/* 0x1802:5*/
{ (UNSIGNED8)6u, CO_DTYPE_U8_TPDO , (UNSIGNED16)3u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)0u},/* 0x1802:6*/
{ (UNSIGNED8)0u, CO_DTYPE_U8_CONST , (UNSIGNED16)7u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)7u},/* 0x1803:0*/
{ (UNSIGNED8)1u, CO_DTYPE_U32_TPDO , (UNSIGNED16)4u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)18u},/* 0x1803:1*/
{ (UNSIGNED8)2u, CO_DTYPE_U8_TPDO , (UNSIGNED16)4u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_MAP_TR | CO_ATTR_MAP_REC | CO_ATTR_DEFVAL, (UNSIGNED16)5u},/* 0x1803:2*/
{ (UNSIGNED8)0u, CO_DTYPE_U8_CONST , (UNSIGNED16)8u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)8u},/* 0x1803:0*/
{ (UNSIGNED8)1u, CO_DTYPE_U32_TPDO , (UNSIGNED16)4u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)19u},/* 0x1803:1*/
{ (UNSIGNED8)2u, CO_DTYPE_U8_TPDO , (UNSIGNED16)4u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_MAP_TR | CO_ATTR_MAP_REC | CO_ATTR_DEFVAL, (UNSIGNED16)6u},/* 0x1803:2*/
{ (UNSIGNED8)3u, CO_DTYPE_U16_TPDO , (UNSIGNED16)4u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)0u},/* 0x1803:3*/
{ (UNSIGNED8)4u, CO_DTYPE_U8_TPDO , (UNSIGNED16)4u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)0u},/* 0x1803:4*/
{ (UNSIGNED8)5u, CO_DTYPE_U16_TPDO , (UNSIGNED16)4u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)3u},/* 0x1803:5*/
{ (UNSIGNED8)5u, CO_DTYPE_U16_TPDO , (UNSIGNED16)4u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)1u},/* 0x1803:5*/
{ (UNSIGNED8)6u, CO_DTYPE_U8_TPDO , (UNSIGNED16)4u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)0u},/* 0x1803:6*/
{ (UNSIGNED8)0u, CO_DTYPE_U8_CONST , (UNSIGNED16)7u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_MAP_TR | CO_ATTR_DEFVAL, (UNSIGNED16)7u},/* 0x1804:0*/
{ (UNSIGNED8)0u, CO_DTYPE_U8_CONST , (UNSIGNED16)8u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_MAP_TR | CO_ATTR_DEFVAL, (UNSIGNED16)8u},/* 0x1804:0*/
{ (UNSIGNED8)1u, CO_DTYPE_U32_TPDO , (UNSIGNED16)5u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_MAP_TR | CO_ATTR_MAP_REC | CO_ATTR_DEFVAL, (UNSIGNED16)0u},/* 0x1804:1*/
{ (UNSIGNED8)2u, CO_DTYPE_U8_TPDO , (UNSIGNED16)5u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)5u},/* 0x1804:2*/
{ (UNSIGNED8)2u, CO_DTYPE_U8_TPDO , (UNSIGNED16)5u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)6u},/* 0x1804:2*/
{ (UNSIGNED8)3u, CO_DTYPE_U16_TPDO , (UNSIGNED16)5u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)0u},/* 0x1804:3*/
{ (UNSIGNED8)4u, CO_DTYPE_U8_TPDO , (UNSIGNED16)5u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)0u},/* 0x1804:4*/
{ (UNSIGNED8)5u, CO_DTYPE_U16_TPDO , (UNSIGNED16)5u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)3u},/* 0x1804:5*/
{ (UNSIGNED8)5u, CO_DTYPE_U16_TPDO , (UNSIGNED16)5u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)1u},/* 0x1804:5*/
{ (UNSIGNED8)6u, CO_DTYPE_U8_TPDO , (UNSIGNED16)5u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_DEFVAL, (UNSIGNED16)0u},/* 0x1804:6*/
{ (UNSIGNED8)0u, CO_DTYPE_U8_CONST , (UNSIGNED16)1u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)1u},/* 0x1a00:0*/
{ (UNSIGNED8)1u, CO_DTYPE_U32_CONST, (UNSIGNED16)19u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_MAP_TR | CO_ATTR_DEFVAL, (UNSIGNED16)19u},/* 0x1a00:1*/
{ (UNSIGNED8)2u, CO_DTYPE_U32_CONST, (UNSIGNED16)20u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_MAP_TR | CO_ATTR_DEFVAL, (UNSIGNED16)20u},/* 0x1a00:2*/
{ (UNSIGNED8)0u, CO_DTYPE_U8_CONST , (UNSIGNED16)1u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)1u},/* 0x1a01:0*/
{ (UNSIGNED8)1u, CO_DTYPE_U32_CONST, (UNSIGNED16)21u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_MAP_TR | CO_ATTR_DEFVAL, (UNSIGNED16)21u},/* 0x1a01:1*/
{ (UNSIGNED8)2u, CO_DTYPE_U32_CONST, (UNSIGNED16)22u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_MAP_TR | CO_ATTR_DEFVAL, (UNSIGNED16)22u},/* 0x1a01:2*/
{ (UNSIGNED8)0u, CO_DTYPE_U8_CONST , (UNSIGNED16)1u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)1u},/* 0x1a02:0*/
{ (UNSIGNED8)1u, CO_DTYPE_U32_CONST, (UNSIGNED16)23u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_MAP_TR | CO_ATTR_DEFVAL, (UNSIGNED16)23u},/* 0x1a02:1*/
{ (UNSIGNED8)2u, CO_DTYPE_U32_CONST, (UNSIGNED16)24u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_MAP_TR | CO_ATTR_DEFVAL, (UNSIGNED16)24u},/* 0x1a02:2*/
{ (UNSIGNED8)0u, CO_DTYPE_U8_CONST , (UNSIGNED16)1u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)1u},/* 0x1a03:0*/
{ (UNSIGNED8)1u, CO_DTYPE_U32_CONST, (UNSIGNED16)25u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_MAP_TR | CO_ATTR_DEFVAL, (UNSIGNED16)25u},/* 0x1a03:1*/
{ (UNSIGNED8)2u, CO_DTYPE_U32_CONST, (UNSIGNED16)26u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_MAP_TR | CO_ATTR_DEFVAL, (UNSIGNED16)26u},/* 0x1a03:2*/
{ (UNSIGNED8)0u, CO_DTYPE_U8_CONST , (UNSIGNED16)1u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)1u},/* 0x1a04:0*/
{ (UNSIGNED8)1u, CO_DTYPE_U32_CONST, (UNSIGNED16)11u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_MAP_TR | CO_ATTR_DEFVAL, (UNSIGNED16)11u},/* 0x1a04:1*/
{ (UNSIGNED8)2u, CO_DTYPE_U32_CONST, (UNSIGNED16)12u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_MAP_TR | CO_ATTR_DEFVAL, (UNSIGNED16)12u},/* 0x1a04:2*/
{ (UNSIGNED8)0u, CO_DTYPE_U8_CONST , (UNSIGNED16)3u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)3u},/* 0x1a00:0*/
{ (UNSIGNED8)1u, CO_DTYPE_U32_CONST, (UNSIGNED16)20u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_MAP_TR | CO_ATTR_DEFVAL, (UNSIGNED16)20u},/* 0x1a00:1*/
{ (UNSIGNED8)2u, CO_DTYPE_U32_CONST, (UNSIGNED16)21u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_MAP_TR | CO_ATTR_DEFVAL, (UNSIGNED16)21u},/* 0x1a00:2*/
{ (UNSIGNED8)0u, CO_DTYPE_U8_CONST , (UNSIGNED16)3u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)3u},/* 0x1a01:0*/
{ (UNSIGNED8)1u, CO_DTYPE_U32_CONST, (UNSIGNED16)22u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_MAP_TR | CO_ATTR_DEFVAL, (UNSIGNED16)22u},/* 0x1a01:1*/
{ (UNSIGNED8)2u, CO_DTYPE_U32_CONST, (UNSIGNED16)23u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_MAP_TR | CO_ATTR_DEFVAL, (UNSIGNED16)23u},/* 0x1a01:2*/
{ (UNSIGNED8)0u, CO_DTYPE_U8_CONST , (UNSIGNED16)3u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)3u},/* 0x1a02:0*/
{ (UNSIGNED8)1u, CO_DTYPE_U32_CONST, (UNSIGNED16)24u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_MAP_TR | CO_ATTR_DEFVAL, (UNSIGNED16)24u},/* 0x1a02:1*/
{ (UNSIGNED8)2u, CO_DTYPE_U32_CONST, (UNSIGNED16)25u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_MAP_TR | CO_ATTR_DEFVAL, (UNSIGNED16)25u},/* 0x1a02:2*/
{ (UNSIGNED8)0u, CO_DTYPE_U8_CONST , (UNSIGNED16)3u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)3u},/* 0x1a03:0*/
{ (UNSIGNED8)1u, CO_DTYPE_U32_CONST, (UNSIGNED16)26u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_MAP_TR | CO_ATTR_DEFVAL, (UNSIGNED16)26u},/* 0x1a03:1*/
{ (UNSIGNED8)2u, CO_DTYPE_U32_CONST, (UNSIGNED16)27u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_MAP_TR | CO_ATTR_DEFVAL, (UNSIGNED16)27u},/* 0x1a03:2*/
{ (UNSIGNED8)0u, CO_DTYPE_U8_CONST , (UNSIGNED16)3u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)3u},/* 0x1a04:0*/
{ (UNSIGNED8)1u, CO_DTYPE_U32_CONST, (UNSIGNED16)12u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_MAP_TR | CO_ATTR_DEFVAL, (UNSIGNED16)12u},/* 0x1a04:1*/
{ (UNSIGNED8)2u, CO_DTYPE_U32_CONST, (UNSIGNED16)13u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_MAP_TR | CO_ATTR_DEFVAL, (UNSIGNED16)13u},/* 0x1a04:2*/
{ (UNSIGNED8)0u, CO_DTYPE_I32_VAR , (UNSIGNED16)0u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_MAP_TR | CO_ATTR_MAP_REC, (UNSIGNED16)0u},/* 0x2001:0*/
{ (UNSIGNED8)0u, CO_DTYPE_U8_CONST , (UNSIGNED16)1u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)1u},/* 0x3000:0*/
{ (UNSIGNED8)0u, CO_DTYPE_U8_CONST , (UNSIGNED16)3u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)3u},/* 0x3000:0*/
{ (UNSIGNED8)1u, CO_DTYPE_I16_VAR , (UNSIGNED16)0u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_MAP_TR, (UNSIGNED16)0u},/* 0x3000:1*/
{ (UNSIGNED8)2u, CO_DTYPE_I16_VAR , (UNSIGNED16)1u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_MAP_TR | CO_ATTR_MAP_REC, (UNSIGNED16)1u},/* 0x3000:2*/
{ (UNSIGNED8)0u, CO_DTYPE_U8_CONST , (UNSIGNED16)6u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)6u},/* 0x6000:0*/
{ (UNSIGNED8)0u, CO_DTYPE_U8_CONST , (UNSIGNED16)7u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)7u},/* 0x6000:0*/
{ (UNSIGNED8)1u, CO_DTYPE_U8_VAR , (UNSIGNED16)3u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_MAP_TR | CO_ATTR_MAP_REC | CO_ATTR_DEFVAL, (UNSIGNED16)0u},/* 0x6000:1*/
{ (UNSIGNED8)2u, CO_DTYPE_U8_VAR , (UNSIGNED16)4u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_MAP_TR | CO_ATTR_MAP_REC | CO_ATTR_DEFVAL, (UNSIGNED16)0u},/* 0x6000:2*/
{ (UNSIGNED8)3u, CO_DTYPE_U8_VAR , (UNSIGNED16)5u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_MAP_TR | CO_ATTR_MAP_REC | CO_ATTR_DEFVAL, (UNSIGNED16)0u},/* 0x6000:3*/
{ (UNSIGNED8)4u, CO_DTYPE_U8_VAR , (UNSIGNED16)6u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_MAP_TR | CO_ATTR_MAP_REC | CO_ATTR_DEFVAL, (UNSIGNED16)0u},/* 0x6000:4*/
{ (UNSIGNED8)5u, CO_DTYPE_U8_VAR , (UNSIGNED16)7u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_MAP_TR | CO_ATTR_MAP_REC | CO_ATTR_DEFVAL, (UNSIGNED16)0u},/* 0x6000:5*/
{ (UNSIGNED8)0u, CO_DTYPE_U8_CONST , (UNSIGNED16)7u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)7u},/* 0x6001:0*/
{ (UNSIGNED8)0u, CO_DTYPE_U8_CONST , (UNSIGNED16)8u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)8u},/* 0x6001:0*/
{ (UNSIGNED8)1u, CO_DTYPE_U32_VAR , (UNSIGNED16)3u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_MAP_TR | CO_ATTR_MAP_REC | CO_ATTR_DEFVAL, (UNSIGNED16)0u},/* 0x6001:1*/
{ (UNSIGNED8)2u, CO_DTYPE_U32_VAR , (UNSIGNED16)4u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_MAP_TR | CO_ATTR_MAP_REC | CO_ATTR_DEFVAL, (UNSIGNED16)0u},/* 0x6001:2*/
{ (UNSIGNED8)3u, CO_DTYPE_U32_VAR , (UNSIGNED16)5u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_MAP_TR | CO_ATTR_MAP_REC | CO_ATTR_DEFVAL, (UNSIGNED16)0u},/* 0x6001:3*/
{ (UNSIGNED8)4u, CO_DTYPE_U32_VAR , (UNSIGNED16)6u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_MAP_TR | CO_ATTR_MAP_REC | CO_ATTR_DEFVAL, (UNSIGNED16)0u},/* 0x6001:4*/
{ (UNSIGNED8)5u, CO_DTYPE_U32_VAR , (UNSIGNED16)7u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_MAP_TR | CO_ATTR_MAP_REC | CO_ATTR_DEFVAL, (UNSIGNED16)0u},/* 0x6001:5*/
{ (UNSIGNED8)6u, CO_DTYPE_U32_VAR , (UNSIGNED16)8u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_MAP_TR | CO_ATTR_MAP_REC | CO_ATTR_DEFVAL, (UNSIGNED16)0u},/* 0x6001:6*/
{ (UNSIGNED8)0u, CO_DTYPE_U8_CONST , (UNSIGNED16)7u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)7u},/* 0x6002:0*/
{ (UNSIGNED8)0u, CO_DTYPE_U8_CONST , (UNSIGNED16)8u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)8u},/* 0x6002:0*/
{ (UNSIGNED8)1u, CO_DTYPE_U32_VAR , (UNSIGNED16)9u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_MAP_TR | CO_ATTR_MAP_REC | CO_ATTR_DEFVAL, (UNSIGNED16)0u},/* 0x6002:1*/
{ (UNSIGNED8)2u, CO_DTYPE_U32_VAR , (UNSIGNED16)10u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_MAP_TR | CO_ATTR_MAP_REC | CO_ATTR_DEFVAL, (UNSIGNED16)0u},/* 0x6002:2*/
{ (UNSIGNED8)3u, CO_DTYPE_U32_VAR , (UNSIGNED16)11u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_MAP_TR | CO_ATTR_MAP_REC | CO_ATTR_DEFVAL, (UNSIGNED16)0u},/* 0x6002:3*/
{ (UNSIGNED8)4u, CO_DTYPE_U32_VAR , (UNSIGNED16)12u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_MAP_TR | CO_ATTR_MAP_REC | CO_ATTR_DEFVAL, (UNSIGNED16)0u},/* 0x6002:4*/
{ (UNSIGNED8)5u, CO_DTYPE_U32_VAR , (UNSIGNED16)13u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_MAP_TR | CO_ATTR_MAP_REC | CO_ATTR_DEFVAL, (UNSIGNED16)0u},/* 0x6002:5*/
{ (UNSIGNED8)6u, CO_DTYPE_U32_VAR , (UNSIGNED16)14u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_MAP_TR | CO_ATTR_MAP_REC | CO_ATTR_DEFVAL, (UNSIGNED16)0u},/* 0x6002:6*/
{ (UNSIGNED8)0u, CO_DTYPE_U8_CONST , (UNSIGNED16)8u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)8u},/* 0x6003:0*/
{ (UNSIGNED8)0u, CO_DTYPE_U8_CONST , (UNSIGNED16)9u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_DEFVAL, (UNSIGNED16)9u},/* 0x6003:0*/
{ (UNSIGNED8)1u, CO_DTYPE_U32_VAR , (UNSIGNED16)15u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_MAP_TR | CO_ATTR_MAP_REC | CO_ATTR_DEFVAL, (UNSIGNED16)0u},/* 0x6003:1*/
{ (UNSIGNED8)2u, CO_DTYPE_U32_VAR , (UNSIGNED16)16u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_MAP_TR | CO_ATTR_MAP_REC | CO_ATTR_DEFVAL, (UNSIGNED16)0u},/* 0x6003:2*/
{ (UNSIGNED8)3u, CO_DTYPE_U32_VAR , (UNSIGNED16)17u, CO_ATTR_NUM | CO_ATTR_READ | CO_ATTR_WRITE | CO_ATTR_MAP_TR | CO_ATTR_MAP_REC | CO_ATTR_DEFVAL, (UNSIGNED16)0u},/* 0x6003:3*/
@ -296,38 +387,56 @@ CO_CONST CO_OD_ASSIGN_T CO_CONST_STORAGE_CLASS od_assign[CO_OD_ASSIGN_CNT] = {
{ 0x1008u, 1u, 0u, CO_ODTYPE_VAR, 4u },
{ 0x1014u, 1u, 0u, CO_ODTYPE_VAR, 5u },
{ 0x1015u, 1u, 0u, CO_ODTYPE_VAR, 6u },
{ 0x1016u, 3u, 2u, CO_ODTYPE_ARRAY, 7u },
{ 0x1017u, 1u, 0u, CO_ODTYPE_VAR, 10u },
{ 0x1018u, 5u, 4u, CO_ODTYPE_STRUCT, 11u },
{ 0x1029u, 3u, 2u, CO_ODTYPE_ARRAY, 16u },
{ 0x102au, 1u, 0u, CO_ODTYPE_VAR, 19u },
{ 0x1200u, 3u, 2u, CO_ODTYPE_STRUCT, 20u },
{ 0x1280u, 4u, 3u, CO_ODTYPE_STRUCT, 23u },
{ 0x1281u, 4u, 3u, CO_ODTYPE_STRUCT, 27u },
{ 0x1400u, 3u, 2u, CO_ODTYPE_STRUCT, 31u },
{ 0x1401u, 3u, 2u, CO_ODTYPE_STRUCT, 34u },
{ 0x1402u, 3u, 2u, CO_ODTYPE_STRUCT, 37u },
{ 0x1600u, 3u, 2u, CO_ODTYPE_STRUCT, 40u },
{ 0x1601u, 3u, 2u, CO_ODTYPE_STRUCT, 43u },
{ 0x1602u, 3u, 2u, CO_ODTYPE_STRUCT, 46u },
{ 0x1800u, 6u, 5u, CO_ODTYPE_STRUCT, 49u },
{ 0x1801u, 7u, 6u, CO_ODTYPE_STRUCT, 55u },
{ 0x1802u, 7u, 6u, CO_ODTYPE_STRUCT, 62u },
{ 0x1803u, 7u, 6u, CO_ODTYPE_STRUCT, 69u },
{ 0x1804u, 7u, 6u, CO_ODTYPE_STRUCT, 76u },
{ 0x1a00u, 3u, 2u, CO_ODTYPE_STRUCT, 83u },
{ 0x1a01u, 3u, 2u, CO_ODTYPE_STRUCT, 86u },
{ 0x1a02u, 3u, 2u, CO_ODTYPE_STRUCT, 89u },
{ 0x1a03u, 3u, 2u, CO_ODTYPE_STRUCT, 92u },
{ 0x1a04u, 3u, 2u, CO_ODTYPE_STRUCT, 95u },
{ 0x2001u, 1u, 0u, CO_ODTYPE_VAR, 98u },
{ 0x3000u, 3u, 2u, CO_ODTYPE_ARRAY, 99u },
{ 0x6000u, 6u, 5u, CO_ODTYPE_ARRAY, 102u },
{ 0x6001u, 7u, 6u, CO_ODTYPE_ARRAY, 108u },
{ 0x6002u, 7u, 6u, CO_ODTYPE_ARRAY, 115u },
{ 0x6003u, 9u, 8u, CO_ODTYPE_ARRAY, 122u },
{ 0x6004u, 5u, 4u, CO_ODTYPE_ARRAY, 131u },
{ 0x6005u, 5u, 4u, CO_ODTYPE_ARRAY, 136u },
{ 0x1016u, 21u, 20u, CO_ODTYPE_ARRAY, 7u },
{ 0x1017u, 1u, 0u, CO_ODTYPE_VAR, 28u },
{ 0x1018u, 5u, 4u, CO_ODTYPE_STRUCT, 29u },
{ 0x1029u, 3u, 2u, CO_ODTYPE_ARRAY, 34u },
{ 0x102au, 1u, 0u, CO_ODTYPE_VAR, 37u },
{ 0x1200u, 3u, 2u, CO_ODTYPE_STRUCT, 38u },
{ 0x1280u, 4u, 3u, CO_ODTYPE_STRUCT, 41u },
{ 0x1281u, 4u, 3u, CO_ODTYPE_STRUCT, 45u },
{ 0x1282u, 4u, 3u, CO_ODTYPE_STRUCT, 49u },
{ 0x1283u, 4u, 3u, CO_ODTYPE_STRUCT, 53u },
{ 0x1284u, 4u, 3u, CO_ODTYPE_STRUCT, 57u },
{ 0x1285u, 4u, 3u, CO_ODTYPE_STRUCT, 61u },
{ 0x1286u, 4u, 3u, CO_ODTYPE_STRUCT, 65u },
{ 0x1287u, 4u, 3u, CO_ODTYPE_STRUCT, 69u },
{ 0x1288u, 4u, 3u, CO_ODTYPE_STRUCT, 73u },
{ 0x1289u, 4u, 3u, CO_ODTYPE_STRUCT, 77u },
{ 0x128au, 4u, 3u, CO_ODTYPE_STRUCT, 81u },
{ 0x128bu, 4u, 3u, CO_ODTYPE_STRUCT, 85u },
{ 0x128cu, 4u, 3u, CO_ODTYPE_STRUCT, 89u },
{ 0x128du, 4u, 3u, CO_ODTYPE_STRUCT, 93u },
{ 0x128eu, 4u, 3u, CO_ODTYPE_STRUCT, 97u },
{ 0x128fu, 4u, 3u, CO_ODTYPE_STRUCT, 101u },
{ 0x1290u, 4u, 3u, CO_ODTYPE_STRUCT, 105u },
{ 0x1291u, 4u, 3u, CO_ODTYPE_STRUCT, 109u },
{ 0x1292u, 4u, 3u, CO_ODTYPE_STRUCT, 113u },
{ 0x1293u, 4u, 3u, CO_ODTYPE_STRUCT, 117u },
{ 0x1400u, 3u, 2u, CO_ODTYPE_STRUCT, 121u },
{ 0x1401u, 3u, 2u, CO_ODTYPE_STRUCT, 124u },
{ 0x1402u, 3u, 2u, CO_ODTYPE_STRUCT, 127u },
{ 0x1600u, 3u, 2u, CO_ODTYPE_STRUCT, 130u },
{ 0x1601u, 3u, 2u, CO_ODTYPE_STRUCT, 133u },
{ 0x1602u, 3u, 2u, CO_ODTYPE_STRUCT, 136u },
{ 0x1800u, 6u, 5u, CO_ODTYPE_STRUCT, 139u },
{ 0x1801u, 7u, 6u, CO_ODTYPE_STRUCT, 145u },
{ 0x1802u, 7u, 6u, CO_ODTYPE_STRUCT, 152u },
{ 0x1803u, 7u, 6u, CO_ODTYPE_STRUCT, 159u },
{ 0x1804u, 7u, 6u, CO_ODTYPE_STRUCT, 166u },
{ 0x1a00u, 3u, 2u, CO_ODTYPE_STRUCT, 173u },
{ 0x1a01u, 3u, 2u, CO_ODTYPE_STRUCT, 176u },
{ 0x1a02u, 3u, 2u, CO_ODTYPE_STRUCT, 179u },
{ 0x1a03u, 3u, 2u, CO_ODTYPE_STRUCT, 182u },
{ 0x1a04u, 3u, 2u, CO_ODTYPE_STRUCT, 185u },
{ 0x2001u, 1u, 0u, CO_ODTYPE_VAR, 188u },
{ 0x3000u, 3u, 2u, CO_ODTYPE_ARRAY, 189u },
{ 0x6000u, 6u, 5u, CO_ODTYPE_ARRAY, 192u },
{ 0x6001u, 7u, 6u, CO_ODTYPE_ARRAY, 198u },
{ 0x6002u, 7u, 6u, CO_ODTYPE_ARRAY, 205u },
{ 0x6003u, 9u, 8u, CO_ODTYPE_ARRAY, 212u },
{ 0x6004u, 5u, 4u, CO_ODTYPE_ARRAY, 221u },
{ 0x6005u, 5u, 4u, CO_ODTYPE_ARRAY, 226u },
};
/* static PDO mapping tables */
@ -533,8 +642,98 @@ CO_COMMON_INIT_VAL_T commonInitVars = {
return(retVal);
}
CO_HANDLE_WATCHDOG
retVal = coSdoClientInit(3u);
if (retVal != RET_OK) {
return(retVal);
}
CO_HANDLE_WATCHDOG
retVal = coSdoClientInit(4u);
if (retVal != RET_OK) {
return(retVal);
}
CO_HANDLE_WATCHDOG
retVal = coSdoClientInit(5u);
if (retVal != RET_OK) {
return(retVal);
}
CO_HANDLE_WATCHDOG
retVal = coSdoClientInit(6u);
if (retVal != RET_OK) {
return(retVal);
}
CO_HANDLE_WATCHDOG
retVal = coSdoClientInit(7u);
if (retVal != RET_OK) {
return(retVal);
}
CO_HANDLE_WATCHDOG
retVal = coSdoClientInit(8u);
if (retVal != RET_OK) {
return(retVal);
}
CO_HANDLE_WATCHDOG
retVal = coSdoClientInit(9u);
if (retVal != RET_OK) {
return(retVal);
}
CO_HANDLE_WATCHDOG
retVal = coSdoClientInit(10u);
if (retVal != RET_OK) {
return(retVal);
}
CO_HANDLE_WATCHDOG
retVal = coSdoClientInit(11u);
if (retVal != RET_OK) {
return(retVal);
}
CO_HANDLE_WATCHDOG
retVal = coSdoClientInit(12u);
if (retVal != RET_OK) {
return(retVal);
}
CO_HANDLE_WATCHDOG
retVal = coSdoClientInit(13u);
if (retVal != RET_OK) {
return(retVal);
}
CO_HANDLE_WATCHDOG
retVal = coSdoClientInit(14u);
if (retVal != RET_OK) {
return(retVal);
}
CO_HANDLE_WATCHDOG
retVal = coSdoClientInit(15u);
if (retVal != RET_OK) {
return(retVal);
}
CO_HANDLE_WATCHDOG
retVal = coSdoClientInit(16u);
if (retVal != RET_OK) {
return(retVal);
}
CO_HANDLE_WATCHDOG
retVal = coSdoClientInit(17u);
if (retVal != RET_OK) {
return(retVal);
}
CO_HANDLE_WATCHDOG
retVal = coSdoClientInit(18u);
if (retVal != RET_OK) {
return(retVal);
}
CO_HANDLE_WATCHDOG
retVal = coSdoClientInit(19u);
if (retVal != RET_OK) {
return(retVal);
}
CO_HANDLE_WATCHDOG
retVal = coSdoClientInit(20u);
if (retVal != RET_OK) {
return(retVal);
}
CO_HANDLE_WATCHDOG
/* initialize error control */
retVal = coErrorCtrlInit(od_const_u16[1], 2u);
retVal = coErrorCtrlInit(od_const_u16[1], 20u);
if (retVal != RET_OK) {
return(retVal);
}
@ -546,49 +745,49 @@ CO_COMMON_INIT_VAL_T commonInitVars = {
}
CO_HANDLE_WATCHDOG
/* initialize TPDO 1 */
retVal = coPdoTransmitInit(1u, od_const_u8[5], od_const_u16[0], od_const_u16[3], 0u, &mapTableTPDO1);
retVal = coPdoTransmitInit(1u, od_const_u8[6], od_const_u16[0], od_const_u16[1], 0u, &mapTableTPDO1);
if (retVal != RET_OK) {
return(retVal);
}
CO_HANDLE_WATCHDOG
/* initialize TPDO 2 */
retVal = coPdoTransmitInit(2u, od_const_u8[5], od_const_u16[0], od_const_u16[3], od_const_u8[0], &mapTableTPDO2);
retVal = coPdoTransmitInit(2u, od_const_u8[6], od_const_u16[0], od_const_u16[1], od_const_u8[0], &mapTableTPDO2);
if (retVal != RET_OK) {
return(retVal);
}
CO_HANDLE_WATCHDOG
/* initialize TPDO 3 */
retVal = coPdoTransmitInit(3u, od_const_u8[5], od_const_u16[0], od_const_u16[3], od_const_u8[0], &mapTableTPDO3);
retVal = coPdoTransmitInit(3u, od_const_u8[6], od_const_u16[0], od_const_u16[1], od_const_u8[0], &mapTableTPDO3);
if (retVal != RET_OK) {
return(retVal);
}
CO_HANDLE_WATCHDOG
/* initialize TPDO 4 */
retVal = coPdoTransmitInit(4u, od_const_u8[5], od_const_u16[0], od_const_u16[3], od_const_u8[0], &mapTableTPDO4);
retVal = coPdoTransmitInit(4u, od_const_u8[6], od_const_u16[0], od_const_u16[1], od_const_u8[0], &mapTableTPDO4);
if (retVal != RET_OK) {
return(retVal);
}
CO_HANDLE_WATCHDOG
/* initialize TPDO 5 */
retVal = coPdoTransmitInit(5u, od_const_u8[5], od_const_u16[0], od_const_u16[3], od_const_u8[0], &mapTableTPDO5);
retVal = coPdoTransmitInit(5u, od_const_u8[6], od_const_u16[0], od_const_u16[1], od_const_u8[0], &mapTableTPDO5);
if (retVal != RET_OK) {
return(retVal);
}
CO_HANDLE_WATCHDOG
/* initialize RPDO 1 */
retVal = coPdoReceiveInit(1u, od_const_u8[5], 0u, 0u, &mapTableRPDO0);
retVal = coPdoReceiveInit(1u, od_const_u8[6], 0u, 0u, &mapTableRPDO0);
if (retVal != RET_OK) {
return(retVal);
}
CO_HANDLE_WATCHDOG
/* initialize RPDO 2 */
retVal = coPdoReceiveInit(2u, od_const_u8[5], 0u, 0u, &mapTableRPDO1);
retVal = coPdoReceiveInit(2u, od_const_u8[6], 0u, 0u, &mapTableRPDO1);
if (retVal != RET_OK) {
return(retVal);
}
CO_HANDLE_WATCHDOG
/* initialize RPDO 3 */
retVal = coPdoReceiveInit(3u, od_const_u8[5], 0u, 0u, &mapTableRPDO2);
retVal = coPdoReceiveInit(3u, od_const_u8[6], 0u, 0u, &mapTableRPDO2);
if (retVal != RET_OK) {
return(retVal);
}
@ -648,6 +847,150 @@ RET_T userOverwriteCobIdSettings(void)
if (ret == RET_OK) {
ret = coOdSetCobid(0x1281, 2, cobId);
}
ret = coOdGetDefaultVal_u32(0x1282, 1, &cobId);
if (ret == RET_OK) {
ret = coOdSetCobid(0x1282, 1, cobId);
}
ret = coOdGetDefaultVal_u32(0x1282, 2, &cobId);
if (ret == RET_OK) {
ret = coOdSetCobid(0x1282, 2, cobId);
}
ret = coOdGetDefaultVal_u32(0x1283, 1, &cobId);
if (ret == RET_OK) {
ret = coOdSetCobid(0x1283, 1, cobId);
}
ret = coOdGetDefaultVal_u32(0x1283, 2, &cobId);
if (ret == RET_OK) {
ret = coOdSetCobid(0x1283, 2, cobId);
}
ret = coOdGetDefaultVal_u32(0x1284, 1, &cobId);
if (ret == RET_OK) {
ret = coOdSetCobid(0x1284, 1, cobId);
}
ret = coOdGetDefaultVal_u32(0x1284, 2, &cobId);
if (ret == RET_OK) {
ret = coOdSetCobid(0x1284, 2, cobId);
}
ret = coOdGetDefaultVal_u32(0x1285, 1, &cobId);
if (ret == RET_OK) {
ret = coOdSetCobid(0x1285, 1, cobId);
}
ret = coOdGetDefaultVal_u32(0x1285, 2, &cobId);
if (ret == RET_OK) {
ret = coOdSetCobid(0x1285, 2, cobId);
}
ret = coOdGetDefaultVal_u32(0x1286, 1, &cobId);
if (ret == RET_OK) {
ret = coOdSetCobid(0x1286, 1, cobId);
}
ret = coOdGetDefaultVal_u32(0x1286, 2, &cobId);
if (ret == RET_OK) {
ret = coOdSetCobid(0x1286, 2, cobId);
}
ret = coOdGetDefaultVal_u32(0x1287, 1, &cobId);
if (ret == RET_OK) {
ret = coOdSetCobid(0x1287, 1, cobId);
}
ret = coOdGetDefaultVal_u32(0x1287, 2, &cobId);
if (ret == RET_OK) {
ret = coOdSetCobid(0x1287, 2, cobId);
}
ret = coOdGetDefaultVal_u32(0x1288, 1, &cobId);
if (ret == RET_OK) {
ret = coOdSetCobid(0x1288, 1, cobId);
}
ret = coOdGetDefaultVal_u32(0x1288, 2, &cobId);
if (ret == RET_OK) {
ret = coOdSetCobid(0x1288, 2, cobId);
}
ret = coOdGetDefaultVal_u32(0x1289, 1, &cobId);
if (ret == RET_OK) {
ret = coOdSetCobid(0x1289, 1, cobId);
}
ret = coOdGetDefaultVal_u32(0x1289, 2, &cobId);
if (ret == RET_OK) {
ret = coOdSetCobid(0x1289, 2, cobId);
}
ret = coOdGetDefaultVal_u32(0x128a, 1, &cobId);
if (ret == RET_OK) {
ret = coOdSetCobid(0x128a, 1, cobId);
}
ret = coOdGetDefaultVal_u32(0x128a, 2, &cobId);
if (ret == RET_OK) {
ret = coOdSetCobid(0x128a, 2, cobId);
}
ret = coOdGetDefaultVal_u32(0x128b, 1, &cobId);
if (ret == RET_OK) {
ret = coOdSetCobid(0x128b, 1, cobId);
}
ret = coOdGetDefaultVal_u32(0x128b, 2, &cobId);
if (ret == RET_OK) {
ret = coOdSetCobid(0x128b, 2, cobId);
}
ret = coOdGetDefaultVal_u32(0x128c, 1, &cobId);
if (ret == RET_OK) {
ret = coOdSetCobid(0x128c, 1, cobId);
}
ret = coOdGetDefaultVal_u32(0x128c, 2, &cobId);
if (ret == RET_OK) {
ret = coOdSetCobid(0x128c, 2, cobId);
}
ret = coOdGetDefaultVal_u32(0x128d, 1, &cobId);
if (ret == RET_OK) {
ret = coOdSetCobid(0x128d, 1, cobId);
}
ret = coOdGetDefaultVal_u32(0x128d, 2, &cobId);
if (ret == RET_OK) {
ret = coOdSetCobid(0x128d, 2, cobId);
}
ret = coOdGetDefaultVal_u32(0x128e, 1, &cobId);
if (ret == RET_OK) {
ret = coOdSetCobid(0x128e, 1, cobId);
}
ret = coOdGetDefaultVal_u32(0x128e, 2, &cobId);
if (ret == RET_OK) {
ret = coOdSetCobid(0x128e, 2, cobId);
}
ret = coOdGetDefaultVal_u32(0x128f, 1, &cobId);
if (ret == RET_OK) {
ret = coOdSetCobid(0x128f, 1, cobId);
}
ret = coOdGetDefaultVal_u32(0x128f, 2, &cobId);
if (ret == RET_OK) {
ret = coOdSetCobid(0x128f, 2, cobId);
}
ret = coOdGetDefaultVal_u32(0x1290, 1, &cobId);
if (ret == RET_OK) {
ret = coOdSetCobid(0x1290, 1, cobId);
}
ret = coOdGetDefaultVal_u32(0x1290, 2, &cobId);
if (ret == RET_OK) {
ret = coOdSetCobid(0x1290, 2, cobId);
}
ret = coOdGetDefaultVal_u32(0x1291, 1, &cobId);
if (ret == RET_OK) {
ret = coOdSetCobid(0x1291, 1, cobId);
}
ret = coOdGetDefaultVal_u32(0x1291, 2, &cobId);
if (ret == RET_OK) {
ret = coOdSetCobid(0x1291, 2, cobId);
}
ret = coOdGetDefaultVal_u32(0x1292, 1, &cobId);
if (ret == RET_OK) {
ret = coOdSetCobid(0x1292, 1, cobId);
}
ret = coOdGetDefaultVal_u32(0x1292, 2, &cobId);
if (ret == RET_OK) {
ret = coOdSetCobid(0x1292, 2, cobId);
}
ret = coOdGetDefaultVal_u32(0x1293, 1, &cobId);
if (ret == RET_OK) {
ret = coOdSetCobid(0x1293, 1, cobId);
}
ret = coOdGetDefaultVal_u32(0x1293, 2, &cobId);
if (ret == RET_OK) {
ret = coOdSetCobid(0x1293, 2, cobId);
}
/* RxPDO COB IDs */
cobId = nodeId + 0x200;

View File

@ -51,6 +51,15 @@
#define SDL_SDO_CLIENT_COB 0x1280
#define SDL_SDO_CLIENT_TO_SERVER_COB 0x600
#define SDL_SDO_SERVER_TO_CLIENT_COB 0x580
#define TEST_BENCH_MAX_RETRY_CNT 5u
#define TEST_BENCH_TIMEOUT 1000u
#define TEST_BENCH_LSS_NODE_COUNT 20u
#define TEST_BENCH_POSITION_SETPOINT_INDEX 0x6002
#define TEST_BENCH_POSITION_SETPOINT_SUB_INDEX 0x0
#define TEST_BENCH_POSITION_FEEDBACK_INDEX 0x6004
#define TEST_BENCH_POSITION_FEEDBACK_SUB_INDEX 0x0
/******************************************************************************
* Type Declarations
******************************************************************************/
@ -62,6 +71,16 @@ typedef struct
uint32 serialNbr_u32;
uint8 nodeId_u8;
} SdlLssNodeInfo_t;
typedef enum
{
TEST_BENCH_STARTUP,
TEST_BENCH_IDLE,
TEST_BENCH_WRITE_REQUEST,
TEST_BENCH_WAIT_FOR_FEEDBACK,
TEST_BENCH_DELAY_BEFORE_NEXT
} SdlTestBenchState_en;
/******************************************************************************
* Global Declarations
******************************************************************************/
@ -94,6 +113,9 @@ static const SdlLssNodeInfo_t nodeLookupTable_gast[SDL_LSS_NODE_COUNT] =
{0x319, 0x4d2, 0x1, 0x14, 0x18}
};
static CO_NMT_STATE_T nodeNMTState_gaen[SDL_LSS_NODE_COUNT];
static SdlTestBenchState_en testBenchState_en = TEST_BENCH_IDLE;
static uint8 targetPositions_gau8[SDL_LSS_NODE_COUNT];
static uint8 currentNode_gu8 = 0u;
/******************************************************************************
* Static function Declarations
******************************************************************************/
@ -144,7 +166,7 @@ void SdlRun(void)
static void SdlInitCanopen(void)
{
RET_T retval;
HalSystemInit();
//HalSystemInit();
codrvHardwareInit();
retval = codrvCanInit(SDL_CANOPEN_BITRATE);
retval = codrvTimerSetup(CO_TIMER_INTERVAL);
@ -158,9 +180,9 @@ static void SdlInitCanopen(void)
retval = codrvCanEnable();
retval = coTimerStart(&monitorTimer_gst, SDL_APPL_TIMER_TIME, SdlLssToggleMonitorFlag, NULL, CO_TIMER_ATTR_ROUNDUP_CYCLIC);
retval = coTimerStart(&nodeResetTimer_gst, (SDL_LSS_NODE_STATE_RESET_INTERVAL * 1000000uLL), SdlLssResetNodesCallback, NULL, CO_TIMER_ATTR_ROUNDUP_CYCLIC);
retval = coNmtStateReq(SDL_PU_MASTER_NODE_ID, CO_NMT_STATE_OPERATIONAL, CO_TRUE);
coLssIdentifyNonConfiguredSlaves(SDL_LSS_CONFIG_TIMEOUT, SDL_LSS_CONFIG_INTERVAL);
retval = coNmtStateReq(SDL_PU_MASTER_NODE_ID, CO_NMT_STATE_OPERATIONAL, CO_TRUE);
}
@ -528,89 +550,201 @@ static RET_T SdlLssSetSdoCobID(uint8 sdoNr_u8, uint8 nodeId_u8)
* @return void
*
*/
static void SdlEnduranceTestBenchRun(void)
void SdlEnduranceTestBenchRun(void)
{
RET_T retVal_en;
uint8 max_u8 = NMS_UINT8_MAX;
uint8 min_u8 = 0u;
static uint64 startTime_u64 = 0uLL;
uint8 alternate_u8 = 0u;
static uint8 alternate_u8 = 0u;
static uint8 batchCompleted_u8 = 1u; /* Indicates if we need to populate a new batch */
static uint8 retries_u8 = 0u;
uint64 currentTime_u64;
HalSystemGetRunTimeMs(&currentTime_u64);
if (startTime_u64 == 0uLL)
{
HalSystemGetRunTimeMs(&startTime_u64);
srand(startTime_u64);
testBenchState_en = TEST_BENCH_STARTUP;
}
HalSystemGetRunTimeMs(&currentTime_u64);
if(currentTime_u64 - startTime_u64 <= SDL_TEST_BENCH_STARTUP_TIMEOUT)
switch (testBenchState_en)
{
if(alternate_u8 == 0u)
case TEST_BENCH_STARTUP:
{
for (uint8 i_u8 = 0u; i_u8 < SDL_LSS_NODE_COUNT / 2; i_u8++)
uint8 max_u8 = NMS_UINT8_MAX; /* Fully open (255) */
uint8 min_u8 = 0u; /* Fully closed (0) */
if ((currentTime_u64 - startTime_u64) < 5000uLL)
{
retVal_en = coSdoWrite((i_u8 + 1), SDL_POSITION_SETPOINT_INDEX, SDL_POSITION_SETPOINT_SUB_INDEX,
(uint8*)(&max_u8), sizeof(max_u8), CO_FALSE, SDL_TEST_BENCH_SDO_TIMEOUT);
/* First 5 seconds: First 10 open, rest closed */
for (uint8 i_u8 = 0u; i_u8 < TEST_BENCH_LSS_NODE_COUNT / 2; i_u8++)
{
targetPositions_gau8[i_u8] = (i_u8 < 10u) ? max_u8 : min_u8;
}
for (uint8 i_u8 = 10u; i_u8 < SDL_LSS_NODE_COUNT; i_u8++)
}
else if ((currentTime_u64 - startTime_u64) > 5000uLL)
{
retVal_en = coSdoWrite((i_u8 + 1), SDL_POSITION_SETPOINT_INDEX, SDL_POSITION_SETPOINT_SUB_INDEX,
(uint8*)(&min_u8), sizeof(min_u8), CO_FALSE, SDL_TEST_BENCH_SDO_TIMEOUT);
/* Next 5 seconds: First 10 closed, rest open */
for (uint8 i_u8 = 0u; i_u8 < TEST_BENCH_LSS_NODE_COUNT; i_u8++)
{
targetPositions_gau8[i_u8] = (i_u8 < 10) ? min_u8 : max_u8;
}
}
else
{
for (uint8 i_u8 = 0u; i_u8 < SDL_LSS_NODE_COUNT / 2; i_u8++)
/* After 10 seconds, move to endurance test */
batchCompleted_u8 = 1u;
testBenchState_en = TEST_BENCH_IDLE;
}
currentNode_gu8 = 0u;
testBenchState_en = TEST_BENCH_WRITE_REQUEST;
}
break;
case TEST_BENCH_IDLE:
{
retVal_en = coSdoWrite((i_u8 + 1), SDL_POSITION_SETPOINT_INDEX, SDL_POSITION_SETPOINT_SUB_INDEX,
(uint8*)(&min_u8), sizeof(min_u8), CO_FALSE, SDL_TEST_BENCH_SDO_TIMEOUT);
}
for (uint8 i_u8 = 10u; i_u8 < SDL_LSS_NODE_COUNT; i_u8++)
if (batchCompleted_u8)
{
retVal_en = coSdoWrite((i_u8 + 1), SDL_POSITION_SETPOINT_INDEX, SDL_POSITION_SETPOINT_SUB_INDEX,
(uint8*)(&max_u8), sizeof(max_u8), CO_FALSE, SDL_TEST_BENCH_SDO_TIMEOUT);
batchCompleted_u8 = 0u; /* Lock batch update until all nodes confirm their positions */
uint8 max_u8 = NMS_UINT8_MAX; /* Fully open (255) */
uint8 min_u8 = 0u; /* Fully closed (0) */
uint8 currentGroup_u8 = alternate_u8 % 2; /* Alternates between two patterns */
/* Check if it's a random cycle */
if ((alternate_u8 % 2) == 1)
{
/* Randomized cycle */
for (uint8 i_u8 = 0u; i_u8 < TEST_BENCH_LSS_NODE_COUNT; i_u8++)
{
targetPositions_gau8[i_u8] = (uint8)(rand() % 256); /* Assign random value between 0-255 */
}
}
else
{
/* Normal alternating open-close cycle */
for (uint8 i_u8 = 0u; i_u8 < TEST_BENCH_LSS_NODE_COUNT; i_u8++)
{
if (((i_u8 / 5) % 2) == currentGroup_u8)
{
targetPositions_gau8[i_u8] = max_u8; /* Fully open */
}
else
{
targetPositions_gau8[i_u8] = min_u8; /* Fully closed */
}
}
}
alternate_u8++; /* Switch to the next cycle pattern */
currentNode_gu8 = 0u;
testBenchState_en = TEST_BENCH_WRITE_REQUEST;
}
}
break;
case TEST_BENCH_WRITE_REQUEST:
{
if (currentNode_gu8 < TEST_BENCH_LSS_NODE_COUNT)
{
RET_T retVal_en = coSdoWrite((currentNode_gu8 + 1), SDL_POSITION_SETPOINT_INDEX, SDL_POSITION_SETPOINT_SUB_INDEX,
&targetPositions_gau8[currentNode_gu8], sizeof(targetPositions_gau8[currentNode_gu8]),
CO_FALSE, TEST_BENCH_TIMEOUT);
if (retVal_en == RET_OK)
{
retries_u8 = 0;
testBenchState_en = TEST_BENCH_WAIT_FOR_FEEDBACK;
}
else if (retVal_en == RET_SERVICE_BUSY)
{
retries_u8++;
if (retries_u8 < 5u)
{
printf("SDO Busy for node %d, retrying...\n", currentNode_gu8 + 1);
}
else
{
currentNode_gu8++; /* Skip this node */
testBenchState_en = TEST_BENCH_WRITE_REQUEST;
}
}
else
{
currentNode_gu8++; /* Skip this node */
testBenchState_en = TEST_BENCH_WRITE_REQUEST;
}
}
else
{
batchCompleted_u8 = 1u;
testBenchState_en = TEST_BENCH_IDLE;
}
}
break;
case TEST_BENCH_WAIT_FOR_FEEDBACK:
{
uint8 readPos_u8 = 0u;
bool allMotorsReached_b = false;
RET_T retVal_en = coSdoRead((currentNode_gu8 + 1), TEST_BENCH_POSITION_FEEDBACK_INDEX, TEST_BENCH_POSITION_FEEDBACK_SUB_INDEX,
&readPos_u8, sizeof(readPos_u8), CO_FALSE, TEST_BENCH_TIMEOUT);
while (!allMotorsReached_b)
if (retVal_en == RET_OK)
{
allMotorsReached_b = true; /* Assume all motors have reached the position */
for (uint8 i_u8 = 0u; i_u8 < SDL_LSS_NODE_COUNT; i_u8++)
if (readPos_u8 == targetPositions_gau8[currentNode_gu8])
{
retVal_en = coSdoRead((i_u8 + 1), SDL_POSITION_SETPOINT_INDEX, SDL_POSITION_SETPOINT_SUB_INDEX,
(uint8*)(&readPos_u8), sizeof(readPos_u8), CO_FALSE, SDL_TEST_BENCH_SDO_TIMEOUT);
if (alternate_u8 == 0u)
printf("Node %d reached target position %d\n", currentNode_gu8 + 1, readPos_u8);
currentNode_gu8++;
retries_u8 = 0u; /* Reset retries */
if (currentNode_gu8 < TEST_BENCH_LSS_NODE_COUNT)
{
if ((i_u8 < SDL_LSS_NODE_COUNT / 2 && readPos_u8 != max_u8) ||
(i_u8 >= SDL_LSS_NODE_COUNT / 2 && readPos_u8 != min_u8))
HalSystemGetRunTimeMs(&startTime_u64); // Store time before sending the next command
testBenchState_en = TEST_BENCH_DELAY_BEFORE_NEXT;
}
else
{
allMotorsReached_b = false; /* Keep waiting */
batchCompleted_u8 = 1u;
testBenchState_en = TEST_BENCH_IDLE;
}
}
}
else
{
if ((i_u8 < SDL_LSS_NODE_COUNT / 2 && readPos_u8 != min_u8) ||
(i_u8 >= SDL_LSS_NODE_COUNT / 2 && readPos_u8 != max_u8))
retries_u8++;
if (retries_u8 >= TEST_BENCH_MAX_RETRY_CNT)
{
allMotorsReached_b = false; /* Keep waiting */
}
}
}
}
alternate_u8 = !alternate_u8;
currentNode_gu8++;
if (currentNode_gu8 < TEST_BENCH_LSS_NODE_COUNT)
{
HalSystemGetRunTimeMs(&startTime_u64);
testBenchState_en = TEST_BENCH_DELAY_BEFORE_NEXT;
}
else
{
for (uint8 i_u8 = 0u; i_u8 < SDL_LSS_NODE_COUNT; i_u8++)
{
uint8 randomPos_u8 = (rand() % (NMS_UINT8_MAX + 1));
retVal_en = coSdoWrite((i_u8 + 1), SDL_POSITION_SETPOINT_INDEX, SDL_POSITION_SETPOINT_SUB_INDEX,
(uint8*)(&randomPos_u8), sizeof(randomPos_u8), CO_FALSE, SDL_TEST_BENCH_SDO_TIMEOUT);
batchCompleted_u8 = 1u;
testBenchState_en = TEST_BENCH_IDLE;
}
}
}
}
break;
case TEST_BENCH_DELAY_BEFORE_NEXT:
{
HalSystemGetRunTimeMs(&currentTime_u64);
if ((currentTime_u64 - startTime_u64) >= TEST_BENCH_TIMEOUT)
{
testBenchState_en = TEST_BENCH_WRITE_REQUEST;
}
}
break;
}
}