1#include <vanetza/common/position_provider.hpp>
2#include <vanetza/common/runtime.hpp>
3#include <vanetza/geonet/position_updater.hpp>
4#include <vanetza/geonet/router.hpp>
5#include <vanetza/units/time.hpp>
14 m_runtime(rt), m_positioning(position), m_router(router)
16 update_rate(m_router
.get_mib().itsGnMinimumUpdateFrequencyEPV);
26 if (m_interval > Clock::duration::zero()) {
27 m_runtime.schedule(m_interval, [
this](
Clock::time_point) {
36 m_interval = interval;
43 if (rate > units::Frequency::from_value(0.0)) {
44 using namespace std::chrono;
45 const duration<
double> interval { 1.0 / rate / units::si::second };
46 update_rate(duration_cast<
Clock::duration>(interval));
48 update_rate(Clock::duration::zero());
virtual const PositionFix & position_fix()=0
virtual void cancel(const void *scope)=0
void update_rate(Clock::duration interval)
PositionUpdater(Runtime &runtime, PositionProvider &pos, Router &router)
const MIB & get_mib() const
Get Management Information Base (MIB).
void update_position(const PositionFix &)
Update router's local position vector.