18 this->amountFramesToRead =
static_cast<std::uint16_t
>(frames->list.size());
22 std::uint16_t amountFramesToRead)
24 if (preallocatedFrames)
26 frames = preallocatedFrames;
27 if (amountFramesToRead > 0)
29 this->amountFramesToRead = amountFramesToRead;
33 this->amountFramesToRead =
static_cast<std::uint16_t
>(frames->list.size());
38 std::pair<EtherCATFrameList*, std::uint16_t>
43 return {frames, amountFramesToRead};
47 throw std::logic_error(
"RegisterReadRequest: No EtherCATFrameList available");
std::pair< EtherCATFrameList *, std::uint16_t > getFrames()
std::vector< RegisterDataList > * requestedRegisters
void updateRequestedRegisters()
RegisterReadRequest()=default
static void updateRegisterDataFromEtherCATFrameList(const EtherCATFrameList *frameList, std::vector< RegisterDataList > *requestedRegisters)
static EtherCATFrameList * createEtherCATFrameListFromRegisterDataList(const std::vector< RegisterDataList > *requestedRegisters)
The EtherCATFrameList struct holds a list of EtherCAT frames that can be scheduled in round-robin-sty...