master/datagram.c
changeset 1822 74e6ac2369f4
parent 1553 4e8d56d6f12a
child 1981 c14b6bb14fdf
child 2077 e8f690838311
child 2081 9c3fd68997d4
--- a/master/datagram.c	Tue Feb 23 13:18:31 2010 +0100
+++ b/master/datagram.c	Tue Feb 23 15:13:56 2010 +0100
@@ -500,6 +500,43 @@
 
 /*****************************************************************************/
 
+/** Prints the state of a datagram.
+ *
+ * Outputs a text message.
+ */
+void ec_datagram_print_state(
+        const ec_datagram_t *datagram /**< EtherCAT datagram */
+        )
+{
+    printk("Datagram ");
+    switch (datagram->state) {
+        case EC_DATAGRAM_INIT:
+            printk("initialized");
+            break;
+        case EC_DATAGRAM_QUEUED:
+            printk("queued");
+            break;
+        case EC_DATAGRAM_SENT:
+            printk("sent");
+            break;
+        case EC_DATAGRAM_RECEIVED:
+            printk("received");
+            break;
+        case EC_DATAGRAM_TIMED_OUT:
+            printk("timed out");
+            break;
+        case EC_DATAGRAM_ERROR:
+            printk("error");
+            break;
+        default:
+            printk("???");
+    }
+
+    printk(".\n");
+}
+
+/*****************************************************************************/
+
 /** Evaluates the working counter of a single-cast datagram.
  *
  * Outputs an error message.