# HG changeset patch # User Florian Pose # 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