eive-obsw/mission/tmtc/VirtualChannel.cpp
Robin Mueller fb324516bb
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
this is insane
2023-03-27 21:23:09 +02:00

37 lines
1012 B
C++

#include "VirtualChannel.h"
VirtualChannel::VirtualChannel(object_id_t objectId, uint8_t vcId, const char* vcName, PtmeIF& ptme,
const std::atomic_bool& txOn)
: SystemObject(objectId),
ptme(ptme),
vcId(vcId),
vcName(vcName),
txOn(txOn) {}
ReturnValue_t VirtualChannel::initialize() { return returnvalue::OK; }
ReturnValue_t VirtualChannel::sendNextTm(const uint8_t* data, size_t size) {
return write(data, size);
}
ReturnValue_t VirtualChannel::write(const uint8_t* data, size_t size) {
//if (txOn) {
return ptme.writeToVc(vcId, data, size);
//}
//return returnvalue::OK;
}
uint8_t VirtualChannel::getVcid() const { return vcId; }
const char* VirtualChannel::getName() const { return vcName.c_str(); }
bool VirtualChannel::isBusy() const {
// Data is discarded, so channel is not busy.
//if (not txOn) {
// return false;
//}
return ptme.isBusy(vcId);
}
void VirtualChannel::cancelTransfer() { ptme.cancelTransfer(vcId); }