45 lines
1.8 KiB
C++
45 lines
1.8 KiB
C++
#include "fsfw/tmtcservices/VerificationReporter.h"
|
|
|
|
#include "fsfw/serviceinterface/ServiceInterface.h"
|
|
#include "fsfw/tmtcservices/PusVerificationReport.h"
|
|
|
|
VerificationReporter::VerificationReporter(AcceptsVerifyMessageIF* receiver, object_id_t objectId)
|
|
: SystemObject(objectId) {
|
|
if (receiver != nullptr) {
|
|
acknowledgeQueue = receiver->getVerificationQueue();
|
|
}
|
|
}
|
|
|
|
VerificationReporter::~VerificationReporter() = default;
|
|
|
|
void VerificationReporter::setReceiver(AcceptsVerifyMessageIF& receiver) {
|
|
acknowledgeQueue = receiver.getVerificationQueue();
|
|
}
|
|
|
|
ReturnValue_t VerificationReporter::sendFailureReport(VerifFailureParams params) {
|
|
PusVerificationMessage message(params.reportId, params.ackFlags, params.tcPacketId, params.tcPsc,
|
|
params.errorCode, params.step, params.errorParam1,
|
|
params.errorParam2);
|
|
ReturnValue_t status = MessageQueueSenderIF::sendMessage(acknowledgeQueue, &message);
|
|
if (status != HasReturnvaluesIF::RETURN_OK) {
|
|
#if FSFW_CPP_OSTREAM_ENABLED == 1
|
|
sif::error << "VerificationReporter::sendSuccessReport: Error writing "
|
|
<< "to queue. Code: " << std::hex << status << std::dec << std::endl;
|
|
#endif
|
|
}
|
|
return status;
|
|
}
|
|
|
|
ReturnValue_t VerificationReporter::sendSuccessReport(VerifSuccessParams params) {
|
|
PusVerificationMessage message(params.reportId, params.ackFlags, params.tcPacketId, params.tcPsc,
|
|
retval::OK, params.step);
|
|
ReturnValue_t status = MessageQueueSenderIF::sendMessage(acknowledgeQueue, &message);
|
|
if (status != HasReturnvaluesIF::RETURN_OK) {
|
|
#if FSFW_CPP_OSTREAM_ENABLED == 1
|
|
sif::error << "VerificationReporter::sendSuccessReport: Error writing "
|
|
<< "to queue. Code: " << std::hex << status << std::dec << std::endl;
|
|
#endif
|
|
}
|
|
return status;
|
|
}
|