1#ifndef FSW_MONOTONIC_TIME_HPP
2#define FSW_MONOTONIC_TIME_HPP
30 return static_cast<uint64_t
>(std::chrono::duration_cast<std::chrono::nanoseconds>(
31 std::chrono::steady_clock::now().time_since_epoch())
39 return static_cast<uint64_t
>(std::chrono::duration_cast<std::chrono::microseconds>(
40 std::chrono::steady_clock::now().time_since_epoch())
48 return static_cast<uint64_t
>(std::chrono::duration_cast<std::chrono::milliseconds>(
49 std::chrono::steady_clock::now().time_since_epoch())
57 return std::chrono::steady_clock::now();
63inline uint64_t
to_ns(std::chrono::steady_clock::time_point tp) {
64 return static_cast<uint64_t
>(
65 std::chrono::duration_cast<std::chrono::nanoseconds>(tp.time_since_epoch()).count());
72 std::chrono::steady_clock::time_point
end) {
73 return static_cast<uint64_t
>(
74 std::chrono::duration_cast<std::chrono::nanoseconds>(
end -
start).count());
static void start(gnss_frame_parser_t *p, uint8_t byte)
*brief create JSON pointer *sa reference_tokens end()
uint64_t to_ns(std::chrono::steady_clock::time_point tp)
Convert steady_clock time_point to nanoseconds since boot.
uint64_t elapsed_ns(std::chrono::steady_clock::time_point start, std::chrono::steady_clock::time_point end)
Compute elapsed nanoseconds between two time points.
uint64_t monotonic_ns()
Get current monotonic time in nanoseconds since boot.
uint64_t monotonic_ms()
Get current monotonic time in milliseconds since boot.
std::chrono::steady_clock::time_point monotonic_now()
Get current monotonic time as a steady_clock time_point.
uint64_t monotonic_us()
Get current monotonic time in microseconds since boot.
Motorized ball valve position: raw ADC counts -> % open.