77 std::map<SlaveInterface*, SlaveState> slaveStates;
78 std::atomic_bool allSlavesReinitialized{
true};
80 int secondLastUnexpectedWorkCounter = 0;
81 int expectedWorkCounter = -1;
83 bool busErrorFound =
false;
84 bool slaveErrorFound =
false;
86 void rtUpdateSlaveStates();
88 void rtMarkLostSlavesInSOEMStruct()
const;
90 void reinitializeSlaves();
92 std::thread slaveReinitializingThread;
93 std::atomic_bool slaveReinitializingThreadRunning{
true};
94 void slaveReinitializingLoop();
96 bool areAllSlavesReinitialized()
const;
104 Watchdog(std::uint32_t minDurationUS);
105 bool expired()
const;
109 std::uint32_t minDuration;
113 Watchdog workerCounterWatchdog;