GCC Code Coverage Report


Directory: /home/runner/work/fprime/fprime/Svc/ChronoTime/
File: ChronoTime.cpp
Date: 2026-09-03 22:13:30
Exec Total Coverage
Lines: 0 8 0.0%
Functions: 0 3 0.0%
Branches: 0 4 0.0%

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