Zephyr Project API 4.4.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
precision_clock.h File Reference

Protocol-neutral precision clock operations. More...

Go to the source code of this file.

Data Structures

struct  precision_clock_api
 Operations implemented by a precision clock adapter. More...
struct  precision_clock
 Protocol-neutral precision clock instance. More...

Macros

#define PRECISION_CLOCK_SCALED_PPM_SHIFT   16
 Number of fractional bits in a scaled parts-per-million rate adjustment.
#define PRECISION_CLOCK_SCALED_PPM_ONE   (INT64_C(1) << PRECISION_CLOCK_SCALED_PPM_SHIFT)
 One part per million in the scaled rate-adjustment representation.

Functions

int precision_clock_read (const struct precision_clock *precision_clk, precision_time_t *time_ns)
 Read a precision clock.
int precision_clock_set (const struct precision_clock *precision_clk, precision_time_t time_ns)
 Set a precision clock.
int precision_clock_adjust_phase (const struct precision_clock *precision_clk, precision_time_t phase_ns)
 Apply a phase adjustment to a precision clock.
int precision_clock_ppb_to_scaled_ppm (double ppb, int64_t *scaled_ppm)
 Convert parts per billion to scaled parts per million.
int precision_clock_adjust_rate (const struct precision_clock *precision_clk, int64_t scaled_ppm)
 Set the rate offset of a precision clock.

Detailed Description

Protocol-neutral precision clock operations.