a3b3305b8e
uarte: Only stop TX forcefully when a transmissions is running
...
This comes with insignificant power consumption improvements but makes
the code of the RX and TX case symmetric.
2021-01-04 22:55:40 +01:00
a7c03e4cb6
uarte: Only stop RX forcefully when a reception is running
...
The STOPRX task always triggers a timeout of ~55bit times until the
RXTO event is generated. Before we disabled the receiver only after
the timeout.
With this change the receiver is stopped right after reception has ended
because the DMA buffer is full.
For forced RX aborts like `stop()` or on drop still need to wait for the
RXTO event before disabling the receiver.
2021-01-04 22:55:40 +01:00
9f28c7ab8d
uarte: Do not spin when stopping a receive future
...
Spinning on drop() is still required when the future has not been
stopped so that DMA finishes before the buffer is released.
2021-01-04 22:55:40 +01:00
9e88718fbd
Add "context" pointer to owned interrupt handlers.
2021-01-04 22:25:39 +01:00
39ca8b8ded
Fix build on non-nrf52840
2021-01-03 22:30:47 +01:00
ace4f40f80
Introduce "peripheral" abstraction to share state between main and interrupt.
2021-01-03 01:40:40 +01:00
4ce51795f2
use hal::Pins for BufferedUarte
2021-01-02 20:31:50 +01:00
0ab88ea279
Add Uart trait, implement it for nrf.
2021-01-02 19:59:37 +01:00
3c7e7220b3
Don't use embedded_dma in nrf uarte.
2021-01-02 19:14:54 +01:00
4783222f67
Rename WakerStore -> WakerRegistration.
2021-01-01 22:30:11 +01:00
6695bf0f21
Low power UART driver
2020-12-30 19:24:12 +01:00
7dc81faa4e
Declare irqs for each nrf chip
2020-12-29 15:20:42 +01:00
af5454fbfe
Update drivers to owned irqs.
2020-12-29 01:53:17 +01:00
4b8d8ba87e
Update RTC for owned irqs
2020-12-29 01:05:28 +01:00
0750234fbe
WIP owned irqs
2020-12-29 00:05:52 +01:00
267ec334ac
Rename Uarte -> BufferedUarte
2020-12-28 23:57:50 +01:00
1aae27270e
Better fmt macros.
2020-12-13 21:17:58 +01:00
ca2ff632ba
Fix possibly ambiguous macro
2020-12-01 20:00:55 +01:00
6f76c0ebcc
Add support for log+defmt again, but better.
2020-12-01 17:46:56 +01:00
78135a81d9
Remove anyfmt
2020-11-27 18:42:59 +01:00
2e062f5627
gpiote: change port api to directly return futures.
2020-11-09 01:04:34 +01:00
61b1d4e188
Fix build for nrfs with 32 gpios
2020-11-08 19:05:34 +01:00
e539cd32ca
Fix logging with anyfmt/log
2020-11-08 19:00:23 +01:00
fc0fe842ee
Add support for GPIOTE Port event.
2020-11-08 18:59:31 +01:00
def225b982
gpiote: better naming
2020-11-08 17:38:45 +01:00
0a3590566d
Fix ambiguous assert
2020-11-01 17:56:29 +01:00
5e8608c7a5
Make defmt optional with new anyfmt
crate
2020-11-01 17:17:24 +01:00
0643095695
Fix build with all nrf chip models
2020-10-31 23:03:09 +01:00
9dea5035b9
Remove unused
2020-10-31 22:36:02 +01:00
ec4b95579d
gpiote: take owned pin but add function to borrow it.
2020-10-19 21:25:54 +02:00
33dce24e8a
Add gpiote output channel.
2020-09-29 19:18:52 +02:00
c81d626254
gpiote: take borrow instead of owned pin.
...
This makes it possible to read the pin while the channel is created.
2020-09-29 04:17:32 +02:00
37d2b440ff
Fix rtc using multiple alarms at the same time.
2020-09-26 00:35:25 +02:00
19a89b5c14
Add Clock trait
2020-09-25 23:38:42 +02:00
cf1d604749
Add support for multi alarm to RTC.
2020-09-25 23:25:49 +02:00
4333105341
Add Executor with timer queue, Timer, Instant, Duration, Alarm.
2020-09-25 03:25:06 +02:00
05ca563e7d
Add clock::Monotonic trait.
2020-09-24 23:26:24 +02:00
82e5e3c45f
rtc: Add alarm callback.
2020-09-24 22:41:52 +02:00
3b39ab07e5
Add 64-bit rtc driver with alarm support.
2020-09-24 19:59:20 +02:00
4e4241bf90
remove nrf
prefix in features, for consistency with nrf-hal
2020-09-24 19:56:47 +02:00
f9e2cef7f2
Add GPIOTE async hal.
2020-09-23 00:32:49 +02:00
9a57deef9b
First commit
2020-09-22 18:03:43 +02:00