lot of debugging and trying out
All checks were successful
EIVE/eive-obsw/pipeline/pr-main This commit looks good
EIVE/eive-obsw/pipeline/head This commit looks good

This commit is contained in:
2023-10-13 11:42:13 +02:00
parent 9f600a24ff
commit 5bcd171108
4 changed files with 20 additions and 8 deletions

View File

@ -10,6 +10,8 @@
#include <mission/com/VirtualChannelWithQueue.h>
#include <mission/tmtc/CfdpTmFunnel.h>
#include <mission/tmtc/PusTmFunnel.h>
#include <cstdint>
#include "eive/definitions.h"
class LiveTmTask : public SystemObject,
public HasModesIF,
@ -35,13 +37,14 @@ class LiveTmTask : public SystemObject,
ModeHelper modeHelper;
Mode_t mode = HasModesIF::MODE_OFF;
Countdown tmFunnelCd = Countdown(100);
uint32_t consecutiveNoBlockWriteCounter = 0;
PusTmFunnel& pusFunnel;
CfdpTmFunnel& cfdpFunnel;
VirtualChannel& channel;
const std::atomic_bool& ptmeLocked;
// This countdown ensures that the CFDP is always throttled with a minimum period. Only after
// this period, the CFDP can be released if the channel is not busy.
Countdown minimumPeriodThrottleCd = Countdown(40);
Countdown minimumPeriodThrottleCd = Countdown(config::CFDP_THROTTLE_PERIOD_MS);
bool throttlePeriodOngoing = false;
void readCommandQueue(void);