98c821ac39
Remove embassy-cortex-m crate, move stuff to embassy-hal-common.
2023-06-09 16:44:20 +02:00
5c2f02c735
Reexport NVIC_PRIO_BITS at HAL root.
...
This allows using RTIC with `#[rtic::app(device = embassy_nrf, ...)]`
2023-06-08 18:07:49 +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
1955a225e8
nrf/qspi: add nrf53 support.
2023-03-05 02:17:59 +01:00
ada3d5be7c
nrf: rename UARTETWISPIn -> SERIALn
...
The UARTETWISPIn naming is quite horrible. With the nRF53, Nordic realized this
and renamed the interrupts to SERIALn. Let's copy that for our peripheral names, in nrf53 and nrf91.
2023-02-21 22:41:23 +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
b5cf332cc0
nrf: docs.
2023-02-01 01:17:41 +01:00
f22297e3d6
Merge branch 'master' into nrf91/53-nvmc
2022-12-09 11:04:55 +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
dbe97b4098
Adapted nvmc so it can be used for all nrf targets
2022-11-10 14:37:42 +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
490d4588ea
nrf: nrf52832 doesn't have SPI3
2022-03-22 19:33:35 +01:00
94b232cf88
docs: prevent inline doc spam for reexports.
2022-03-04 18:03:41 +01:00
cd356896ee
fix nrf52820
2021-12-15 10:27:10 -07: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
6dd55265cd
nrf/gpiote: fix build for nrf9160
2021-12-02 04:01:03 +01:00
663141b4e4
nrf: add initial nrf5340 support
2021-10-28 03:36:25 +02:00
c995a97f20
nrf91: support running in both S and NS mode.
2021-10-26 17:40:07 +02: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
2c2c284482
Undoing unnecessary changes
2021-10-12 11:55:38 +02:00
4643727fea
Made all PPI channels not configurable (even though they are) so they can't use unimplemented features
2021-10-11 15:12:40 +02:00
a8407c8aba
Merge remote-tracking branch 'upstream/master'
2021-10-11 10:59:34 +02:00
20674f7126
Initial support for nrf9160
2021-10-11 10:39:38 +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
0b26ab7bbc
nrf/saadc: nrf52820 doesn't have it.
2021-10-11 00:55:17 +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