From 6350dbe0e9a428b7bab152599d936a39a0cd23bf Mon Sep 17 00:00:00 2001 From: Robin Mueller Date: Fri, 4 Nov 2022 11:38:21 +0100 Subject: [PATCH] now its getting tricky --- linux/devices/ploc/PlocSupvHelper.cpp | 4 +++- linux/devices/ploc/PlocSupvHelper.h | 3 +-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/linux/devices/ploc/PlocSupvHelper.cpp b/linux/devices/ploc/PlocSupvHelper.cpp index ac9a3cd3..2f1b874d 100644 --- a/linux/devices/ploc/PlocSupvHelper.cpp +++ b/linux/devices/ploc/PlocSupvHelper.cpp @@ -25,7 +25,8 @@ using namespace returnvalue; -PlocSupvHelper::PlocSupvHelper(object_id_t objectId) : SystemObject(objectId), ringBuf(4096, true) { +PlocSupvHelper::PlocSupvHelper(object_id_t objectId) + : SystemObject(objectId), recRingBuf(4096, true) { spParams.maxSize = sizeof(commandBuffer); resetSpParams(); semaphore = SemaphoreFactory::instance()->createBinarySemaphore(); @@ -79,6 +80,7 @@ ReturnValue_t PlocSupvHelper::performOperation(uint8_t operationCode) { sif::info << "Received " << bytesRead << " bytes from the Solar Cell Experiment:" << std::endl; } + recRingBuf.writeData(recBuf.data(), bytesRead); // insert buffer into ring buffer here // ReturnValue_t result = dleParser.passData(recBuf.data(), bytesRead); // TODO: Parse ring buffer here diff --git a/linux/devices/ploc/PlocSupvHelper.h b/linux/devices/ploc/PlocSupvHelper.h index a54b50a6..c0edc4bb 100644 --- a/linux/devices/ploc/PlocSupvHelper.h +++ b/linux/devices/ploc/PlocSupvHelper.h @@ -216,6 +216,7 @@ class PlocSupvHelper : public DeviceCommunicationIF, SdCardManager* sdcMan = nullptr; #endif std::array recBuf = {}; + SimpleRingBuffer recRingBuf; uint8_t commandBuffer[supv::MAX_COMMAND_SIZE]{}; SpacePacketCreator creator; ploc::SpTcParams spParams = ploc::SpTcParams(creator); @@ -224,8 +225,6 @@ class PlocSupvHelper : public DeviceCommunicationIF, bool terminate = false; bool debugMode = false; - - SimpleRingBuffer ringBuf; /** * Communication interface responsible for data transactions between OBC and Supervisor. */