Dario Nieuwenhuis 
							
						 
					 
					
						
						
							
						
						a8703b7598 
					 
					
						
						
							
							Run rustfmt.  
						
						
						
						
					 
					
						2022-06-12 22:22:31 +02:00 
						 
				 
			
				
					
						
							
							
								Dario Nieuwenhuis 
							
						 
					 
					
						
						
							
						
						39ab599eed 
					 
					
						
						
							
							usb: set default max_packet_size_0 to 64.  
						
						... 
						
						
						
						Supported chips can always do 64 bytes, 8 bytes seems to be more rare.
We can add a way for the driver to specify the default in the future. 
						
						
					 
					
						2022-05-31 02:01:22 +02:00 
						 
				 
			
				
					
						
							
							
								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 
						 
				 
			
				
					
						
							
							
								Dario Nieuwenhuis 
							
						 
					 
					
						
						
							
						
						98d8c9373d 
					 
					
						
						
							
							usb: delay bus.set_address() to after ending the control transfer.  
						
						
						
						
					 
					
						2022-05-30 00:03:36 +02:00 
						 
				 
			
				
					
						
							
							
								Dario Nieuwenhuis 
							
						 
					 
					
						
						
							
						
						5fd55f9529 
					 
					
						
						
							
							usb: parse request in embassy-usb instead of the driver.  
						
						
						
						
					 
					
						2022-05-12 18:14:48 +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 
							
						 
					 
					
						
						
							
						
						02ae1138e1 
					 
					
						
						
							
							usb: merge Control logic into main code.  
						
						... 
						
						
						
						Now that control stuff is called from just one place, there's
no need to keep it as a separate struct. 
						
						
					 
					
						2022-05-09 03:43:24 +02:00 
						 
				 
			
				
					
						
							
							
								Dario Nieuwenhuis 
							
						 
					 
					
						
						
							
						
						7ed462a657 
					 
					
						
						
							
							usb: simplify control in/out handlng, calling response from a single place.  
						
						
						
						
					 
					
						2022-05-09 02:11:02 +02:00 
						 
				 
			
				
					
						
							
							
								Dario Nieuwenhuis 
							
						 
					 
					
						
						
							
						
						2e104170de 
					 
					
						
						
							
							usb: remove address arg from endpoint allocation.  
						
						
						
						
					 
					
						2022-05-09 02:07:48 +02:00 
						 
				 
			
				
					
						
							
							
								Dario Nieuwenhuis 
							
						 
					 
					
						
						
							
						
						0476f6b55b 
					 
					
						
						
							
							usb: add support for custom string descriptors.  
						
						
						
						
					 
					
						2022-04-23 04:40:57 +02:00 
						 
				 
			
				
					
						
							
							
								Dario Nieuwenhuis 
							
						 
					 
					
						
						
							
						
						7c6a88f3dd 
					 
					
						
						
							
							usb: set the interface handler in InterfaceBuilder.  
						
						
						
						
					 
					
						2022-04-23 01:29:19 +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 
							
						 
					 
					
						
						
							
						
						50d257cc7c 
					 
					
						
						
							
							usb: improved descriptor building API  
						
						... 
						
						
						
						The same API call allocates interfaces/endpoints/etc and writes their descriptors.
This means less API calls, and less possibility to screw things up.
DescriptorWriter is now private. 
						
						
					 
					
						2022-04-16 04:30:31 +02:00 
						 
				 
			
				
					
						
							
							
								Dario Nieuwenhuis 
							
						 
					 
					
						
						
							
						
						1bf7b4d6c3 
					 
					
						
						
							
							usb: rename UsbDeviceBuilder -> Builder.  
						
						
						
						
					 
					
						2022-04-16 04:14:20 +02:00 
						 
				 
			
				
					
						
							
							
								Dario Nieuwenhuis 
							
						 
					 
					
						
						
							
						
						94090e068e 
					 
					
						
						
							
							usb: fix wrong logging of CONTROL OUT data.  
						
						
						
						
					 
					
						2022-04-15 18:45:52 +02:00 
						 
				 
			
				
					
						
							
							
								alexmoon 
							
						 
					 
					
						
						
							
						
						b0725c14d3 
					 
					
						
						
							
							Split UsbDevice::run into run and run_until_suspend  
						
						
						
						
					 
					
						2022-04-13 16:04:31 -04:00 
						 
				 
			
				
					
						
							
							
								alexmoon 
							
						 
					 
					
						
						
							
						
						ff7c6b350e 
					 
					
						
						
							
							Remove channel and make run future cancelable  
						
						
						
						
					 
					
						2022-04-13 14:55:02 -04:00 
						 
				 
			
				
					
						
							
							
								alexmoon 
							
						 
					 
					
						
						
							
						
						1d875fab2d 
					 
					
						
						
							
							Use embassy::util::select3  
						
						
						
						
					 
					
						2022-04-13 14:55:02 -04:00 
						 
				 
			
				
					
						
							
							
								alexmoon 
							
						 
					 
					
						
						
							
						
						2915e858ba 
					 
					
						
						
							
							Make Driver::disable async and fix comment  
						
						
						
						
					 
					
						2022-04-13 14:55:02 -04:00 
						 
				 
			
				
					
						
							
							
								alexmoon 
							
						 
					 
					
						
						
							
						
						7fde3abd5d 
					 
					
						
						
							
							Remote wakeup bug fixes  
						
						
						
						
					 
					
						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 
							
						 
					 
					
						
						
							
						
						6abbfa9a92 
					 
					
						
						
							
							Async-ify Driver::enable and UsbDeviceBuilder::build  
						
						
						
						
					 
					
						2022-04-07 10:51:26 -04: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 
						 
				 
			
				
					
						
							
							
								Dario Nieuwenhuis 
							
						 
					 
					
						
						
							
						
						f6d11dfba5 
					 
					
						
						
							
							usb: fix slow enumeration with EP0 max_packet_size of 8 or 16.  
						
						
						
						
					 
					
						2022-04-06 05:38:11 +02:00 
						 
				 
			
				
					
						
							
							
								Dario Nieuwenhuis 
							
						 
					 
					
						
						
							
						
						fa9eadcee9 
					 
					
						
						
							
							Add docserver metadata.  
						
						
						
						
					 
					
						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 
							
						 
					 
					
						
						
							
						
						8fe3b44d82 
					 
					
						
						
							
							usb: log on reset, resume, suspend  
						
						
						
						
					 
					
						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 
						 
				 
			
				
					
						
							
							
								alexmoon 
							
						 
					 
					
						
						
							
						
						f5ba022257 
					 
					
						
						
							
							Refactor ControlPipe to use the typestate pattern for safety  
						
						
						
						
					 
					
						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 
							
						 
					 
					
						
						
							
						
						d40ebcccf6 
					 
					
						
						
							
							Add handlers for standard reqs to ControlHandler  
						
						
						
						
					 
					
						2022-04-06 05:38:11 +02:00 
						 
				 
			
				
					
						
							
							
								alexmoon 
							
						 
					 
					
						
						
							
						
						13370c28db 
					 
					
						
						
							
							Add a control_buf to UsbDevice  
						
						
						
						
					 
					
						2022-04-06 05:38:11 +02:00 
						 
				 
			
				
					
						
							
							
								alexmoon 
							
						 
					 
					
						
						
							
						
						c53bb7394a 
					 
					
						
						
							
							Switch to ControlHandler owned bufs for control_in()  
						
						
						
						
					 
					
						2022-04-06 05:38:11 +02:00 
						 
				 
			
				
					
						
							
							
								Dario Nieuwenhuis 
							
						 
					 
					
						
						
							
						
						d7b1f8ca57 
					 
					
						
						
							
							usb: update docs on ControlHandler.  
						
						
						
						
					 
					
						2022-04-06 05:38:11 +02:00 
						 
				 
			
				
					
						
							
							
								Dario Nieuwenhuis 
							
						 
					 
					
						
						
							
						
						e99a3a1da4 
					 
					
						
						
							
							usb: simplify buffer handling for Control IN transfers.  
						
						
						
						
					 
					
						2022-04-06 05:38:11 +02:00 
						 
				 
			
				
					
						
							
							
								Dario Nieuwenhuis 
							
						 
					 
					
						
						
							
						
						bfce731982 
					 
					
						
						
							
							usb: nicer names for control structs.  
						
						
						
						
					 
					
						2022-04-06 05:38:11 +02:00 
						 
				 
			
				
					
						
							
							
								Dario Nieuwenhuis 
							
						 
					 
					
						
						
							
						
						2b547f311e 
					 
					
						
						
							
							usb: move all control-related stuff to mod control.  
						
						
						
						
					 
					
						2022-04-06 05:38:11 +02:00 
						 
				 
			
				
					
						
							
							
								Dario Nieuwenhuis 
							
						 
					 
					
						
						
							
						
						15cc97d794 
					 
					
						
						
							
							usb: associate ControlHandlers with interfaces, automatically route requests.  
						
						
						
						
					 
					
						2022-04-06 05:38:11 +02:00 
						 
				 
			
				
					
						
							
							
								Dario Nieuwenhuis 
							
						 
					 
					
						
						
							
						
						3412e5dc4a 
					 
					
						
						
							
							usb: cleanup giant matches in control code.  
						
						
						
						
					 
					
						2022-04-06 05:38:11 +02:00 
						 
				 
			
				
					
						
							
							
								Dario Nieuwenhuis 
							
						 
					 
					
						
						
							
						
						a2f5763a67 
					 
					
						
						
							
							usb: add add_class to builder, so that FooBarClass::new(&mut builder) can set up everything.  
						
						
						
						
					 
					
						2022-04-06 05:38:11 +02:00 
						 
				 
			
				
					
						
							
							
								alexmoon 
							
						 
					 
					
						
						
							
						
						52c622b1cd 
					 
					
						
						
							
							Use trait objects instead of generics for UsbDevice::classes  
						
						
						
						
					 
					
						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