# HG changeset patch
# User Florian Pose <fp@igh-essen.com>
# Date 1190293048 0
# Node ID 6c8801bd547f5f60fd929ff5bc10c430968693ee
# Parent  ac8a822c3e5b440a7a38f3e5681f71f54f91429c
Added ec_sync_get_pdo_type().

diff -r ac8a822c3e5b -r 6c8801bd547f master/sync.c
--- a/master/sync.c	Thu Sep 20 12:33:58 2007 +0000
+++ b/master/sync.c	Thu Sep 20 12:57:28 2007 +0000
@@ -195,3 +195,26 @@
 }
 
 /*****************************************************************************/
+
+/**
+ */
+
+ec_pdo_type_t ec_sync_get_pdo_type(
+        const ec_sync_t *sync /**< EtherCAT sync manager */
+        )
+{
+    int index = sync->index;
+
+    if (sync->slave && sync->slave->sii_mailbox_protocols) {
+        index -= 2;
+    }
+
+    if (index < 0 || index > 1) {
+        EC_WARN("ec_sync_get_pdo_type(): invalid sync manager index.\n");
+        return EC_RX_PDO;
+    }
+
+    return (ec_pdo_type_t) index;
+}
+
+/*****************************************************************************/
diff -r ac8a822c3e5b -r 6c8801bd547f master/sync.h
--- a/master/sync.h	Thu Sep 20 12:33:58 2007 +0000
+++ b/master/sync.h	Thu Sep 20 12:57:28 2007 +0000
@@ -83,6 +83,8 @@
 int ec_sync_add_pdo(ec_sync_t *, const ec_pdo_t *);
 void ec_sync_clear_pdos(ec_sync_t *);
 
+ec_pdo_type_t ec_sync_get_pdo_type(const ec_sync_t *);
+
 /*****************************************************************************/
 
 #endif