summaryrefslogtreecommitdiff
path: root/shared-module/_pew
diff options
context:
space:
mode:
authorRadomir Dopieralski <openstack@sheep.art.pl>2019-03-01 16:46:59 +0100
committerRadomir Dopieralski <openstack@sheep.art.pl>2019-03-01 16:46:59 +0100
commit7afbfc70038201fdea5fa2601be4d3235ffca7d6 (patch)
tree6a650fffe0d91707845e3ec3909027e16bfcd389 /shared-module/_pew
parentea78417f7fe80cc870fd6bef24a4938bddfa4f37 (diff)
Use find_free_timer()
Diffstat (limited to 'shared-module/_pew')
-rw-r--r--shared-module/_pew/PewPew.c12
1 files changed, 3 insertions, 9 deletions
diff --git a/shared-module/_pew/PewPew.c b/shared-module/_pew/PewPew.c
index 755b88394..c1d6aa5c3 100644
--- a/shared-module/_pew/PewPew.c
+++ b/shared-module/_pew/PewPew.c
@@ -74,17 +74,11 @@ void pew_init() {
}
if (pewpew_tc_index == 0xff) {
// Find a spare timer.
- Tc *tc = NULL;
- int8_t index = TC_INST_NUM - 1;
- for (; index >= 0; index--) {
- if (tc_insts[index]->COUNT16.CTRLA.bit.ENABLE == 0) {
- tc = tc_insts[index];
- break;
- }
- }
- if (tc == NULL) {
+ uint8_t index = find_free_timer();
+ if (index == 0xff) {
mp_raise_RuntimeError(translate(""));
}
+ Tc *tc = tc_insts[index];
pewpew_tc_index = index;
set_timer_handler(true, index, TC_HANDLER_PEW);