# HG changeset patch
# User Florian Pose <fp@igh-essen.com>
# Date 1161961292 0
# Node ID 6c21a8d8c785c83eda6fc9748abd7e3ac9a33f44
# Parent  938de5ebe1cacb50f4fd45a4352ea1492351700c
SDO configurations in Sysfs.

diff -r 938de5ebe1ca -r 6c21a8d8c785 master/slave.c
--- a/master/slave.c	Fri Oct 27 15:01:10 2006 +0000
+++ b/master/slave.c	Fri Oct 27 15:01:32 2006 +0000
@@ -574,6 +574,8 @@
     ec_sii_pdo_t *pdo;
     ec_sii_pdo_entry_t *pdo_entry;
     int first, i;
+    ec_sdo_data_t *sdodata;
+    char str[20];
 
     off += sprintf(buffer + off, "\nName: ");
 
@@ -705,6 +707,20 @@
         }
     }
 
+    if (!list_empty(&slave->sdo_confs))
+        off += sprintf(buffer + off, "\nSDO configurations:\n");
+
+    list_for_each_entry(sdodata, &slave->sdo_confs, list) {
+        switch (sdodata->size) {
+            case 1: sprintf(str, "%i", EC_READ_U8(sdodata->data)); break;
+            case 2: sprintf(str, "%i", EC_READ_U16(sdodata->data)); break;
+            case 4: sprintf(str, "%i", EC_READ_U32(sdodata->data)); break;
+            default: sprintf(str, "(invalid size)"); break;
+        }
+        off += sprintf(buffer + off, "  0x%04X:%-3i -> %s\n",
+                       sdodata->index, sdodata->subindex, str);
+    }
+
     off += sprintf(buffer + off, "\n");
 
     return off;