From 5bbf53a37608a313a355ffd2b1c1aa01dcb9ec90 Mon Sep 17 00:00:00 2001 From: Bjarne von Horn Date: Tue, 11 Mar 2025 19:07:01 +0100 Subject: [PATCH] Fix FakeEtherCAT Domain activation. --- fake_lib/fakeethercat.cpp | 8 +++++++- fake_lib/fakeethercat.h | 2 +- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/fake_lib/fakeethercat.cpp b/fake_lib/fakeethercat.cpp index b60b1994..d7eb006a 100644 --- a/fake_lib/fakeethercat.cpp +++ b/fake_lib/fakeethercat.cpp @@ -105,7 +105,7 @@ ec_domain::ec_domain(rtipc *rtipc, const char *prefix, ec_master_t *master) : rt { } -int ec_domain::activate(int domain_id) +int ec_domain::activate() { std::unordered_set slaves; @@ -211,6 +211,12 @@ int ecrt_domain_state( int ec_master::activate() { + for (auto &domain : domains) + { + if (domain.activate()) + return -1; + } + { std::ofstream out(rt_ipc_dir + "/" + rt_ipc_name + "_slaves.json"); if (!out.is_open()) diff --git a/fake_lib/fakeethercat.h b/fake_lib/fakeethercat.h index 71bd21dc..ff83dbd2 100644 --- a/fake_lib/fakeethercat.h +++ b/fake_lib/fakeethercat.h @@ -180,7 +180,7 @@ public: return const_cast(data.data()); } - int activate(int domain_id); + int activate(); int process(); int queue();