diff --git a/sys/arduino/base.cpp b/sys/arduino/base.cpp index 4c800018ab20ff8f29977848bd390dec8259cdf0..65f6a450c001043b63c88079c65d18f0e5fbe214 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 long 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 d14e346f889f32a469ea6bada49b40d3dbbe71a8..1d4fbcf6571b1089615c3d684e3b15d3956c70e1 100644 --- a/sys/arduino/include/arduino.hpp +++ b/sys/arduino/include/arduino.hpp @@ -89,6 +89,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 *