diff --git a/src/fsfw/pus/Service9TimeManagement.cpp b/src/fsfw/pus/Service9TimeManagement.cpp index 8804fa25..5d8462c6 100644 --- a/src/fsfw/pus/Service9TimeManagement.cpp +++ b/src/fsfw/pus/Service9TimeManagement.cpp @@ -27,9 +27,7 @@ ReturnValue_t Service9TimeManagement::handleRequest(uint8_t subservice) { if (result != returnvalue::OK) { return result; } - uint32_t subsecondMs = - static_cast(std::floor(static_cast(newTime.tv_usec) / 1000.0)); - triggerEvent(CLOCK_DUMP, newTime.tv_sec, subsecondMs); + triggerEvent(CLOCK_DUMP, newTime.tv_sec, newTime.tv_usec); return returnvalue::OK; } case Subservice::RELATIVE_TIMESHIFT: { @@ -63,7 +61,12 @@ ReturnValue_t Service9TimeManagement::handleRequest(uint8_t subservice) { } else { newTime = currentTime - offset; } - return Clock::setClock(&newTime); + result = Clock::setClock(&newTime); + if (result == returnvalue::OK) { + // Report new time as event. + triggerEvent(CLOCK_DUMP, newTime.tv_sec, newTime.tv_usec); + } + return result; } default: return AcceptsTelecommandsIF::INVALID_SUBSERVICE;