Dario Nieuwenhuis
ea0e83a7f9
nrf/pac: reeport s and ns peripherals always independently of the current mode.
...
You sometimes need this, for example for using nrf91 modem from S mode
you need to acces IPC_NS.
2023-10-16 19:38:53 +02:00
Dario Nieuwenhuis
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
Dario Nieuwenhuis
98c821ac39
Remove embassy-cortex-m crate, move stuff to embassy-hal-common.
2023-06-09 16:44:20 +02:00
Dario Nieuwenhuis
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
Dario Nieuwenhuis
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
Dario Nieuwenhuis
d113fcfe32
nrf/rng: make available on all chips, use Instance trait, switch to new interrupt binding.
2023-03-06 00:17:51 +01:00
Dario Nieuwenhuis
c66b28e759
nrf/qdec: make available on all chips, use Instance trait, switch to new interrupt binding.
2023-03-06 00:17:51 +01:00
Dario Nieuwenhuis
f8f1d3bcf0
nrf/pdm: make available on all chips, use Instance trait, switch to new interrupt binding.
2023-03-06 00:17:51 +01:00
Dario Nieuwenhuis
1955a225e8
nrf/qspi: add nrf53 support.
2023-03-05 02:17:59 +01:00
Dario Nieuwenhuis
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
Dario Nieuwenhuis
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
Dario Nieuwenhuis
b5cf332cc0
nrf: docs.
2023-02-01 01:17:41 +01:00
Dion Dokter
f22297e3d6
Merge branch 'master' into nrf91/53-nvmc
2022-12-09 11:04:55 +01:00
bors[bot]
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
bors[bot]
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
Christian Perez Llamas
64e8cfef8e
Fix build
2022-11-19 01:38:03 +01:00
kalkyl
eba42cb5f4
embassy-nrf: Add TWIS module
2022-11-13 22:15:19 +01:00
Dion Dokter
dbe97b4098
Adapted nvmc so it can be used for all nrf targets
2022-11-10 14:37:42 +01:00
Christian Perez Llamas
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
Henrik Alsér
1920e90dcd
embassy-nrf: Add SPIS module
2022-11-05 00:15:43 +01:00
Dion Dokter
ea868920e6
Update nrf pacs
2022-10-26 09:13:26 +02:00
pbert
a4afab4640
add support for pdm microphones in nrf driver
2022-10-13 18:37:53 +02:00
Dario Nieuwenhuis
fc6e1e06b3
Remove HAL initialization from #[embassy::main] macro.
2022-08-17 22:16:46 +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
Henrik Alsér
840bb2952e
Add qdec module
2022-05-07 00:46:36 +02:00
Dario Nieuwenhuis
d1e4b3d7d5
usb: add -usb-serial crate, fix warnings and stable build.
2022-04-06 05:38:11 +02:00
Dario Nieuwenhuis
490d4588ea
nrf: nrf52832 doesn't have SPI3
2022-03-22 19:33:35 +01:00
Dario Nieuwenhuis
94b232cf88
docs: prevent inline doc spam for reexports.
2022-03-04 18:03:41 +01:00
Jacob Rosenthal
cd356896ee
fix nrf52820
2021-12-15 10:27:10 -07:00
Jacob Rosenthal
61f12324ff
enable USB peripheral for relevant chips
2021-12-15 10:23:19 -07:00
Jacob Rosenthal
2a6d92d641
cleanup
2021-12-14 16:53:13 -07:00
Jacob Rosenthal
07cbd41131
dont expose embedded_hal_common::usb
2021-12-14 15:47:54 -07:00
Jacob Rosenthal
83a1237ea3
stub out the embassy registers for usbd
2021-12-13 18:04:54 -07:00
Dario Nieuwenhuis
6dd55265cd
nrf/gpiote: fix build for nrf9160
2021-12-02 04:01:03 +01:00
Dario Nieuwenhuis
663141b4e4
nrf: add initial nrf5340 support
2021-10-28 03:36:25 +02:00
Dario Nieuwenhuis
c995a97f20
nrf91: support running in both S and NS mode.
2021-10-26 17:40:07 +02:00
Dion Dokter
c63d747209
Fewer channel traits, more cfg to make the system work
2021-10-26 14:47:34 +02:00
Dion Dokter
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
Dion Dokter
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
Dario Nieuwenhuis
e78d226acd
nrf: add NVMC driver.
2021-10-22 02:14:33 +02:00
Ulf Lilleengen
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
Dion Dokter
2c2c284482
Undoing unnecessary changes
2021-10-12 11:55:38 +02:00
Dion Dokter
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
Dion Dokter
a8407c8aba
Merge remote-tracking branch 'upstream/master'
2021-10-11 10:59:34 +02:00
Dion Dokter
20674f7126
Initial support for nrf9160
2021-10-11 10:39:38 +02:00
Dario Nieuwenhuis
14c3260d88
nrf/saadc: move chip-specific mappings to chips/
2021-10-11 01:36:31 +02:00
Dario Nieuwenhuis
cf13dd7df8
nrf/ppi: nrf52805 only has 10 configurable channels.
2021-10-11 01:20:51 +02:00
Dario Nieuwenhuis
0b26ab7bbc
nrf/saadc: nrf52820 doesn't have it.
2021-10-11 00:55:17 +02:00
Richard Dodd
ed1ed5225f
Expose EASY_DMA_SIZE.
2021-08-22 00:23:03 +01:00