tools/Master.cpp
changeset 1037 59f191c9185b
parent 1030 d7970e934dba
child 1055 2be8918682fa
--- 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());