Fix no Sensors for Control FDIR #858

Merged
muellerr merged 7 commits from fix-no-sensors-fdir into main 2024-02-14 10:45:51 +01:00
4 changed files with 14 additions and 4 deletions
Showing only changes of commit 13c180902d - Show all commits

View File

@ -18,6 +18,8 @@ will consitute of a breaking change warranting a new major release:
## Fixed
- PLOC SUPV latchup report could not be handled previously.
- Bugfix in PLOC SUPV latchup report parsing.
- The `PTG_CTRL_NO_ATTITUDE_INFORMATION` will now actually trigger a fallback into
safe mode.

View File

@ -900,6 +900,14 @@ ReturnValue_t FreshSupvHandler::parseTmPackets() {
}
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): {
if (tmReader.getServiceId() == static_cast<uint8_t>(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);

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> timeYear =
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;
};

2
tmtc

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