Dario Nieuwenhuis 
							
						 
					 
					
						
						
							
						
						a7383840e7 
					 
					
						
						
							
							usb: make ControlPipe accept, reject async.  
						
						
						
						
					 
					
						2022-05-30 00:35:27 +02:00 
						 
				 
			
				
					
						
							
							
								Dario Nieuwenhuis 
							
						 
					 
					
						
						
							
						
						883e28a0fb 
					 
					
						
						
							
							usb: add first, last params to ControlPipe data_in, data_out.  
						
						
						
						
					 
					
						2022-05-30 00:08:28 +02:00 
						 
				 
			
				
					
						
							
							
								Dario Nieuwenhuis 
							
						 
					 
					
						
						
							
						
						1ec2e5672f 
					 
					
						
						
							
							usb: remove is_stalled, set_stalled from Endpoint.  
						
						... 
						
						
						
						They're unused, and I believe it's not allowed for classes to
stall EPs on their own? 
						
						
					 
					
						2022-05-30 00:07:15 +02:00 
						 
				 
			
				
					
						
							
							
								chemicstry 
							
						 
					 
					
						
						
							
						
						9772645718 
					 
					
						
						
							
							Revert "Fix irq pend behavior"  
						
						... 
						
						
						
						This reverts commit 9a447f1359 
						
						
					 
					
						2022-05-26 23:36:25 +03:00 
						 
				 
			
				
					
						
							
							
								chemicstry 
							
						 
					 
					
						
						
							
						
						9a447f1359 
					 
					
						
						
							
							Fix irq pend behavior  
						
						
						
						
					 
					
						2022-05-26 23:24:02 +03:00 
						 
				 
			
				
					
						
							
							
								chemicstry 
							
						 
					 
					
						
						
							
						
						c3b899c470 
					 
					
						
						
							
							Implement BufRead for nrf BufferedUarte  
						
						
						
						
					 
					
						2022-05-26 23:15:06 +03:00 
						 
				 
			
				
					
						
							
							
								Dario Nieuwenhuis 
							
						 
					 
					
						
						
							
						
						47ceee47d5 
					 
					
						
						
							
							Update embedded-io to 0.3  
						
						
						
						
					 
					
						2022-05-19 00:36:18 +02:00 
						 
				 
			
				
					
						
							
							
								Dario Nieuwenhuis 
							
						 
					 
					
						
						
							
						
						833b3a370a 
					 
					
						
						
							
							nrf/buffered_uarte: fix out of bounds on read.  
						
						
						
						
					 
					
						2022-05-14 02:20:40 +02:00 
						 
				 
			
				
					
						
							
							
								bors[bot] 
							
						 
					 
					
						
						
							
						
						13bcb5ffb6 
					 
					
						
						
							
							Merge  #768  
						
						... 
						
						
						
						768: nrf/usb: fix control out transfers getting corrupted due to ep0rcvout sticking from earlier. r=Dirbaio a=Dirbaio
bors r+
Co-authored-by: Dario Nieuwenhuis <dirbaio@dirbaio.net > 
						
						
					 
					
						2022-05-12 16:46:35 +00:00 
						 
				 
			
				
					
						
							
							
								Dario Nieuwenhuis 
							
						 
					 
					
						
						
							
						
						0764fad587 
					 
					
						
						
							
							nrf/usb: fix control out transfers getting corrupted due to ep0rcvout sticking from earlier.  
						
						
						
						
					 
					
						2022-05-12 18:45:10 +02:00 
						 
				 
			
				
					
						
							
							
								Dario Nieuwenhuis 
							
						 
					 
					
						
						
							
						
						5fd55f9529 
					 
					
						
						
							
							usb: parse request in embassy-usb instead of the driver.  
						
						
						
						
					 
					
						2022-05-12 18:14:48 +02:00 
						 
				 
			
				
					
						
							
							
								Henrik Alsér 
							
						 
					 
					
						
						
							
						
						93cbd079ec 
					 
					
						
						
							
							Remove OnDrop handler, start sampling in new  
						
						
						
						
					 
					
						2022-05-12 15:35:32 +02:00 
						 
				 
			
				
					
						
							
							
								Henrik Alsér 
							
						 
					 
					
						
						
							
						
						0be9184efc 
					 
					
						
						
							
							Merge branch 'embassy-rs:master' into qdec  
						
						
						
						
					 
					
						2022-05-12 15:24:46 +02:00 
						 
				 
			
				
					
						
							
							
								Dario Nieuwenhuis 
							
						 
					 
					
						
						
							
						
						6af5f8eb2d 
					 
					
						
						
							
							usb: merge alloc_control_pipe and into_bus into start.  
						
						... 
						
						
						
						This prevents calling `alloc_control_pipe` twice at compile time, which was
always an error. 
						
						
					 
					
						2022-05-10 17:30:07 +02:00 
						 
				 
			
				
					
						
							
							
								Dario Nieuwenhuis 
							
						 
					 
					
						
						
							
						
						2e104170de 
					 
					
						
						
							
							usb: remove address arg from endpoint allocation.  
						
						
						
						
					 
					
						2022-05-09 02:07:48 +02:00 
						 
				 
			
				
					
						
							
							
								Henrik Alsér 
							
						 
					 
					
						
						
							
						
						1ca5475010 
					 
					
						
						
							
							Merge branch 'embassy-rs:master' into qdec  
						
						
						
						
					 
					
						2022-05-07 09:47:29 +02:00 
						 
				 
			
				
					
						
							
							
								Dario Nieuwenhuis 
							
						 
					 
					
						
						
							
						
						931a137f8c 
					 
					
						
						
							
							Replace embassy::io with embedded_io.  
						
						
						
						
					 
					
						2022-05-07 01:45:54 +02:00 
						 
				 
			
				
					
						
							
							
								Henrik Alsér 
							
						 
					 
					
						
						
							
						
						840bb2952e 
					 
					
						
						
							
							Add qdec module  
						
						
						
						
					 
					
						2022-05-07 00:46:36 +02:00 
						 
				 
			
				
					
						
							
							
								Dario Nieuwenhuis 
							
						 
					 
					
						
						
							
						
						0be6df168b 
					 
					
						
						
							
							nrf/twim: add blocking methods variants with timeout.  
						
						
						
						
					 
					
						2022-05-03 00:52:48 +02:00 
						 
				 
			
				
					
						
							
							
								Dario Nieuwenhuis 
							
						 
					 
					
						
						
							
						
						1a3f787932 
					 
					
						
						
							
							nrf/twim: add option for high drive.  
						
						
						
						
					 
					
						2022-05-03 00:52:48 +02:00 
						 
				 
			
				
					
						
							
							
								Dario Nieuwenhuis 
							
						 
					 
					
						
						
							
						
						29402fa76b 
					 
					
						
						
							
							nrf/gpio: add input+output to Flex, for OpenDrain.  
						
						
						
						
					 
					
						2022-05-03 00:52:48 +02:00 
						 
				 
			
				
					
						
							
							
								Zoey Riordan 
							
						 
					 
					
						
						
							
						
						2ebc1186e0 
					 
					
						
						
							
							Add split method to UarteWithIdle  
						
						
						
						
					 
					
						2022-04-27 20:33:41 +02:00 
						 
				 
			
				
					
						
							
							
								Dario Nieuwenhuis 
							
						 
					 
					
						
						
							
						
						11143a1be1 
					 
					
						
						
							
							Merge pull request  #722  from embassy-rs/usb-altsettings  
						
						... 
						
						
						
						usb: builtin handling of interface alternate settings 
						
						
					 
					
						2022-04-23 06:20:11 +02:00 
						 
				 
			
				
					
						
							
							
								Dario Nieuwenhuis 
							
						 
					 
					
						
						
							
						
						7778b79dc3 
					 
					
						
						
							
							nrf: autoenable defmt in deps.  
						
						
						
						
					 
					
						2022-04-23 06:03:38 +02:00 
						 
				 
			
				
					
						
							
							
								Dario Nieuwenhuis 
							
						 
					 
					
						
						
							
						
						092c2b7dfe 
					 
					
						
						
							
							usb: builtin handling of interface alternate settings  
						
						... 
						
						
						
						The stack reads its own descriptors to figure out which endpoints
are used in which alt settings, and enables/disables them as needed.
The ControlHandler has a callback so it can get notified of alternate
setting changes, which is purely informative (it doesn't have to do anything). 
						
						
					 
					
						2022-04-23 01:11:10 +02:00 
						 
				 
			
				
					
						
							
							
								Dario Nieuwenhuis 
							
						 
					 
					
						
						
							
						
						3251a21fb7 
					 
					
						
						
							
							Switch to crates.io embedded-hal, embedded-hal-async.  
						
						... 
						
						
						
						This temporarily removes support for the async UART trait, since it's
not yet in embedded-hal-async. 
						
						
					 
					
						2022-04-22 19:58:24 +02:00 
						 
				 
			
				
					
						
							
							
								Ulf Lilleengen 
							
						 
					 
					
						
						
							
						
						e966125d62 
					 
					
						
						
							
							Add embedded-storage trait impls for QSPI  
						
						... 
						
						
						
						* Adds implementations of embedded-storage and embedded-storage-async
for QSPI
* Add blocking implementations of QSPI
* Use blocking implementation in new() and embedded-storage impls
* Use async implementation in embedded-storage-async impls
* Add FLASH_SIZE const generic parameter
* Own IRQ in Qspi to disable it on drop 
						
						
					 
					
						2022-04-19 19:06:36 +02:00 
						 
				 
			
				
					
						
							
							
								alexmoon 
							
						 
					 
					
						
						
							
						
						2915e858ba 
					 
					
						
						
							
							Make Driver::disable async and fix comment  
						
						
						
						
					 
					
						2022-04-13 14:55:02 -04:00 
						 
				 
			
				
					
						
							
							
								alexmoon 
							
						 
					 
					
						
						
							
						
						3a30b08936 
					 
					
						
						
							
							Remove dead code on nrf5340  
						
						
						
						
					 
					
						2022-04-13 14:55:02 -04:00 
						 
				 
			
				
					
						
							
							
								alexmoon 
							
						 
					 
					
						
						
							
						
						f5656e3544 
					 
					
						
						
							
							Add DeviceStateHandler, DeviceCommand channel, and remote wakeup support  
						
						
						
						
					 
					
						2022-04-13 14:55:02 -04:00 
						 
				 
			
				
					
						
							
							
								alexmoon 
							
						 
					 
					
						
						
							
						
						e867364d42 
					 
					
						
						
							
							Unify ReadError and WriteError into EndpointError  
						
						
						
						
					 
					
						2022-04-09 01:48:17 +02:00 
						 
				 
			
				
					
						
							
							
								alexmoon 
							
						 
					 
					
						
						
							
						
						9c6d49961b 
					 
					
						
						
							
							Add saadc::VddhDiv5Input  
						
						
						
						
					 
					
						2022-04-08 13:41:21 -04:00 
						 
				 
			
				
					
						
							
							
								bors[bot] 
							
						 
					 
					
						
						
							
						
						37da84129d 
					 
					
						
						
							
							Merge  #657  
						
						... 
						
						
						
						657: Async usb stack r=Dirbaio a=Dirbaio
TODO
- [x] Make it work on nRF
- [x] Add a way for classes to handle their own EP0 control requests - thanks `@alexmoon!`
- [x] Handle CONTROL OUT requests with data.
- [ ] Impl AsyncRead/AsyncWrite for CDC ACM -- will do later, it's not trivial
- [x] Cleanup unwraps/asserts/panics
- [x] Cleanup logs (make everything trace/debug, not info)
- [ ] Port synopsys-usb-otg
- [ ] Port stm32-usbd
- [ ] Add more classes? HID, MSD?
Co-authored-by: Dario Nieuwenhuis <dirbaio@dirbaio.net >
Co-authored-by: alexmoon <alex.r.moon@gmail.com > 
						
						
					 
					
						2022-04-07 23:03:39 +00:00 
						 
				 
			
				
					
						
							
							
								alexmoon 
							
						 
					 
					
						
						
							
						
						7f9dd1a37b 
					 
					
						
						
							
							Fix spurious ControlPipe::data_in errors  
						
						
						
						
					 
					
						2022-04-07 10:54:21 -04:00 
						 
				 
			
				
					
						
							
							
								alexmoon 
							
						 
					 
					
						
						
							
						
						6abbfa9a92 
					 
					
						
						
							
							Async-ify Driver::enable and UsbDeviceBuilder::build  
						
						
						
						
					 
					
						2022-04-07 10:51:26 -04:00 
						 
				 
			
				
					
						
							
							
								Matous Hybl 
							
						 
					 
					
						
						
							
						
						eb6910fa86 
					 
					
						
						
							
							Reexport unborrow macro in HALs  
						
						
						
						
					 
					
						2022-04-07 12:57:02 +02:00 
						 
				 
			
				
					
						
							
							
								Dario Nieuwenhuis 
							
						 
					 
					
						
						
							
						
						22a47aeeb2 
					 
					
						
						
							
							usb: abort control data in/out on reset or when receiving another SETUP.  
						
						... 
						
						
						
						This removes the horrible timeout hack. 
						
						
					 
					
						2022-04-06 05:38:11 +02:00 
						 
				 
			
				
					
						
							
							
								alexmoon 
							
						 
					 
					
						
						
							
						
						2ce435dc34 
					 
					
						
						
							
							Add basic device state handling for endpoints.  
						
						
						
						
					 
					
						2022-04-06 05:38:11 +02:00 
						 
				 
			
				
					
						
							
							
								alexmoon 
							
						 
					 
					
						
						
							
						
						99f95a33c3 
					 
					
						
						
							
							Simplify hid output report handling  
						
						
						
						
					 
					
						2022-04-06 05:38:11 +02:00 
						 
				 
			
				
					
						
							
							
								alexmoon 
							
						 
					 
					
						
						
							
						
						c8ad82057d 
					 
					
						
						
							
							Reduce memory overhead and simplify logic for merging endpoint and control request output reports.  
						
						
						
						
					 
					
						2022-04-06 05:38:11 +02:00 
						 
				 
			
				
					
						
							
							
								Dario Nieuwenhuis 
							
						 
					 
					
						
						
							
						
						522a87ae42 
					 
					
						
						
							
							usb: centralize all control logging in control.rs  
						
						
						
						
					 
					
						2022-04-06 05:38:11 +02:00 
						 
				 
			
				
					
						
							
							
								Dario Nieuwenhuis 
							
						 
					 
					
						
						
							
						
						d7d199f2ac 
					 
					
						
						
							
							nrf/usb: unify in/out wakers for ep0  
						
						
						
						
					 
					
						2022-04-06 05:38:11 +02:00 
						 
				 
			
				
					
						
							
							
								alexmoon 
							
						 
					 
					
						
						
							
						
						77e0aca03b 
					 
					
						
						
							
							Move data chunking from the driver to the lib  
						
						
						
						
					 
					
						2022-04-06 05:38:11 +02:00 
						 
				 
			
				
					
						
							
							
								Dario Nieuwenhuis 
							
						 
					 
					
						
						
							
						
						a435d78cf7 
					 
					
						
						
							
							usb: cleanup and simplify error handling.  
						
						
						
						
					 
					
						2022-04-06 05:38:11 +02:00 
						 
				 
			
				
					
						
							
							
								Dario Nieuwenhuis 
							
						 
					 
					
						
						
							
						
						60d3d11197 
					 
					
						
						
							
							usb: cleanup logging.  
						
						
						
						
					 
					
						2022-04-06 05:38:11 +02:00 
						 
				 
			
				
					
						
							
							
								Dario Nieuwenhuis 
							
						 
					 
					
						
						
							
						
						d1e4b3d7d5 
					 
					
						
						
							
							usb: add -usb-serial crate, fix warnings and stable build.  
						
						
						
						
					 
					
						2022-04-06 05:38:11 +02:00 
						 
				 
			
				
					
						
							
							
								alexmoon 
							
						 
					 
					
						
						
							
						
						c06488eb29 
					 
					
						
						
							
							Support multi-frame data phase control requests  
						
						
						
						
					 
					
						2022-04-06 05:38:11 +02:00 
						 
				 
			
				
					
						
							
							
								alexmoon 
							
						 
					 
					
						
						
							
						
						46bafecb2a 
					 
					
						
						
							
							Only copy through RAM when needed  
						
						
						
						
					 
					
						2022-04-06 05:38:11 +02:00 
						 
				 
			
				
					
						
							
							
								Dario Nieuwenhuis 
							
						 
					 
					
						
						
							
						
						a062baae38 
					 
					
						
						
							
							nrf/usb: fix wrong DMA read size  
						
						
						
						
					 
					
						2022-04-06 05:38:11 +02:00 
						 
				 
			
				
					
						
							
							
								alexmoon 
							
						 
					 
					
						
						
							
						
						bdc6e0481c 
					 
					
						
						
							
							Add support for USB classes handling control requests.  
						
						
						
						
					 
					
						2022-04-06 05:38:11 +02:00