49 {
return m_predict.
predict(0); }
Limited read of next N bytes.
Abstract API for writing byte-streams and packets.
Amplitude-based outlier rejection.
Client for the IEEE 1588-2019 Precision Time Protocol (PTP)
Loop-filter for a proportional-integral (PI) controller.
Streamlined variant of ptp::DopplerTlv, with a built-in filter chain that is adequate for most PTP ap...
TlvHandler for experimental Doppler-TLV tags.
void add_filter(satcat5::ptp::Filter *filter)
Add to the chain of processing filters.
s64 get_acceleration() const
Measured acceleration (subns/sec^2).
s64 get_velocity() const
Measured velocity (subns/sec).
bool get_tcomp_en() const
Is timestamp compensation currently enabled?
bool tlv_rcvd(const satcat5::ptp::Header &hdr, const satcat5::ptp::TlvHeader &tlv, satcat5::io::LimitedRead &rd) override
Child class SHOULD override this method to read incoming TLV(s).
void set_tcomp_en(bool enable)
Enable or disable timestamp compensation.
DopplerTlv(satcat5::ptp::Client *client)
Link this instance to a specific PTP client.
void tlv_meas(satcat5::ptp::Measurement &meas) override
Child class MAY override this method to read or modify each complete two-way handshake event.
unsigned tlv_send(const satcat5::ptp::Header &hdr, satcat5::io::Writeable *wr) override
Child class SHOULD override this method to append outgoing TLV(s).
Define the basic chain-of-filters API.
An inline filter that iteratively estimates linear trends.
s64 predict(u32 elapsed_usec) const
Extrapolate trendline relative to most recent update() event.
void add_filter(satcat5::ptp::Filter *filter)
Add to the chain of processing filters.
Users should derive custom TLV objects from this base class.
Chainable filters for use with ptp::TrackingController.
TLV metadata for the IEEE 1588-2019 Precision Time Protocol (PTP).
Timestamps and metadata for a two-way time-transfer handshake.
Timestamp for measuring elapsed time.
TimeRef and TimeVal define the API for monotonic timers.