diff options
author | Damien George <damien.p.george@gmail.com> | 2015-02-23 13:18:33 +0000 |
---|---|---|
committer | Damien George <damien.p.george@gmail.com> | 2015-02-23 13:18:33 +0000 |
commit | 626ee90ce194616f72eb49750f007e1604e3309c (patch) | |
tree | 2003b664ac51d7c7977deb676bc3effdc9600310 /tests/pyb/timer_callback.py | |
parent | d38939e676d0c36d81b1763fa3fbfcb53c649710 (diff) |
tests: Add more tests for pyb.Timer class.
Diffstat (limited to 'tests/pyb/timer_callback.py')
-rw-r--r-- | tests/pyb/timer_callback.py | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/tests/pyb/timer_callback.py b/tests/pyb/timer_callback.py new file mode 100644 index 000000000..060182053 --- /dev/null +++ b/tests/pyb/timer_callback.py @@ -0,0 +1,41 @@ +# check callback feature of the timer class + +import pyb +from pyb import Timer + +# callback function that disables the callback when called +def cb1(t): + print("cb1") + t.callback(None) + +# callback function that disables the timer when called +def cb2(t): + print("cb2") + t.deinit() + +# callback where cb4 closes over cb3.y +def cb3(x): + y = x + def cb4(t): + print("cb4", y) + t.callback(None) + return cb4 + +# create a timer with a callback, using callback(None) to stop +tim = Timer(1, freq=1000, callback=cb1) +pyb.delay(10) + +# create a timer with a callback, using deinit to stop +tim = Timer(2, freq=1000, callback=cb2) +pyb.delay(10) + +# create a timer, then set the freq, then set the callback +tim = Timer(4) +tim.init(freq=2000) +tim.callback(cb1) +pyb.delay(10) + +# test callback with a closure +tim.init(freq=3000) +tim.callback(cb3(3)) +pyb.delay(10) |