utime
- Time¶
The utime
module loosely follows CPython’s time
module, but is heavily
stripped down. Instead, it has a few time related functions which are not in
CPython but wouldn’t fit anywhere else in our implementation. Most
prominently, this is the utime.alarm()
function for setting an RTC
alarm.
-
utime.
sleep
(secs)¶ Sleep for
secs
seconds. Can take a floating-point value.
-
utime.
sleep_ms
(msecs)¶ Sleep for
msecs
milliseconds. Only takes integer values.
-
utime.
sleep_us
(usecs)¶ Sleep for
usecs
microseconds. Only takes integer values.
-
utime.
time
()¶ Return the current timestamp in seconds since 2000-01-01
-
utime.
localtime
([secs])¶ Return the current time as a timestruct tuple. If
secs
is given, return its timestruct tuple instead. Timestruct tuple looks like:(year, month, mday, hour, min, sec, wday, yday) # 0 1 2 3 4 5 6 7
-
utime.
mktime
(t)¶ Convert timestruct tuple into a seconds time stamp. See
utime.localtime()
for details about timestruct tuples.- Returns
Seconds since 2000-01-01
-
utime.
alarm
(secs[, callback])¶ Register the next RTC alarm for the timestamp
secs
.secs
is seconds since 2000-01-01.If an optional
callback
is given, it will be registered for the RTC alarm interrupt. This will overwrite any previous interrupt handler. Ifcallback
is given,utime.alarm()
will also enable the RTC alarm interrupt.Example:
import utime def minute_timer(x): current = utime.time() print("Current: " + str(current)) alarm = (current // 60 + 1) * 60 utime.alarm(alarm, minute_timer) minute_timer(None)
Alternatively, you can register a callback using the interrupt module and then call
utime.alarm()
without acallback
parameter:import interrupt, utime def 5_second_timer(x): current = utime.time() print("Current: " + str(current)) alarm = (current // 10) * 10 + 5 utime.alarm(alarm) # This time, we need to register and enable the callback manually interrupt.set_callback(interrupt.RTC_ALARM, 5_second_timer) interrupt.enable_callback(interrupt.RTC_ALARM) 5_second_timer(None)