src/sdo.c
changeset 657 c0e68a63f600
parent 656 f923456f01e5
child 663 70fc3603e36f
equal deleted inserted replaced
656:f923456f01e5 657:c0e68a63f600
   141     d->transfers[id].abortCode = SDOABT_TIMED_OUT;
   141     d->transfers[id].abortCode = SDOABT_TIMED_OUT;
   142     /* Call the user function to inform of the problem.*/
   142     /* Call the user function to inform of the problem.*/
   143     if(d->transfers[id].Callback)
   143     if(d->transfers[id].Callback)
   144     	/*If ther is a callback, it is responsible to close SDO transfer (client)*/
   144     	/*If ther is a callback, it is responsible to close SDO transfer (client)*/
   145     	(*d->transfers[id].Callback)(d,d->transfers[id].nodeId);
   145     	(*d->transfers[id].Callback)(d,d->transfers[id].nodeId);
   146     else if(d->transfers[id].whoami == SDO_SERVER)
       
   147     	/*Else, if server, reset the line*/
       
   148     
   146     
   149     /*Reset the line if (whoami == SDO_SERVER) or the callback did not close the line.
   147     /*Reset the line if (whoami == SDO_SERVER) or the callback did not close the line.
   150       Otherwise this sdo transfer would never be closed. */
   148       Otherwise this sdo transfer would never be closed. */
   151     	resetSDOline(d, (UNS8)id);
   149     resetSDOline(d, (UNS8)id);
   152 }
   150 }
   153 
   151 
   154 #define StopSDO_TIMER(id) \
   152 #define StopSDO_TIMER(id) \
   155 MSG_WAR(0x3A05, "StopSDO_TIMER for line : ", line);\
   153 MSG_WAR(0x3A05, "StopSDO_TIMER for line : ", line);\
   156 d->transfers[id].timer = DelAlarm(d->transfers[id].timer);
   154 d->transfers[id].timer = DelAlarm(d->transfers[id].timer);