Introducing infrastructural slaves that do not contain process data.

This commit is contained in:
Florian Pose 2006-06-27 19:46:25 +00:00
parent 8827d85404
commit a5eb823057
4 changed files with 7 additions and 2 deletions

View File

@ -636,7 +636,9 @@ void ec_fsm_master_scan(ec_fsm_t *fsm /**< finite state machine */)
}
// determine initial state.
if ((slave->type && slave->type->special == EC_TYPE_BUS_COUPLER)) {
if ((slave->type &&
(slave->type->special == EC_TYPE_BUS_COUPLER ||
slave->type->special == EC_TYPE_INFRA))) {
slave->requested_state = EC_SLAVE_STATE_OP;
}
else {

View File

@ -1369,6 +1369,8 @@ ssize_t ec_show_slave_attribute(struct kobject *kobj, /**< slave's kobject */
if (slave->type) {
if (slave->type->special == EC_TYPE_BUS_COUPLER)
return sprintf(buffer, "coupler\n");
else if (slave->type->special == EC_TYPE_INFRA)
return sprintf(buffer, "infrastructure\n");
else
return sprintf(buffer, "normal\n");
}

View File

@ -61,7 +61,7 @@ const ec_slave_type_t Beckhoff_EK1100 = {
/*****************************************************************************/
const ec_slave_type_t Beckhoff_EK1110 = {
"Beckhoff", "EK1110", "Extension terminal", EC_TYPE_NORMAL,
"Beckhoff", "EK1110", "Extension terminal", EC_TYPE_INFRA,
{NULL} // no sync managers
};

View File

@ -60,6 +60,7 @@ typedef enum
{
EC_TYPE_NORMAL, /**< no special slave */
EC_TYPE_BUS_COUPLER, /**< slave is a bus coupler */
EC_TYPE_INFRA, /**< infrastructure slaves, that contain no process data */
EC_TYPE_EOE /**< slave is an EoE switch */
}
ec_special_type_t;