From fd379db2868e43ccc103f75ea6ae9c33d3ad66f1 Mon Sep 17 00:00:00 2001 From: Paul Sokolovsky <pfalcon@users.sourceforge.net> Date: Sun, 4 Oct 2015 02:40:50 +0300 Subject: [PATCH] unix/modtime: Implement sleep_ms(), sleep_us(). --- unix/modtime.c | 14 ++++++++++++++ unix/qstrdefsport.h | 2 ++ 2 files changed, 16 insertions(+) diff --git a/unix/modtime.c b/unix/modtime.c index c53e0dc38..f933c4313 100644 --- a/unix/modtime.c +++ b/unix/modtime.c @@ -97,10 +97,24 @@ STATIC mp_obj_t mod_time_sleep(mp_obj_t arg) { } STATIC MP_DEFINE_CONST_FUN_OBJ_1(mod_time_sleep_obj, mod_time_sleep); +STATIC mp_obj_t mod_time_sleep_ms(mp_obj_t arg) { + usleep(mp_obj_get_int(arg) * 1000); + return mp_const_none; +} +STATIC MP_DEFINE_CONST_FUN_OBJ_1(mod_time_sleep_ms_obj, mod_time_sleep_ms); + +STATIC mp_obj_t mod_time_sleep_us(mp_obj_t arg) { + usleep(mp_obj_get_int(arg)); + return mp_const_none; +} +STATIC MP_DEFINE_CONST_FUN_OBJ_1(mod_time_sleep_us_obj, mod_time_sleep_us); + STATIC const mp_map_elem_t mp_module_time_globals_table[] = { { MP_OBJ_NEW_QSTR(MP_QSTR___name__), MP_OBJ_NEW_QSTR(MP_QSTR_utime) }, { MP_OBJ_NEW_QSTR(MP_QSTR_clock), (mp_obj_t)&mod_time_clock_obj }, { MP_OBJ_NEW_QSTR(MP_QSTR_sleep), (mp_obj_t)&mod_time_sleep_obj }, + { MP_OBJ_NEW_QSTR(MP_QSTR_sleep_ms), (mp_obj_t)&mod_time_sleep_ms_obj }, + { MP_OBJ_NEW_QSTR(MP_QSTR_sleep_us), (mp_obj_t)&mod_time_sleep_us_obj }, { MP_OBJ_NEW_QSTR(MP_QSTR_time), (mp_obj_t)&mod_time_time_obj }, }; diff --git a/unix/qstrdefsport.h b/unix/qstrdefsport.h index e91d8fb79..5cc822f72 100644 --- a/unix/qstrdefsport.h +++ b/unix/qstrdefsport.h @@ -60,6 +60,8 @@ Q(utime) Q(time) Q(clock) Q(sleep) +Q(sleep_ms) +Q(sleep_us) Q(socket) Q(sockaddr_in) -- GitLab