diff --git a/libuavcan/include/uavcan/node/timer.hpp b/libuavcan/include/uavcan/node/timer.hpp index 10525e963c..e1ec9a9aa4 100644 --- a/libuavcan/include/uavcan/node/timer.hpp +++ b/libuavcan/include/uavcan/node/timer.hpp @@ -14,7 +14,7 @@ namespace uavcan { -class Timer; +class TimerBase; struct TimerEvent { @@ -28,7 +28,7 @@ struct TimerEvent }; -class Timer : private DeadlineHandler +class TimerBase : private DeadlineHandler { MonotonicDuration period_; @@ -40,7 +40,7 @@ public: using DeadlineHandler::getDeadline; using DeadlineHandler::getScheduler; - explicit Timer(INode& node) + explicit TimerBase(INode& node) : DeadlineHandler(node.getScheduler()) , period_(MonotonicDuration::getInfinite()) { } @@ -56,7 +56,7 @@ public: template -class TimerEventForwarder : public Timer +class TimerEventForwarder : public TimerBase { Callback callback_; @@ -74,12 +74,12 @@ class TimerEventForwarder : public Timer public: explicit TimerEventForwarder(INode& node) - : Timer(node) + : TimerBase(node) , callback_() { } TimerEventForwarder(INode& node, Callback callback) - : Timer(node) + : TimerBase(node) , callback_(callback) { } diff --git a/libuavcan/include/uavcan/protocol/node_status_monitor.hpp b/libuavcan/include/uavcan/protocol/node_status_monitor.hpp index 5b4fdd1ea4..324034a977 100644 --- a/libuavcan/include/uavcan/protocol/node_status_monitor.hpp +++ b/libuavcan/include/uavcan/protocol/node_status_monitor.hpp @@ -12,7 +12,7 @@ namespace uavcan { -class NodeStatusMonitor : protected Timer +class NodeStatusMonitor : protected TimerBase { public: typedef typename StorageType::Type NodeStatusCode; @@ -83,7 +83,7 @@ protected: public: explicit NodeStatusMonitor(INode& node) - : Timer(node) + : TimerBase(node) , sub_(node) { } diff --git a/libuavcan/include/uavcan/protocol/node_status_provider.hpp b/libuavcan/include/uavcan/protocol/node_status_provider.hpp index c5a61387a0..b28d5c5535 100644 --- a/libuavcan/include/uavcan/protocol/node_status_provider.hpp +++ b/libuavcan/include/uavcan/protocol/node_status_provider.hpp @@ -17,7 +17,7 @@ namespace uavcan { -class NodeStatusProvider : private Timer +class NodeStatusProvider : private TimerBase { typedef MethodBinder GlobalDiscoveryRequestCallback; @@ -46,7 +46,7 @@ class NodeStatusProvider : private Timer public: NodeStatusProvider(INode& node) - : Timer(node) + : TimerBase(node) , creation_timestamp_(node.getMonotonicTime()) , node_status_pub_(node) , gdr_sub_(node) diff --git a/libuavcan/include/uavcan/protocol/panic_broadcaster.hpp b/libuavcan/include/uavcan/protocol/panic_broadcaster.hpp index 1529f6461f..a6a3dd657b 100644 --- a/libuavcan/include/uavcan/protocol/panic_broadcaster.hpp +++ b/libuavcan/include/uavcan/protocol/panic_broadcaster.hpp @@ -11,7 +11,7 @@ namespace uavcan { -class PanicBroadcaster : private Timer +class PanicBroadcaster : private TimerBase { Publisher pub_; protocol::Panic msg_; @@ -22,7 +22,7 @@ class PanicBroadcaster : private Timer public: PanicBroadcaster(INode& node) - : Timer(node) + : TimerBase(node) , pub_(node) { pub_.setTxTimeout(MonotonicDuration::fromMSec(protocol::Panic::BROADCASTING_INTERVAL_MS - 10)); diff --git a/libuavcan/src/node/timer.cpp b/libuavcan/src/node/timer.cpp index 7b8e115aa8..1c00baba28 100644 --- a/libuavcan/src/node/timer.cpp +++ b/libuavcan/src/node/timer.cpp @@ -8,7 +8,7 @@ namespace uavcan { -void Timer::handleDeadline(MonotonicTime current) +void TimerBase::handleDeadline(MonotonicTime current) { assert(!isRunning()); @@ -23,21 +23,21 @@ void Timer::handleDeadline(MonotonicTime current) handleTimerEvent(TimerEvent(scheduled_time, current)); } -void Timer::startOneShotWithDeadline(MonotonicTime deadline) +void TimerBase::startOneShotWithDeadline(MonotonicTime deadline) { stop(); period_ = MonotonicDuration::getInfinite(); DeadlineHandler::startWithDeadline(deadline); } -void Timer::startOneShotWithDelay(MonotonicDuration delay) +void TimerBase::startOneShotWithDelay(MonotonicDuration delay) { stop(); period_ = MonotonicDuration::getInfinite(); DeadlineHandler::startWithDelay(delay); } -void Timer::startPeriodic(MonotonicDuration period) +void TimerBase::startPeriodic(MonotonicDuration period) { assert(period < MonotonicDuration::getInfinite()); stop(); diff --git a/libuavcan/src/protocol/node_status_monitor.cpp b/libuavcan/src/protocol/node_status_monitor.cpp index c149f157fe..ebd67e29c9 100644 --- a/libuavcan/src/protocol/node_status_monitor.cpp +++ b/libuavcan/src/protocol/node_status_monitor.cpp @@ -83,7 +83,7 @@ int NodeStatusMonitor::start() const int res = sub_.start(NodeStatusCallback(this, &NodeStatusMonitor::handleNodeStatus)); if (res >= 0) { - Timer::startPeriodic(MonotonicDuration::fromMSec(TimerPeriodMs100 * 100)); + TimerBase::startPeriodic(MonotonicDuration::fromMSec(TimerPeriodMs100 * 100)); } return res; } diff --git a/libuavcan/src/protocol/node_status_provider.cpp b/libuavcan/src/protocol/node_status_provider.cpp index eef38956a5..74fcc558f1 100644 --- a/libuavcan/src/protocol/node_status_provider.cpp +++ b/libuavcan/src/protocol/node_status_provider.cpp @@ -85,7 +85,7 @@ int NodeStatusProvider::startAndPublish() goto fail; } - Timer::startPeriodic(MonotonicDuration::fromMSec(protocol::NodeStatus::PUBLICATION_PERIOD_MS)); + TimerBase::startPeriodic(MonotonicDuration::fromMSec(protocol::NodeStatus::PUBLICATION_PERIOD_MS)); return res; @@ -93,7 +93,7 @@ fail: assert(res < 0); gdr_sub_.stop(); gni_srv_.stop(); - Timer::stop(); + TimerBase::stop(); return res; }