78 std::map<SlaveInterface*, SlaveState> slaveStates;
79 std::atomic_bool allSlavesReinitialized{
true};
81 int secondLastUnexpectedWorkCounter = 0;
82 int expectedWorkCounter = -1;
84 bool busErrorFound =
false;
85 bool slaveErrorFound =
false;
87 void rtUpdateSlaveStates();
89 void rtMarkLostSlavesInSOEMStruct()
const;
91 void reinitializeSlaves();
93 std::thread slaveReinitializingThread;
94 std::atomic_bool slaveReinitializingThreadRunning{
true};
95 void slaveReinitializingLoop();
97 bool areAllSlavesReinitialized()
const;
105 Watchdog(std::uint32_t minDurationUS);
106 bool expired()
const;
110 std::uint32_t minDuration;
114 Watchdog workerCounterWatchdog;