chrysn
abf95d14a6
cpu/nrf5x: Tolerate NULL callback in timers
...
timer_set has no documented restriction on this being not null, other
implementations explicitly tolerate it (rpx0xx checks inside the ISR,
but doing it at init time keeps the ISR slim).
This is useful when using a timer just to read, without any action when
it triggers (the action is taken depending on read values, eg. in a
thread context).
2023-12-19 11:13:40 +01:00
Marian Buschsieweke
b40ab8f833
cpu/nrf5x_common: implement periph_timer_query_freqs
2023-12-08 23:23:07 +01:00
Dylan Laduranty
a73ddbd045
cpu/nrf5x_common: reset all available CC channels
...
Except the last channel used for capture
Signed-off-by: Dylan Laduranty <dylan.laduranty@mesotic.com>
2023-06-28 16:40:15 +02:00
Marian Buschsieweke
a8f1a7e007
cpu/nrf5x_common: Implement timer_set()
...
The fallback implementation of timer_set() in `drivers/periph_common`
is known to fail on short relative sets. This adds a robust
implementation.
2022-12-23 14:48:08 +01:00
Marian Buschsieweke
0a24d54bd5
cpu/nrf5x_common/periph_timer: Fix thread safety
...
Two threads using distinct sets of channels should be able to share a
timer. Hence, we need to make read-modify-write accesses on timer state
atomic.
2022-12-23 14:45:12 +01:00
Marian Buschsieweke
3ad897df2a
cpu/nrf5x_common/periph_timer: Clear periodic flag on set
...
A call to timer_set_absolute() should clear the periodic flag on the
specified timer and channel. This adds it.
2022-12-23 14:45:12 +01:00
Marian Buschsieweke
fbd7b77331
cpu/nrf5x_common/periph_timer: fix spurious IRQs
2022-11-24 22:36:42 +01:00
Jue
a7e2182bb0
cpu/nrf5x/timer: run task SHUTDOWN instead of STOP
...
This is a workaround for errata 78 that causes increased current consumption even in the stopped state.
2022-11-22 19:15:31 +01:00
Benjamin Valentin
191ff4079b
cpu/nrf5x_common: timer: implement TIM_FLAG_SET_STOPPED
2022-04-28 13:27:59 +02:00
chrysn
2b09d3162a
cpu/nrf52: Expose more timers
2021-03-30 16:34:44 +02:00
chrysn
e3e89fe513
cpu/nrf5x: implement periph_timer_periodic
2020-12-04 19:03:44 +01:00
Marian Buschsieweke
125c892c03
drivers/periph/timer: Use uint32_t for frequency
...
For all currently supported platforms `unsigned long` is 32 bit in width. But
better use `uint32_t` to be safe.
2020-10-30 22:02:12 +01:00
Sebastian Meiling
af529531a4
cpu/nrf5x: adapt timer to return 0 on success
...
Adapt periph/timer implementation of nrf5x based MCUs
to return 0 on success for all functions.
2019-09-11 13:51:53 +02:00
Francisco Acosta
f2efd88f98
Merge pull request #7129 from haukepetersen/opt_periph_sharetimerset
...
cpu: add and use shared code for timer_set()
2017-08-01 15:09:48 +02:00
smlng
692cf96297
doc: fix doxygen grouping of cpu periph drivers
2017-06-26 14:42:11 +02:00
Hauke Petersen
a1499f4190
cpu: add and use shared code for timer_set()
2017-06-02 12:21:56 +02:00
Oleg Hahm
d0316fa7ae
periph timer: remove timer_irq_(en|dis)able
2017-01-14 15:34:53 +01:00
Hauke Petersen
3a00fe8e49
cpus: make use of cortexm_isr_end()
2016-12-21 11:28:46 +01:00
Hauke Petersen
2a92907c96
cpu/nrf: unified and optimized timer driver
2016-03-01 22:20:27 +01:00