dd62bb16e5
minimum build code for new APPROTECT is chip type-specific
2023-12-03 13:47:26 -05:00
c6989dfbca
Remove nightly and unstable-traits features in preparation for 1.75.
2023-11-29 17:26:33 +01:00
036e6ae30c
Rename embassy-hal-common to embassy-hal-internal, document it's for internal use only. ( #1700 )
2023-07-28 13:23:22 +02:00
98c821ac39
Remove embassy-cortex-m crate, move stuff to embassy-hal-common.
2023-06-09 16:44:20 +02:00
921780e6bf
Make interrupt module more standard.
...
- Move typelevel interrupts to a special-purpose mod: `embassy_xx::interrupt::typelevel`.
- Reexport the PAC interrupt enum in `embassy_xx::interrupt`.
This has a few advantages:
- The `embassy_xx::interrupt` module is now more "standard".
- It works with `cortex-m` functions for manipulating interrupts, for example.
- It works with RTIC.
- the interrupt enum allows holding value that can be "any interrupt at runtime", this can't be done with typelevel irqs.
- When "const-generics on enums" is stable, we can remove the typelevel interrupts without disruptive changes to `embassy_xx::interrupt`.
2023-06-08 18:00:48 +02:00
d113fcfe32
nrf/rng: make available on all chips, use Instance trait, switch to new interrupt binding.
2023-03-06 00:17:51 +01:00
c66b28e759
nrf/qdec: make available on all chips, use Instance trait, switch to new interrupt binding.
2023-03-06 00:17:51 +01:00
f8f1d3bcf0
nrf/pdm: make available on all chips, use Instance trait, switch to new interrupt binding.
2023-03-06 00:17:51 +01:00
3f88bf6f9b
nrf: add support for UICR configuration.
...
- APPROTECT enable/disable. Notably this fixes issues with nrf52-rev3 and nrf53 from locking itself at reset.
- Use NFC pins as GPIO.
- Use RESET pin as GPIO.
NFC and RESET pins singletons are made available only when usable as GPIO,
for compile-time checking.
2023-02-20 01:28:45 +01:00
58ab829049
Merge #1049
...
1049: embassy-nrf: Add I2S module r=lulf a=chris-zen
This PR adds I2S support for the nrf52 series (`nrf52832`, `nrf52833`, `nrf52840`).
We could only test it in a `nrf52840` in master mode for an output stream (see `i2s_waveform` example), using a clone of the [Adafruit I2S Stereo Decoder - UDA1334A](https://learn.adafruit.com/adafruit-i2s-stereo-decoder-uda1334a/overview ).
We were wondering if this could be a welcome addition to embassy, as we are working on this very informally and don't have much free time for it.
<img src="https://user-images.githubusercontent.com/932644/202316127-a8cf90ef-1e1a-4e1d-b796-961b8ad6cef5.png " width="600">
https://user-images.githubusercontent.com/932644/202316609-e53cd912-e463-4e01-839e-0bbdf37020da.mp4
Co-authored-by: `@brainstorm` <brainstorm@nopcode.org >
Co-authored-by: Christian Perez Llamas <932644+chris-zen@users.noreply.github.com >
Co-authored-by: Roman Valls Guimera <brainstorm@users.noreply.github.com >
2022-12-09 07:49:40 +00:00
83b199a874
Merge #1056
...
1056: embassy-nrf: Add TWIS module r=Dirbaio a=kalkyl
Verified to be working on nrf9160
Co-authored-by: kalkyl <henrik.alser@me.com >
Co-authored-by: Henrik Alsér <henrik.alser@me.com >
2022-11-22 21:50:42 +00:00
64e8cfef8e
Fix build
2022-11-19 01:38:03 +01:00
eba42cb5f4
embassy-nrf: Add TWIS module
2022-11-13 22:15:19 +01:00
cecd77938c
Draft: Initial support for I2S with a working example.
...
Co-authored-by: @brainstorm <brainstorm@nopcode.org >
2022-11-09 19:19:01 +01:00
1920e90dcd
embassy-nrf: Add SPIS module
2022-11-05 00:15:43 +01:00
ea868920e6
Update nrf pacs
2022-10-26 09:13:26 +02:00
a4afab4640
add support for pdm microphones in nrf driver
2022-10-13 18:37:53 +02:00
fc6e1e06b3
Remove HAL initialization from #[embassy::main] macro.
2022-08-17 22:16:46 +02:00
a8703b7598
Run rustfmt.
2022-06-12 22:22:31 +02:00
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
840bb2952e
Add qdec module
2022-05-07 00:46:36 +02:00
d1e4b3d7d5
usb: add -usb-serial crate, fix warnings and stable build.
2022-04-06 05:38:11 +02:00
61f12324ff
enable USB peripheral for relevant chips
2021-12-15 10:23:19 -07:00
2a6d92d641
cleanup
2021-12-14 16:53:13 -07:00
07cbd41131
dont expose embedded_hal_common::usb
2021-12-14 15:47:54 -07:00
83a1237ea3
stub out the embassy registers for usbd
2021-12-13 18:04:54 -07:00
c63d747209
Fewer channel traits, more cfg to make the system work
2021-10-26 14:47:34 +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
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
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
14c3260d88
nrf/saadc: move chip-specific mappings to chips/
2021-10-11 01:36:31 +02:00
cf13dd7df8
nrf/ppi: nrf52805 only has 10 configurable channels.
2021-10-11 01:20:51 +02:00
ed1ed5225f
Expose EASY_DMA_SIZE.
2021-08-22 00:23:03 +01:00
2540a960e5
nrf: add WDT driver
2021-08-07 14:26:28 +02:00
7bfb763e09
Rename embassy-extras to embassy-hal-common
2021-07-29 13:44:51 +02:00
8a4ab29819
Add an nRF RNG driver
...
Resolves #187
Like the stm32 driver, this has both a non-blocking and blocking API, and implements `rand_core::RngCore` for the blocking API.
2021-06-29 17:26:16 +10:00
f7858631d8
stm32: fix build, add ci
2021-05-17 03:16:58 +02:00
f9bcf6df6b
nrf: add PWM
2021-05-17 00:57:37 +02:00
97b01f1c47
nrf/gpiote: initialize automatically
2021-05-17 00:57:20 +02:00
eb4571dc4c
nrf: add blocking TWIM
2021-05-17 00:57:20 +02:00
bd9589d0ce
nrf: add support for nrf52805, nrf52811, nrf52820
2021-05-17 00:57:20 +02:00