# HG changeset patch # User etisserant # Date 1177413963 -7200 # Node ID 0248c2b148bbb32bd6d4efd3c97b5a125ecd4372 # Parent db7a030babb21b602548b1c66e19604fb08660c8 Removed SDOTimeout application callback.Please use SDO callbacks instead. diff -r db7a030babb2 -r 0248c2b148bb examples/TestMasterMicroMod/TestMasterMicroMod.c --- a/examples/TestMasterMicroMod/TestMasterMicroMod.c Thu Apr 19 09:54:34 2007 +0200 +++ b/examples/TestMasterMicroMod/TestMasterMicroMod.c Tue Apr 24 13:26:03 2007 +0200 @@ -47,12 +47,6 @@ eprintf("TestMaster_heartbeatError %d\n", heartbeatID); } -/*****************************************************************************/ -void TestMaster_SDOtimeoutError (UNS8 line) -{ - eprintf("TestMaster_SDOtimeoutError %d\n", line); -} - /******************************************************** * ConfigureSlaveNode is responsible to * - setup master RPDO 1 to receive TPDO 1 from id 0x40 @@ -343,7 +337,6 @@ #endif TestMaster_Data.heartbeatError = TestMaster_heartbeatError; - TestMaster_Data.SDOtimeoutError = TestMaster_SDOtimeoutError; TestMaster_Data.initialisation = TestMaster_initialisation; TestMaster_Data.preOperational = TestMaster_preOperational; TestMaster_Data.operational = TestMaster_operational; diff -r db7a030babb2 -r 0248c2b148bb examples/TestMasterSlave/Master.c --- a/examples/TestMasterSlave/Master.c Thu Apr 19 09:54:34 2007 +0200 +++ b/examples/TestMasterSlave/Master.c Tue Apr 24 13:26:03 2007 +0200 @@ -30,12 +30,6 @@ eprintf("TestMaster_heartbeatError %d\n", heartbeatID); } -/*****************************************************************************/ -void TestMaster_SDOtimeoutError (UNS8 line) -{ - eprintf("TestMaster_SDOtimeoutError %d\n", line); -} - /******************************************************** * ConfigureSlaveNode is responsible to * - setup master RPDO 1 to receive TPDO 1 from id 2 diff -r db7a030babb2 -r 0248c2b148bb examples/TestMasterSlave/Master.h --- a/examples/TestMasterSlave/Master.h Thu Apr 19 09:54:34 2007 +0200 +++ b/examples/TestMasterSlave/Master.h Tue Apr 24 13:26:03 2007 +0200 @@ -1,6 +1,5 @@ #include "TestMaster.h" -void TestMaster_SDOtimeoutError(UNS8 line); void TestMaster_heartbeatError(UNS8); UNS8 TestMaster_canSend(Message *); diff -r db7a030babb2 -r 0248c2b148bb examples/TestMasterSlave/Slave.c --- a/examples/TestMasterSlave/Slave.c Thu Apr 19 09:54:34 2007 +0200 +++ b/examples/TestMasterSlave/Slave.c Tue Apr 24 13:26:03 2007 +0200 @@ -30,12 +30,6 @@ eprintf("TestSlave_heartbeatError %d\n", heartbeatID); } -/*****************************************************************************/ -void TestSlave_SDOtimeoutError (UNS8 line) -{ - eprintf("TestSlave_SDOtimeoutError %d\n", line); -} - void TestSlave_initialisation() { eprintf("TestSlave_initialisation\n"); diff -r db7a030babb2 -r 0248c2b148bb examples/TestMasterSlave/Slave.h --- a/examples/TestMasterSlave/Slave.h Thu Apr 19 09:54:34 2007 +0200 +++ b/examples/TestMasterSlave/Slave.h Tue Apr 24 13:26:03 2007 +0200 @@ -1,6 +1,5 @@ #include "TestSlave.h" -void TestSlave_SDOtimeoutError(UNS8 line); void TestSlave_heartbeatError(UNS8); UNS8 TestSlave_canSend(Message *); diff -r db7a030babb2 -r 0248c2b148bb examples/TestMasterSlave/TestMasterSlave.c --- a/examples/TestMasterSlave/TestMasterSlave.c Thu Apr 19 09:54:34 2007 +0200 +++ b/examples/TestMasterSlave/TestMasterSlave.c Tue Apr 24 13:26:03 2007 +0200 @@ -191,7 +191,6 @@ if(strcmp( SlaveBoard.baudrate, "none")){ TestSlave_Data.heartbeatError = TestSlave_heartbeatError; - TestSlave_Data.SDOtimeoutError = TestSlave_SDOtimeoutError; TestSlave_Data.initialisation = TestSlave_initialisation; TestSlave_Data.preOperational = TestSlave_preOperational; TestSlave_Data.operational = TestSlave_operational; @@ -209,7 +208,6 @@ if(strcmp( MasterBoard.baudrate, "none")){ TestMaster_Data.heartbeatError = TestMaster_heartbeatError; - TestMaster_Data.SDOtimeoutError = TestMaster_SDOtimeoutError; TestMaster_Data.initialisation = TestMaster_initialisation; TestMaster_Data.preOperational = TestMaster_preOperational; TestMaster_Data.operational = TestMaster_operational; @@ -234,9 +232,9 @@ StopTimerLoop(); // Close CAN devices (and can threads) - if(SlaveBoard.baudrate) canClose(&TestSlave_Data); + if(strcmp( SlaveBoard.baudrate, "none")) canClose(&TestSlave_Data); fail_master: - if(MasterBoard.baudrate) canClose(&TestMaster_Data); + if(strcmp( MasterBoard.baudrate, "none")) canClose(&TestMaster_Data); fail_slave: diff -r db7a030babb2 -r 0248c2b148bb examples/gene_SYNC_HCS12/appli.c --- a/examples/gene_SYNC_HCS12/appli.c Thu Apr 19 09:54:34 2007 +0200 +++ b/examples/gene_SYNC_HCS12/appli.c Tue Apr 24 13:26:03 2007 +0200 @@ -269,22 +269,6 @@ } //------------------------------------------------------------------------------ -void gene_SYNC_SDOtimeoutError (UNS8 line) -{ - // This function was implemented for the Client's use (client = the one which initiate the dialog), - // but we can use it also for the server. - // Note : if for an other reason than a timeout, a SDO to read or write - // faile, we do not have implemented a warning function at the server side. - // Of course, there is one on the client side. - - MSG_ERR(0x1F01, "SDO timeout for line : ", line); - // See the transfer structure in sdo.h to know what informations - // you can retreive. - MSG_ERR(0x1F02, " to access index ", gene_SYNC_Data.transfers[line].index); - MSG_ERR(0x1F03, " subIndex ", gene_SYNC_Data.transfers[line].subIndex); -} - -//------------------------------------------------------------------------------ void gene_SYNC_initialisation() { MSG_WAR (0x3F00, "Entering in INIT ", 0); @@ -402,7 +386,6 @@ MSG_WAR(0x3F34, "Entering in the main ", 0); //----------------------------- INITIALISATION -------------------------------- gene_SYNC_Data.heartbeatError = gene_SYNC_heartbeatError; - gene_SYNC_Data.SDOtimeoutError = gene_SYNC_SDOtimeoutError; gene_SYNC_Data.initialisation = gene_SYNC_initialisation; gene_SYNC_Data.preOperational = gene_SYNC_preOperational; gene_SYNC_Data.preOperational = gene_SYNC_operational; diff -r db7a030babb2 -r 0248c2b148bb examples/gene_SYNC_HCS12/objdict.h --- a/examples/gene_SYNC_HCS12/objdict.h Thu Apr 19 09:54:34 2007 +0200 +++ b/examples/gene_SYNC_HCS12/objdict.h Tue Apr 24 13:26:03 2007 +0200 @@ -8,7 +8,6 @@ const indextable * gene_SYNC_scanIndexOD (UNS16 wIndex, UNS32 * errorCode, ODCallback_t **callbacks); /* prototypes of function to be filled by app. */ -void gene_SYNC_SDOtimeoutError(UNS8 line); void gene_SYNC_heartbeatError(UNS8); UNS8 gene_SYNC_canSend(Message *); diff -r db7a030babb2 -r 0248c2b148bb examples/win32test/win32test.h --- a/examples/win32test/win32test.h Thu Apr 19 09:54:34 2007 +0200 +++ b/examples/win32test/win32test.h Tue Apr 24 13:26:03 2007 +0200 @@ -8,7 +8,6 @@ const indextable * win32test_scanIndexOD (UNS16 wIndex, UNS32 * errorCode, ODCallback_t **callbacks); /* prototypes of function to be filled by app. */ -void win32test_SDOtimeoutError(UNS8 line); void win32test_heartbeatError(UNS8); UNS8 win32test_canSend(Message *); diff -r db7a030babb2 -r 0248c2b148bb include/data.h --- a/include/data.h Thu Apr 19 09:54:34 2007 +0200 +++ b/include/data.h Tue Apr 24 13:26:03 2007 +0200 @@ -55,7 +55,6 @@ /* SDO */ s_transfer transfers[SDO_MAX_SIMULTANEOUS_TRANSFERTS]; - SDOtimeoutError_t SDOtimeoutError; /* s_sdo_parameter *sdo_parameters; */ /* State machine */ @@ -128,7 +127,6 @@ {\ REPEAT_SDO_MAX_SIMULTANEOUS_TRANSFERTS_TIMES(s_transfer_Initializer)\ },\ - _SDOtimeoutError, /* SDOtimeoutError */\ \ /* State machine*/\ Unknown_state, /* nodeState */\ diff -r db7a030babb2 -r 0248c2b148bb include/sdo.h --- a/include/sdo.h Thu Apr 19 09:54:34 2007 +0200 +++ b/include/sdo.h Tue Apr 24 13:26:03 2007 +0200 @@ -23,9 +23,6 @@ #ifndef __sdo_h__ #define __sdo_h__ -typedef void (*SDOtimeoutError_t)(UNS8 line); -void _SDOtimeoutError (UNS8); - struct struct_s_transfer; #include "timer.h" diff -r db7a030babb2 -r 0248c2b148bb src/sdo.c --- a/src/sdo.c Thu Apr 19 09:54:34 2007 +0200 +++ b/src/sdo.c Tue Apr 24 13:26:03 2007 +0200 @@ -98,13 +98,19 @@ MSG_WAR(0x2A02, " subIndex : ", d->transfers[id].subIndex); /* Reset timer handler */ d->transfers[id].timer = TIMER_NONE; - /* Call the user function to inform of the problem.*/ - (*d->SDOtimeoutError)((UNS8)id); + /*Set aborted state*/ + d->transfers[id].state = SDO_ABORTED_INTERNAL; /* Sending a SDO abort */ sendSDOabort(d, d->transfers[id].whoami, d->transfers[id].index, d->transfers[id].subIndex, SDOABT_TIMED_OUT); - /* Reset the line*/ - resetSDOline(d, (UNS8)id); + d->transfers[id].abortCode = SDOABT_TIMED_OUT; + /* Call the user function to inform of the problem.*/ + if(d->transfers[id].Callback) + /*If ther is a callback, it is responsible to close SDO transfer (client)*/ + (*d->transfers[id].Callback)(d,d->transfers[id].nodeId); + else if(d->transfers[id].whoami == SDO_SERVER) + /*Else, if server, reset the line*/ + resetSDOline(d, (UNS8)id); } #define StopSDO_TIMER(id) \ @@ -1335,5 +1341,3 @@ * abortCode = d->transfers[line].abortCode; return d->transfers[line].state; } - -void _SDOtimeoutError (UNS8 line){}