fsfw/timemanager/TimeStamperIF.h

30 lines
930 B
C
Raw Normal View History

2020-12-15 23:00:30 +01:00
#ifndef FSFW_TIMEMANAGER_TIMESTAMPERIF_H_
#define FSFW_TIMEMANAGER_TIMESTAMPERIF_H_
2021-04-12 23:55:33 +02:00
#include <FSFWConfig.h>
2020-08-13 20:53:35 +02:00
#include "../returnvalues/HasReturnvaluesIF.h"
/**
* A class implementing this IF provides facilities to add a time stamp to the
* buffer provided.
* Implementors need to ensure that calling the method is thread-safe, i.e.
* addTimeStamp may be called in parallel from a different context.
*/
class TimeStamperIF {
public:
static const uint8_t INTERFACE_ID = CLASS_ID::TIME_STAMPER_IF;
static const ReturnValue_t BAD_TIMESTAMP = MAKE_RETURN_CODE(1);
2020-10-28 02:20:12 +01:00
//! This is a mission-specific constant and determines the total
//! size reserved for timestamps.
2021-04-12 23:55:33 +02:00
static const uint8_t MISSION_TIMESTAMP_SIZE = fsfwconfig::FSFW_MISSION_TIMESTAMP_SIZE;
2020-10-28 02:20:12 +01:00
virtual ReturnValue_t addTimeStamp(uint8_t* buffer,
const uint8_t maxSize) = 0;
virtual ~TimeStamperIF() {}
};
2020-12-15 23:00:30 +01:00
#endif /* FSFW_TIMEMANAGER_TIMESTAMPERIF_H_ */