diff --git a/fpga/include/villas/fpga/core.hpp b/fpga/include/villas/fpga/core.hpp index d88ee46a8..cdc3a7d96 100644 --- a/fpga/include/villas/fpga/core.hpp +++ b/fpga/include/villas/fpga/core.hpp @@ -209,6 +209,9 @@ public: static std::list parseVLNV(json_t *json_ips); static std::list reorderIps(std::list allIps); + static std::list> + configureIps(std::list orderedIps, json_t *json_ips, + Card *card); // Returns a running and checked FPGA IP static std::list> make(Card *card, json_t *json_ips); diff --git a/fpga/lib/core.cpp b/fpga/lib/core.cpp index 5b0361933..bfdf4a4f0 100644 --- a/fpga/lib/core.cpp +++ b/fpga/lib/core.cpp @@ -86,6 +86,11 @@ CoreFactory::reorderIps(std::list allIps) { return orderedIps; } +std::list> +CoreFactory::configureIps(std::list orderedIps, json_t *json_ips, + Card *card) { + std::list> configuredIps; + auto loggerStatic = CoreFactory::getStaticLogger(); // Configure all IPs for (auto &id : orderedIps) { loggerStatic->info("Configuring {}", id); @@ -234,6 +239,8 @@ CoreFactory::reorderIps(std::list allIps) { configuredIps.push_back(std::move(ip)); } + return configuredIps; +} // Start and check IPs now for (auto &ip : configuredIps) { loggerStatic->info("Initializing {}", *ip);