2020-09-16 19:36:15 +02:00
|
|
|
#ifndef FSFW_TIMEMANAGER_TIMESTAMPER_H_
|
|
|
|
#define FSFW_TIMEMANAGER_TIMESTAMPER_H_
|
|
|
|
|
2020-09-16 19:37:17 +02:00
|
|
|
#include "TimeStamperIF.h"
|
|
|
|
#include "CCSDSTime.h"
|
|
|
|
#include "../objectmanager/SystemObject.h"
|
2020-09-16 19:36:15 +02:00
|
|
|
|
|
|
|
/**
|
|
|
|
* @brief Time stamper which can be used to add any timestamp to a
|
|
|
|
* given buffer.
|
|
|
|
* @details
|
|
|
|
* This time stamper uses the CCSDS CDC short timestamp as a fault timestamp.
|
|
|
|
* This timestamp has a size of 8 bytes. A custom timestamp can be used by
|
|
|
|
* overriding the #addTimeStamp function.
|
|
|
|
* @ingroup utility
|
|
|
|
*/
|
|
|
|
class TimeStamper: public TimeStamperIF, public SystemObject {
|
|
|
|
public:
|
|
|
|
/**
|
|
|
|
* @brief Default constructor which also registers the time stamper as a
|
|
|
|
* system object so it can be found with the #objectManager.
|
|
|
|
* @param objectId
|
|
|
|
*/
|
|
|
|
TimeStamper(object_id_t objectId);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Adds a CCSDS CDC short 8 byte timestamp to the given buffer.
|
|
|
|
* This function can be overriden to use a custom timestamp.
|
|
|
|
* @param buffer
|
|
|
|
* @param maxSize
|
|
|
|
* @return
|
|
|
|
*/
|
|
|
|
virtual ReturnValue_t addTimeStamp(uint8_t* buffer, const uint8_t maxSize);
|
|
|
|
};
|
|
|
|
|
|
|
|
#endif /* FSFW_TIMEMANAGER_TIMESTAMPER_H_ */
|