diff --git a/master/slave.c b/master/slave.c index 5765a834..eeb96e18 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 49335b0f..a9d7087e 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 *); /*****************************************************************************/