From a175b1477ad6cfad765eb058dd5e2f2de8833a29 Mon Sep 17 00:00:00 2001 From: Brian Cully Date: Sun, 28 Jul 2019 16:46:30 -0400 Subject: `control_req` -> `control_transfer`. Same as in/out transfer functions now, and matches USB spec terminology. --- usbh/src/device.rs | 16 ++++++++++------ usbh/src/lib.rs | 4 ++-- usbh/src/pipe.rs | 2 +- 3 files changed, 13 insertions(+), 9 deletions(-) diff --git a/usbh/src/device.rs b/usbh/src/device.rs index bdb993e..e77c9ea 100644 --- a/usbh/src/device.rs +++ b/usbh/src/device.rs @@ -9,6 +9,10 @@ use log::{debug, error, info, trace}; use atsamd_hal::target_device::usb; const MAX_DEVICES: usize = 16; + +// TODO: +// This may be wrong. It may be 15 additional input + 15 additional +// output! cf ยง5.3.1.2 of USB 2.0. const MAX_ENDPOINTS: usize = 16; // How long to wait before talking to the device again after setting @@ -140,7 +144,7 @@ impl Device { let mut vol_descr = ::vcell::VolatileCell::::new(Default::default()); - pipe.control_req( + pipe.control_transfer( RequestType::get_descr(), RequestCode::GetDescriptor, WValue::from((0, DescriptorType::Device as u8)), @@ -162,7 +166,7 @@ impl Device { let mut vol_descr = ::vcell::VolatileCell::::new(Default::default()); - pipe.control_req( + pipe.control_transfer( RequestType::get_descr(), RequestCode::GetDescriptor, WValue::from((0, DescriptorType::Configuration as u8)), @@ -177,7 +181,7 @@ impl Device { assert!(desc.w_total_length < 64); let buf: [u8; 64] = [0; 64]; let mut tmp = &buf[..desc.w_total_length as usize]; - pipe.control_req( + pipe.control_transfer( RequestType::get_descr(), RequestCode::GetDescriptor, WValue::from((0, DescriptorType::Configuration as u8)), @@ -194,7 +198,7 @@ impl Device { debug!("+++ setting configuration"); let conf: u8 = 1; - pipe.control_req( + pipe.control_transfer( RequestType::set(), RequestCode::SetConfiguration, WValue::from((conf, 0)), @@ -205,7 +209,7 @@ impl Device { debug!(" -- configuration set"); debug!("+++ setting idle"); - pipe.control_req( + pipe.control_transfer( RequestType::from(( RequestDirection::HostToDevice, RequestKind::Class, @@ -221,7 +225,7 @@ impl Device { debug!("+++ setting report"); let mut rep_res: u8 = 0; - pipe.control_req( + pipe.control_transfer( RequestType::from(( RequestDirection::HostToDevice, RequestKind::Class, diff --git a/usbh/src/lib.rs b/usbh/src/lib.rs index 70acc31..1cd8a1a 100755 --- a/usbh/src/lib.rs +++ b/usbh/src/lib.rs @@ -360,7 +360,7 @@ where fn configure_dev(&mut self) -> Result<(), PipeErr> { let mut pipe = self.pipe_table.pipe_for(self.usb.host_mut(), 0, 0); let mut vol_descr = ::vcell::VolatileCell::::new(Default::default()); - pipe.control_req( + pipe.control_transfer( RequestType::get_descr(), RequestCode::GetDescriptor, WValue::from((0, DescriptorType::Device as u8)), @@ -378,7 +378,7 @@ where Some(device) => { device.max_packet_size = desc.b_max_packet_size; debug!("Setting address to {}.", device.addr); - pipe.control_req( + pipe.control_transfer( RequestType::set(), RequestCode::SetAddress, WValue::from((device.addr, 0)), diff --git a/usbh/src/pipe.rs b/usbh/src/pipe.rs index 835ba86..660a21e 100644 --- a/usbh/src/pipe.rs +++ b/usbh/src/pipe.rs @@ -101,7 +101,7 @@ pub(crate) struct Pipe<'a, 'b> { pub(crate) desc: &'a mut PipeDesc, } impl Pipe<'_, '_> { - pub(crate) fn control_req( + pub(crate) fn control_transfer( &mut self, bm_request_type: RequestType, b_request: RequestCode, -- cgit v1.2.3