diff --git a/src/shared/events/EventBroker.cpp b/src/shared/events/EventBroker.cpp index 96fe93c762b795ac5f32b32fe90d12db35fc6095..fee912fa943b3876ea6972a7b9aa027220ef5cf7 100644 --- a/src/shared/events/EventBroker.cpp +++ b/src/shared/events/EventBroker.cpp @@ -66,11 +66,8 @@ uint16_t EventBroker::postDelayed(const Event& ev, uint8_t topic, Lock<FastMutex> lock(mtxDelayedEvents); - // Delay in system ticks - long long delayTicks = - static_cast<long long>(delayMs * miosix::TICK_FREQ / 1000); - - DelayedEvent dev{eventCounter++, ev, topic, getTick() + delayTicks}; + DelayedEvent dev{eventCounter++, ev, topic, + miosix::getTime() + delayMs * Constants::NS_IN_MS}; bool added = false; // Add the new event in the list, ordered by deadline (first = nearest @@ -141,7 +138,7 @@ void EventBroker::run() while (!shouldStop()) { while (delayedEvents.size() > 0 && - delayedEvents.front().deadline <= getTick()) + delayedEvents.front().deadline <= miosix::getTime()) { // Pop the first element DelayedEvent dev = delayedEvents.front(); @@ -157,7 +154,7 @@ void EventBroker::run() // When to wakeup for the next cycle long long sleepUntil = - getTick() + EVENT_BROKER_MIN_DELAY * miosix::TICK_FREQ / 1000; + miosix::getTime() + EVENT_BROKER_MIN_DELAY * Constants::NS_IN_MS; if (delayedEvents.size() > 0) { @@ -173,7 +170,7 @@ void EventBroker::run() Unlock<FastMutex> unlock(lock); StackLogger::getInstance().updateStack(THID_EVT_BROKER); - Thread::sleepUntil(sleepUntil); + Thread::nanoSleepUntil(sleepUntil); } } } diff --git a/src/shared/events/EventBroker.h b/src/shared/events/EventBroker.h index 7437d623070bea3d1636528f1e55f92becb8b224..e9e51f1a063afbb222e5bf9b540a3f2a474a042f 100644 --- a/src/shared/events/EventBroker.h +++ b/src/shared/events/EventBroker.h @@ -39,7 +39,6 @@ using std::map; using std::vector; using miosix::FastMutex; -using miosix::getTick; using miosix::Lock; using miosix::Thread; using miosix::Unlock;