|
RTC Toolkit 5.1.0
|
Interface for correlator implemementations that takes new data samples from DDS and performs correlation on them. More...
#include <rtctk/telSub/correlatorIf.hpp>
Public Member Functions | |
| virtual | ~CorrelatorIf () |
| virtual std::optional< std::uint32_t > | GetLastSampleId () const RTCTK_NOEXCEPT=0 |
| virtual std::optional< CorrelationError > | Poll (std::chrono::milliseconds timeout, const DataSamplesView *&view) RTCTK_NOEXCEPT=0 |
| Perform correlation on existing or newly taken data samples. | |
| virtual void | Reset () RTCTK_NOEXCEPT=0 |
| Resets internal state. | |
| virtual void | CheckDdsConnections ()=0 |
Interface for correlator implemementations that takes new data samples from DDS and performs correlation on them.
|
inlinevirtual |
Implemented in rtctk::telSub::Correlator.
|
pure virtual |
Implemented in rtctk::telSub::Correlator.
|
pure virtual |
Perform correlation on existing or newly taken data samples.
Each time this method is invoked successfully the view is pointing to the next correlated set of samples.
If correlation fails due to the received samples is wrong (unexpected sample id) a side effect of this is that samples will be returned and Poll() will continue failing until Reset() is invoked to restart correlation.
| [in] | timeout | Amount of time to for new data if there is none. |
| [out] | view | Reference to pointer that will be set. This pointer remains valid until next call to Poll() or Reset(). |
std::errc::protocol_error if correlation fails because received samples are out of sequence. std::errc::timed_out if no new samples were received within the specified timeout. error_code from DDS. Implemented in rtctk::telSub::Correlator.
Resets internal state.
This is used to recover from correlation errors encountered in Poll().
It does not remove any samples taken with previous calls to Poll(). This means that if Reset() is invoked after a successful call to Poll() the same correlation will be performed again.
GetLastSampleId() == std::nullopt. Implemented in rtctk::telSub::Correlator.