diff --git a/mission/tmtc/PusTmFunnel.cpp b/mission/tmtc/PusTmFunnel.cpp index f34ffb2b..f506bbd6 100644 --- a/mission/tmtc/PusTmFunnel.cpp +++ b/mission/tmtc/PusTmFunnel.cpp @@ -10,7 +10,8 @@ PusTmFunnel::PusTmFunnel(object_id_t objectId, TimeReaderIF &timeReader, Storage SdCardMountedIF &sdcMan, uint32_t messageDepth) : TmFunnelBase(objectId, tmStore, messageDepth), timeReader(timeReader), - miscStore(objects::MISC_STORE, "misc", RolloverInterval::HOURLY, 8, sdcMan) { + miscStore(objects::MISC_STORE, "misc", RolloverInterval::HOURLY, 8, sdcMan), + sdcMan(sdcMan) { miscStore.addApid(config::EIVE_PUS_APID); miscStore.addService(17); } @@ -55,7 +56,9 @@ ReturnValue_t PusTmFunnel::handlePacket(TmTcMessage &message) { sourceSequenceCount = sourceSequenceCount % ccsds::LIMIT_SEQUENCE_COUNT; packet.updateErrorControl(); - miscStore.passPacket(packet); + if(sdcMan.isSdCardUsable(std::nullopt)) { + miscStore.passPacket(packet); + } for (unsigned int idx = 0; idx < destinations.size(); idx++) { const auto &destVcidPair = destinations[idx]; diff --git a/mission/tmtc/PusTmFunnel.h b/mission/tmtc/PusTmFunnel.h index f4285375..82d6a0cb 100644 --- a/mission/tmtc/PusTmFunnel.h +++ b/mission/tmtc/PusTmFunnel.h @@ -37,6 +37,7 @@ class PusTmFunnel : public TmFunnelBase { uint16_t sourceSequenceCount = 0; TimeReaderIF &timeReader; TmStore miscStore; + SdCardMountedIF& sdcMan; ReturnValue_t handlePacket(TmTcMessage &message); ReturnValue_t initialize() override;