Dario Nieuwenhuis
b5cf332cc0
nrf: docs.
2023-02-01 01:17:41 +01:00
Dario Nieuwenhuis
709df0dc1d
nrf: replace PhantomData usages with PeripheralRef.
2022-07-23 15:13:47 +02:00
Dario Nieuwenhuis
f02ba35482
Remove PeripheralRef::into_inner()
2022-07-23 14:27:45 +02:00
Dario Nieuwenhuis
4901c34d9c
Rename Unborrowed -> PeripheralRef, Unborrow -> Peripheral
2022-07-23 14:00:19 +02:00
Grant Miller
65a82d02d1
WIP: Make unborrow safe to use
2022-07-23 01:33:22 +02:00
Dario Nieuwenhuis
a8703b7598
Run rustfmt.
2022-06-12 22:22:31 +02:00
Dario Nieuwenhuis
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
Dario Nieuwenhuis
6de02bb23e
nrf: remove OptionalPin
2022-02-12 01:07:02 +01:00
huntc
df5ba727f2
Further API simplification for the single seq scenario
2022-02-05 08:05:23 +11:00
huntc
3b2beddc7a
Forgot to expose the stop method
2022-02-04 19:14:24 +11:00
huntc
965a5f2c3f
Introduced the SingleSequencer and a more complex Sequencer
2022-02-04 19:11:15 +11:00
huntc
fe5501293f
Expose PWM
2022-02-04 16:26:23 +11:00
huntc
25be00878c
Doco correction
2022-02-04 15:55:04 +11:00
huntc
1af6b23f97
Introduces a Sequences struct
2022-02-04 13:04:55 +11:00
huntc
bc7266394d
Clarify why we need the mut buffer
2022-02-04 11:48:08 +11:00
huntc
986295998a
Some more doco
2022-01-30 16:26:09 +11:00
huntc
1c67bd4643
Revert "Own the sequence buffer"
...
This reverts commit 482389a691
.
2022-01-30 16:21:23 +11:00
huntc
482389a691
Own the sequence buffer
...
This approach owns the sequence buffers which, while introducing an extra move, it eliminates the need to guard the lifetime of the sequence buffer. Given ownership, the buffer will be retained until the PWM sequence task is stopped.
2022-01-29 18:01:06 +11:00
huntc
9ac52a768b
Now permits sequences to be mutated subsequently
2022-01-28 16:32:58 +11:00
huntc
8e9f448866
Doc tidying
2022-01-28 13:43:36 +11:00
huntc
12ce024574
Make the sequence a little nicer to pass around
2022-01-28 13:38:20 +11:00
huntc
47aeab152f
PWM WS2812B example and per sequence config
...
Demonstrates how to set the colour of a WS2812B to blue using PWM, and the use of multiple sequences along with their own config. This required an API change.
2022-01-28 11:20:04 +11:00
huntc
c9f29534d6
Stop PWM before assigning the new sequence
...
I had introduced a small bug in my last PR where I assigned the sequence before stopping the PWM. I now stop the PWM before doing that now.
Also, corrected a math comment.
2022-01-25 16:51:24 +11:00
huntc
48afef28a0
Strengthen the borrow
...
The start method is now safe. Because it has the potential of borrowing the sequence and mutating itself, the sequence must outlive the Pwm struct.
2022-01-24 17:22:35 +11:00
huntc
7598b8a40f
Permit many sequences to be passed
...
Sequences are now passed in via the start method to avoid having to stop the PWM and restart it. Sequences continue to be constrained with the same lifetime of the Pwm object itself. The pwm_sequence example has been extended to illustrate multiple sequences being passed around.
2022-01-23 16:29:52 +11:00
Jacob Rosenthal
4010a829ae
nrf: pwm clarify stop and disable pin state
2021-11-14 11:26:30 -07:00
Jacob Rosenthal
4d61f4aa0d
nrf: sequencepwm dont wait for tasks_stop afterall
2021-11-13 17:31:09 -07:00
Jacob Rosenthal
3a166db280
nrf: pwm use register reset
2021-11-13 16:42:19 -07:00
Jacob Rosenthal
7dfc0acb2f
nrf: pwm clarify stop and disable pin state
2021-11-13 16:42:17 -07:00
Jacob Rosenthal
2bcacd4f16
nrf: sequencepwm add events
2021-11-13 16:24:41 -07:00
Jacob Rosenthal
0f322c1d4e
fix set_duty ptr write
2021-11-12 08:55:20 -07:00
Jacob Rosenthal
667a93b5c8
sequence pwm remove disable fn for clarity, and disable peripheral on stop
2021-11-11 23:46:27 -07:00
Jacob Rosenthal
7bee43df5a
nrf: sequencepwm nitpicks for clarity
2021-11-11 22:50:07 -07:00
Jacob Rosenthal
937f49dead
nrf: sequencepwm rename top to max_duty for consistancy
2021-11-11 22:47:57 -07:00
Jacob Rosenthal
f15c3a04d4
sequence must be live while DMA runs
2021-11-11 20:10:34 -07:00
Jacob Rosenthal
fe83daf45f
remove const generic
2021-11-11 19:49:41 -07:00
Jacob Rosenthal
ec66fcd01a
pwm_sequence consume buffer
2021-11-11 19:14:29 -07:00
Jacob Rosenthal
156caa9330
more comments
2021-11-10 19:56:36 -07:00
Jacob Rosenthal
66a43c2e58
more comments
2021-11-10 19:44:57 -07:00
Jacob Rosenthal
407e5d06e0
more comments
2021-11-10 19:43:47 -07:00
Jacob Rosenthal
613e88f1d2
fix bug with config.counter_mode
2021-11-10 18:53:21 -07:00
Jacob Rosenthal
4c2d0ac211
doccomments
2021-11-10 18:52:32 -07:00
Jacob Rosenthal
c6736abf5e
dont wait seqend for sequencepwm
2021-11-10 18:52:03 -07:00
Jacob Rosenthal
c450f91bd9
doc comment cleanup
2021-11-10 17:30:59 -07:00
Jacob Rosenthal
6dcc731065
drop the debug
2021-11-10 17:25:38 -07:00
Jacob Rosenthal
5f28153b81
disconnect pwm pins on drop
2021-11-10 17:19:03 -07:00
Jacob Rosenthal
3b7af2f4ed
fix wait seqend, pwm example is slow now...
2021-11-10 13:03:44 -07:00
Jacob Rosenthal
903b8f032f
defensive dma
2021-11-10 12:34:41 -07:00
Jacob Rosenthal
4751dbddc6
move state into PwmSimple
2021-11-10 12:32:28 -07:00
Jacob Rosenthal
9548748c26
fix
2021-11-10 12:29:13 -07:00