Commit Graph

37 Commits

Author SHA1 Message Date
5daa173ce4 Split embassy-time from embassy-executor. 2022-08-18 01:22:30 +02:00
fc6e1e06b3 Remove HAL initialization from #[embassy::main] macro. 2022-08-17 22:16:46 +02:00
a0f1b0ee01 Split embassy crate into embassy-executor, embassy-util. 2022-07-29 23:40:36 +02:00
a8703b7598 Run rustfmt. 2022-06-12 22:22:31 +02:00
82803bffda Use embassy/defmt-timestamp-uptime in all examples. 2022-04-02 04:35:06 +02:00
6de02bb23e nrf: remove OptionalPin 2022-02-12 01:07:02 +01:00
df5ba727f2 Further API simplification for the single seq scenario 2022-02-05 08:05:23 +11:00
81d31e43eb Removed unrequired clone 2022-02-04 19:18:10 +11:00
965a5f2c3f Introduced the SingleSequencer and a more complex Sequencer 2022-02-04 19:11:15 +11:00
81f98c32aa Update another example 2022-02-04 16:34:25 +11:00
986295998a Some more doco 2022-01-30 16:26:09 +11:00
1c67bd4643 Revert "Own the sequence buffer"
This reverts commit 482389a691.
2022-01-30 16:21:23 +11:00
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
9ac52a768b Now permits sequences to be mutated subsequently 2022-01-28 16:32:58 +11:00
12ce024574 Make the sequence a little nicer to pass around 2022-01-28 13:38:20 +11:00
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
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
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
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
aca7b86c7e pwm_sequence show implicit and explicit stop functionality 2021-11-11 23:47:35 -07:00
67baec472d nrf: dump the pwm_sequence example for clarity
It is basically impossible to directly convert that example to a sequence for various reasons. You cant have multiple channels on same buffer with one sequence instance for starters, also at that clock rate and max_duty 1 period is far longer than the 3ms it was using, which would require using a new max_duty and thus require regenerating the sine table which makes it not representitive of the original example anymore
2021-11-11 23:31:10 -07:00
937f49dead nrf: sequencepwm rename top to max_duty for consistancy 2021-11-11 22:47:57 -07:00
ea1c62ff61 fix 2021-11-11 20:12:50 -07:00
639034cee4 fix 2021-11-11 19:58:45 -07:00
ec66fcd01a pwm_sequence consume buffer 2021-11-11 19:14:29 -07:00
2973ff4cf0 remove unstable feature and dependency, and make pwm_sequence a near mirror of pwm example 2021-11-10 18:49:24 -07:00
b726ef1886 make SequenceConfig struct is consistent with other Config structs, that are always non_exhaustive and have a Default 2021-11-03 18:37:54 -07:00
d961fd1015 rename to SimplePwm and SequencePwm 2021-11-03 18:25:44 -07:00
c939edb8d0 rename error enum again 2021-11-02 10:57:01 -07:00
4647792ad6 seperate start from pwmseq::new 2021-11-01 20:50:18 -07:00
49253152cf seperate sequence from duty cycle pwm struct 2021-11-01 20:50:14 -07:00
12b2c5d5f7 better not as a constructor? 2021-11-01 08:54:07 -07:00
90be851e4b reduce complexity of loopmode 2021-11-01 08:45:07 -07:00
14dc524b84 documentation 2021-11-01 01:20:01 -07:00
763e250dfe add ability to configure loop count from 1 to infinite 2021-10-30 16:16:10 -07:00
1d1d8a848e simplify api, more interesting example 2021-10-29 16:39:41 -07:00
eb0bf1fd7a simple_playback api from nrf sdk 2021-10-29 16:27:26 -07:00