diff -r 16498ed938f4 -r aede068f9a74 master/master.c --- a/master/master.c Mon Mar 05 10:00:18 2007 +0000 +++ b/master/master.c Mon Mar 05 10:35:50 2007 +0000 @@ -477,6 +477,7 @@ } master->eoe_checked = 0; // allow starting EoE again + master->pdo_slaves_offline = 0; // assume all PDO slaves online return 0; @@ -1655,6 +1656,22 @@ /*****************************************************************************/ +/** + * Reads the current master status. + */ + +void ecrt_master_get_status(const ec_master_t *master, /**< EtherCAT master */ + ec_master_status_t *status /**< target status object */ + ) +{ + status->bus_status = + master->pdo_slaves_offline ? EC_BUS_FAILURE : EC_BUS_OK; + status->bus_tainted = master->fsm.tainted; + status->slaves_responding = master->fsm.slaves_responding; +} + +/*****************************************************************************/ + /** \cond */ EXPORT_SYMBOL(ecrt_master_create_domain); @@ -1664,6 +1681,7 @@ EXPORT_SYMBOL(ecrt_master_run); EXPORT_SYMBOL(ecrt_master_callbacks); EXPORT_SYMBOL(ecrt_master_get_slave); +EXPORT_SYMBOL(ecrt_master_get_status); /** \endcond */