Dario Nieuwenhuis 
							
						 
					 
					
						
						
							
						
						a5aea995a8 
					 
					
						
						
							
							WIP embassy-net v2  
						
						
						
						
					 
					
						2022-05-25 19:56:22 +02:00 
						 
				 
			
				
					
						
							
							
								Dario Nieuwenhuis 
							
						 
					 
					
						
						
							
						
						e3b8e35498 
					 
					
						
						
							
							Make embassy-net nightly-only.  
						
						... 
						
						
						
						It's useless without async traits, so juggling the `nightly` feature
around is not worth the pain. 
						
						
					 
					
						2022-05-19 06:15:01 +02:00 
						 
				 
			
				
					
						
							
							
								Dario Nieuwenhuis 
							
						 
					 
					
						
						
							
						
						47ceee47d5 
					 
					
						
						
							
							Update embedded-io to 0.3  
						
						
						
						
					 
					
						2022-05-19 00:36:18 +02:00 
						 
				 
			
				
					
						
							
							
								Henrik Alsér 
							
						 
					 
					
						
						
							
						
						0be9184efc 
					 
					
						
						
							
							Merge branch 'embassy-rs:master' into qdec  
						
						
						
						
					 
					
						2022-05-12 15:24:46 +02:00 
						 
				 
			
				
					
						
							
							
								bors[bot] 
							
						 
					 
					
						
						
							
						
						30d4d0e9d7 
					 
					
						
						
							
							Merge  #763   #766  
						
						... 
						
						
						
						763: Misc USB improvements r=Dirbaio a=Dirbaio
The "simplify control in/out handlng" commit gives a -2kb code size improvement.
766: Make usb_serial examples work on windows r=Dirbaio a=timokroeger
Windows shows `error 10` when using CDC ACM on non composite devices.
Workaround is to use IADS:
https://developer.nordicsemi.com/nRF_Connect_SDK/doc/1.9.1/kconfig/CONFIG_CDC_ACM_IAD.html#help 
Co-authored-by: Dario Nieuwenhuis <dirbaio@dirbaio.net >
Co-authored-by: Timo Kröger <timo.kroeger@hitachienergy.com > 
						
						
					 
					
						2022-05-12 13:04:29 +00:00 
						 
				 
			
				
					
						
							
							
								Timo Kröger 
							
						 
					 
					
						
						
							
						
						2a7afe4262 
					 
					
						
						
							
							Make usb_serial examples work on windows  
						
						... 
						
						
						
						Windows shows `error 10` when using CDC ACM on non composite devices.
Workaround is to use IADS:
https://developer.nordicsemi.com/nRF_Connect_SDK/doc/1.9.1/kconfig/CONFIG_CDC_ACM_IAD.html#help  
						
						
					 
					
						2022-05-12 08:05:13 +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 
							
						 
					 
					
						
						
							
						
						108a981360 
					 
					
						
						
							
							Change example pins  
						
						
						
						
					 
					
						2022-05-07 01:15:01 +02:00 
						 
				 
			
				
					
						
							
							
								Henrik Alsér 
							
						 
					 
					
						
						
							
						
						840bb2952e 
					 
					
						
						
							
							Add qdec module  
						
						
						
						
					 
					
						2022-05-07 00:46:36 +02:00 
						 
				 
			
				
					
						
							
							
								Dario Nieuwenhuis 
							
						 
					 
					
						
						
							
						
						a5f5c3a844 
					 
					
						
						
							
							net: add functions to get current Eth and IP config  
						
						
						
						
					 
					
						2022-05-02 16:19:34 +02:00 
						 
				 
			
				
					
						
							
							
								Dario Nieuwenhuis 
							
						 
					 
					
						
						
							
						
						9e897cbea9 
					 
					
						
						
							
							executor: Add Spawner::for_current_executor.  
						
						
						
						
					 
					
						2022-04-26 19:08:18 +02:00 
						 
				 
			
				
					
						
							
							
								Dario Nieuwenhuis 
							
						 
					 
					
						
						
							
						
						2b0e8a330b 
					 
					
						
						
							
							examples/nrf: add self_spawn example.  
						
						... 
						
						
						
						This serves as a compile-test of possible typecheck loops due to
TAIT shenanigans. 
						
						
					 
					
						2022-04-25 22:19:40 +02:00 
						 
				 
			
				
					
						
							
							
								Dario Nieuwenhuis 
							
						 
					 
					
						
						
							
						
						b27feb0619 
					 
					
						
						
							
							executor: fix unsoundness in InterruptExecutor::start.  
						
						... 
						
						
						
						The initial closure is not actually called in the interrupt, so this is
illegally sending non-Send futures to the interrupt.
Remove the closure, and return a SendSpawner instead. 
						
						
					 
					
						2022-04-25 22:09:04 +02:00 
						 
				 
			
				
					
						
							
							
								Dario Nieuwenhuis 
							
						 
					 
					
						
						
							
						
						d409026b95 
					 
					
						
						
							
							examples/nrf: add product strings to all usb examples.  
						
						
						
						
					 
					
						2022-04-24 22:46:45 +02:00 
						 
				 
			
				
					
						
							
							
								Dario Nieuwenhuis 
							
						 
					 
					
						
						
							
						
						d57fd87ba7 
					 
					
						
						
							
							Add embassy-usb-ncm. Implements USBB CDC NCM (Ethernet over USB)  
						
						
						
						
					 
					
						2022-04-24 22:44:52 +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 
						 
				 
			
				
					
						
							
							
								Dario Nieuwenhuis 
							
						 
					 
					
						
						
							
						
						1bf7b4d6c3 
					 
					
						
						
							
							usb: rename UsbDeviceBuilder -> Builder.  
						
						
						
						
					 
					
						2022-04-16 04:14:20 +02:00 
						 
				 
			
				
					
						
							
							
								Dario Nieuwenhuis 
							
						 
					 
					
						
						
							
						
						f35bde684a 
					 
					
						
						
							
							usb-hid: add Config struct, to avoid too many params.  
						
						
						
						
					 
					
						2022-04-16 02:07:03 +02:00 
						 
				 
			
				
					
						
							
							
								Dario Nieuwenhuis 
							
						 
					 
					
						
						
							
						
						c0de54a341 
					 
					
						
						
							
							usb-hid: Simplify API.  
						
						... 
						
						
						
						- Renamed structs to HidReaderWriter, HidReader, HidWriter.
- Removed unused const generics on `State`.
- Simplified generics on `HidReaderWriter`.
  The class type previously was `HidClass<D, Driver<'d, USBD>, ReportReader<'d, Driver<'d, USBD>, OUT_N>, IN_N>`
  It's now `HidClass<D, Driver<'d, USBD>, IN_N, OUT_N>`. Note that the driver type `Driver<'d, USBD>` is no longer repeated.
- Constructors are now: `HidWriter::new()` for IN-only, `HidReaderWriter::new()` for IN+OUT. No complicated bounds.
- HidReaderWriter has all the methods from HidReader, HidWriter. 
						
						
					 
					
						2022-04-16 01:59:40 +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 
							
						 
					 
					
						
						
							
						
						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 
						 
				 
			
				
					
						
							
							
								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 
							
						 
					 
					
						
						
							
						
						6abbfa9a92 
					 
					
						
						
							
							Async-ify Driver::enable and UsbDeviceBuilder::build  
						
						
						
						
					 
					
						2022-04-07 10:51:26 -04:00 
						 
				 
			
				
					
						
							
							
								bors[bot] 
							
						 
					 
					
						
						
							
						
						fee0aef076 
					 
					
						
						
							
							Merge  #696  
						
						... 
						
						
						
						696: Add async Mutex. r=Dirbaio a=Dirbaio
What it says on the tin :) 
It allows sharing data between tasks when you want to `.await` stuff while holding it locked.
Co-authored-by: Dario Nieuwenhuis <dirbaio@dirbaio.net > 
						
						
					 
					
						2022-04-06 10:20:43 +00:00 
						 
				 
			
				
					
						
							
							
								alexmoon 
							
						 
					 
					
						
						
							
						
						a1754ac8a8 
					 
					
						
						
							
							embassy-usb-hid bug fixes  
						
						
						
						
					 
					
						2022-04-06 05:38:11 +02:00 
						 
				 
			
				
					
						
							
							
								Dario Nieuwenhuis 
							
						 
					 
					
						
						
							
						
						b2e517bb28 
					 
					
						
						
							
							usb/serial: add multitask example.  
						
						
						
						
					 
					
						2022-04-06 05:38:11 +02:00 
						 
				 
			
				
					
						
							
							
								Dario Nieuwenhuis 
							
						 
					 
					
						
						
							
						
						3dbb7c9e15 
					 
					
						
						
							
							usb/hid: add keyboard example.  
						
						
						
						
					 
					
						2022-04-06 05:38:11 +02:00 
						 
				 
			
				
					
						
							
							
								Dario Nieuwenhuis 
							
						 
					 
					
						
						
							
						
						6d514a0b31 
					 
					
						
						
							
							usb/hid: update for endpoint state changes.  
						
						
						
						
					 
					
						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 
							
						 
					 
					
						
						
							
						
						c309531874 
					 
					
						
						
							
							Remove output() and split() methods from HidClass when there is no out endpoint, and route set_report requests for output reports to RequestHandler::set_report in that case.  
						
						
						
						
					 
					
						2022-04-06 05:38:11 +02:00 
						 
				 
			
				
					
						
							
							
								alexmoon 
							
						 
					 
					
						
						
							
						
						a51de5a39a 
					 
					
						
						
							
							Remove the feature report reader  
						
						
						
						
					 
					
						2022-04-06 05:38:11 +02:00 
						 
				 
			
				
					
						
							
							
								alexmoon 
							
						 
					 
					
						
						
							
						
						5ee7a85b33 
					 
					
						
						
							
							Async USB HID class  
						
						
						
						
					 
					
						2022-04-06 05:38:11 +02:00 
						 
				 
			
				
					
						
							
							
								Dario Nieuwenhuis 
							
						 
					 
					
						
						
							
						
						1672fdc666 
					 
					
						
						
							
							usb-serial: make inner guts private.  
						
						
						
						
					 
					
						2022-04-06 05:38:11 +02:00 
						 
				 
			
				
					
						
							
							
								Dario Nieuwenhuis 
							
						 
					 
					
						
						
							
						
						cdb7bae51a 
					 
					
						
						
							
							examples/nrf: don't build usb stuff in stable.  
						
						
						
						
					 
					
						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 
							
						 
					 
					
						
						
							
						
						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 
						 
				 
			
				
					
						
							
							
								alexmoon 
							
						 
					 
					
						
						
							
						
						a22639ad92 
					 
					
						
						
							
							Remove UnsafeCell from cdc_acm::Control  
						
						
						
						
					 
					
						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 
							
						 
					 
					
						
						
							
						
						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