equal
deleted
inserted
replaced
976 if (err) { |
976 if (err) { |
977 MSG_ERR(0x1AA5, "SDO error : Received response for unknown download request from nodeId", nodeId); |
977 MSG_ERR(0x1AA5, "SDO error : Received response for unknown download request from nodeId", nodeId); |
978 failedSDO(d, nodeId, whoami, 0, 0, SDOABT_LOCAL_CTRL_ERROR); |
978 failedSDO(d, nodeId, whoami, 0, 0, SDOABT_LOCAL_CTRL_ERROR); |
979 return 0xFF; |
979 return 0xFF; |
980 } |
980 } |
981 /* Reset the wathdog */ |
981 /* Reset the watchdog */ |
982 RestartSDO_TIMER(line) |
982 RestartSDO_TIMER(line) |
983 index = d->transfers[line].index; |
983 index = d->transfers[line].index; |
984 subIndex = d->transfers[line].subIndex; |
984 subIndex = d->transfers[line].subIndex; |
985 /* End transmission or requesting next segment. */ |
985 /* End transmission or requesting next segment. */ |
986 getSDOlineRestBytes(d, line, &nbBytes); |
986 getSDOlineRestBytes(d, line, &nbBytes); |
1152 sdo.body.data[i] = 0; |
1152 sdo.body.data[i] = 0; |
1153 } |
1153 } |
1154 sdo.body.data[1] = index & 0xFF; /* LSB */ |
1154 sdo.body.data[1] = index & 0xFF; /* LSB */ |
1155 sdo.body.data[2] = (index >> 8) & 0xFF; /* MSB */ |
1155 sdo.body.data[2] = (index >> 8) & 0xFF; /* MSB */ |
1156 sdo.body.data[3] = subIndex; |
1156 sdo.body.data[3] = subIndex; |
1157 |
1157 |
|
1158 d->transfers[line].Callback = Callback; |
|
1159 |
1158 err = sendSDO(d, SDO_CLIENT, sdo); |
1160 err = sendSDO(d, SDO_CLIENT, sdo); |
1159 if (err) { |
1161 if (err) { |
1160 MSG_ERR(0x1AD1, "SDO. Error while sending SDO to node : ", nodeId); |
1162 MSG_ERR(0x1AD1, "SDO. Error while sending SDO to node : ", nodeId); |
1161 /* release the line */ |
1163 /* release the line */ |
1162 resetSDOline(d, line); |
1164 resetSDOline(d, line); |
1163 return 0xFF; |
1165 return 0xFF; |
1164 } |
1166 } |
1165 d->transfers[line].Callback = Callback; |
1167 |
|
1168 |
1166 return 0; |
1169 return 0; |
1167 } |
1170 } |
1168 |
1171 |
1169 /*--------------------------------------------------------------------------*/ |
1172 /*--------------------------------------------------------------------------*/ |
1170 |
1173 |
1253 sdo.body.data[1] = index & 0xFF; /* LSB */ |
1256 sdo.body.data[1] = index & 0xFF; /* LSB */ |
1254 sdo.body.data[2] = (index >> 8) & 0xFF; /* MSB */ |
1257 sdo.body.data[2] = (index >> 8) & 0xFF; /* MSB */ |
1255 sdo.body.data[3] = subIndex; |
1258 sdo.body.data[3] = subIndex; |
1256 for (i = 4 ; i < 8 ; i++) |
1259 for (i = 4 ; i < 8 ; i++) |
1257 sdo.body.data[i] = 0; |
1260 sdo.body.data[i] = 0; |
|
1261 d->transfers[line].Callback = Callback; |
1258 err = sendSDO(d, SDO_CLIENT, sdo); |
1262 err = sendSDO(d, SDO_CLIENT, sdo); |
1259 if (err) { |
1263 if (err) { |
1260 MSG_ERR(0x1AE5, "SDO. Error while sending SDO to node : ", nodeId); |
1264 MSG_ERR(0x1AE5, "SDO. Error while sending SDO to node : ", nodeId); |
1261 /* release the line */ |
1265 /* release the line */ |
1262 resetSDOline(d, line); |
1266 resetSDOline(d, line); |
1263 return 0xFF; |
1267 return 0xFF; |
1264 } |
1268 } |
1265 d->transfers[line].Callback = Callback; |
|
1266 return 0; |
1269 return 0; |
1267 } |
1270 } |
1268 |
1271 |
1269 /*--------------------------------------------------------------------------*/ |
1272 /*--------------------------------------------------------------------------*/ |
1270 |
1273 |