uORB: SubscriptionInterval last update shift forward with interval

This commit is contained in:
Daniel Agar 2020-05-06 15:30:55 -04:00
parent 297e4dd589
commit aa380f351f
1 changed files with 5 additions and 1 deletions

View File

@ -47,6 +47,8 @@
#include "Subscription.hpp"
#include <mathlib/mathlib.h>
namespace uORB
{
@ -121,7 +123,9 @@ public:
bool copy(void *dst)
{
if (_subscription.copy(dst)) {
_last_update = hrt_absolute_time();
const hrt_abstime now = hrt_absolute_time();
// shift last update time forward, but don't let it get further behind than the interval
_last_update = math::constrain(_last_update + _interval_us, now - _interval_us, now);
return true;
}