Kentaro Okuda 
							
						 
					 
					
						
						
							
						
						72bb4f8798 
					 
					
						
						
							
							Fix a typo  
						
						
						
						
					 
					
						2022-12-30 08:53:16 -05:00 
						 
				 
			
				
					
						
							
							
								Matthias Devlamynck 
							
						 
					 
					
						
						
							
						
						2c8080b0ae 
					 
					
						
						
							
							Add Clone & Copy on embassy_nrf::gpio::Level  
						
						
						
						
					 
					
						2022-12-29 17:26:49 +01:00 
						 
				 
			
				
					
						
							
							
								Dario Nieuwenhuis 
							
						 
					 
					
						
						
							
						
						bffa5be2f4 
					 
					
						
						
							
							nrf/uart: do not error on zero length transfers.  
						
						... 
						
						
						
						It's a perfectly fine thing to do, should be just a noop. Erroring is
really annoying when you're writing a payload to uart that might
be zero-length or not. 
						
						
					 
					
						2022-12-15 19:47:36 +01:00 
						 
				 
			
				
					
						
							
							
								Dion Dokter 
							
						 
					 
					
						
						
							
						
						f22297e3d6 
					 
					
						
						
							
							Merge branch 'master' into nrf91/53-nvmc  
						
						
						
						
					 
					
						2022-12-09 11:04:55 +01:00 
						 
				 
			
				
					
						
							
							
								Dion Dokter 
							
						 
					 
					
						
						
							
						
						1d2f97b4e2 
					 
					
						
						
							
							Fixed erase bug  
						
						
						
						
					 
					
						2022-12-09 11:02:16 +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 
						 
				 
			
				
					
						
							
							
								Christian Perez Llamas 
							
						 
					 
					
						
						
							
						
						5fdd521a76 
					 
					
						
						
							
							Move the responsibility to manage buffers to the I2S stream  
						
						
						
						
					 
					
						2022-12-08 20:22:50 +01:00 
						 
				 
			
				
					
						
							
							
								Christian Perez Llamas 
							
						 
					 
					
						
						
							
						
						199504be56 
					 
					
						
						
							
							Optimization to be able to work with only 2 buffers  
						
						
						
						
					 
					
						2022-11-29 01:09:47 +01:00 
						 
				 
			
				
					
						
							
							
								Christian Perez Llamas 
							
						 
					 
					
						
						
							
						
						6b8ab32536 
					 
					
						
						
							
							Use &mut self for start methods  
						
						
						
						
					 
					
						2022-11-26 15:22:31 +01:00 
						 
				 
			
				
					
						
							
							
								Dario Nieuwenhuis 
							
						 
					 
					
						
						
							
						
						1e2fb0459d 
					 
					
						
						
							
							Switch to async-fn-in-trait  
						
						
						
						
					 
					
						2022-11-25 21:02:06 +01:00 
						 
				 
			
				
					
						
							
							
								bors[bot] 
							
						 
					 
					
						
						
							
						
						b76631bebe 
					 
					
						
						
							
							Merge  #1069  
						
						... 
						
						
						
						1069: GPIOTE InputChannel with mutable reference. r=Dirbaio a=Ardelean-Calin
Adding these changes enables us to define a channel using a mutable reference to `GPIOTE_CH(n)`, similar to how we can do with other drivers. So instead of using:
```rust
let p = embassy_nrf::init(config);
let freq_in = InputChannel::new(
    p.GPIOTE_CH0,
    Input::new(&mut p.P0_19, embassy_nrf::gpio::Pull::Up),
    embassy_nrf::gpiote::InputChannelPolarity::HiToLo,
);
```
we can use:
```rust
let p = embassy_nrf::init(config);
let freq_in = InputChannel::new(
    &mut p.GPIOTE_CH0,
    Input::new(&mut p.P0_19, embassy_nrf::gpio::Pull::Up),
    embassy_nrf::gpiote::InputChannelPolarity::HiToLo,
);
```
therefore not giving ownership to GPIOTE_CH0.
Co-authored-by: Ardelean Călin Petru <ardelean.calin@outlook.com >
Co-authored-by: Ardelean Calin <ardelean.calin@proton.me > 
						
						
					 
					
						2022-11-23 12:17:02 +00:00 
						 
				 
			
				
					
						
							
							
								Ardelean Calin 
							
						 
					 
					
						
						
							
						
						eae67d0be8 
					 
					
						
						
							
							Review comments. Corrected unused fields.  
						
						
						
						
					 
					
						2022-11-23 14:16:18 +02: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 
						 
				 
			
				
					
						
							
							
								Henrik Alsér 
							
						 
					 
					
						
						
							
						
						cf900a8a3f 
					 
					
						
						
							
							Rename write to respond_to_read  
						
						
						
						
					 
					
						2022-11-22 22:10:04 +01:00 
						 
				 
			
				
					
						
							
							
								Ardelean Calin 
							
						 
					 
					
						
						
							
						
						4f2f375777 
					 
					
						
						
							
							Corrected order of use statements.  
						
						
						
						
					 
					
						2022-11-22 17:45:05 +02:00 
						 
				 
			
				
					
						
							
							
								Ardelean Calin 
							
						 
					 
					
						
						
							
						
						e7c876d744 
					 
					
						
						
							
							Changed pin to private as it is for OutputChannel  
						
						
						
						
					 
					
						2022-11-22 17:36:22 +02:00 
						 
				 
			
				
					
						
							
							
								Ardelean Calin 
							
						 
					 
					
						
						
							
						
						64c2e1b9b6 
					 
					
						
						
							
							Switched to PeripheralRef for channel.  
						
						
						
						
					 
					
						2022-11-22 17:35:38 +02:00 
						 
				 
			
				
					
						
							
							
								Ardelean Călin Petru 
							
						 
					 
					
						
						
							
						
						a074cd0625 
					 
					
						
						
							
							Update gpiote.rs  
						
						... 
						
						
						
						Adding these changes enables us to define a channel using a mutable reference to `GPIOTE_CH(n)`, similar to how we can do with other drivers.
So instead of using:
```rust
let freq_in = InputChannel::new(
    p.GPIOTE_CH0,
    Input::new(&mut p.P0_19, embassy_nrf::gpio::Pull::Up),
    embassy_nrf::gpiote::InputChannelPolarity::HiToLo,
);
```
we can use:
```rust
let freq_in = InputChannel::new(
    &mut p.GPIOTE_CH0,
    Input::new(&mut p.P0_19, embassy_nrf::gpio::Pull::Up),
    embassy_nrf::gpiote::InputChannelPolarity::HiToLo,
);
``` 
						
						
					 
					
						2022-11-22 16:56:04 +02:00 
						 
				 
			
				
					
						
							
							
								bors[bot] 
							
						 
					 
					
						
						
							
						
						97cb95bbf4 
					 
					
						
						
							
							Merge  #1042  
						
						... 
						
						
						
						1042: embassy-nrf: Add SPIS module r=Dirbaio a=kalkyl
Verified to be working on nrf9160
Co-authored-by: Henrik Alsér <henrik.alser@me.com >
Co-authored-by: Henrik Alsér <henrik.alser@ucsmindbite.se >
Co-authored-by: kalkyl <henrik.alser@me.com > 
						
						
					 
					
						2022-11-22 11:20:14 +00:00 
						 
				 
			
				
					
						
							
							
								Henrik Alsér 
							
						 
					 
					
						
						
							
						
						f09745dfe1 
					 
					
						
						
							
							embassy-nrf: Default disable UARTE (nrf9160)  
						
						
						
						
					 
					
						2022-11-22 02:21:06 +01:00 
						 
				 
			
				
					
						
							
							
								Henrik Alsér 
							
						 
					 
					
						
						
							
						
						da9f82f507 
					 
					
						
						
							
							Fix pin refs  
						
						
						
						
					 
					
						2022-11-22 02:13:03 +01:00 
						 
				 
			
				
					
						
							
							
								Henrik Alsér 
							
						 
					 
					
						
						
							
						
						633ffe46ae 
					 
					
						
						
							
							config write, docs, add address_match_index  
						
						
						
						
					 
					
						2022-11-22 01:57:00 +01:00 
						 
				 
			
				
					
						
							
							
								Henrik Alsér 
							
						 
					 
					
						
						
							
						
						e6b9722a31 
					 
					
						
						
							
							Remove nrf9160 UARTE fix  
						
						
						
						
					 
					
						2022-11-22 01:07:59 +01:00 
						 
				 
			
				
					
						
							
							
								Henrik Alsér 
							
						 
					 
					
						
						
							
						
						33ee48b9e8 
					 
					
						
						
							
							Merge branch 'spis' of github.com:kalkyl/embassy into spis  
						
						
						
						
					 
					
						2022-11-22 00:55:46 +01:00 
						 
				 
			
				
					
						
							
							
								Henrik Alsér 
							
						 
					 
					
						
						
							
						
						a6d941fac3 
					 
					
						
						
							
							Fix txonly/rxonly data pin dir, _from_ram and doc  
						
						
						
						
					 
					
						2022-11-22 00:55:05 +01:00 
						 
				 
			
				
					
						
							
							
								Christian Perez Llamas 
							
						 
					 
					
						
						
							
						
						15a93246d6 
					 
					
						
						
							
							Buffer management in line with other peripherals. Constructor and config redesign  
						
						
						
						
					 
					
						2022-11-19 19:18:20 +01:00 
						 
				 
			
				
					
						
							
							
								Christian Perez Llamas 
							
						 
					 
					
						
						
							
						
						f5391efe22 
					 
					
						
						
							
							Fix fmt  
						
						
						
						
					 
					
						2022-11-19 02:17:58 +01:00 
						 
				 
			
				
					
						
							
							
								Christian Perez Llamas 
							
						 
					 
					
						
						
							
						
						64e8cfef8e 
					 
					
						
						
							
							Fix build  
						
						
						
						
					 
					
						2022-11-19 01:38:03 +01:00 
						 
				 
			
				
					
						
							
							
								Christian Perez Llamas 
							
						 
					 
					
						
						
							
						
						6b88057aef 
					 
					
						
						
							
							Add missing parts and Cleanup  
						
						
						
						
					 
					
						2022-11-19 00:29:05 +01:00 
						 
				 
			
				
					
						
							
							
								Christian Perez Llamas 
							
						 
					 
					
						
						
							
						
						1ed260b105 
					 
					
						
						
							
							Fix buffer overruns  
						
						
						
						
					 
					
						2022-11-17 00:19:22 +01:00 
						 
				 
			
				
					
						
							
							
								kalkyl 
							
						 
					 
					
						
						
							
						
						0b066b22d1 
					 
					
						
						
							
							Check events_acquired  
						
						
						
						
					 
					
						2022-11-14 16:24:21 +01:00 
						 
				 
			
				
					
						
							
							
								kalkyl 
							
						 
					 
					
						
						
							
						
						3a1ddd66c6 
					 
					
						
						
							
							Cleanup interrupts  
						
						
						
						
					 
					
						2022-11-14 16:18:11 +01:00 
						 
				 
			
				
					
						
							
							
								kalkyl 
							
						 
					 
					
						
						
							
						
						8d2d5a30a5 
					 
					
						
						
							
							Single waker  
						
						
						
						
					 
					
						2022-11-14 11:39:55 +01:00 
						 
				 
			
				
					
						
							
							
								kalkyl 
							
						 
					 
					
						
						
							
						
						43c1afb6a6 
					 
					
						
						
							
							Return number of bytes written, add address match getter  
						
						
						
						
					 
					
						2022-11-14 11:22:14 +01:00 
						 
				 
			
				
					
						
							
							
								kalkyl 
							
						 
					 
					
						
						
							
						
						eba42cb5f4 
					 
					
						
						
							
							embassy-nrf: Add TWIS module  
						
						
						
						
					 
					
						2022-11-13 22:15:19 +01:00 
						 
				 
			
				
					
						
							
							
								Henrik Alsér 
							
						 
					 
					
						
						
							
						
						5cfad3f853 
					 
					
						
						
							
							Feature gate UARTE disable  
						
						
						
						
					 
					
						2022-11-13 02:37:23 +01:00 
						 
				 
			
				
					
						
							
							
								Christian Perez Llamas 
							
						 
					 
					
						
						
							
						
						17857bc18f 
					 
					
						
						
							
							Minor changes  
						
						
						
						
					 
					
						2022-11-13 02:12:58 +01:00 
						 
				 
			
				
					
						
							
							
								Henrik Alsér 
							
						 
					 
					
						
						
							
						
						dca11095e2 
					 
					
						
						
							
							Disable UARTE in embassy-nrf::init  
						
						
						
						
					 
					
						2022-11-13 01:49:55 +01:00 
						 
				 
			
				
					
						
							
							
								Christian Perez Llamas 
							
						 
					 
					
						
						
							
						
						d2e8794f29 
					 
					
						
						
							
							Investigating discontinuities in the signal  
						
						
						
						
					 
					
						2022-11-13 01:41:32 +01:00 
						 
				 
			
				
					
						
							
							
								Christian Perez Llamas 
							
						 
					 
					
						
						
							
						
						122a31d208 
					 
					
						
						
							
							Interrupts, async, sine oscillator  
						
						
						
						
					 
					
						2022-11-12 18:48:57 +01:00 
						 
				 
			
				
					
						
							
							
								Roman Valls Guimera 
							
						 
					 
					
						
						
							
						
						10e3c3f2ec 
					 
					
						
						
							
							Cargo fmt  
						
						
						
						
					 
					
						2022-11-11 23:49:20 +01:00 
						 
				 
			
				
					
						
							
							
								Christian Perez Llamas 
							
						 
					 
					
						
						
							
						
						4a2e810485 
					 
					
						
						
							
							Restrict to pacs supporting i2s  
						
						
						
						
					 
					
						2022-11-10 23:13:01 +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 
							
						 
					 
					
						
						
							
						
						f22f36f51b 
					 
					
						
						
							
							Add input rx  
						
						
						
						
					 
					
						2022-11-10 00:24:49 +01:00 
						 
				 
			
				
					
						
							
							
								Christian Perez Llamas 
							
						 
					 
					
						
						
							
						
						5a64bf651c 
					 
					
						
						
							
							Buffer trait. Simpler config.  
						
						
						
						
					 
					
						2022-11-10 00:10:42 +01:00 
						 
				 
			
				
					
						
							
							
								Christian Perez Llamas 
							
						 
					 
					
						
						
							
						
						356beabc3b 
					 
					
						
						
							
							Apply config  
						
						
						
						
					 
					
						2022-11-09 23:08:09 +01:00 
						 
				 
			
				
					
						
							
							
								Roman Valls Guimera 
							
						 
					 
					
						
						
							
						
						3760b60db3 
					 
					
						
						
							
							Make bors grin ;)  
						
						
						
						
					 
					
						2022-11-09 22:31:19 +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 
							
						 
					 
					
						
						
							
						
						aecfce1159 
					 
					
						
						
							
							rustfmt  
						
						
						
						
					 
					
						2022-11-05 01:36:29 +01:00 
						 
				 
			
				
					
						
							
							
								Henrik Alsér 
							
						 
					 
					
						
						
							
						
						207fa19551 
					 
					
						
						
							
							Acquire semaphore on blocking  
						
						
						
						
					 
					
						2022-11-05 01:34:52 +01:00