F´ Flight Software - C/C++ Documentation NASA-v1.6.0
A framework for building embedded system applications to NASA flight quality standards.
Loading...
Searching...
No Matches
IntervalTimer.cpp
Go to the documentation of this file.
1
14#include <Os/IntervalTimer.hpp>
15#include <Fw/Types/Assert.hpp>
16#include <cstring>
17
18namespace Os {
19
20 // Adapted from: http://www.gnu.org/software/libc/manual/html_node/Elapsed-Time.html
21 // should be t1In - t2In
22 U32 IntervalTimer::getDiffUsec(const RawTime& t1In, const RawTime& t2In) {
23 RawTime result = {t1In.upper - t2In.upper, 0};
24 if (t1In.lower < t2In.lower) {
25 result.upper -= 1; // subtract nsec carry to seconds
26 result.lower = t1In.lower + (1000000000 - t2In.lower);
27 } else {
28 result.lower = t1In.lower - t2In.lower;
29 }
30 return (result.upper * 1000000) + (result.lower / 1000);
31 }
32}
Definition File.cpp:6