44375b427c
restore example and add set_time_stretch api
2021-11-03 15:29:09 -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
b297e5f7bd
led dimming example, dont need to keep all examples, just covering ground to test api
2021-11-01 13:51:40 -07:00
5285179218
generalize new and change pwm example to a servo
2021-11-01 13:08:51 -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
78e382c9aa
stop->sequence_stop
2021-10-31 23:13:49 -07:00
763e250dfe
add ability to configure loop count from 1 to infinite
2021-10-30 16:16:10 -07:00
ef95441442
a runtime generated sin table example
2021-10-29 17:10:37 -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
4d3341dbb9
Fixed examples
2021-10-26 14:47:33 +02:00
11655af034
Another redo using the feedback.
...
PPI is now split up into PPI and DPPI under the name 'interconnect'.
The tasks and events are tracked and reset in the drop function.
2021-10-26 14:47:12 +02:00
e6ec81b999
Fixed examples and added defmt format to the new error types
2021-10-26 14:46:39 +02:00
65628e1f15
- Added _ppi and _dppi to distinguish between the new and the old peripheral.
...
- Removed ConfigurableChannel and added capacity numbers to the channels
- Replaced the PPI api with a new one using the DPPI terminology (publish & subscribe)
- Updated all tasks and event registers for DPPI
2021-10-26 14:46:39 +02:00
e78d226acd
nrf: add NVMC driver.
2021-10-22 02:14:33 +02:00
e807a9eaec
Specify unit in log output
2021-10-19 15:32:16 +02:00
2ef4a45fa0
Add support for temperature sensor peripheral
...
* Add TEMP peripheral to all nRF52 chips
* Add async HAL for reading temperature values
* Add example application reading temperature values
2021-10-19 07:18:56 +02:00
785030df96
Use types to strengthen the buffer dimensioning
2021-10-18 10:26:11 +11:00
cb56f52b99
Removed the Mode enum and factored out into two functions so that we can assert channel limits
2021-10-18 10:26:11 +11:00
fa82913bc3
We have to reduce the buffer size to cater for the number of channels to scan
2021-10-18 10:26:11 +11:00
3be274dc2a
We must allow the run handler to mutate state
...
The handler may well need to close over and mutate state
2021-10-18 10:26:11 +11:00
103a3305e2
Implements continuous sampling for the nRF SAADC
...
Implements continuous sampling for the nRF SAADC and also renames `OneShot` to `Saadc`. The one-shot behaviour is retained with the `sample` method and a new `run_sampler` method is provided for efficiently (i.e. zero copying) sampler processing. A double buffer is used for continuously sampling, which wlll be swapped once sampling has taken place.
A sample frequency is provided and will set the internal timer of the SAADC when there is just the one channel being sampled. Otherwise, PPI will be used to hook up the TIMER peripheral to drive the sampling task.
2021-10-18 10:26:11 +11:00
cef6158c31
Extend SAADC one shot support
...
One-shot mode now permits the sampling of differential pins, and the sampling of multiple pins simultaneously.
A new ChannelConfig structure has been introduced so that multiple channels can be configured individually. Further, the `sample` method now accepts a buffer into which samples are written.
Along the way, I've reset some default configuration to align with Nordic's settings in their nrfx saadc driver. Specifically, the channel gain defaults to 6 (from 4) and the time defaults to 10us (from 20us).
2021-10-09 11:25:18 +11:00
0e05ba688d
nrf/saadc: remove Sample trait.
2021-10-07 02:10:22 +02:00
70e5877d68
embassy/channel: switch to use MutexKind
2021-09-13 00:08:41 +02:00
ead987245d
embassy: Refactor module structure to remove kitchen-sink util
.
2021-09-11 02:35:35 +02:00
f2623e7e9b
Update lots of deps
2021-09-11 01:35:23 +02:00
de016e8456
Remove trait_alias, allow(incomplete_features).
...
trait_alias seems unused. no idea why it's there.
2021-09-03 17:00:58 +02:00
d0c8749399
Merge pull request #382 from fnafnio/typestate_nrf_timer
...
Typestate nrf timer
2021-09-02 13:39:55 +02:00
34c66fa78d
removed type aliases
...
NotAwaitable as default generic param
added awaitable_timer example
2021-09-02 12:02:31 +02:00
6b158ba94a
nrf/saadc: add example
2021-09-01 23:55:20 +02:00
297de612e5
Improve executor naming. Add docs.
2021-08-31 23:59:28 +02:00
3457bb9f05
nrf: make gpiote and time-driver optional via cargo features.
2021-08-20 15:42:42 +02:00
17659e2e44
nrf/wdt: add handle steal
2021-08-20 14:23:24 +02:00
fe355af4f0
nrf: update to cortex-m-rt 0.7
2021-08-19 17:11:17 +02:00
2540a960e5
nrf: add WDT driver
2021-08-07 14:26:28 +02:00
f4950c4449
examples: Consistently use unwrap! in favor of .unwrap()
...
Unfortunately errors from `embedded_graphics` and `core` doesn't provide
the necessary instances currently.
2021-08-05 22:39:59 +02:00
0ea6a2d890
time: replace dyn clock/alarm with a global Driver trait
2021-08-05 19:14:09 +02:00
07d4b196f7
Update nightly, remove removed features.
2021-08-04 19:48:14 +02:00
a1a5acb825
rustfmt everything
2021-08-04 15:25:21 +02:00
af87031d62
hal-common: remove Pin in PeripheralMutex
2021-08-02 19:55:04 +02:00
3420cbf744
examples: Drop build-std = ["core"]
...
Previously the cargo configurations of all of the example projects had
`build-std = ["core"]`, which forces compilation of `core` as a
code-size optimisation. However, this is strictly unnecessary and will
currently break for users who do not use `rustup` directly (e.g. nix
users).
2021-07-31 13:01:15 -04:00
3778f55d80
Provides a cleaner construction of the channel with the common "new" naming
2021-07-15 12:31:53 +10:00
f159beec1c
Use of a NoopMutex
2021-07-15 12:31:52 +10:00
5f87c7808c
Remove the cell and trait
...
At the expense of exposing the channel types again. We do this as we want to avoid using dyn traits given their overhead for embedded environments.
2021-07-15 12:31:52 +10:00
ae62948d6c
Replace UnsafeCell
...
Using a new ChannelCell so that there's no leaking of the abstraction
2021-07-15 12:31:52 +10:00