Dario Nieuwenhuis
9240a1f437
stm32: add stm32f411 interrupts
2021-01-21 18:59:56 +01:00
Dario Nieuwenhuis
dd47bfbc2e
stm32f4: Remove stm32f405 being default feature
2021-01-21 18:59:11 +01:00
Dario Nieuwenhuis
a44ab63341
Merge pull request #13 from xoviat/stm32-interrupt
...
Add EXTI interrupt handler for GPIO pins
2021-01-21 18:17:28 +01:00
xoviat
27cd3a03dc
exti: add new ExtiPin driver
2021-01-21 11:08:38 -06:00
Dario Nieuwenhuis
57eabb372e
Merge pull request #31 from xoviat/interrupt-signal
...
add InterruptSignal
2021-01-21 18:04:13 +01:00
xoviat
e0183f4495
optimize interruptfuture
...
remove critical secitons, impl. Unpin
2021-01-21 10:59:14 -06:00
xoviat
6503f9dbf5
implement interruptfuture
...
converts an interrupt to a future
2021-01-21 10:22:30 -06:00
Dario Nieuwenhuis
27831124a7
Remove unused rtic dep
2021-01-21 01:07:04 +01:00
Dario Nieuwenhuis
5b897b6605
executor: Add 'raw' api to wake tasks through raw pointers.
2021-01-21 01:00:12 +01:00
Dario Nieuwenhuis
28b5d8e9f4
Merge pull request #26 from timokroeger/fix-irq-nr
...
Fix IRQ numbers
2021-01-17 18:52:43 +01:00
Timo Kröger
9f9d808948
Fix IRQ numbers
...
The raw enum values are not always equal to the interrupt number
fixes #23
2021-01-17 17:28:46 +01:00
Dario Nieuwenhuis
4e789c663c
Merge pull request #15 from akiles/gpio-wait
...
RFC: GPIO WaitForFoo traits
2021-01-15 23:06:07 +01:00
Dario Nieuwenhuis
28fe29fff3
Merge pull request #22 from xoviat/cleanup
...
minor cleanup to interface
2021-01-14 19:02:00 +01:00
xoviat
2b15a2674f
minor cleanup to interface
2021-01-14 11:42:23 -06:00
Dario Nieuwenhuis
24d6b9ed6c
Build stm32 and stm32-examples in test script.
...
Panic handler was missing, I had to add exaple_common.rs like in the nrf examples.
2021-01-14 00:53:05 +01:00
Dario Nieuwenhuis
0204d4e812
Merge pull request #17 from xoviat/implement-uart
...
implement uart on serial interface
2021-01-14 00:42:09 +01:00
xoviat
7adf99eff3
implement changes
2021-01-13 17:40:32 -06:00
Dario Nieuwenhuis
6963b314a2
nrf/rtc: fix race when setting alarms too close to now.
2021-01-13 03:17:58 +01:00
Dario Nieuwenhuis
5229a1991c
nrf/rtc: use interrupt handler context for instance ptr
2021-01-13 03:17:42 +01:00
xoviat
c07f7467a0
Merge branch 'implement-uart' of ssh://github.com/xoviat/embassy into implement-uart
2021-01-12 14:00:39 -06:00
xoviat
914abdeb15
Merge branch 'master' of https://github.com/akiles/embassy into implement-uart
2021-01-12 14:00:12 -06:00
Dario Nieuwenhuis
7b94e06306
nrf/buffered_uarte: fix stop not actually waiting for stop
2021-01-11 11:24:34 +01:00
Dario Nieuwenhuis
41160c0d8d
nrf/buffered_uarte: add set_baudrate
2021-01-11 10:40:37 +01:00
Dario Nieuwenhuis
2616467377
nrf/buffered_uarte: stop on drop, add free()
2021-01-11 10:39:59 +01:00
Dario Nieuwenhuis
c91882a72c
Add CriticalSectionMutex, ThreadModeMutex.
2021-01-11 10:38:43 +01:00
Dario Nieuwenhuis
877fc0321a
WakerRegistration: Wake previous task if any
2021-01-11 10:38:25 +01:00
Dario Nieuwenhuis
60df9e0d38
Add non_exhaustive attrs.
2021-01-09 00:51:07 +01:00
xoviat
a168b9ef51
restrict unsafe block
2021-01-06 21:02:02 -06:00
Dario Nieuwenhuis
e18d71dedc
Fix build on nrf52832
2021-01-07 00:50:40 +01:00
Dario Nieuwenhuis
5b10ac9cac
Add PPI+TIMER to buffered_uarte to prevent IRQ storm
2021-01-06 23:36:46 +01:00
Dario Nieuwenhuis
deb3c93892
Simpliify PeripheralMutex a bit.
2021-01-06 22:48:54 +01:00
xoviat
31ba052f14
mark new unsafe
2021-01-06 14:31:43 -06:00
xoviat
1c3b7541cb
use transmute for now
2021-01-06 14:12:33 -06:00
Dario Nieuwenhuis
77bdb5428e
buffered_uarte naming cleanup
2021-01-06 20:21:03 +01:00
xoviat
27cfcbacb8
try uart implementation
2021-01-06 12:12:29 -06:00
Dario Nieuwenhuis
896eb0ed52
Merge pull request #16 from xoviat/fix-interrupts
...
fix set_handler context
2021-01-06 18:06:23 +01:00
xoviat
66622de82a
fix set_handler context
2021-01-06 10:49:08 -06:00
Dario Nieuwenhuis
f6be0b8d12
Add gpio WaitForFoo traits
2021-01-06 01:10:48 +01:00
Dario Nieuwenhuis
61a7cf5c3d
Merge pull request #6 from xoviat/stm32f4
...
Add stm32f4xx series serial driver
2021-01-06 00:41:19 +01:00
xoviat
938919367a
add levels
2021-01-05 17:38:46 -06:00
xoviat
a9d9f3bf80
fix problems
2021-01-05 17:24:27 -06:00
xoviat
7bee584808
remove dead code in waker
2021-01-05 17:19:05 -06:00
xoviat
f62eb66bf2
add new levels
2021-01-05 17:18:24 -06:00
Dario Nieuwenhuis
9bb4c97dc2
Merge pull request #14 from timokroeger/uarte-power-optimization
...
UARTE power optimization and improvements
2021-01-05 22:10:52 +01:00
Dario Nieuwenhuis
607e67f51a
Cleanup BufferedUarte
2021-01-05 21:14:04 +01:00
Dario Nieuwenhuis
3a4dbfa52e
Massicely simplify peripheral abstraction
2021-01-05 01:57:05 +01:00
Timo Kröger
0631623b51
uarte: Low power wait for RX drop
2021-01-04 22:55:40 +01:00
Timo Kröger
93780fa31d
uarte: Wait for the peripheral to be disabled
...
Prevents a panic in the case of:
1. Abort a receive future
2. Free Uarte::free()
3. Uarte::new()
-> panicked at 'assertion failed: uarte.enable.read().enable().is_disabled()'
2021-01-04 22:55:40 +01:00
Timo Kröger
9b1f7b8a17
uarte: Enable peripheral with first poll
...
This fixes a lockup when a future is dropped before it was polled.
2021-01-04 22:55:40 +01:00
Timo Kröger
85ec9dd16f
uarte: Be on safe side with potentially racy code
...
The PS does not specify how many cycles it takes for a STARTXX task to
generate a XXSTARTED event. I think it is instantaneous but let’s be on
the safe side for the following sequence:
1. poll() starttx
2. drop() txstarted not yet set, but future gets dropped
3. txstarted set by hardware, peripheral enabled after it was dropped
2021-01-04 22:55:40 +01:00