huntc 
							
						 
					 
					
						
						
						
						
							
						
						
							c46e9b6cfc 
							
						 
					 
					
						
						
							
							Introduces EnabledUsbDevice  
						
						... 
						
						
						
						EnabledUsbDevice is a wrapper around the UsbDevice where their enablement is also subject to external events, such as POWER events for nRF. It is introduced generically to support other platforms should they also require external signalling for enablement. 
						
						
					 
					
						2022-07-07 10:08:57 +10:00 
						 
				 
			
				
					
						
							
							
								Dario Nieuwenhuis 
							
						 
					 
					
						
						
						
						
							
						
						
							948bb93dc2 
							
						 
					 
					
						
						
							
							docs: Add $COMMIT to git srclinks.  
						
						
						
						
					 
					
						2022-06-26 23:55:38 +02:00 
						 
				 
			
				
					
						
							
							
								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