5 #include <dpsim-models/PtrFactory.h>
6 #include <dpsim/InterfaceWorker.h>
8 #include <villas/kernel/rt.hpp>
9 #include <villas/node.hpp>
10 #include <villas/node/exceptions.hpp>
11 #include <villas/node/memory.hpp>
12 #include <villas/pool.hpp>
13 #include <villas/sample.hpp>
14 #include <villas/signal.hpp>
15 #include <villas/signal_list.hpp>
17 using namespace villas;
24 using Ptr = std::shared_ptr<InterfaceWorkerVillas>;
25 using Sample =
struct node::Sample;
27 static UInt villasPriority;
28 static UInt villasAffinity;
29 static UInt villasHugePages;
32 static Bool villasInitialized;
47 node::Pool mSamplePool;
52 std::map<int, node::Signal::Ptr> mExportSignals;
53 std::map<int, node::Signal::Ptr> mImportSignals;
57 UInt sampleLenght = 64);
60 void close()
override;
62 void readValuesFromEnv(
63 std::vector<Interface::AttributePacket> &updatedAttrs)
override;
64 void writeValuesToEnv(
65 std::vector<Interface::AttributePacket> &updatedAttrs)
override;
67 virtual void configureImport(UInt attributeId,
const std::type_info &type,
68 UInt idx,
const String &name =
"",
69 const String &unit =
"");
70 virtual void configureExport(UInt attributeId,
const std::type_info &type,
71 UInt idx, Bool waitForOnWrite,
72 const String &name =
"",
73 const String &unit =
"");
75 void printSignals()
const;
79 void setupNodeSignals();
80 void initVillas()
const;