Fixing #73 - sleep to actually sleep for the duration passed

sammachin-gprs
Dave Potts 2018-09-02 10:03:13 +01:00
parent 39a8fc63bc
commit 278230ef8e
2 changed files with 16 additions and 6 deletions

View File

@ -4,16 +4,18 @@ ___license___ = "MIT"
import time
def sleep_ms(duration):
# todo: deepsleep?
time.sleep_ms(duration)
def sleep(duration):
def sleep_ms(duration):
start_time = time.ticks_ms()
end_time = start_time + duration * 1000
end_time = start_time + duration
while time.ticks_ms() < end_time:
wfi()
def sleep(duration):
sleep_ms(duration * 1000)
def wfi():
# todo: this is fake
sleep_ms(1)
time.sleep_ms(1)

View File

@ -14,5 +14,13 @@ class TestSleep(unittest.TestCase):
sleep.sleep(sleep_secs)
self.assertTrue(time.ticks_ms() >= time_after)
def test_sleep_ms(self):
sleep_ms = 3000
time_before = time.ticks_ms()
time_after = time_before + sleep_ms
sleep.sleep_ms(sleep_ms)
self.assertTrue(time.ticks_ms() >= time_after)
if __name__ == '__main__':
unittest.main()