Merge branch 'v2.1.0-dev' into tm-store-task-base-bugfix
All checks were successful
EIVE/eive-obsw/pipeline/pr-v2.1.0-dev This commit looks good
All checks were successful
EIVE/eive-obsw/pipeline/pr-v2.1.0-dev This commit looks good
This commit is contained in:
commit
a38f5c78ae
@ -43,6 +43,12 @@ will consitute of a breaking change warranting a new major release:
|
|||||||
- Disable missed deadlines per default. Not useful in orbit, and triggers all the time on the EM
|
- 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
|
build after a number of subsequent runs, without any apparent reason (deadlines are not actually
|
||||||
missed, thread usage displayed is nominal)
|
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.
|
||||||
|
- Transmitter state is not taken into account anymore for writing into the PTME. The PTME should
|
||||||
|
be perfectly capable of generating a valid CADU, even when the transmitter is not ON for any
|
||||||
|
reason.
|
||||||
|
|
||||||
## Added
|
## Added
|
||||||
|
|
||||||
|
@ -94,13 +94,6 @@ void TmStoreTaskBase::cancelDump(DumpContext& ctx, PersistentTmStore& store, boo
|
|||||||
ReturnValue_t TmStoreTaskBase::handleOneDump(PersistentTmStoreWithTmQueue& store,
|
ReturnValue_t TmStoreTaskBase::handleOneDump(PersistentTmStoreWithTmQueue& store,
|
||||||
DumpContext& dumpContext, bool& dumpPerformed) {
|
DumpContext& dumpContext, bool& dumpPerformed) {
|
||||||
ReturnValue_t result = returnvalue::OK;
|
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).
|
// 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) {
|
if (not channel.isBusy() and not ptmeLocked) {
|
||||||
performDump(store, dumpContext, dumpPerformed);
|
performDump(store, dumpContext, dumpPerformed);
|
||||||
|
@ -11,10 +11,7 @@ ReturnValue_t VirtualChannel::sendNextTm(const uint8_t* data, size_t size) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
ReturnValue_t VirtualChannel::write(const uint8_t* data, size_t size) {
|
ReturnValue_t VirtualChannel::write(const uint8_t* data, size_t size) {
|
||||||
if (txOn) {
|
return ptme.writeToVc(vcId, data, size);
|
||||||
return ptme.writeToVc(vcId, data, size);
|
|
||||||
}
|
|
||||||
return returnvalue::OK;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
uint8_t VirtualChannel::getVcid() const { return vcId; }
|
uint8_t VirtualChannel::getVcid() const { return vcId; }
|
||||||
@ -22,10 +19,6 @@ uint8_t VirtualChannel::getVcid() const { return vcId; }
|
|||||||
const char* VirtualChannel::getName() const { return vcName.c_str(); }
|
const char* VirtualChannel::getName() const { return vcName.c_str(); }
|
||||||
|
|
||||||
bool VirtualChannel::isBusy() const {
|
bool VirtualChannel::isBusy() const {
|
||||||
// Data is discarded, so channel is not busy.
|
|
||||||
if (not txOn) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
return ptme.isBusy(vcId);
|
return ptme.isBusy(vcId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user