diff --git a/unix/unix_mphal.c b/unix/unix_mphal.c index 11cd03344d..0974b6ad21 100644 --- a/unix/unix_mphal.c +++ b/unix/unix_mphal.c @@ -27,6 +27,7 @@ #include #include #include +#include #include "py/mpstate.h" #include MICROPY_HAL_H @@ -117,3 +118,9 @@ void mp_hal_stdout_tx_strn_cooked(const char *str, mp_uint_t len) { void mp_hal_stdout_tx_str(const char *str) { mp_hal_stdout_tx_strn(str, strlen(str)); } + +uint32_t HAL_GetTick(void) { + struct timeval tv; + gettimeofday(&tv, NULL); + return tv.tv_sec * 1000 + tv.tv_usec / 1000; +} diff --git a/unix/unix_mphal.h b/unix/unix_mphal.h index 209ce6d07b..09d063575f 100644 --- a/unix/unix_mphal.h +++ b/unix/unix_mphal.h @@ -37,3 +37,6 @@ int mp_hal_stdin_rx_chr(void); void mp_hal_stdout_tx_str(const char *str); void mp_hal_stdout_tx_strn(const char *str, mp_uint_t len); void mp_hal_stdout_tx_strn_cooked(const char *str, mp_uint_t len); + +#define HAL_Delay(ms) usleep((ms) * 1000) +uint32_t HAL_GetTick(void);