important bugfix

This commit is contained in:
Robin Müller 2023-11-28 15:31:37 +01:00
parent fa21790003
commit 112fa2b8ff

View File

@ -90,6 +90,7 @@ void FreshSupvHandler::performDeviceOperation(uint8_t opCode) {
} else if (opCode == OpCode::PARSE_TM) {
for (auto& activeCmd : activeActionCmds) {
if (activeCmd.second.isPending and activeCmd.second.cmdCountdown.hasTimedOut()) {
sif::warning << "hello im stupid" << std::endl;
if (activeCmd.second.commandedBy != MessageQueueIF::NO_QUEUE) {
actionHelper.finish(false, activeCmd.second.commandedBy, activeCmd.first,
DeviceHandlerIF::TIMEOUT);
@ -567,6 +568,7 @@ ReturnValue_t FreshSupvHandler::sendCommand(DeviceCommandId_t commandId, TcBase&
info.isPending = true;
info.replyPacketExpected = replyExpected;
info.commandedBy = commandedByCached;
info.cmdCountdown.resetTimer();
activeActionCmds.emplace(buildActiveCmdKey(tc.getModuleApid(), tc.getServiceId()), info);
} else {
if (activeCmdIter->second.isPending) {
@ -901,6 +903,7 @@ ReturnValue_t FreshSupvHandler::parseTmPackets() {
}
case (Apid::ADC_MON): {
if (tmReader.getServiceId() == static_cast<uint8_t>(supv::tm::AdcMonId::ADC_REPORT)) {
sif::debug << "recv ADC report" << std::endl;
genericHandleTm("ADC", receivedData, adcReport, supv::Apid::ADC_MON,
static_cast<uint8_t>(supv::tc::AdcMonId::REQUEST_ADC_SAMPLE));
continue;
@ -1295,8 +1298,7 @@ void FreshSupvHandler::handleExecutionFailureReport(ActiveCmdInfo& info, Executi
}
void FreshSupvHandler::confirmReplyPacketReceived(supv::Apid apid, uint8_t serviceId) {
auto infoIter = activeActionCmds.find(
buildActiveCmdKey(supv::Apid::HK, static_cast<uint8_t>(supv::tc::HkId::GET_REPORT)));
auto infoIter = activeActionCmds.find(buildActiveCmdKey(apid, serviceId));
if (infoIter != activeActionCmds.end()) {
ActiveCmdInfo& info = infoIter->second;
info.replyPacketReceived = true;