diff --git a/lib/sleep.py b/lib/sleep.py index 4da57f4..d653872 100644 --- a/lib/sleep.py +++ b/lib/sleep.py @@ -9,8 +9,10 @@ def sleep_ms(duration): time.sleep_ms(duration) def sleep(duration): - # todo: deepsleep? - time.sleep(duration) + start_time = time.ticks_ms() + end_time = start_time + duration * 1000 + while time.ticks_ms() < end_time: + wfi() def wfi(): # todo: this is fake diff --git a/lib/test_sleep.py b/lib/test_sleep.py index 977b667..b653f92 100644 --- a/lib/test_sleep.py +++ b/lib/test_sleep.py @@ -3,12 +3,16 @@ ___license___ = "MIT" ___dependencies___ = ["upip:unittest", "sleep"] -import unittest, sleep +import unittest, sleep, time class TestSleep(unittest.TestCase): def test_sleep(self): - sleep.sleep_ms(100) + sleep_secs = 5 + time_before = time.ticks_ms() + time_after = time_before + 1000 * sleep_secs + sleep.sleep(sleep_secs) + self.assertTrue(time.ticks_ms() >= time_after) if __name__ == '__main__': unittest.main()