4 #include <condition_variable>
24 const std::vector<RegisterDataList>* requestedRegisters);
28 std::vector<RegisterDataList>* requestedRegisters);
32 unsigned int updatePeriodInMS,
33 std::vector<datatypes::RegisterEnum> registerList);
42 std::vector<RegisterDataList> registerData;
47 unsigned int updatePeriodInMS{1};
48 std::thread errorRegisterUpdateThread;
49 std::atomic_bool errorRegisterUpdateThreadRunning{
true};
51 std::condition_variable cv_readNextRegisters;
52 std::mutex mutex_readNextRegisters;
53 std::atomic_bool readyToReadNextRegisters{
true};
54 std::atomic_bool areAllRegistersUpdated{
false};
65 static std::vector<int> registerReadMapToAddressList(
const RegisterDataList& toRead);
78 static std::vector<std::pair<int, int>>
87 static PDUMetaData createPDUMetaData(std::tuple<uint16_t, int, int> pduInterval,
97 static std::pair<EtherCATFrame, EtherCATFrameMetaData>
98 createEtherCATFrame(std::vector<std::tuple<uint16_t, int, int>> slaveAssignedPDUIntervals);
111 const std::vector<std::pair<std::uint16_t, std::vector<std::pair<int, int>>>>&