From 4960607a1efb33d2a894d9595fe94c2ab55e87bd Mon Sep 17 00:00:00 2001 From: Federico Pellegrin <fede@evolware.org> Date: Thu, 11 Oct 2018 14:42:46 +0200 Subject: [PATCH] sys/arduino: add arduino time functions micros() and delayMicroseconds() --- sys/arduino/base.cpp | 10 ++++++++++ sys/arduino/include/arduino.hpp | 14 ++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/sys/arduino/base.cpp b/sys/arduino/base.cpp index 4c800018ab..99a7e794e2 100644 --- a/sys/arduino/base.cpp +++ b/sys/arduino/base.cpp @@ -62,6 +62,16 @@ void delay(unsigned long msec) xtimer_usleep(1000 * msec); } +void delayMicroseconds(unsigned long usec) +{ + xtimer_usleep(usec); +} + +unsigned int micros() +{ + return xtimer_now_usec(); +} + /* * Bitfield for the state of the ADC-channels. * 0: Not initialized diff --git a/sys/arduino/include/arduino.hpp b/sys/arduino/include/arduino.hpp index b94f17519f..6043b31c57 100644 --- a/sys/arduino/include/arduino.hpp +++ b/sys/arduino/include/arduino.hpp @@ -82,6 +82,20 @@ int digitalRead(int pin); */ void delay(unsigned long msec); +/** + * @brief Sleep for a given amount of time [microseconds] + * + * @param[in] usec number of microseconds to sleep + */ +void delayMicroseconds(unsigned long usec); + +/** + * @brief Returns the number of microseconds since start + * + * @return value of microseconds since start + */ +unsigned long micros(); + /** * @brief Read the current value of the given analog pin * -- GitLab