diff -r e0b3096230e5 -r 24bf3d692993 include/data.h --- a/include/data.h Tue Sep 25 15:29:37 2007 +0200 +++ b/include/data.h Wed Sep 26 16:02:00 2007 +0200 @@ -43,6 +43,7 @@ #include "lifegrd.h" #include "sync.h" #include "nmtMaster.h" +#include "emcy.h" /* This structurs contains all necessary information for a CanOpen node */ struct struct_CO_Data { @@ -95,6 +96,15 @@ UNS8* dcf_cursor; UNS32 dcf_count_targets; + /* EMCY */ + e_errorState error_state; + UNS8 error_history_size; + UNS8* error_number; + UNS32* error_first_element; + UNS8* error_register; + s_errors error_data[EMCY_MAX_ERRORS]; + post_emcy_t post_emcy; + }; #define NMTable_Initializer Unknown_state, @@ -115,6 +125,13 @@ NULL /* Callback */\ }, +#define ERROR_DATA_INITIALIZER \ + {\ + 0, /* errCode */\ + 0, /* errRegMask */\ + 0 /* active */\ + }, + /* A macro to initialize the data in client app.*/ /* CO_Data structure */ #define CANOPEN_NODE_DATA_INITIALIZER(NODE_PREFIX) {\ @@ -174,7 +191,19 @@ NODE_PREFIX ## _scanIndexOD, /* scanIndexOD */\ _storeODSubIndex, /* storeODSubIndex */\ NULL, /*dcf_cursor*/\ - 1 /*dcf_count_targets*/\ + 1, /*dcf_count_targets*/\ + \ + /* EMCY */\ + Error_free, /* error_state */\ + sizeof(NODE_PREFIX ## _obj1003) / sizeof(NODE_PREFIX ## _obj1003[0]), /* error_history_size */\ + & NODE_PREFIX ## _highestSubIndex_obj1003, /* error_number */\ + & NODE_PREFIX ## _obj1003[0], /* error_first_element */\ + & NODE_PREFIX ## _obj1001, /* error_register */\ + /* error_data: structure s_errors */\ + {\ + REPEAT_EMCY_MAX_ERRORS_TIMES(ERROR_DATA_INITIALIZER)\ + },\ + _post_emcy /* post_emcy */\ } #ifdef __cplusplus