From 998110dea41ef042681134aec5c49e6de9cfad87 Mon Sep 17 00:00:00 2001 From: Robin Mueller Date: Wed, 31 May 2023 16:10:52 +0200 Subject: [PATCH] back to somethng simple --- linux/ipcore/PapbVcInterface.cpp | 67 -------------------------------- 1 file changed, 67 deletions(-) diff --git a/linux/ipcore/PapbVcInterface.cpp b/linux/ipcore/PapbVcInterface.cpp index fbc13fc5..404f3653 100644 --- a/linux/ipcore/PapbVcInterface.cpp +++ b/linux/ipcore/PapbVcInterface.cpp @@ -33,51 +33,11 @@ ReturnValue_t PapbVcInterface::write(const uint8_t* data, size_t size) { } else { return DirectTmSinkIF::IS_BUSY; } - // TODO: This should work but does not.. :( - // size_t idx = 0; - // while (idx < size) { - // - // nanosleep(&BETWEEN_POLL_DELAY, &remDelay); - // if ((size - idx) < 4) { - // *vcBaseReg = CONFIG_DATA_INPUT | (size - idx - 1); - // usleep(1); - // } - // if (pollPapbBusySignal(2) == returnvalue::OK) { - // // vcBaseReg + DATA_REG_OFFSET + 3 = static_cast(data + idx); - // // vcBaseReg + DATA_REG_OFFSET + 2 = static_cast(data + idx + 1); - // // vcBaseReg + DATA_REG_OFFSET + 1 = static_cast(data + idx + 2); - // // vcBaseReg + DATA_REG_OFFSET = static_cast(data + idx + 3); - // - // // std::memcpy((vcBaseReg + DATA_REG_OFFSET), data + idx , nextWriteSize); - // *(vcBaseReg + DATA_REG_OFFSET) = *reinterpret_cast(data + idx); - // //uint8_t* byteReg = reinterpret_cast(vcBaseReg + DATA_REG_OFFSET); - // - // //byteReg[0] = data[idx]; - // //byteReg[1] = data[idx]; - // } else { - // abortPacketTransfer(); - // return returnvalue::FAILED; - // } - // // TODO: Change this after the bugfix. Right now, the PAPB ignores the content of the byte - // // width configuration.5 - // // It's okay to increment by a larger amount for the last segment here, loop will be over - // // in any case. - // idx += 4; - // } for (size_t idx = 0; idx < size; idx++) { // if (pollInterfaceReadiness(2, false) == returnvalue::OK) { *(vcBaseReg + DATA_REG_OFFSET) = static_cast(data[idx]); - //} else { - // abortPacketTransfer(); - // return returnvalue::FAILED; - //} } - // if (pollInterfaceReadiness(2, false) == returnvalue::OK) { completePacketTransfer(); - //} else { - // abortPacketTransfer(); - // return returnvalue::FAILED; - //} return returnvalue::OK; } @@ -88,38 +48,11 @@ void PapbVcInterface::startPacketTransfer(ByteWidthCfg initWidth) { void PapbVcInterface::completePacketTransfer() { *vcBaseReg = CONFIG_END; } bool PapbVcInterface::pollReadyForPacket() const { - // uint32_t busyIdx = 0; - // nextDelay.tv_nsec = FIRST_DELAY_PAPB_POLLING_NS; - - // while (true) { // Check if PAPB interface is ready to receive data. Use the configuration register for this. // Bit 5, see PTME ptme_001_01-0-7-r2 Table 31. uint32_t reg = *vcBaseReg; // bool busy = (reg >> 5) & 0b1; return (reg >> 6) & 0b1; - // if (checkReadyForPacketState) { - // if (not busy and readyForPacket) { - // return returnvalue::OK; - // } else if (not busy and not readyForPacket) { - // return PAPB_BUSY; - // } - // } else if (not busy) { - // return returnvalue::OK; - // } - // - // busyIdx++; - // if (busyIdx >= maxPollRetries) { - // return PAPB_BUSY; - // } - // - // // Ignore signal handling here for now. - // nanosleep(&nextDelay, &remDelay); - // // Adaptive delay. - // if (nextDelay.tv_nsec * 2 <= MAX_DELAY_PAPB_POLLING_NS) { - // nextDelay.tv_nsec *= 2; - // } - // } - // return returnvalue::OK; } bool PapbVcInterface::isVcInterfaceBufferEmpty() {