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