25 virtual void pps_event(
46 enum class Edge {FALLING=0, RISING=1, BOTH=2};
71 inline void set_offset(s64 offset) { m_offset = offset; }
144 {
return m_freq_hz; }
ConfigBus core definitions.
Callback interface for cfg::PpsInput events.
Driver for the PPS output block (ptp_pps_out.vhd).
s64 get_offset() const
Query the phase-offset for this output.
void set_polarity(bool rising)
Set the rising- or falling-edge polarity of this output.
PpsOutput(satcat5::cfg::Register reg, bool rising=true)
Link this driver to the hardware control register.
void set_offset(s64 offset)
Adjust the phase-offset for this output.
bool get_polarity() const
Query the polarity of this output.
void timer_event() override
Child class MUST override this method.
Variant of PpsOutput with frequency-control enabled.
u32 get_frequency() const
Query the frequency for this output.
RefOutput(satcat5::cfg::Register reg_phase, satcat5::cfg::Register reg_period, bool rising=true)
Link this driver to the hardware control register.
void set_frequency(u32 freq_hz)
Adjust the frequency for this output.
Pointer-like wrapper for one or more ConfigBus registers.
Timer objects are polled after a fixed delay or at a regular interval.
High-precision timestamp for use with PTP / IEEE1588.
Core event-processing loop for SatCat5 software.
Define the API for generating ptp::Measurement events.
High-precision "Time" object for use with PTP / IEEE1588.