Commit Graph

46 Commits

Author SHA1 Message Date
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
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