Update PTME code #635

Merged
meggert merged 20 commits from update-ptme-code-2 into v4.0.0-dev 2023-05-31 15:23:15 +02:00
2 changed files with 4 additions and 7 deletions
Showing only changes of commit 7222475985 - Show all commits

View File

@ -55,6 +55,9 @@ TODO: New firmware package version.
- Disable missed deadlines per default. Not useful in orbit, and triggers all the time on the EM
build after a number of subsequent runs, without any apparent reason (deadlines are not actually
missed, thread usage displayed is nominal)
- TM store dumpes will not be cancelled anymore if the transmitter is off. The dump can be cancelled
with an OFF command, and the PTME is perfectly capable of dumping without the transmitter being
on.
## Added

View File

@ -39,6 +39,7 @@ bool TmStoreTaskBase::handleOneStore(PersistentTmStoreWithTmQueue& store,
}
// Dump TMs
if (store.getState() == PersistentTmStore::State::DUMPING) {
sif::debug << "handling dump" << std::endl;
if (handleOneDump(store, dumpContext, dumpPerformed) != returnvalue::OK) {
return result;
}
@ -94,13 +95,6 @@ void TmStoreTaskBase::cancelDump(DumpContext& ctx, PersistentTmStore& store, boo
ReturnValue_t TmStoreTaskBase::handleOneDump(PersistentTmStoreWithTmQueue& store,
DumpContext& dumpContext, bool& dumpPerformed) {
ReturnValue_t result = returnvalue::OK;
// The PTME might have been reset an transmitter state change, so there is no point in continuing
// the dump.
// TODO: Will be solved in a cleaner way, this is kind of a hack.
if (not channel.isTxOn()) {
cancelDump(dumpContext, store, false);
return returnvalue::FAILED;
}
// It is assumed that the PTME will only be locked for a short period (e.g. to change datarate).
if (not channel.isBusy() and not ptmeLocked) {
performDump(store, dumpContext, dumpPerformed);