2022-07-20 22:21:15 +02:00
|
|
|
#include "TmSendHelper.h"
|
|
|
|
|
|
|
|
#include "fsfw/ipc/MessageQueueSenderIF.h"
|
|
|
|
|
2022-07-25 14:04:06 +02:00
|
|
|
TmSendHelper::TmSendHelper(MessageQueueIF* queue, MessageQueueId_t tmtcMsgDest,
|
2022-07-20 22:21:15 +02:00
|
|
|
InternalErrorReporterIF *reporter)
|
2022-07-25 14:04:06 +02:00
|
|
|
: tmtcMsgDest(tmtcMsgDest), queue(queue), errReporter(reporter) {}
|
|
|
|
|
|
|
|
TmSendHelper::TmSendHelper(MessageQueueIF *queue, InternalErrorReporterIF *reporter)
|
|
|
|
: queue(queue), errReporter(reporter) {}
|
2022-07-20 22:21:15 +02:00
|
|
|
|
|
|
|
TmSendHelper::TmSendHelper(InternalErrorReporterIF *reporter) : errReporter(reporter) {}
|
|
|
|
|
|
|
|
ReturnValue_t TmSendHelper::sendPacket(const store_address_t &storeId) {
|
2022-07-25 14:04:06 +02:00
|
|
|
if(queue == nullptr) {
|
|
|
|
return HasReturnvaluesIF::RETURN_FAILED;
|
|
|
|
}
|
2022-07-20 22:21:15 +02:00
|
|
|
TmTcMessage message(storeId);
|
2022-07-25 14:04:06 +02:00
|
|
|
ReturnValue_t result = queue->sendMessage(tmtcMsgDest, &message, ignoreFault);
|
2022-07-20 22:21:15 +02:00
|
|
|
if (result != HasReturnvaluesIF::RETURN_OK) {
|
|
|
|
if (errReporter != nullptr) {
|
|
|
|
errReporter->lostTm();
|
|
|
|
}
|
|
|
|
return result;
|
|
|
|
}
|
|
|
|
return HasReturnvaluesIF::RETURN_OK;
|
|
|
|
}
|
|
|
|
|
|
|
|
void TmSendHelper::setMsgDestination(MessageQueueId_t msgDest) { tmtcMsgDest = msgDest; }
|
|
|
|
|
|
|
|
void TmSendHelper::setInternalErrorReporter(InternalErrorReporterIF *reporter) {
|
|
|
|
errReporter = reporter;
|
|
|
|
}
|
2022-07-25 14:04:06 +02:00
|
|
|
void TmSendHelper::setMsgQueue(MessageQueueIF *queue_) { queue = queue_; }
|