--- a/tools/Master.cpp Thu Jun 19 08:06:49 2008 +0000
+++ b/tools/Master.cpp Thu Jun 19 09:24:22 2008 +0000
@@ -656,7 +656,13 @@
if (ioctl(fd, EC_IOCTL_SDO_DOWNLOAD, &data) < 0) {
stringstream err;
- err << "Failed to download Sdo: " << strerror(errno);
+ err << "Failed to download Sdo: ";
+ if (errno == EIO && data.abort_code) {
+ err << "Abort code 0x" << hex << setfill('0') << setw(8)
+ << data.abort_code;
+ } else {
+ err << strerror(errno);
+ }
delete [] data.data;
throw MasterException(err.str());
}
@@ -751,7 +757,13 @@
if (ioctl(fd, EC_IOCTL_SDO_UPLOAD, &data) < 0) {
stringstream err;
- err << "Failed to upload Sdo: " << strerror(errno);
+ err << "Failed to upload Sdo: ";
+ if (errno == EIO && data.abort_code) {
+ err << "Abort code 0x" << hex << setfill('0') << setw(8)
+ << data.abort_code;
+ } else {
+ err << strerror(errno);
+ }
delete [] data.target;
close();
throw MasterException(err.str());