From 62272c279e7cc994cce40ce1fd68c4d9796aa810 Mon Sep 17 00:00:00 2001 From: Florian Pose <fp@igh-essen.com> Date: Fri, 17 Mar 2006 15:18:13 +0000 Subject: [PATCH] =?UTF-8?q?Dom=C3=A4nen-Status=20(ecrt=5Fdomain=5Fstate)?= =?UTF-8?q?=20hinzugef=C3=BCgt.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- include/ecrt.h | 1 + master/domain.c | 22 ++++++++++++++++++++++ 2 files changed, 23 insertions(+) diff --git a/include/ecrt.h b/include/ecrt.h index 110eea5a..39bf82ca 100644 --- a/include/ecrt.h +++ b/include/ecrt.h @@ -78,6 +78,7 @@ int ecrt_domain_register_field_list(ec_domain_t *domain, ec_field_init_t *fields); void ecrt_domain_queue(ec_domain_t *domain); void ecrt_domain_process(ec_domain_t *domain); +int ecrt_domain_state(ec_domain_t *domain); /*****************************************************************************/ // Slave Methods diff --git a/master/domain.c b/master/domain.c index ac73d7e2..72b4c9ba 100644 --- a/master/domain.c +++ b/master/domain.c @@ -394,10 +394,32 @@ void ecrt_domain_process(ec_domain_t *domain /**< Dom /*****************************************************************************/ +/** + Gibt den Status einer Domäne zurück. + + \return 0 wenn alle Kommandos empfangen wurden, sonst -1. +*/ + +int ecrt_domain_state(ec_domain_t *domain /**< Domäne */) +{ + unsigned int i; + ec_command_t *command; + + for (i = 0; i < domain->command_count; i++) { + command = domain->commands + i; + if (command->state != EC_CMD_RECEIVED) return -1; + } + + return 0; +} + +/*****************************************************************************/ + EXPORT_SYMBOL(ecrt_domain_register_field); EXPORT_SYMBOL(ecrt_domain_register_field_list); EXPORT_SYMBOL(ecrt_domain_queue); EXPORT_SYMBOL(ecrt_domain_process); +EXPORT_SYMBOL(ecrt_domain_state); /*****************************************************************************/ -- GitLab