PLOC SUPV bugfixes #855

Merged
meggert merged 6 commits from smaller-ploc-tweaks into main 2024-02-06 15:10:52 +01:00
4 changed files with 17 additions and 4 deletions

View File

@ -16,6 +16,11 @@ will consitute of a breaking change warranting a new major release:
# [unreleased] # [unreleased]
## Fixed
- PLOC SUPV latchup report could not be handled previously.
- Bugfix in PLOC SUPV latchup report parsing.
# [v7.6.1] 2024-02-05 # [v7.6.1] 2024-02-05
## Changed ## Changed

View File

@ -900,6 +900,14 @@ ReturnValue_t FreshSupvHandler::parseTmPackets() {
} }
break; break;
} }
case(Apid::LATCHUP_MON): {
if (tmReader.getServiceId() ==
static_cast<uint8_t>(supv::tm::LatchupMonId::LATCHUP_STATUS_REPORT)) {
handleLatchupStatusReport(receivedData);
continue;
}
break;
}
case (Apid::ADC_MON): { case (Apid::ADC_MON): {
if (tmReader.getServiceId() == static_cast<uint8_t>(supv::tm::AdcMonId::ADC_REPORT)) { if (tmReader.getServiceId() == static_cast<uint8_t>(supv::tm::AdcMonId::ADC_REPORT)) {
genericHandleTm("ADC", receivedData, adcReport, supv::Apid::ADC_MON, genericHandleTm("ADC", receivedData, adcReport, supv::Apid::ADC_MON,
@ -1486,10 +1494,10 @@ ReturnValue_t FreshSupvHandler::handleLatchupStatusReport(const uint8_t* data) {
offset += 2; offset += 2;
latchupStatusReport.cnt5 = *(payloadData + offset) << 8 | *(payloadData + offset + 1); latchupStatusReport.cnt5 = *(payloadData + offset) << 8 | *(payloadData + offset + 1);
offset += 2; offset += 2;
latchupStatusReport.cnt6 = *(payloadData + offset) << 8 | *(data + offset + 1); latchupStatusReport.cnt6 = *(payloadData + offset) << 8 | *(payloadData + offset + 1);
offset += 2; offset += 2;
uint16_t msec = *(payloadData + offset) << 8 | *(payloadData + offset + 1); 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)); latchupStatusReport.timeMsec = msec & (~(1 << latchupStatusReport.IS_SET_BIT_POS));
offset += 2; offset += 2;
latchupStatusReport.timeSec = *(payloadData + offset); latchupStatusReport.timeSec = *(payloadData + offset);

View File

@ -1805,7 +1805,7 @@ class LatchupStatusReport : public StaticLocalDataSet<LATCHUP_RPT_SET_ENTRIES> {
lp_var_t<uint8_t> timeMon = lp_var_t<uint8_t>(sid.objectId, PoolIds::LATCHUP_RPT_TIME_MON, this); lp_var_t<uint8_t> timeMon = lp_var_t<uint8_t>(sid.objectId, PoolIds::LATCHUP_RPT_TIME_MON, this);
lp_var_t<uint8_t> timeYear = lp_var_t<uint8_t> timeYear =
lp_var_t<uint8_t>(sid.objectId, PoolIds::LATCHUP_RPT_TIME_YEAR, this); lp_var_t<uint8_t>(sid.objectId, PoolIds::LATCHUP_RPT_TIME_YEAR, this);
lp_var_t<uint8_t> isSet = lp_var_t<uint8_t>(sid.objectId, PoolIds::LATCHUP_RPT_IS_SET, this); lp_var_t<uint8_t> isSynced = lp_var_t<uint8_t>(sid.objectId, PoolIds::LATCHUP_RPT_IS_SET, this);
static const uint8_t IS_SET_BIT_POS = 15; static const uint8_t IS_SET_BIT_POS = 15;
}; };

2
tmtc

@ -1 +1 @@
Subproject commit d33013ed58131a69d09145af4f3c7a71766cebd3 Subproject commit a5ebac626682e86b45f991c919a3ce9a9b7fcfcc