aboutsummaryrefslogtreecommitdiffstats
path: root/usbh/src/device.rs
diff options
context:
space:
mode:
Diffstat (limited to 'usbh/src/device.rs')
-rw-r--r--usbh/src/device.rs16
1 files changed, 10 insertions, 6 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::<DeviceDescriptor>::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::<ConfigurationDescriptor>::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,