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); |