From 2c9e85706080f3536ee7ee4a01935912cf845096 Mon Sep 17 00:00:00 2001 From: Robin Mueller Date: Wed, 31 Jan 2024 16:56:34 +0100 Subject: [PATCH] PLOC SUPV latchup report bugfixes --- linux/payload/FreshSupvHandler.cpp | 12 ++++++++++-- linux/payload/plocSupvDefs.h | 2 +- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/linux/payload/FreshSupvHandler.cpp b/linux/payload/FreshSupvHandler.cpp index 88a68635..09b56d14 100644 --- a/linux/payload/FreshSupvHandler.cpp +++ b/linux/payload/FreshSupvHandler.cpp @@ -900,6 +900,14 @@ ReturnValue_t FreshSupvHandler::parseTmPackets() { } break; } + case(Apid::LATCHUP_MON): { + if (tmReader.getServiceId() == + static_cast(supv::tm::LatchupMonId::LATCHUP_STATUS_REPORT)) { + handleLatchupStatusReport(receivedData); + continue; + } + break; + } case (Apid::ADC_MON): { if (tmReader.getServiceId() == static_cast(supv::tm::AdcMonId::ADC_REPORT)) { genericHandleTm("ADC", receivedData, adcReport, supv::Apid::ADC_MON, @@ -1485,10 +1493,10 @@ ReturnValue_t FreshSupvHandler::handleLatchupStatusReport(const uint8_t* data) { offset += 2; latchupStatusReport.cnt5 = *(payloadData + offset) << 8 | *(payloadData + offset + 1); offset += 2; - latchupStatusReport.cnt6 = *(payloadData + offset) << 8 | *(data + offset + 1); + latchupStatusReport.cnt6 = *(payloadData + offset) << 8 | *(payloadData + offset + 1); offset += 2; uint16_t msec = *(payloadData + offset) << 8 | *(payloadData + offset + 1); - latchupStatusReport.isSet = msec >> supv::LatchupStatusReport::IS_SET_BIT_POS; + latchupStatusReport.isSynced = msec >> supv::LatchupStatusReport::IS_SET_BIT_POS; latchupStatusReport.timeMsec = msec & (~(1 << latchupStatusReport.IS_SET_BIT_POS)); offset += 2; latchupStatusReport.timeSec = *(payloadData + offset); diff --git a/linux/payload/plocSupvDefs.h b/linux/payload/plocSupvDefs.h index c3c042e3..349c29ad 100644 --- a/linux/payload/plocSupvDefs.h +++ b/linux/payload/plocSupvDefs.h @@ -1805,7 +1805,7 @@ class LatchupStatusReport : public StaticLocalDataSet { lp_var_t timeMon = lp_var_t(sid.objectId, PoolIds::LATCHUP_RPT_TIME_MON, this); lp_var_t timeYear = lp_var_t(sid.objectId, PoolIds::LATCHUP_RPT_TIME_YEAR, this); - lp_var_t isSet = lp_var_t(sid.objectId, PoolIds::LATCHUP_RPT_IS_SET, this); + lp_var_t isSynced = lp_var_t(sid.objectId, PoolIds::LATCHUP_RPT_IS_SET, this); static const uint8_t IS_SET_BIT_POS = 15; };