diff options
author | stijn <stijn@ignitron.net> | 2016-11-01 10:25:13 +0100 |
---|---|---|
committer | stijn <stijn@ignitron.net> | 2016-11-03 10:31:58 +0100 |
commit | 3272afe57f3303ee178c6d0a3d08614a2a154e4e (patch) | |
tree | b97589f69878e077f1b297448c56627c747869fe | |
parent | 0b9ed550267ca0efba094d14c250f268d744818d (diff) | |
download | micropython-3272afe57f3303ee178c6d0a3d08614a2a154e4e.tar.gz micropython-3272afe57f3303ee178c6d0a3d08614a2a154e4e.zip |
windows: Implement mp_hal_ticks_cpu in terms of QueryPerformanceCounter
-rw-r--r-- | unix/modtime.c | 1 | ||||
-rw-r--r-- | windows/windows_mphal.c | 10 | ||||
-rw-r--r-- | windows/windows_mphal.h | 4 |
3 files changed, 13 insertions, 2 deletions
diff --git a/unix/modtime.c b/unix/modtime.c index e90826f14a..85d1f55327 100644 --- a/unix/modtime.c +++ b/unix/modtime.c @@ -152,6 +152,7 @@ STATIC const mp_rom_map_elem_t mp_module_time_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_time), MP_ROM_PTR(&mod_time_time_obj) }, { MP_ROM_QSTR(MP_QSTR_ticks_ms), MP_ROM_PTR(&mp_utime_ticks_ms_obj) }, { MP_ROM_QSTR(MP_QSTR_ticks_us), MP_ROM_PTR(&mp_utime_ticks_us_obj) }, + { MP_ROM_QSTR(MP_QSTR_ticks_cpu), MP_ROM_PTR(&mp_utime_ticks_cpu_obj) }, { MP_ROM_QSTR(MP_QSTR_ticks_add), MP_ROM_PTR(&mp_utime_ticks_add_obj) }, { MP_ROM_QSTR(MP_QSTR_ticks_diff), MP_ROM_PTR(&mp_utime_ticks_diff_obj) }, { MP_ROM_QSTR(MP_QSTR_strftime), MP_ROM_PTR(&mod_time_strftime_obj) }, diff --git a/windows/windows_mphal.c b/windows/windows_mphal.c index 1b2ed314ab..3ad6939059 100644 --- a/windows/windows_mphal.c +++ b/windows/windows_mphal.c @@ -217,3 +217,13 @@ mp_uint_t mp_hal_ticks_us(void) { gettimeofday(&tv, NULL); return tv.tv_sec * 1000000 + tv.tv_usec; } + +mp_uint_t mp_hal_ticks_cpu(void) { + LARGE_INTEGER value; + QueryPerformanceCounter(&value); +#ifdef _WIN64 + return value.QuadPart; +#else + return value.LowPart; +#endif +} diff --git a/windows/windows_mphal.h b/windows/windows_mphal.h index a17f170214..854e14a7a8 100644 --- a/windows/windows_mphal.h +++ b/windows/windows_mphal.h @@ -32,5 +32,5 @@ 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 +#undef mp_hal_ticks_cpu +mp_uint_t mp_hal_ticks_cpu(void); |