diff --git a/master/slave.c b/master/slave.c index 5765a834788f7fdabb7159eff68acb7ec3ef2e76..eeb96e1870a22322bf0cef600a038ca26580ce47 100644 --- a/master/slave.c +++ b/master/slave.c @@ -866,6 +866,18 @@ int ec_slave_is_coupler(const ec_slave_t *slave /**< EtherCAT slave */) /*****************************************************************************/ +/** + \return non-zero if slave is a bus coupler +*/ + +int ec_slave_has_subbus(const ec_slave_t *slave /**< EtherCAT slave */) +{ + return slave->sii_vendor_id == 0x00000002 + && slave->sii_product_code == 0x13ED3052; +} + +/*****************************************************************************/ + /** \return 0 in case of success, else < 0 */ diff --git a/master/slave.h b/master/slave.h index 49335b0f94be9ec62d9c960ed9328095cbdabeec..a9d7087e543df18c106a76277ed2c8ced86a3882 100644 --- a/master/slave.h +++ b/master/slave.h @@ -334,6 +334,7 @@ uint16_t ec_slave_calc_sync_size(const ec_slave_t *, const ec_sii_sync_t *); int ec_slave_is_coupler(const ec_slave_t *); +int ec_slave_has_subbus(const ec_slave_t *); /*****************************************************************************/