diff --git a/CHANGELOG.md b/CHANGELOG.md index 6150a955..f5461bd3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -24,6 +24,22 @@ will consitute of a breaking change warranting a new major release: - Host build fixes +## Changed + +- The primary and the secondary temperature sensors for the PLOC mission boards are exchanged. +- ACS parameters for the SUSMGM (FLP) safe mode have been adjusted. This safe mode is now the + default one. + +# [v6.4.1] 2023-08-21 + +## Fixed + +- `PDEC_CONFIG_CORRUPTED` event now actually contains the readback instead of the expected + config +- Magnetic field vector was not calculated if only MGM4 was available, but still written to + the dataset. This would result in a NaN vector. Allowance for usage of MGM4 is now checked + before entering calculation. + # [v6.4.0] 2023-08-16 - `eive-tmtc`: v5.4.3 @@ -32,6 +48,8 @@ will consitute of a breaking change warranting a new major release: - The handling function of the GPS data is only called once per GPS read. This should remove the fake fix-has-changed events. +- Fix for PLOC SUPV HK set parsing. +- The timestamp for the `POSSIBLE_FILE_CORRUPTION` event will be generated properly now. ## Changed diff --git a/CMakeLists.txt b/CMakeLists.txt index 058c99fc..ff115a2c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -11,7 +11,7 @@ cmake_minimum_required(VERSION 3.13) set(OBSW_VERSION_MAJOR 6) set(OBSW_VERSION_MINOR 4) -set(OBSW_VERSION_REVISION 0) +set(OBSW_VERSION_REVISION 1) # set(CMAKE_VERBOSE TRUE) diff --git a/bsp_hosted/fsfwconfig/events/translateEvents.cpp b/bsp_hosted/fsfwconfig/events/translateEvents.cpp index 1718df9d..bb81766a 100644 --- a/bsp_hosted/fsfwconfig/events/translateEvents.cpp +++ b/bsp_hosted/fsfwconfig/events/translateEvents.cpp @@ -1,7 +1,7 @@ /** * @brief Auto-generated event translation file. Contains 305 translations. * @details - * Generated on: 2023-09-04 11:19:49 + * Generated on: 2023-09-07 16:12:51 */ #include "translateEvents.h" diff --git a/bsp_hosted/fsfwconfig/objects/translateObjects.cpp b/bsp_hosted/fsfwconfig/objects/translateObjects.cpp index 9a211be6..8454b2ad 100644 --- a/bsp_hosted/fsfwconfig/objects/translateObjects.cpp +++ b/bsp_hosted/fsfwconfig/objects/translateObjects.cpp @@ -2,7 +2,7 @@ * @brief Auto-generated object translation file. * @details * Contains 171 translations. - * Generated on: 2023-09-04 11:19:49 + * Generated on: 2023-09-07 16:12:51 */ #include "translateObjects.h" diff --git a/bsp_hosted/scheduling.cpp b/bsp_hosted/scheduling.cpp index 95da8ea1..c771608f 100644 --- a/bsp_hosted/scheduling.cpp +++ b/bsp_hosted/scheduling.cpp @@ -258,9 +258,9 @@ void scheduling::initTasks() { dummyTask->startTask(); // If those are added at a later stage.. - //logTmTask->startTask(); - //cfdpTmTask->startTask(); - //hkTmTask->startTask(); + // logTmTask->startTask(); + // cfdpTmTask->startTask(); + // hkTmTask->startTask(); #if OBSW_ADD_PLOC_SUPERVISOR == 1 supvHelperTask->startTask(); diff --git a/generators/bsp_hosted_returnvalues.csv b/generators/bsp_hosted_returnvalues.csv index 8eefe64f..6ec50fac 100644 --- a/generators/bsp_hosted_returnvalues.csv +++ b/generators/bsp_hosted_returnvalues.csv @@ -339,6 +339,7 @@ Full ID (hex); Name; Description; Unique ID; Subsytem Name; File Path 0x3704;CFDP_DestNameEmpty;No description;4;CFDP_HANDLER;fsfw/src/fsfw/cfdp/handler/defs.h 0x3705;CFDP_WrongRemoteCfgEntityId;No description;5;CFDP_HANDLER;fsfw/src/fsfw/cfdp/handler/defs.h 0x3706;CFDP_TargetMsgQueueFull;No description;6;CFDP_HANDLER;fsfw/src/fsfw/cfdp/handler/defs.h +0x3707;CFDP_TmStoreFull;No description;7;CFDP_HANDLER;fsfw/src/fsfw/cfdp/handler/defs.h 0x3801;TSI_BadTimestamp;No description;1;TIME_STAMPER_IF;fsfw/src/fsfw/timemanager/TimeStampIF.h 0x39a1;SGP4_InvalidEccentricity;No description;161;SGP4PROPAGATOR_CLASS;fsfw/src/fsfw/coordinates/Sgp4Propagator.h 0x39a2;SGP4_InvalidMeanMotion;No description;162;SGP4PROPAGATOR_CLASS;fsfw/src/fsfw/coordinates/Sgp4Propagator.h diff --git a/generators/bsp_q7s_returnvalues.csv b/generators/bsp_q7s_returnvalues.csv index bad1177a..39bb2b15 100644 --- a/generators/bsp_q7s_returnvalues.csv +++ b/generators/bsp_q7s_returnvalues.csv @@ -339,6 +339,7 @@ Full ID (hex); Name; Description; Unique ID; Subsytem Name; File Path 0x3704;CFDP_DestNameEmpty;No description;4;CFDP_HANDLER;fsfw/src/fsfw/cfdp/handler/defs.h 0x3705;CFDP_WrongRemoteCfgEntityId;No description;5;CFDP_HANDLER;fsfw/src/fsfw/cfdp/handler/defs.h 0x3706;CFDP_TargetMsgQueueFull;No description;6;CFDP_HANDLER;fsfw/src/fsfw/cfdp/handler/defs.h +0x3707;CFDP_TmStoreFull;No description;7;CFDP_HANDLER;fsfw/src/fsfw/cfdp/handler/defs.h 0x3801;TSI_BadTimestamp;No description;1;TIME_STAMPER_IF;fsfw/src/fsfw/timemanager/TimeStampIF.h 0x39a1;SGP4_InvalidEccentricity;No description;161;SGP4PROPAGATOR_CLASS;fsfw/src/fsfw/coordinates/Sgp4Propagator.h 0x39a2;SGP4_InvalidMeanMotion;No description;162;SGP4PROPAGATOR_CLASS;fsfw/src/fsfw/coordinates/Sgp4Propagator.h diff --git a/generators/events/translateEvents.cpp b/generators/events/translateEvents.cpp index 1718df9d..bb81766a 100644 --- a/generators/events/translateEvents.cpp +++ b/generators/events/translateEvents.cpp @@ -1,7 +1,7 @@ /** * @brief Auto-generated event translation file. Contains 305 translations. * @details - * Generated on: 2023-09-04 11:19:49 + * Generated on: 2023-09-07 16:12:51 */ #include "translateEvents.h" diff --git a/generators/objects/translateObjects.cpp b/generators/objects/translateObjects.cpp index 15a545c0..a9a5a786 100644 --- a/generators/objects/translateObjects.cpp +++ b/generators/objects/translateObjects.cpp @@ -2,7 +2,7 @@ * @brief Auto-generated object translation file. * @details * Contains 175 translations. - * Generated on: 2023-09-04 11:19:49 + * Generated on: 2023-09-07 16:12:51 */ #include "translateObjects.h" diff --git a/linux/boardtest/UartTestClass.h b/linux/boardtest/UartTestClass.h index f959f877..d03706ed 100644 --- a/linux/boardtest/UartTestClass.h +++ b/linux/boardtest/UartTestClass.h @@ -11,7 +11,7 @@ #include -//#include "lwgps/lwgps.h" +// #include "lwgps/lwgps.h" #include "test/TestTask.h" class ScexUartReader; diff --git a/linux/fsfwconfig/events/translateEvents.cpp b/linux/fsfwconfig/events/translateEvents.cpp index 1718df9d..bb81766a 100644 --- a/linux/fsfwconfig/events/translateEvents.cpp +++ b/linux/fsfwconfig/events/translateEvents.cpp @@ -1,7 +1,7 @@ /** * @brief Auto-generated event translation file. Contains 305 translations. * @details - * Generated on: 2023-09-04 11:19:49 + * Generated on: 2023-09-07 16:12:51 */ #include "translateEvents.h" diff --git a/linux/fsfwconfig/objects/translateObjects.cpp b/linux/fsfwconfig/objects/translateObjects.cpp index 15a545c0..a9a5a786 100644 --- a/linux/fsfwconfig/objects/translateObjects.cpp +++ b/linux/fsfwconfig/objects/translateObjects.cpp @@ -2,7 +2,7 @@ * @brief Auto-generated object translation file. * @details * Contains 175 translations. - * Generated on: 2023-09-04 11:19:49 + * Generated on: 2023-09-07 16:12:51 */ #include "translateObjects.h" diff --git a/linux/ipcore/PdecHandler.cpp b/linux/ipcore/PdecHandler.cpp index 189dfca8..c7266710 100644 --- a/linux/ipcore/PdecHandler.cpp +++ b/linux/ipcore/PdecHandler.cpp @@ -595,9 +595,10 @@ void PdecHandler::checkConfig() { sif::warning << "PdecHandler::checkConfig: Failed to create second word" << std::endl; return; } - if (firstWord != pdecConfig.readbackFirstWord() or - secondWord != pdecConfig.readbackSecondWord()) { - triggerEvent(PDEC_CONFIG_CORRUPTED, firstWord, secondWord); + uint32_t readbackFirstWord = pdecConfig.readbackFirstWord(); + uint32_t readbackSecondWord = pdecConfig.readbackSecondWord(); + if (firstWord != readbackFirstWord or secondWord != readbackSecondWord) { + triggerEvent(PDEC_CONFIG_CORRUPTED, readbackFirstWord, readbackSecondWord); } } diff --git a/linux/payload/PlocSupervisorHandler.cpp b/linux/payload/PlocSupervisorHandler.cpp index 940785af..d4a3a1c0 100644 --- a/linux/payload/PlocSupervisorHandler.cpp +++ b/linux/payload/PlocSupervisorHandler.cpp @@ -2105,9 +2105,9 @@ uint32_t PlocSupervisorHandler::getTransitionDelayMs(Mode_t modeFrom, Mode_t mod // if (result != returnvalue::OK) { // return result; // } -//#if OBSW_VERBOSE_LEVEL >= 1 && OBSW_DEBUG_PLOC_SUPERVISOR == 1 +// #if OBSW_VERBOSE_LEVEL >= 1 && OBSW_DEBUG_PLOC_SUPERVISOR == 1 // loggingReport.printSet(); -//#endif +// #endif // nextReplyId = supv::EXE_REPORT; // return result; // } diff --git a/linux/payload/PlocSupvUartMan.cpp b/linux/payload/PlocSupvUartMan.cpp index e4371be5..1a129927 100644 --- a/linux/payload/PlocSupvUartMan.cpp +++ b/linux/payload/PlocSupvUartMan.cpp @@ -274,12 +274,12 @@ ReturnValue_t PlocSupvUartManager::initiateUpdateContinuation() { } // ReturnValue_t PlocSupvHelper::startEventBufferRequest(std::string path) { -//#ifdef XIPHOS_Q7S +// #ifdef XIPHOS_Q7S // ReturnValue_t result = FilesystemHelper::checkPath(path); // if (result != returnvalue::OK) { // return result; // } -//#endif +// #endif // if (not std::filesystem::exists(path)) { // return PATH_NOT_EXISTS; // } @@ -836,11 +836,11 @@ uint32_t PlocSupvUartManager::getFileSize(std::string filename) { ReturnValue_t PlocSupvUartManager::handleEventBufferReception(ploc::SpTmReader& reader) { ReturnValue_t result = returnvalue::OK; // TODO: Fix - //#ifdef XIPHOS_Q7S + // #ifdef XIPHOS_Q7S // if (not sdcMan->getActiveSdCard()) { // return HasFileSystemIF::FILESYSTEM_INACTIVE; // } - //#endif + // #endif // std::string filename = Filenaming::generateAbsoluteFilename( // eventBufferReq.path, eventBufferReq.filename, timestamping); // std::ofstream file(filename, std::ios_base::app | std::ios_base::out); diff --git a/mission/cfdp/CfdpHandler.cpp b/mission/cfdp/CfdpHandler.cpp index cc400b9a..c3cde752 100644 --- a/mission/cfdp/CfdpHandler.cpp +++ b/mission/cfdp/CfdpHandler.cpp @@ -76,9 +76,9 @@ ReturnValue_t CfdpHandler::initialize() { break; } srcHandler.stateMachine(); - if(srcResult.result == cfdp::TM_STORE_FULL) { + if (srcResult.result == cfdp::TM_STORE_FULL) { sif::warning << "CFDP Source Handler: TM store is full" << std::endl; - } else if(srcResult.result == cfdp::TARGET_MSG_QUEUE_FULL) { + } else if (srcResult.result == cfdp::TARGET_MSG_QUEUE_FULL) { sif::warning << "CFDP Source Handler: TM queue is full" << std::endl; } fsmCount++; diff --git a/mission/controller/ThermalController.cpp b/mission/controller/ThermalController.cpp index 5f2277a9..2729cec0 100644 --- a/mission/controller/ThermalController.cpp +++ b/mission/controller/ThermalController.cpp @@ -1372,12 +1372,13 @@ void ThermalController::ctrlPlPcduBoard() { tooHotHandler(objects::PLPCDU_HANDLER, tooHotFlags.eBandTooHotFlag); } +// ToDo: remove one of the following 2 void ThermalController::ctrlPlocMissionBoard() { ctrlCtx.thermalComponent = tcsCtrl::PLOCMISSION_BOARD; - sensors[0].first = sensorTemperatures.plocHeatspreader.isValid(); - sensors[0].second = sensorTemperatures.plocHeatspreader.value; - sensors[1].first = sensorTemperatures.plocMissionboard.isValid(); - sensors[1].second = sensorTemperatures.plocMissionboard.value; + sensors[0].first = sensorTemperatures.plocMissionboard.isValid(); + sensors[0].second = sensorTemperatures.plocMissionboard.value; + sensors[1].first = sensorTemperatures.plocHeatspreader.isValid(); + sensors[1].second = sensorTemperatures.plocHeatspreader.value; sensors[2].first = sensorTemperatures.dacHeatspreader.isValid(); sensors[2].second = sensorTemperatures.dacHeatspreader.value; numSensors = 3; diff --git a/mission/controller/acs/AcsParameters.h b/mission/controller/acs/AcsParameters.h index 0fb1daa9..a9c9ab5d 100644 --- a/mission/controller/acs/AcsParameters.h +++ b/mission/controller/acs/AcsParameters.h @@ -79,7 +79,7 @@ class AcsParameters : public HasParametersIF { float mgm13variance[3] = {pow(1.5e-8, 2), pow(1.5e-8, 2), pow(1.5e-8, 2)}; float mgm4variance[3] = {pow(1.7e-6, 2), pow(1.7e-6, 2), pow(1.7e-6, 2)}; float mgmVectorFilterWeight = 0.85; - float mgmDerivativeFilterWeight = 0.85; + float mgmDerivativeFilterWeight = 0.99; uint8_t useMgm4 = false; } mgmHandlingParameters; @@ -771,7 +771,7 @@ class AcsParameters : public HasParametersIF { -0.000889232196185857, -0.00168429567131815}}; float susBrightnessThreshold = 0.7; float susVectorFilterWeight = .85; - float susRateFilterWeight = .85; + float susRateFilterWeight = .99; } susHandlingParameters; struct GyrHandlingParameters { @@ -834,15 +834,15 @@ class AcsParameters : public HasParametersIF { double k_alignGyr = 4.0e-5; double k_parallelGyr = 3.75e-4; - double k_orthoSusMgm = 1.1e-2; - double k_alignSusMgm = 2.0e-5; - double k_parallelSusMgm = 4.4e-4; + double k_orthoSusMgm = 4.4e-3; + double k_alignSusMgm = 4.0e-5; + double k_parallelSusMgm = 3.75e-4; double sunTargetDirLeop[3] = {0, sqrt(.5), sqrt(.5)}; double sunTargetDir[3] = {0, 0, 1}; uint8_t useMekf = false; - uint8_t useGyr = true; + uint8_t useGyr = false; uint8_t dampingDuringEclipse = true; float sineLimitSunRotRate = 0.24; diff --git a/mission/controller/acs/SensorProcessing.cpp b/mission/controller/acs/SensorProcessing.cpp index 686a2fcf..4405790c 100644 --- a/mission/controller/acs/SensorProcessing.cpp +++ b/mission/controller/acs/SensorProcessing.cpp @@ -25,7 +25,8 @@ void SensorProcessing::processMgm(const float *mgm0Value, bool mgm0valid, const gpsDataProcessed->altitude.value, timeOfMgmMeasurement, magIgrfModel); gpsValid = true; } - if (!mgm0valid && !mgm1valid && !mgm2valid && !mgm3valid && !mgm4valid) { + if (not mgm0valid and not mgm1valid and not mgm2valid and not mgm3valid and + (not mgm4valid or not mgmParameters->useMgm4)) { { PoolReadGuard pg(mgmDataProcessed); if (pg.getReadResult() == returnvalue::OK) { diff --git a/mission/genericFactory.cpp b/mission/genericFactory.cpp index ea7a8bcb..70363557 100644 --- a/mission/genericFactory.cpp +++ b/mission/genericFactory.cpp @@ -134,16 +134,16 @@ void ObjectFactory::produceGenericObjects(HealthTableIF** healthTable_, PusTmFun #if OBSW_ADD_TCPIP_SERVERS == 1 #if OBSW_ADD_TMTC_UDP_SERVER == 1 - auto udpBridge = - new UdpTmTcBridge(objects::UDP_TMTC_SERVER, objects::CCSDS_PACKET_DISTRIBUTOR, config::UDP_MSG_QUEUE_DEPTH); + auto udpBridge = new UdpTmTcBridge(objects::UDP_TMTC_SERVER, objects::CCSDS_PACKET_DISTRIBUTOR, + config::UDP_MSG_QUEUE_DEPTH); new UdpTcPollingTask(objects::UDP_TMTC_POLLING_TASK, objects::UDP_TMTC_SERVER); sif::info << "Created UDP server for TMTC commanding with listener port " << udpBridge->getUdpPort() << std::endl; udpBridge->setMaxNumberOfPacketsStored(config::UDP_MAX_STORED_CMDS); #endif #if OBSW_ADD_TMTC_TCP_SERVER == 1 - auto tcpBridge = - new TcpTmTcBridge(objects::TCP_TMTC_SERVER, objects::CCSDS_PACKET_DISTRIBUTOR, config::TCP_MSG_QUEUE_DEPTH); + auto tcpBridge = new TcpTmTcBridge(objects::TCP_TMTC_SERVER, objects::CCSDS_PACKET_DISTRIBUTOR, + config::TCP_MSG_QUEUE_DEPTH); TcpTmTcServer::TcpConfig cfg(true, true); auto tcpServer = new TcpTmTcServer(objects::TCP_TMTC_POLLING_TASK, objects::TCP_TMTC_SERVER, cfg); // TCP is stream based. Use packet ID as start marker when parsing for space packets @@ -226,12 +226,12 @@ void ObjectFactory::produceGenericObjects(HealthTableIF** healthTable_, PusTmFun **ipcStore, config::MAX_CFDP_FUNNEL_QUEUE_DEPTH, sdcMan, config::CFDP_SEQUENCE_COUNT_FILE, core::SAVE_CFDP_SEQUENCE_COUNT); - std::optional fileStoreDest {}; - if(routeToPersistentStores) { + std::optional fileStoreDest{}; + if (routeToPersistentStores) { fileStoreDest = stores.cfdpStore->getReportReceptionQueue(0); } - *cfdpFunnel = new CfdpTmFunnel(cfdpFunnelCfg, fileStoreDest, - *ramToFileStore, config::EIVE_CFDP_APID); + *cfdpFunnel = + new CfdpTmFunnel(cfdpFunnelCfg, fileStoreDest, *ramToFileStore, config::EIVE_CFDP_APID); #if OBSW_ADD_TCPIP_SERVERS == 1 #if OBSW_ADD_TMTC_UDP_SERVER == 1 diff --git a/mission/power/gsLibDefs.h b/mission/power/gsLibDefs.h index cc9fc121..57525a39 100644 --- a/mission/power/gsLibDefs.h +++ b/mission/power/gsLibDefs.h @@ -8,12 +8,12 @@ // I really don't want to pull in all of those GomSpace headers just for 6 constants.. // Those are the headers which contain the defines which were just hardcoded below. -//#include "p60acu_hk.h" -//#include "p60acu_param.h" -//#include "p60dock_hk.h" -//#include "p60dock_param.h" -//#include "p60pdu_hk.h" -//#include "p60pdu_param.h" +// #include "p60acu_hk.h" +// #include "p60acu_param.h" +// #include "p60dock_hk.h" +// #include "p60dock_param.h" +// #include "p60pdu_hk.h" +// #include "p60pdu_param.h" #endif diff --git a/mission/tmtc/CfdpTmFunnel.cpp b/mission/tmtc/CfdpTmFunnel.cpp index b5408a49..d4ea76ba 100644 --- a/mission/tmtc/CfdpTmFunnel.cpp +++ b/mission/tmtc/CfdpTmFunnel.cpp @@ -4,7 +4,8 @@ #include "fsfw/tmtcpacket/ccsds/SpacePacketCreator.h" #include "fsfw/tmtcservices/TmTcMessage.h" -CfdpTmFunnel::CfdpTmFunnel(TmFunnelBase::FunnelCfg cfg, std::optional fileStoreDest, +CfdpTmFunnel::CfdpTmFunnel(TmFunnelBase::FunnelCfg cfg, + std::optional fileStoreDest, StorageManagerIF& ramToFileStore, uint16_t cfdpInCcsdsApid) : TmFunnelBase(cfg), fileStoreDest(fileStoreDest), @@ -42,7 +43,8 @@ ReturnValue_t CfdpTmFunnel::performOperation(uint8_t) { } if (handledPackets > 0) { // Very useful for profiling and debugging - //sif::debug << "CfdpFunnel: Handled " << handledPackets << " packets in one cycle" << std::endl; + // sif::debug << "CfdpFunnel: Handled " << handledPackets << " packets in one cycle" << + // std::endl; } if (status == MessageQueueIF::EMPTY) { @@ -94,16 +96,16 @@ ReturnValue_t CfdpTmFunnel::handlePacket(TmTcMessage& msg) { msg.setStorageId(newStoreId); store_address_t origStoreId = newStoreId; - if(fileStoreDest.has_value()) { + if (fileStoreDest.has_value()) { store_address_t storageId; result = ramToFileStore.addData(&storageId, newPacketData, packetLen); TmTcMessage fileMsg(storageId); if (result == returnvalue::OK) { tmQueue->sendMessage(fileStoreDest.value(), &fileMsg); - } else if(result == StorageManagerIF::DATA_STORAGE_FULL) { - sif::error << "CfdpTmFunnel::handlePacket: RAM to File Store too full to create data copy" << std::endl; + } else if (result == StorageManagerIF::DATA_STORAGE_FULL) { + sif::error << "CfdpTmFunnel::handlePacket: RAM to File Store too full to create data copy" + << std::endl; } - } return demultiplexLivePackets(origStoreId, newPacketData, packetLen); } diff --git a/mission/tmtc/PersistentTmStore.cpp b/mission/tmtc/PersistentTmStore.cpp index 2f884dac..160348cd 100644 --- a/mission/tmtc/PersistentTmStore.cpp +++ b/mission/tmtc/PersistentTmStore.cpp @@ -320,6 +320,7 @@ ReturnValue_t PersistentTmStore::loadNextDumpFile() { } // File will change, reset this field for correct state-keeping. dumpParams.currentSameFileIdx = std::nullopt; + dumpParams.currentFileUnixStamp = dumpParams.dumpIter->epoch; // Increment iterator for next cycle. dumpParams.dumpIter++; }; diff --git a/mission/tmtc/PusLiveDemux.cpp b/mission/tmtc/PusLiveDemux.cpp index 23d20eff..e900c540 100644 --- a/mission/tmtc/PusLiveDemux.cpp +++ b/mission/tmtc/PusLiveDemux.cpp @@ -9,7 +9,8 @@ ReturnValue_t PusLiveDemux::demultiplexPackets(StorageManagerIF& tmStore, store_address_t origStoreId, const uint8_t* tmData, size_t tmSize) { ReturnValue_t result = returnvalue::OK; - // sif::debug << "tm size: " << tmSize << " for " << destinations.size() << " destinations" << std::endl; + // sif::debug << "tm size: " << tmSize << " for " << destinations.size() << " destinations" << + // std::endl; for (unsigned int idx = 0; idx < destinations.size(); idx++) { const auto& dest = destinations[idx]; if ((destinations.size() > 1) and (idx < (destinations.size() - 1))) { @@ -26,9 +27,9 @@ ReturnValue_t PusLiveDemux::demultiplexPackets(StorageManagerIF& tmStore, uint8_t written = 0; tmStore.getFillCount(fillCounts, &written); sif::error << "Fill counts: "; - for(uint8_t fillIdx = 0; fillIdx < written; fillIdx++) { + for (uint8_t fillIdx = 0; fillIdx < written; fillIdx++) { sif::error << fillCounts[fillIdx]; - if(fillIdx < written - 1) { + if (fillIdx < written - 1) { sif::error << ", "; } } diff --git a/tmtc b/tmtc index 649deac8..5fc3d8de 160000 --- a/tmtc +++ b/tmtc @@ -1 +1 @@ -Subproject commit 649deac81bbc59d70f0cd1f2e442f434d089bbef +Subproject commit 5fc3d8de996e5640adb7205cd3897d499eb3da60