diff --git a/cores/arduino/Arduino.h b/cores/arduino/Arduino.h index bdf9c57d..9f9eb76c 100644 --- a/cores/arduino/Arduino.h +++ b/cores/arduino/Arduino.h @@ -113,6 +113,7 @@ int digitalPinToInterrupt(pin_size_t pin); #include <zephyrSerial.h> #include <strings.h> #include <api/itoa.h> +#include <time_macros.h> // Allow namespace-less operations if Arduino.h is included using namespace arduino; diff --git a/cores/arduino/time_macros.h b/cores/arduino/time_macros.h new file mode 100644 index 00000000..6c9290f6 --- /dev/null +++ b/cores/arduino/time_macros.h @@ -0,0 +1,7 @@ +#pragma once + +#include <zephyr/sys/time_units.h> + +#define clockCyclesPerMicrosecond() (1000000 / k_cyc_to_ns_near64(1000)) +#define clockCyclesToMicroseconds(a) (a / clockCyclesPerMicrosecond()) +#define microsecondsToClockCycles(a) (a * clockCyclesPerMicrosecond())