diff --git a/linux/ipcore/PapbVcInterface.cpp b/linux/ipcore/PapbVcInterface.cpp index e0773afe..11c520de 100644 --- a/linux/ipcore/PapbVcInterface.cpp +++ b/linux/ipcore/PapbVcInterface.cpp @@ -33,14 +33,14 @@ ReturnValue_t PapbVcInterface::write(const uint8_t* data, size_t size) { return DirectTmSinkIF::IS_BUSY; } for (size_t idx = 0; idx < size; idx++) { - if (pollPapbBusySignal(5) == returnvalue::OK) { + if (pollPapbBusySignal(10) == returnvalue::OK) { *(vcBaseReg + DATA_REG_OFFSET) = static_cast(data[idx]); } else { abortPacketTransfer(); return returnvalue::FAILED; } } - if (pollPapbBusySignal(5) == returnvalue::OK) { + if (pollPapbBusySignal(10) == returnvalue::OK) { completePacketTransfer(); } else { abortPacketTransfer(); @@ -57,7 +57,7 @@ ReturnValue_t PapbVcInterface::pollPapbBusySignal(uint32_t maxPollRetries) const gpio::Levels papbBusyState = gpio::Levels::LOW; ReturnValue_t result; uint32_t busyIdx = 0; - struct timespec nextDelay = {.tv_sec = 0, .tv_nsec = 10}; + struct timespec nextDelay = {.tv_sec = 0, .tv_nsec = 1000}; while (true) { /** Check if PAPB interface is ready to receive data */ diff --git a/linux/ipcore/PapbVcInterface.h b/linux/ipcore/PapbVcInterface.h index 3d150806..17bc6f94 100644 --- a/linux/ipcore/PapbVcInterface.h +++ b/linux/ipcore/PapbVcInterface.h @@ -76,7 +76,7 @@ class PapbVcInterface : public VirtualChannelIF { */ static const int DATA_REG_OFFSET = 256; - static constexpr long int MAX_DELAY_PAPB_POLLING_NS = 40; + static constexpr long int MAX_DELAY_PAPB_POLLING_NS = 4000; LinuxLibgpioIF* gpioComIF = nullptr;