#ifndef FSFW_TIMEMANAGER_TIMESTAMPER_H_ #define FSFW_TIMEMANAGER_TIMESTAMPER_H_ #include "TimeStamperIF.h" #include "CCSDSTime.h" #include "../objectmanager/SystemObject.h" /** * @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_ */