fsfw/src/fsfw/timemanager/TimeStamper.cpp

24 lines
637 B
C++
Raw Normal View History

2021-07-13 20:58:45 +02:00
#include "fsfw/timemanager/TimeStamper.h"
2020-09-16 19:36:15 +02:00
#include <cstring>
2022-02-02 10:29:30 +01:00
#include "fsfw/timemanager/Clock.h"
2020-09-16 19:36:15 +02:00
2022-02-02 10:29:30 +01:00
TimeStamper::TimeStamper(object_id_t objectId) : SystemObject(objectId) {}
2020-09-16 19:36:15 +02:00
2022-02-02 10:29:30 +01:00
ReturnValue_t TimeStamper::addTimeStamp(uint8_t* buffer, const uint8_t maxSize) {
if (maxSize < TimeStamperIF::MISSION_TIMESTAMP_SIZE) {
return HasReturnvaluesIF::RETURN_FAILED;
}
2020-09-16 19:36:15 +02:00
2022-02-02 10:29:30 +01:00
timeval now;
Clock::getClock_timeval(&now);
CCSDSTime::CDS_short cds;
ReturnValue_t result = CCSDSTime::convertToCcsds(&cds, &now);
if (result != HasReturnvaluesIF::RETURN_OK) {
return result;
}
std::memcpy(buffer, &cds, sizeof(cds));
return result;
2020-09-16 19:36:15 +02:00
}