34 double ref_clk_hz,
unsigned scale=40)
35 : m_reg(reg), m_rate(ref_clk_hz, scale) {}
60 double ref_clk_hz,
unsigned scale=40)
61 : m_reg(reg), m_rate(ref_clk_hz, scale) {}
ConfigBus core definitions.
PTP reference with rate-control and coarse-adjust command.
void clock_set(const satcat5::ptp::Time &new_time)
Coarse adjustment of the current time.
satcat5::ptp::Time clock_adjust(const satcat5::ptp::Time &amount) override
Make a one-time adjustment of the specified magnitude.
constexpr PtpRealtime(const satcat5::cfg::Register ®, double ref_clk_hz, unsigned scale=40)
PtpRealtime uses a block of six control registers.
void clock_rate_raw(s64 rate)
Legacy API for rate-control without additional scaling.
satcat5::ptp::Time clock_ext()
Read timestamp of external rising-edge signal.
satcat5::ptp::Time clock_now() override
Return the current time if available, TIME_ZERO otherwise.
void clock_rate(s64 offset) override
Adjust rate by a normalized frequency offset.
PTP reference counter with rate-control only.
satcat5::ptp::Time clock_now() override
Return the current time if available, TIME_ZERO otherwise.
constexpr PtpReference(const satcat5::cfg::Register ®, double ref_clk_hz, unsigned scale=40)
PtpReference is a thin-wrapper for a single control register.
void clock_rate_raw(s64 rate)
Legacy API for rate-control without additional scaling.
satcat5::ptp::Time clock_adjust(const satcat5::ptp::Time &amount) override
Make a one-time adjustment of the specified magnitude.
void clock_rate(s64 offset) override
Adjust rate by a normalized frequency offset.
Pointer-like wrapper for one or more ConfigBus registers.
Convert normalized frequency offset to ticks-per-clock.
High-precision timestamp for use with PTP / IEEE1588.
Generic interface to a numerically-controlled reference clock.
Chainable filters for use with ptp::TrackingController.
Closed-loop time-tracking clocks and tracking control.