diff --git a/CHANGELOG.md b/CHANGELOG.md index 0ec0f64f..061478a5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,14 @@ will consitute of a breaking change warranting a new major release: # [unreleased] +## Fixed + +- PLOC SUPV latchup report could not be handled previously. +- Bugfix in PLOC SUPV latchup report parsing. +- Bugfix in PLOC MPSoC HK set: Set and variables were not set valid. + +# [v7.6.1] 2024-02-05 + ## Changed - Guidance now uses the coordinate functions from the FSFW. diff --git a/CMakeLists.txt b/CMakeLists.txt index 8957c6bf..a25fb8bc 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -11,7 +11,7 @@ cmake_minimum_required(VERSION 3.13) set(OBSW_VERSION_MAJOR 7) set(OBSW_VERSION_MINOR 6) -set(OBSW_VERSION_REVISION 0) +set(OBSW_VERSION_REVISION 1) # set(CMAKE_VERBOSE TRUE) diff --git a/linux/payload/FreshSupvHandler.cpp b/linux/payload/FreshSupvHandler.cpp index a51934d6..346cd8f2 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, @@ -1486,10 +1494,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/PlocMpsocHandler.cpp b/linux/payload/PlocMpsocHandler.cpp index 9aa110e1..6df5a59b 100644 --- a/linux/payload/PlocMpsocHandler.cpp +++ b/linux/payload/PlocMpsocHandler.cpp @@ -998,6 +998,7 @@ ReturnValue_t PlocMpsocHandler::handleGetHkReport(const uint8_t* data) { if (result != returnvalue::OK) { return result; } + hkReport.setValidity(true, true); return returnvalue::OK; } 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; }; diff --git a/tmtc b/tmtc index d33013ed..a5ebac62 160000 --- a/tmtc +++ b/tmtc @@ -1 +1 @@ -Subproject commit d33013ed58131a69d09145af4f3c7a71766cebd3 +Subproject commit a5ebac626682e86b45f991c919a3ce9a9b7fcfcc