From 0f648924fd832a26978c338af3eb4db6e5919665 Mon Sep 17 00:00:00 2001 From: Daniel Friesel Date: Thu, 31 Jan 2019 10:56:12 +0100 Subject: posix: add missing delay_us and delay_ms functions --- src/arch/posix/arch.cc | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'src/arch/posix/arch.cc') diff --git a/src/arch/posix/arch.cc b/src/arch/posix/arch.cc index 98a3a08..a2d78e9 100644 --- a/src/arch/posix/arch.cc +++ b/src/arch/posix/arch.cc @@ -1,4 +1,5 @@ #include "arch.h" +#include #include #if defined(WITH_LOOP) || defined(TIMER_S) @@ -31,4 +32,20 @@ void Arch::idle(void) { } +void Arch::delay_us(unsigned int const us) +{ + struct timespec ts; + ts.tv_sec = 0; + ts.tv_nsec = us * 1000; + nanosleep(&ts, NULL); +} + +void Arch::delay_ms(unsigned int const ms) +{ + struct timespec ts; + ts.tv_sec = ms / 1000; + ts.tv_nsec = (ms % 1000) * 1000000; + nanosleep(&ts, NULL); +} + Arch arch; -- cgit v1.2.3