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
+5 -1
View File
@@ -47,6 +47,8 @@
#include "Subscription.hpp" #include "Subscription.hpp"
#include <mathlib/mathlib.h>
namespace uORB namespace uORB
{ {
@@ -121,7 +123,9 @@ public:
bool copy(void *dst) bool copy(void *dst)
{ {
if (_subscription.copy(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; return true;
} }