diff --git a/CHANGELOG.md b/CHANGELOG.md index 5d6cd1b0..bb4ee961 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -34,6 +34,8 @@ will consitute of a breaking change warranting a new major release: - `FusedRotationRate` now only uses rotation rate from QUEST and STR in higher modes - QUEST and STR rates are now allowed per default - Changed PTG Strat priorities to favor STR before MEKF. +- Increased message queue depth and maximum number of handled messages per cycle for + `PusServiceBase` based classes (especially PUS scheduler). - `MathOperations` functions were moved to their appropriate classes within the `eive-fsfw` - Changed pointing strategy for target groundstation mode to prevent blinding of the STR. This also limits the rotation for the reference target quaternion to prevent spikes in required diff --git a/mission/genericFactory.cpp b/mission/genericFactory.cpp index 47cb1a5f..daaf59cc 100644 --- a/mission/genericFactory.cpp +++ b/mission/genericFactory.cpp @@ -250,20 +250,30 @@ void ObjectFactory::produceGenericObjects(HealthTableIF** healthTable_, PusTmFun pus::PUS_SERVICE_2, 3, 10); new Service3Housekeeping(objects::PUS_SERVICE_3_HOUSEKEEPING, config::EIVE_PUS_APID, pus::PUS_SERVICE_3, config::HK_SERVICE_QUEUE_DEPTH, 16); - new Service5EventReporting( - PsbParams(objects::PUS_SERVICE_5_EVENT_REPORTING, config::EIVE_PUS_APID, pus::PUS_SERVICE_5), - 80, 160); + + auto psbParamsService5 = + PsbParams(objects::PUS_SERVICE_5_EVENT_REPORTING, config::EIVE_PUS_APID, pus::PUS_SERVICE_5); + psbParamsService5.requestQueueDepth = 50; + psbParamsService5.maxPacketsPerCycle = 50; + new Service5EventReporting(psbParamsService5, 80, 160); new Service8FunctionManagement(objects::PUS_SERVICE_8_FUNCTION_MGMT, config::EIVE_PUS_APID, pus::PUS_SERVICE_8, config::ACTION_SERVICE_QUEUE_DEPTH, 16, 60); new Service9TimeManagement( PsbParams(objects::PUS_SERVICE_9_TIME_MGMT, config::EIVE_PUS_APID, pus::PUS_SERVICE_9)); - new Service11TelecommandScheduling( - PsbParams(objects::PUS_SERVICE_11_TC_SCHEDULER, config::EIVE_PUS_APID, pus::PUS_SERVICE_11), - ccsdsDistrib); + auto psbParamsService11 = + PsbParams(objects::PUS_SERVICE_11_TC_SCHEDULER, config::EIVE_PUS_APID, pus::PUS_SERVICE_11); + psbParamsService11.requestQueueDepth = 100; + psbParamsService11.maxPacketsPerCycle = 100; + new Service11TelecommandScheduling(psbParamsService11, + ccsdsDistrib); + new Service15TmStorage(objects::PUS_SERVICE_15_TM_STORAGE, config::EIVE_PUS_APID, 10); - new Service17Test( - PsbParams(objects::PUS_SERVICE_17_TEST, config::EIVE_PUS_APID, pus::PUS_SERVICE_17)); + auto psbParamsService17 = + PsbParams(objects::PUS_SERVICE_17_TEST, config::EIVE_PUS_APID, pus::PUS_SERVICE_17); + psbParamsService17.requestQueueDepth = 50; + psbParamsService17.maxPacketsPerCycle = 50; + new Service17Test(psbParamsService17); new Service20ParameterManagement(objects::PUS_SERVICE_20_PARAMETERS, config::EIVE_PUS_APID, pus::PUS_SERVICE_20); new CService200ModeCommanding(objects::PUS_SERVICE_200_MODE_MGMT, config::EIVE_PUS_APID,