8b1ffb2cb7
Remove Pin from GPIO traits
2021-04-14 17:04:40 +02:00
b6496a85d8
nrf/ppi: implement and add example
2021-03-29 00:58:58 +02:00
646be40ac5
nrf/gpiote: make number() public, change to usize
2021-03-29 00:58:58 +02:00
90f599bc2f
nrf/gpiote: update output channel to new API
2021-03-29 00:58:58 +02:00
2bd9323f28
nrf/gpiote: update input channel to new API
2021-03-29 00:58:58 +02:00
1c9f98e1b6
nrf/gpiote: fix irq race condition
...
The interrupt could fire between checking if sense=disabled and registering the waker,
in which case the future would get stuck.
2021-03-29 00:58:58 +02:00
0e8bb5dc0b
util: Do not unregister waker on wake in AtomicWaker.
2021-03-29 00:58:58 +02:00
a08d781442
nrf/gpio: allow borrowed pins.
2021-03-29 00:58:58 +02:00
95218bf8d4
Rename GpioteInput -> PortInput
2021-03-29 00:58:57 +02:00
ba7b3974bb
nrf/gpiote: update to new gpio
2021-03-29 00:58:57 +02:00
d4f2c6cf00
Remove cargo namespaced-features
2021-03-02 21:15:12 +01:00
9626aee7db
Move traits to separate crate.
2021-03-02 00:32:23 +01:00
45355f184a
move most interrupt methods to InterruptExt extension trait. Fixes #35
2021-03-01 00:44:38 +01:00
da91779117
interrupt: Split set_handler context.
...
Since introducing the ctx pointer, the handler is now two words, so setting it can
race with the interrupt firing. On race it's possible for the new handler to be
alled with the old ctx pointer or viceversa.
Rather than documenting this, it's better to split the function in two to make it
obvious to the user that it's not atomic. The user can use a critical section, or
disable/enable the interrupt to avoid races if this is a concern.
2021-02-26 02:04:48 +01:00
11be9170ec
Cleanup interrupt package naming. Fixes #40
...
The `interrupt` package previously tried to be drop-in compatible with the
`interrupt` package from PACs. THis meant that there was both a PAC-style enum
value `UARTE0` and an embassy-style owned `UARTE0Interrupt` type. This made
things VERY confusing.
This drops compatibility with the PAC, improving the names for embassy interrupts.
2021-02-26 01:55:27 +01:00
b69f72e055
Get rid of some warnings
2021-02-13 21:41:36 -03:00
a7797a918d
nrf/gpiote: new api: switch to owned structs, implement WaitForHigh/WaitForLow.
2021-02-04 23:56:17 +01:00
9e88718fbd
Add "context" pointer to owned interrupt handlers.
2021-01-04 22:25:39 +01:00
af5454fbfe
Update drivers to owned irqs.
2020-12-29 01:53:17 +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
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
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
f9e2cef7f2
Add GPIOTE async hal.
2020-09-23 00:32:49 +02:00