diff --git a/windows/mpconfigport.h b/windows/mpconfigport.h index da49bc0dcb7fac3872ed0a61e9d08e71feffd201..88596977cf4abeb78c9c64fc5af41d7560f26e62 100644 --- a/windows/mpconfigport.h +++ b/windows/mpconfigport.h @@ -92,6 +92,7 @@ #define MICROPY_PY_UBINASCII (1) #define MICROPY_PY_URANDOM (1) #define MICROPY_PY_UTIME (1) +#define MICROPY_PY_UTIME_MP_HAL (1) #define MICROPY_PY_MACHINE (1) #define MICROPY_ERROR_REPORTING (MICROPY_ERROR_REPORTING_DETAILED) diff --git a/windows/windows_mphal.c b/windows/windows_mphal.c index 6cc4f65428cd2684115f5520e2ffd0e78e4da879..0f00597af0bffce624d2a504617a83d481583043 100644 --- a/windows/windows_mphal.c +++ b/windows/windows_mphal.c @@ -30,6 +30,7 @@ #include <windows.h> #include <unistd.h> +#include <sys/time.h> HANDLE std_in = NULL; HANDLE con_out = NULL; @@ -204,3 +205,15 @@ void mp_hal_stdout_tx_strn_cooked(const char *str, size_t len) { void mp_hal_stdout_tx_str(const char *str) { mp_hal_stdout_tx_strn(str, strlen(str)); } + +mp_uint_t mp_hal_ticks_ms(void) { + struct timeval tv; + gettimeofday(&tv, NULL); + return tv.tv_sec * 1000 + tv.tv_usec / 1000; +} + +mp_uint_t mp_hal_ticks_us(void) { + struct timeval tv; + gettimeofday(&tv, NULL); + return tv.tv_sec * 1000000 + tv.tv_usec; +} diff --git a/windows/windows_mphal.h b/windows/windows_mphal.h index dce24845501baac465453367ac26f2c58bf4cd01..a17f170214a59d2c5512b6561e80d2a195d393b5 100644 --- a/windows/windows_mphal.h +++ b/windows/windows_mphal.h @@ -31,3 +31,6 @@ void mp_hal_move_cursor_back(unsigned int pos); void mp_hal_erase_line_from_cursor(unsigned int n_chars_to_erase); + +// TODO: Implement. +#define mp_hal_ticks_cpu() 0