a0f1b0ee01
Split embassy crate into embassy-executor, embassy-util.
2022-07-29 23:40:36 +02:00
709df0dc1d
nrf: replace PhantomData usages with PeripheralRef.
2022-07-23 15:13:47 +02:00
4901c34d9c
Rename Unborrowed -> PeripheralRef, Unborrow -> Peripheral
2022-07-23 14:00:19 +02:00
be6408e202
Rename unsafe_impl_unborrow to impl_unborrow
2022-07-23 01:33:22 +02:00
a8703b7598
Run rustfmt.
2022-06-12 22:22:31 +02:00
5085100df2
Add embassy-cortex-m crate.
...
- Move Interrupt and InterruptExecutor from `embassy` to `embassy-cortex-m`.
- Move Unborrow from `embassy` to `embassy-hal-common` (nothing in `embassy` requires it anymore)
- Move PeripheralMutex from `embassy-hal-common` to `embassy-cortex-m`.
2022-06-12 21:45:38 +02:00
6d994351a6
nrf/gpio: Make Input is_high/is_low public.
2022-03-17 23:27:55 +01:00
9bad9365dc
Update rust nightly, embedded-hal 1.0, embedded-hal-async.
2022-03-11 00:38:07 +01:00
20e14b8edb
embassy, embassy-nrf: add nightly
Cargo feature to gate nightly-only features.
2022-02-12 01:16:31 +01:00
7997687f3b
nrf: impl embedded-hal 1.0 and embedded-hal-async traits.
2022-01-13 23:56:39 +01:00
c432d036c7
nrf/gpiote: expose all functionality as inherent methods.
2022-01-13 23:56:39 +01:00
3ca01cba8d
nrf/gpio: Rename FlexPin to Flex.
...
FlexPin sounds like it's an owned pin singleton, like AnyPin or NoPin.
2022-01-13 23:56:39 +01:00
22bc1e4ae1
nrf/gpio: add infallible inherent methods, remove some duplication.
...
This implements Input and Output using FlexPin, to avoid some code duplication.
2021-12-20 00:55:18 +01:00
153b1bbdbf
nrf/gpiote: remove PortInput, move impls to Input.
2021-12-14 13:23:40 +01:00
d5a2462cba
Update embassy-nrf with lifetime bounds on gpio implementations.
2021-11-21 10:25:43 +00:00
663141b4e4
nrf: add initial nrf5340 support
2021-10-28 03:36:25 +02:00
c995a97f20
nrf91: support running in both S and NS mode.
2021-10-26 17:40:07 +02:00
a2e7c24e00
Clippy fixes
2021-10-18 01:05:29 +02:00
2c2c284482
Undoing unnecessary changes
2021-10-12 11:55:38 +02:00
a8407c8aba
Merge remote-tracking branch 'upstream/master'
2021-10-11 10:59:34 +02:00
20674f7126
Initial support for nrf9160
2021-10-11 10:39:38 +02:00
6e7abba9ff
nrf: rename Cargo feature references from "51" to "nrf51".
...
Note: the feature doesn't actually exist, references are there just in case
nrf51xx is supported in the future.
2021-10-11 01:09:57 +02:00
ead987245d
embassy: Refactor module structure to remove kitchen-sink util
.
2021-09-11 02:35:35 +02:00
7bfb763e09
Rename embassy-extras to embassy-hal-common
2021-07-29 13:44:51 +02:00
7ebd4e3aa9
nrf/gpio: fix unused warning on chips without ports
2021-07-05 02:44:16 +02:00
105c8504b6
Mark Unborrow as unsafe to implement
2021-05-19 23:29:33 +02:00
32fc17f0fd
nrf/gpiote: Allow choosing IRQ priority.
2021-05-17 21:27:27 +02:00
97b01f1c47
nrf/gpiote: initialize automatically
2021-05-17 00:57:20 +02:00
bd9589d0ce
nrf: add support for nrf52805, nrf52811, nrf52820
2021-05-17 00:57:20 +02:00
e2ad5e1395
Add detection of edge transitions for ports
2021-04-16 07:58:24 +02:00
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