include/data.h
changeset 91 ed2612282988
parent 78 ac05410cc1b8
child 145 e747d2e26af0
equal deleted inserted replaced
90:7df322d86ae1 91:ed2612282988
    90 	UNS8 toggle;
    90 	UNS8 toggle;
    91 	canSend_t canSend;	
    91 	canSend_t canSend;	
    92 	scanIndexOD_t scanIndexOD;
    92 	scanIndexOD_t scanIndexOD;
    93 };
    93 };
    94 
    94 
       
    95 #define NMTable_Initializer Unknown_state,
       
    96 
       
    97 #define s_transfer_Initializer {\
       
    98 		0,          /* nodeId */\
       
    99 		0,          /* wohami */\
       
   100 		SDO_RESET,  /* state */\
       
   101 		0,          /* toggle */\
       
   102 		0,          /* abortCode */\
       
   103 		0,          /* index */\
       
   104 		0,          /* subIndex */\
       
   105 		0,          /* count */\
       
   106 		0,          /* offset */\
       
   107 		{0},        /* data (static use, so that all the table is initialize at 0)*/\
       
   108 		0,          /* dataType */\
       
   109 		-1,         /* timer */\
       
   110 		NULL        /* Callback */\
       
   111 	  },
       
   112 
    95 /* A macro to initialize the data in client app.*/
   113 /* A macro to initialize the data in client app.*/
    96 /* CO_Data structure */
   114 /* CO_Data structure */
    97 #define CANOPEN_NODE_DATA_INITIALIZER(NODE_PREFIX) {\
   115 #define CANOPEN_NODE_DATA_INITIALIZER(NODE_PREFIX) {\
    98 	/* Object dictionary*/\
   116 	/* Object dictionary*/\
    99 	& NODE_PREFIX ## _bDeviceNodeId,     /* bDeviceNodeId */\
   117 	& NODE_PREFIX ## _bDeviceNodeId,     /* bDeviceNodeId */\
   104 	& NODE_PREFIX ## _ObjdictSize,       /* ObjdictSize */\
   122 	& NODE_PREFIX ## _ObjdictSize,       /* ObjdictSize */\
   105 	& NODE_PREFIX ## _iam_a_slave,       /* iam_a_slave */\
   123 	& NODE_PREFIX ## _iam_a_slave,       /* iam_a_slave */\
   106 	NODE_PREFIX ## _valueRangeTest,      /* valueRangeTest */\
   124 	NODE_PREFIX ## _valueRangeTest,      /* valueRangeTest */\
   107 	\
   125 	\
   108 	/* SDO, structure s_transfer */\
   126 	/* SDO, structure s_transfer */\
   109 	{ /* WARNING. Only the first element of the table is well initialized. */\
   127 	{\
   110 	  /* May be problems for "timer". Is it ok ? (FD)                      */\
   128           REPEAT_SDO_MAX_SIMULTANEOUS_TRANSFERTS_TIMES(s_transfer_Initializer)\
   111           {\
       
   112 		0,          /* nodeId */\
       
   113 		0,          /* wohami */\
       
   114 		SDO_RESET,  /* state */\
       
   115 		0,          /* toggle */\
       
   116 		0,          /* abortCode */\
       
   117 		0,          /* index */\
       
   118 		0,          /* subIndex */\
       
   119 		0,          /* count */\
       
   120 		0,          /* offset */\
       
   121 		{0},        /* data (static use, so that all the table is initialize at 0)*/\
       
   122 		0,          /* dataType */\
       
   123 		-1,         /* timer */\
       
   124 		NULL        /* Callback */\
       
   125 	  }\
       
   126 	},\
   129 	},\
   127 	&NODE_PREFIX ## _SDOtimeoutError,    /* SDOtimeoutError */\
   130 	&NODE_PREFIX ## _SDOtimeoutError,    /* SDOtimeoutError */\
   128 	\
   131 	\
   129 	/* State machine*/\
   132 	/* State machine*/\
   130 	Unknown_state,      /* nodeState */\
   133 	Unknown_state,      /* nodeState */\
   148 	NODE_PREFIX ## _heartBeatTimers,           /* ConsumerHeartBeatTimers  */\
   151 	NODE_PREFIX ## _heartBeatTimers,           /* ConsumerHeartBeatTimers  */\
   149 	& NODE_PREFIX ## _obj1017,                 /* ProducerHeartBeatTime */\
   152 	& NODE_PREFIX ## _obj1017,                 /* ProducerHeartBeatTime */\
   150 	TIMER_NONE,                                /* ProducerHeartBeatTimer */\
   153 	TIMER_NONE,                                /* ProducerHeartBeatTimer */\
   151 	NODE_PREFIX ## _heartbeatError,            /* heartbeatError */\
   154 	NODE_PREFIX ## _heartbeatError,            /* heartbeatError */\
   152 	\
   155 	\
   153 	{Unknown_state},                           /* NMTable WARNING : Only the first value */\
   156 	{REPEAT_NMT_MAX_NODE_ID_TIMES(NMTable_Initializer)},\
   154                                                    /* is  well initialized at "Unknown_state". Is it ok ? (FD)*/\
   157                                                    /* is  well initialized at "Unknown_state". Is it ok ? (FD)*/\
   155 	\
   158 	\
   156 	/* SYNC */\
   159 	/* SYNC */\
   157 	TIMER_NONE,                                /* syncTimer */\
   160 	TIMER_NONE,                                /* syncTimer */\
   158 	& NODE_PREFIX ## _obj1005,                 /* COB_ID_Sync */\
   161 	& NODE_PREFIX ## _obj1005,                 /* COB_ID_Sync */\