| Line | Branch | Exec | Source |
|---|---|---|---|
| 1 | // ====================================================================== | ||
| 2 | // \title ChronoTime.cpp | ||
| 3 | // \author mstarch | ||
| 4 | // \brief cpp file for ChronoTime component implementation class | ||
| 5 | // ====================================================================== | ||
| 6 | |||
| 7 | #include "Svc/ChronoTime/ChronoTime.hpp" | ||
| 8 | #include <chrono> | ||
| 9 | #include "Fw/FPrimeBasicTypes.hpp" | ||
| 10 | |||
| 11 | namespace Svc { | ||
| 12 | |||
| 13 | // ---------------------------------------------------------------------- | ||
| 14 | // Component construction and destruction | ||
| 15 | // ---------------------------------------------------------------------- | ||
| 16 | |||
| 17 | ✗ | ChronoTime ::ChronoTime(const char* const compName) : ChronoTimeComponentBase(compName) {} | |
| 18 | |||
| 19 | ✗ | ChronoTime ::~ChronoTime() {} | |
| 20 | |||
| 21 | // ---------------------------------------------------------------------- | ||
| 22 | // Handler implementations for user-defined typed input ports | ||
| 23 | // ---------------------------------------------------------------------- | ||
| 24 | |||
| 25 | ✗ | void ChronoTime ::timeGetPort_handler(FwIndexType portNum, Fw::Time& time) { | |
| 26 | ✗ | const auto time_now = std::chrono::system_clock::now(); | |
| 27 | ✗ | time.set(TimeBase::TB_WORKSTATION_TIME, | |
| 28 | ✗ | static_cast<U32>(std::chrono::duration_cast<std::chrono::seconds>(time_now.time_since_epoch()).count()), | |
| 29 | static_cast<U32>( | ||
| 30 | ✗ | std::chrono::duration_cast<std::chrono::microseconds>(time_now.time_since_epoch()).count() % 1000000)); | |
| 31 | ✗ | } | |
| 32 | |||
| 33 | } // namespace Svc | ||
| 34 |