From 4279687952d70788f874d7b69d1e956b57c11c3f Mon Sep 17 00:00:00 2001 From: Florian Pose <fp@igh-essen.com> Date: Tue, 27 Jun 2006 19:46:25 +0000 Subject: [PATCH] Introducing infrastructural slaves that do not contain process data. --- master/fsm.c | 4 +++- master/slave.c | 2 ++ master/types.c | 2 +- master/types.h | 1 + 4 files changed, 7 insertions(+), 2 deletions(-) diff --git a/master/fsm.c b/master/fsm.c index cf385236..4c59bff9 100644 --- a/master/fsm.c +++ b/master/fsm.c @@ -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 { diff --git a/master/slave.c b/master/slave.c index 5bb2fa38..6e5e46cc 100644 --- a/master/slave.c +++ b/master/slave.c @@ -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"); } diff --git a/master/types.c b/master/types.c index 0f0fd209..c3af5d24 100644 --- a/master/types.c +++ b/master/types.c @@ -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 }; diff --git a/master/types.h b/master/types.h index 00250244..2bb8bdec 100644 --- a/master/types.h +++ b/master/types.h @@ -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; -- GitLab