tweak scheduling frequencies #471

Merged
muellerr merged 10 commits from feature_scheduling_tweaks into develop 2023-03-15 16:28:37 +01:00
6 changed files with 29 additions and 10 deletions
Showing only changes of commit 8dd22b6ea0 - Show all commits

View File

@ -16,6 +16,15 @@ will consitute of a breaking change warranting a new major release:
# [unreleased] # [unreleased]
## Changed
- Telemetry relevant datasets for the RWs are now set invalid and partially reset on shotdown.
# [v1.37.2] 2023-03-14
- Changed `PoolManager` bugfix implementation in the FSFW.
- Some tweaks for IPC and TM store configuration
# [v1.37.1] 2023-03-14 # [v1.37.1] 2023-03-14
This version works on the EM as well. This version works on the EM as well.

View File

@ -11,7 +11,7 @@ cmake_minimum_required(VERSION 3.13)
set(OBSW_VERSION_MAJOR 1) set(OBSW_VERSION_MAJOR 1)
set(OBSW_VERSION_MINOR 37) set(OBSW_VERSION_MINOR 37)
set(OBSW_VERSION_REVISION 1) set(OBSW_VERSION_REVISION 2)
# set(CMAKE_VERBOSE TRUE) # set(CMAKE_VERBOSE TRUE)

2
fsfw

@ -1 +1 @@
Subproject commit 5250423d1d61c318110d4e111e141d5863546149 Subproject commit cf27954a867a1c16b4e5b0fe72cd79df946ff903

View File

@ -108,23 +108,23 @@ void ObjectFactory::produceGenericObjects(HealthTableIF** healthTable_, PusTmFun
{ {
PoolManager::LocalPoolConfig poolCfg = {{250, 16}, {250, 32}, {250, 64}, PoolManager::LocalPoolConfig poolCfg = {{250, 16}, {250, 32}, {250, 64},
{150, 128}, {120, 1024}, {120, 2048}}; {150, 128}, {120, 1024}, {120, 2048}};
tcStore = new PoolManager(objects::TC_STORE, poolCfg, true); tcStore = new PoolManager(objects::TC_STORE, poolCfg);
} }
{ {
PoolManager::LocalPoolConfig poolCfg = {{600, 32}, {400, 64}, {400, 128}, {300, 512}, PoolManager::LocalPoolConfig poolCfg = {{600, 32}, {400, 64}, {400, 128}, {300, 512},
{150, 1024}, {150, 1024}, {150, 2048}}; {250, 1024}, {150, 2048}};
*tmStore = new PoolManager(objects::TM_STORE, poolCfg, true); *tmStore = new PoolManager(objects::TM_STORE, poolCfg);
} }
{ {
PoolManager::LocalPoolConfig poolCfg = {{300, 16}, {200, 32}, {150, 64}, {150, 128}, PoolManager::LocalPoolConfig poolCfg = {{300, 16}, {250, 32}, {150, 64}, {150, 128},
{100, 256}, {50, 512}, {50, 1024}, {10, 2048}}; {100, 256}, {50, 512}, {50, 1024}, {10, 2048}};
*ipcStore = new PoolManager(objects::IPC_STORE, poolCfg, true); *ipcStore = new PoolManager(objects::IPC_STORE, poolCfg);
} }
PoolManager::LocalPoolConfig poolCfg = {{300, 32}, {400, 64}, {250, 128}, PoolManager::LocalPoolConfig poolCfg = {{300, 32}, {400, 64}, {250, 128},
{150, 512}, {150, 1024}, {150, 2048}}; {150, 512}, {150, 1024}, {150, 2048}};
auto* ramToFileStore = new PoolManager(objects::DOWNLINK_RAM_STORE, poolCfg, true); auto* ramToFileStore = new PoolManager(objects::DOWNLINK_RAM_STORE, poolCfg);
#if OBSW_ADD_TCPIP_SERVERS == 1 #if OBSW_ADD_TCPIP_SERVERS == 1
#if OBSW_ADD_TMTC_UDP_SERVER == 1 #if OBSW_ADD_TMTC_UDP_SERVER == 1

View File

@ -24,7 +24,6 @@ RwHandler::RwHandler(object_id_t objectId, object_id_t comIF, CookieIF* comCooki
sif::error << "RwHandler: Invalid gpio communication interface" << std::endl; sif::error << "RwHandler: Invalid gpio communication interface" << std::endl;
} }
} }
RwHandler::~RwHandler() {} RwHandler::~RwHandler() {}
void RwHandler::doStartUp() { void RwHandler::doStartUp() {
@ -43,6 +42,17 @@ void RwHandler::doShutDown() {
} }
internalState = InternalState::DEFAULT; internalState = InternalState::DEFAULT;
updatePeriodicReply(false, rws::REPLY_ID); updatePeriodicReply(false, rws::REPLY_ID);
{
PoolReadGuard pg(&statusSet);
statusSet.currSpeed = 0.0;
statusSet.referenceSpeed = 0.0;
statusSet.state = 0;
statusSet.setValidity(false, true);
}
{
PoolReadGuard pg(&tmDataset);
tmDataset.setValidity(false, true);
}
// The power switch is handled by the assembly, so we can go off here directly. // The power switch is handled by the assembly, so we can go off here directly.
setMode(MODE_OFF); setMode(MODE_OFF);
} }

View File

@ -33,7 +33,7 @@ void factory(void* args) {
{ {
PoolManager::LocalPoolConfig poolCfg = {{300, 16}, {200, 32}, {150, 64}, {150, 128}, PoolManager::LocalPoolConfig poolCfg = {{300, 16}, {200, 32}, {150, 64}, {150, 128},
{100, 256}, {50, 512}, {50, 1024}, {10, 2048}}; {100, 256}, {50, 512}, {50, 1024}, {10, 2048}};
new PoolManager(objects::IPC_STORE, poolCfg, true); new PoolManager(objects::IPC_STORE, poolCfg);
} }
} }