NodeStatus timing constant updates

This commit is contained in:
Pavel Kirienko
2014-08-24 19:44:04 +04:00
parent 6e3627dda8
commit c7872def16
5 changed files with 16 additions and 14 deletions
@@ -16,8 +16,8 @@ namespace uavcan
MonotonicDuration NetworkCompatibilityChecker::getNetworkDiscoveryDelay() const
{
// Base duration is constant - NodeStatus publication period
MonotonicDuration dur = MonotonicDuration::fromMSec(protocol::NodeStatus::PUBLICATION_PERIOD_MS);
// Base duration is constant - NodeStatus max publication period
MonotonicDuration dur = MonotonicDuration::fromMSec(protocol::NodeStatus::MAX_PUBLICATION_PERIOD_MS);
// Additional duration depends on the node priority - gets larger with higher Node ID
dur += MonotonicDuration::fromMSec(getNode().getNodeID().get() * 10);
return dur;
@@ -92,7 +92,7 @@ int NodeStatusProvider::startAndPublish()
goto fail;
}
setStatusPublishingPeriod(MonotonicDuration::fromMSec(protocol::NodeStatus::PUBLICATION_PERIOD_MS));
setStatusPublishingPeriod(MonotonicDuration::fromMSec(protocol::NodeStatus::MAX_PUBLICATION_PERIOD_MS));
return res;
@@ -106,8 +106,8 @@ fail:
void NodeStatusProvider::setStatusPublishingPeriod(uavcan::MonotonicDuration period)
{
const MonotonicDuration maximum = MonotonicDuration::fromMSec(protocol::NodeStatus::PUBLICATION_PERIOD_MS);
const MonotonicDuration minimum = MonotonicDuration::fromMSec(50);
const MonotonicDuration maximum = MonotonicDuration::fromMSec(protocol::NodeStatus::MAX_PUBLICATION_PERIOD_MS);
const MonotonicDuration minimum = MonotonicDuration::fromMSec(protocol::NodeStatus::MIN_PUBLICATION_PERIOD_MS);
period = min(period, maximum);
period = max(period, minimum);