From 07972ee5212f7de34e35a4c91e76ea4b243a7a49 Mon Sep 17 00:00:00 2001 From: Leon Loeser Date: Wed, 25 Sep 2024 16:35:32 +0200 Subject: [PATCH] Implement missing USB functions as not-implemented warnings so everything works as before on non-rp platforms for now --- embassy-nrf/src/usb/mod.rs | 25 ++++++++++++++++++++++--- embassy-stm32/src/usb/otg.rs | 26 +++++++++++++++++++++++++- embassy-stm32/src/usb/usb.rs | 21 +++++++++++++++++++-- embassy-usb-synopsys-otg/src/lib.rs | 27 +++++++++++++++++++++++++-- 4 files changed, 91 insertions(+), 8 deletions(-) diff --git a/embassy-nrf/src/usb/mod.rs b/embassy-nrf/src/usb/mod.rs index f512996ac6..50d631078a 100644 --- a/embassy-nrf/src/usb/mod.rs +++ b/embassy-nrf/src/usb/mod.rs @@ -14,7 +14,10 @@ use cortex_m::peripheral::NVIC; use embassy_hal_internal::{into_ref, PeripheralRef}; use embassy_sync::waitqueue::AtomicWaker; use embassy_usb_driver as driver; -use embassy_usb_driver::{Direction, EndpointAddress, EndpointError, EndpointInfo, EndpointType, Event, Unsupported}; +use embassy_usb_driver::{ + Direction, EndpointAddress, EndpointError, EndpointInfo, EndpointType, Event, SynchronizationType, Unsupported, + UsageType, +}; use pac::usbd::RegisterBlock; use self::vbus_detect::VbusDetect; @@ -166,6 +169,14 @@ impl<'d, T: Instance, V: VbusDetect + 'd> driver::Driver<'d> for Driver<'d, T, V }, ) } + + fn grow_endpoint_in_buffer(&mut self, ep: &mut Self::EndpointIn, new_max_packet_size: u16) { + warn!("Not implemented yet!!!"); + } + + fn grow_endpoint_out_buffer(&mut self, ep: &mut Self::EndpointOut, new_max_packet_size: u16) { + warn!("Not implemented yet!!!"); + } } /// USB bus. @@ -307,11 +318,19 @@ impl<'d, T: Instance, V: VbusDetect> driver::Bus for Bus<'d, T, V> { } fn endpoint_set_buffersize(&mut self, ep_addr: EndpointAddress, buf_size: u16) { - todo!(); + warn!("Not implemented yet!!!"); + } + + fn endpoint_set_sync_type(&mut self, ep_addr: EndpointAddress, synchronization_type: SynchronizationType) { + warn!("Not implemented yet!!!"); + } + + fn endpoint_set_usage_type(&mut self, ep_addr: EndpointAddress, usage_type: UsageType) { + warn!("Not implemented yet!!!"); } fn endpoint_set_type(&mut self, ep_addr: EndpointAddress, ep_type: EndpointType) { - todo!(); + warn!("Not implemented yet!!!"); } fn endpoint_set_enabled(&mut self, ep_addr: EndpointAddress, enabled: bool) { diff --git a/embassy-stm32/src/usb/otg.rs b/embassy-stm32/src/usb/otg.rs index e27b164e47..f3accd74ee 100644 --- a/embassy-stm32/src/usb/otg.rs +++ b/embassy-stm32/src/usb/otg.rs @@ -1,7 +1,7 @@ use core::marker::PhantomData; use embassy_hal_internal::{into_ref, Peripheral}; -use embassy_usb_driver::{EndpointAddress, EndpointAllocError, EndpointType, Event, Unsupported}; +use embassy_usb_driver::{EndpointAddress, EndpointAllocError, EndpointType, Event, SynchronizationType, Unsupported, UsageType}; use embassy_usb_synopsys_otg::otg_v1::vals::Dspd; use embassy_usb_synopsys_otg::otg_v1::Otg; pub use embassy_usb_synopsys_otg::Config; @@ -234,6 +234,14 @@ impl<'d, T: Instance> embassy_usb_driver::Driver<'d> for Driver<'d, T> { cp, ) } + + fn grow_endpoint_in_buffer(&mut self, ep: &mut Self::EndpointIn, new_max_packet_size: u16) { + warn!("Not implemented yet!!!"); + } + + fn grow_endpoint_out_buffer(&mut self, ep: &mut Self::EndpointOut, new_max_packet_size: u16) { + warn!("Not implemented yet!!!"); + } } /// USB bus. @@ -320,6 +328,22 @@ impl<'d, T: Instance> embassy_usb_driver::Bus for Bus<'d, T> { self.inner.endpoint_is_stalled(ep_addr) } + fn endpoint_set_buffersize(&mut self, ep_addr: EndpointAddress, buf_size: u16) { + warn!("Not implemented yet!!!"); + } + + fn endpoint_set_sync_type(&mut self, ep_addr: EndpointAddress, synchronization_type: SynchronizationType) { + warn!("Not implemented yet!!!"); + } + + fn endpoint_set_usage_type(&mut self, ep_addr: EndpointAddress, usage_type: UsageType) { + warn!("Not implemented yet!!!"); + } + + fn endpoint_set_type(&mut self, ep_addr: EndpointAddress, ep_type: EndpointType) { + warn!("Not implemented yet!!!"); + } + fn endpoint_set_enabled(&mut self, ep_addr: EndpointAddress, enabled: bool) { self.inner.endpoint_set_enabled(ep_addr, enabled) } diff --git a/embassy-stm32/src/usb/usb.rs b/embassy-stm32/src/usb/usb.rs index c01405a3d4..c41e7ecb3f 100644 --- a/embassy-stm32/src/usb/usb.rs +++ b/embassy-stm32/src/usb/usb.rs @@ -519,6 +519,15 @@ impl<'d, T: Instance> driver::Driver<'d> for Driver<'d, T> { }, ) } + + fn grow_endpoint_in_buffer(&mut self, ep: &mut Self::EndpointIn, new_max_packet_size: u16) { + warn!("Not implemented yet!!!"); + } + + + fn grow_endpoint_out_buffer(&mut self, ep: &mut Self::EndpointOut, new_max_packet_size: u16) { + warn!("Not implemented yet!!!"); + } } /// USB bus. @@ -643,11 +652,19 @@ impl<'d, T: Instance> driver::Bus for Bus<'d, T> { } fn endpoint_set_buffersize(&mut self, ep_addr: EndpointAddress, buf_size: u16) { - todo!(); + warn!("Not implemented yet!!!"); + } + + fn endpoint_set_sync_type(&mut self, ep_addr: EndpointAddress, synchronization_type: SynchronizationType) { + warn!("Not implemented yet!!!"); + } + + fn endpoint_set_usage_type(&mut self, ep_addr: EndpointAddress, usage_type: UsageType) { + warn!("Not implemented yet!!!"); } fn endpoint_set_type(&mut self, ep_addr: EndpointAddress, ep_type: EndpointType) { - todo!(); + warn!("Not implemented yet!!!"); } fn endpoint_set_enabled(&mut self, ep_addr: EndpointAddress, enabled: bool) { diff --git a/embassy-usb-synopsys-otg/src/lib.rs b/embassy-usb-synopsys-otg/src/lib.rs index b145f4aa86..eadca4ebd8 100644 --- a/embassy-usb-synopsys-otg/src/lib.rs +++ b/embassy-usb-synopsys-otg/src/lib.rs @@ -14,8 +14,7 @@ use core::task::Poll; use embassy_sync::waitqueue::AtomicWaker; use embassy_usb_driver::{ - Bus as _, Direction, EndpointAddress, EndpointAllocError, EndpointError, EndpointIn, EndpointInfo, EndpointOut, - EndpointType, Event, Unsupported, + Bus as _, Direction, EndpointAddress, EndpointAllocError, EndpointError, EndpointIn, EndpointInfo, EndpointOut, EndpointType, Event, SynchronizationType, Unsupported, UsageType }; pub mod otg_v1; @@ -496,6 +495,14 @@ impl<'d, const MAX_EP_COUNT: usize> embassy_usb_driver::Driver<'d> for Driver<'d }, ) } + + fn grow_endpoint_in_buffer(&mut self, ep: &mut Self::EndpointIn, new_max_packet_size: u16) { + warn!("Not implemented yet!!!"); + } + + fn grow_endpoint_out_buffer(&mut self, ep: &mut Self::EndpointOut, new_max_packet_size: u16) { + warn!("Not implemented yet!!!"); + } } /// USB bus. @@ -881,6 +888,22 @@ impl<'d, const MAX_EP_COUNT: usize> embassy_usb_driver::Bus for Bus<'d, MAX_EP_C } } + fn endpoint_set_buffersize(&mut self, ep_addr: EndpointAddress, buf_size: u16) { + warn!("Not implemented yet!!!"); + } + + fn endpoint_set_sync_type(&mut self, ep_addr: EndpointAddress, synchronization_type: SynchronizationType) { + warn!("Not implemented yet!!!"); + } + + fn endpoint_set_usage_type(&mut self, ep_addr: EndpointAddress, usage_type: UsageType) { + warn!("Not implemented yet!!!"); + } + + fn endpoint_set_type(&mut self, ep_addr: EndpointAddress, ep_type: EndpointType) { + warn!("Not implemented yet!!!"); + } + fn endpoint_set_enabled(&mut self, ep_addr: EndpointAddress, enabled: bool) { trace!("endpoint_set_enabled ep={:?} en={}", ep_addr, enabled);