51 lines
1.7 KiB
C
51 lines
1.7 KiB
C
|
#ifndef FSFW_TMTCSERVICES_VERIFICATIONREPORTER_H_
|
||
|
#define FSFW_TMTCSERVICES_VERIFICATIONREPORTER_H_
|
||
|
|
||
|
#include "PusVerificationReport.h"
|
||
|
#include "../objectmanager/ObjectManagerIF.h"
|
||
|
|
||
|
namespace Factory{
|
||
|
void setStaticFrameworkObjectIds();
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @brief This helper object is used to forward verification messages
|
||
|
* which are generated by the Flight Software Framework.
|
||
|
* @details
|
||
|
* The messages can be relayed to an arbitrary object, for example a dedicated
|
||
|
* Verification Reporter. The destination is set by setting the static framework
|
||
|
* Id VerificationReporter::messageReceiver. The default verification reporter
|
||
|
* will be the PUS service 1, which sends verification messages according
|
||
|
* to the PUS standard.
|
||
|
*
|
||
|
*/
|
||
|
class VerificationReporter {
|
||
|
friend void (Factory::setStaticFrameworkObjectIds)();
|
||
|
public:
|
||
|
VerificationReporter();
|
||
|
virtual ~VerificationReporter();
|
||
|
|
||
|
void sendSuccessReport( uint8_t set_report_id, TcPacketBase* current_packet,
|
||
|
uint8_t set_step = 0 );
|
||
|
void sendSuccessReport(uint8_t set_report_id, uint8_t ackFlags,
|
||
|
uint16_t tcPacketId, uint16_t tcSequenceControl,
|
||
|
uint8_t set_step = 0);
|
||
|
|
||
|
void sendFailureReport( uint8_t report_id, TcPacketBase* current_packet,
|
||
|
ReturnValue_t error_code = 0,
|
||
|
uint8_t step = 0, uint32_t parameter1 = 0,
|
||
|
uint32_t parameter2 = 0 );
|
||
|
void sendFailureReport(uint8_t report_id,
|
||
|
uint8_t ackFlags, uint16_t tcPacketId, uint16_t tcSequenceControl,
|
||
|
ReturnValue_t error_code = 0, uint8_t step = 0,
|
||
|
uint32_t parameter1 = 0, uint32_t parameter2 = 0);
|
||
|
|
||
|
void initialize();
|
||
|
|
||
|
private:
|
||
|
static object_id_t messageReceiver;
|
||
|
MessageQueueId_t acknowledgeQueue;
|
||
|
};
|
||
|
|
||
|
#endif /* FSFW_TMTCSERVICES_VERIFICATIONREPORTER_H_ */
|