Dario Nieuwenhuis
3bd36dce76
nrf/qspi: wait MORE for DPM enter.
2021-05-27 00:42:29 +02:00
Dario Nieuwenhuis
de703eb605
nrf/qspi: proper lowpower drop, supporting DPM.
2021-05-26 23:26:07 +02:00
Dario Nieuwenhuis
42abeca493
nrf/spim: disable and deconfigure pins on drop.
2021-05-26 20:11:23 +02:00
Dario Nieuwenhuis
39c420733f
nrf/uarte: deconfigure pins on drop
2021-05-26 20:11:23 +02:00
Dario Nieuwenhuis
8dfb6dff86
nrf/twim: make pullup configurable, do not enable it by default.
2021-05-26 20:11:23 +02:00
Dario Nieuwenhuis
b449f6de9d
nrf/twim: deconfigure pins on drop
2021-05-26 18:23:10 +02:00
Dario Nieuwenhuis
55c3ba2a5f
nrf/saadc: do not use dyn
2021-05-22 15:42:14 +02:00
Ulf Lilleengen
13524080d3
Avoid using full GAT
2021-05-22 13:23:09 +02:00
Ulf Lilleengen
f6cac6944c
Makes it possible to use the ADC with different analog pins
2021-05-21 13:12:27 +02:00
Dario Nieuwenhuis
105c8504b6
Mark Unborrow as unsafe to implement
2021-05-19 23:29:33 +02:00
Dario Nieuwenhuis
e3ab02c7e3
nrf/saadc: remove Pin
2021-05-19 20:22:15 +02:00
Dario Nieuwenhuis
58723a8e76
Merge pull request #185 from embassy-rs/nrf-improvement
...
nrf improvements
2021-05-17 22:48:36 +02:00
Dario Nieuwenhuis
32fc17f0fd
nrf/gpiote: Allow choosing IRQ priority.
2021-05-17 21:27:27 +02:00
Rukai
3e83acc1cb
Fix unused field warnings
2021-05-17 20:23:04 +10:00
Rukai
149ddf2f29
Fix warnings
2021-05-17 19:48:58 +10:00
Dario Nieuwenhuis
f7858631d8
stm32: fix build, add ci
2021-05-17 03:16:58 +02:00
Dario Nieuwenhuis
a5ad79927e
nrf: add Unborrow<Target = Self>
bound to all instance traits
2021-05-17 01:01:31 +02:00
Dario Nieuwenhuis
8394603ea6
nrf/pwm: add enable/disable
2021-05-17 00:57:37 +02:00
Dario Nieuwenhuis
88f664b434
nrf/pwm: set initial value to Low, according to the PS
2021-05-17 00:57:37 +02:00
Dario Nieuwenhuis
f9bcf6df6b
nrf: add PWM
2021-05-17 00:57:37 +02:00
Dario Nieuwenhuis
0310e4d458
Add init
fn. Initializes hw and returns Peripherals.
2021-05-17 00:57:37 +02:00
Dario Nieuwenhuis
97b01f1c47
nrf/gpiote: initialize automatically
2021-05-17 00:57:20 +02:00
Dario Nieuwenhuis
92be72e0e3
Add #[interrupt]
macro to register static interrupts.
2021-05-17 00:57:20 +02:00
Dario Nieuwenhuis
eb4571dc4c
nrf: add blocking TWIM
2021-05-17 00:57:20 +02:00
Dario Nieuwenhuis
bd9589d0ce
nrf: add support for nrf52805, nrf52811, nrf52820
2021-05-17 00:57:20 +02:00
Ulf Lilleengen
3b86e85770
Bump version of critical-section to 0.2.1
2021-05-13 18:17:50 +02:00
Dario Nieuwenhuis
e0809ab0fb
Switch to use PrioritX enums.
2021-05-11 01:34:24 +02:00
Dario Nieuwenhuis
7fa0e57172
Use critical_section
crate
2021-05-11 01:15:30 +02:00
Ulf Lilleengen
0a3c236510
Improve comment
2021-05-10 23:06:25 +02:00
Ulf Lilleengen
e9eb3ce6c1
Disable PPI trigger during normal read
2021-05-10 23:06:25 +02:00
Ulf Lilleengen
687dda106f
Read rx amount outside of poll_fn
2021-05-10 23:06:25 +02:00
Ulf Lilleengen
5afe01617a
Use rxdrdy as trigger for timer
2021-05-10 23:06:25 +02:00
Ulf Lilleengen
dda338cedb
Add implementation of ReadUntilIdle for nRF UART
...
Add type UarteWithIdle that implements Read, Write and ReadUntilIdle
traits. The type uses a timer + 2 PPI channels internally, triggered on
RTXSTARTED event.
2021-05-10 23:06:25 +02:00
Dario Nieuwenhuis
76f737bb0e
Merge pull request #158 from derekdreery/blocking_spim
...
Implement the blocking hal api for SPIM.
2021-05-05 22:52:36 +02:00
Richard Dodd
212e83aa22
Make changes to Write
as well as Transfer
2021-05-05 19:18:57 +01:00
Richard Dodd
9d427a1ba4
Address issues in PR
...
Also add some documentation.
2021-05-05 18:33:45 +01:00
Richard Dodd
9de12a0a7a
Address issues in PR.
2021-05-05 18:25:14 +01:00
Richard Dodd
1ad18aa09a
Implement the blocking hal api for SPIM.
2021-05-05 14:50:28 +01:00
Richard Dodd
0b3ccca69b
Add a pin variant that can change between disconnected/input/output.
...
I'm in no way attached to the name and encourage better suggestions.
2021-05-05 14:46:51 +01:00
Ulf Lilleengen
e2ad5e1395
Add detection of edge transitions for ports
2021-04-16 07:58:24 +02:00
Dario Nieuwenhuis
97ca54fa66
Rename PeripheralBorrow to Unborrow
2021-04-14 19:59:52 +02:00
Dario Nieuwenhuis
5ee87cf25d
Remove Pin from Flash trait
2021-04-14 17:04:40 +02:00
Dario Nieuwenhuis
c15411d1bd
Remove Pin from SPI
2021-04-14 17:04:40 +02:00
Dario Nieuwenhuis
8b1ffb2cb7
Remove Pin from GPIO traits
2021-04-14 17:04:40 +02:00
Dario Nieuwenhuis
59ccc45f28
Remove pin from Uart
2021-04-14 17:04:40 +02:00
Dario Nieuwenhuis
402f7f1886
nrf/gpio: remove DummyPin
2021-04-10 01:48:37 +02:00
Dario Nieuwenhuis
5b74e326e5
nrf/qpsi: make config non_exhaustive
2021-03-29 00:58:58 +02:00
Dario Nieuwenhuis
b9e709403d
nrf: better macro naming.
2021-03-29 00:58:58 +02:00
Dario Nieuwenhuis
48cf1f6ebf
nrf/system: add configure
2021-03-29 00:58:58 +02:00
Dario Nieuwenhuis
3a18373828
nrf/uarte: update BufferedUarte to new APi
2021-03-29 00:58:58 +02:00
Dario Nieuwenhuis
00e5f30352
nrf/ppi: add AnyConfigurableChannel
2021-03-29 00:58:58 +02:00
Dario Nieuwenhuis
31b817ed27
nrf/timer: add instance traits
2021-03-29 00:58:58 +02:00
Dario Nieuwenhuis
aa0341056e
nrf/uarte: deal with hwfc correctly
2021-03-29 00:58:58 +02:00
Dario Nieuwenhuis
b6496a85d8
nrf/ppi: implement and add example
2021-03-29 00:58:58 +02:00
Dario Nieuwenhuis
26705ec328
nrf/ppi: add peris and traits
2021-03-29 00:58:58 +02:00
Dario Nieuwenhuis
646be40ac5
nrf/gpiote: make number() public, change to usize
2021-03-29 00:58:58 +02:00
Dario Nieuwenhuis
90f599bc2f
nrf/gpiote: update output channel to new API
2021-03-29 00:58:58 +02:00
Dario Nieuwenhuis
2bd9323f28
nrf/gpiote: update input channel to new API
2021-03-29 00:58:58 +02:00
Dario Nieuwenhuis
a338841797
extras: add impl_unborrow macro
2021-03-29 00:58:58 +02:00
Richard Dodd
2c248dab56
nrf/spim: make mosi,miso optional
2021-03-29 00:58:58 +02:00
Dario Nieuwenhuis
5646926cca
nrf/rtc: update to new api
2021-03-29 00:58:58 +02:00
Dario Nieuwenhuis
3eccddc44d
nrf/uarte: use rxstarted/txstarted events to track whether a wait for stop is necessary on drop.
2021-03-29 00:58:58 +02:00
Dario Nieuwenhuis
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
Dario Nieuwenhuis
7a41541ab2
nrf/uarte: use Peripheral, wait for stop on drop.
2021-03-29 00:58:58 +02:00
Dario Nieuwenhuis
0e8bb5dc0b
util: Do not unregister waker on wake in AtomicWaker.
2021-03-29 00:58:58 +02:00
Richard Dodd
53645d9d38
nrf/saadc: initial implementation
2021-03-29 00:58:58 +02:00
Richard Dodd
a08d781442
nrf/gpio: allow borrowed pins.
2021-03-29 00:58:58 +02:00
Dario Nieuwenhuis
a0511e6caa
nrf/uart: make rts/cts optional.
2021-03-29 00:58:58 +02:00
Dario Nieuwenhuis
e7e34cb8c2
nrf/gpio: add OptionalPin
2021-03-29 00:58:58 +02:00
Dario Nieuwenhuis
df42c38492
nrf/uarte: update to new api
2021-03-29 00:58:58 +02:00
Dario Nieuwenhuis
7b6086d19e
nrf: add unborrow! macro
2021-03-29 00:58:58 +02:00
Dario Nieuwenhuis
a134fce122
nrf: nicer Peripherals api, add take()
2021-03-29 00:58:57 +02:00
Dario Nieuwenhuis
d5ff1a0ae3
nrf: rename inner peripheral to peri
for consistence
2021-03-29 00:58:57 +02:00
Dario Nieuwenhuis
95218bf8d4
Rename GpioteInput -> PortInput
2021-03-29 00:58:57 +02:00
Dario Nieuwenhuis
c0876187dd
extras: move peripherals from nrf to extras
2021-03-29 00:58:57 +02:00
Dario Nieuwenhuis
ec7309962a
nrf/qspi: update to new api
2021-03-29 00:58:57 +02:00
Dario Nieuwenhuis
16bb6fd6ac
nrf: Specify connected
bit in psel_bits
2021-03-29 00:58:57 +02:00
Dario Nieuwenhuis
f36cbe5e0c
nrf/spim: do not use PeripheralMutex
2021-03-29 00:58:57 +02:00
Dario Nieuwenhuis
15eb46ec71
wip gpiote changels
2021-03-29 00:58:57 +02:00
Dario Nieuwenhuis
ba7b3974bb
nrf/gpiote: update to new gpio
2021-03-29 00:58:57 +02:00
Dario Nieuwenhuis
3d3e770b8d
nrf/gpio: add output drive config.
2021-03-29 00:58:57 +02:00
Dario Nieuwenhuis
fcf6a63b5c
nrf: add owned Peripherals struct, migrate gpio and spim
2021-03-29 00:58:57 +02:00
xoviat
6ee9e012fc
add embassy::main and implement for stm32f4
2021-03-27 17:27:39 -05:00
Dario Nieuwenhuis
456e04c79f
Simplify spim macros
2021-03-18 21:59:35 +01:00
Dario Nieuwenhuis
b57489eb5d
peripheralmutex: separate interrupt registration to own method.
2021-03-18 18:49:10 +01:00
Dario Nieuwenhuis
0cd19a58c3
Remove free() from PeripheralMutex and all nrf drivers.
2021-03-18 18:49:10 +01:00
Dario Nieuwenhuis
f248bb17ad
Allow unused stuff in fmt.rs
2021-03-18 01:42:28 +01:00
Dario Nieuwenhuis
3de2d5c5bd
Implement FullDuplex for nrf spim
2021-03-18 01:27:30 +01:00
Dario Nieuwenhuis
a9076636ac
Do not export fmt macros.
...
This was introduced by accident by me struggling with the weird intra-crate macro importing system...
2021-03-17 22:50:27 +01:00
Dario Nieuwenhuis
6ed1a87138
Update features for latest nightly.
2021-03-17 02:48:16 +01:00
Thales Fragoso
15c3e78408
Move nRF's util into a separate crate
2021-03-07 20:15:40 -03:00
Timo Kröger
28b2365ef3
Update nrf-hal
to v0.12.1
...
Use the `psel_bits()` method to reduce #[cfg] clutter
2021-03-05 09:25:46 +01:00
Dario Nieuwenhuis
d4f2c6cf00
Remove cargo namespaced-features
2021-03-02 21:15:12 +01:00
xoviat
9626aee7db
Move traits to separate crate.
2021-03-02 00:32:23 +01:00
Dario Nieuwenhuis
67a6c4f469
Merge pull request #59 from akiles/interrupt_ext
...
move most interrupt methods to InterruptExt extension trait. Fixes #35
2021-03-01 00:56:20 +01:00
Dario Nieuwenhuis
45355f184a
move most interrupt methods to InterruptExt extension trait. Fixes #35
2021-03-01 00:44:38 +01:00
Dario Nieuwenhuis
a30c705fd7
nrf/spim: support all chips
2021-03-01 00:36:30 +01:00
Dario Nieuwenhuis
255bf1aa6a
nrf: add SPIM
2021-03-01 00:24:06 +01:00
Dario Nieuwenhuis
8a641d1312
Fix warnings.
2021-03-01 00:23:54 +01:00
Dario Nieuwenhuis
7433dc1039
Port qspi to PeripheralMutex
2021-02-28 22:05:37 +01:00