2 Commits
Author SHA1 Message Date
ktims ff21297b77 bump version 0.1.2 2026-08-26 14:24:57 -07:00
ktims f5b70acc00 fix get clock rates two-phase response 2026-08-26 14:22:44 -07:00
3 changed files with 11 additions and 7 deletions
Generated
+1 -1
View File
@@ -971,7 +971,7 @@ dependencies = [
[[package]] [[package]]
name = "usbd-uac2" name = "usbd-uac2"
version = "0.1.1" version = "0.1.2"
dependencies = [ dependencies = [
"byteorder-embedded-io", "byteorder-embedded-io",
"defmt 1.1.1", "defmt 1.1.1",
+1 -1
View File
@@ -15,7 +15,7 @@ description = "USB Audio Class 2.0 for usb-device"
readme = "README.md" readme = "README.md"
authors = ["Keenan Tims <ktims@gotroot.ca>"] authors = ["Keenan Tims <ktims@gotroot.ca>"]
repository = "https://github.com/ktims/usbd-uac2" repository = "https://github.com/ktims/usbd-uac2"
version = "0.1.1" version = "0.1.2"
edition = "2024" edition = "2024"
license = "MIT" license = "MIT"
keywords = ["no-std", "usb-device", "audio"] keywords = ["no-std", "usb-device", "audio"]
+9 -5
View File
@@ -131,7 +131,7 @@ impl<T: RangeType> RangeEntry<T> {
buf.write_all(self.min.to_le_bytes().as_ref())?; buf.write_all(self.min.to_le_bytes().as_ref())?;
buf.write_all(self.max.to_le_bytes().as_ref())?; buf.write_all(self.max.to_le_bytes().as_ref())?;
buf.write_all(self.res.to_le_bytes().as_ref())?; buf.write_all(self.res.to_le_bytes().as_ref())?;
Ok(T::ZERO.count_zeros() as usize * 3) Ok((T::ZERO.count_zeros() as usize / 8) * 3)
} }
} }
@@ -1351,15 +1351,19 @@ impl<'a, B: UsbBus, AU: AudioHandler<'a, B> + ClockSource> UsbAudioClass<'a, B,
channel channel
); );
} }
let req_len = xfer.request().length;
xfer.accept(|mut buf| match self.audio_impl.sample_rates() { xfer.accept(|mut buf| match self.audio_impl.sample_rates() {
Ok(rates) => { Ok(rates) => {
debug!(" wLength = {} buf_len = {}", req_len, buf.len());
buf.write_u16::<LittleEndian>(rates.len() as u16) buf.write_u16::<LittleEndian>(rates.len() as u16)
.map_err(|_e| UsbError::BufferOverflow)?; .map_err(|_e| UsbError::BufferOverflow)?;
let mut written = 2usize; let mut written = 2usize;
for rate in rates { if req_len > 2 {
written += rate for rate in rates {
.write(&mut buf) written += rate
.map_err(|_e| UsbError::BufferOverflow)? .write(&mut buf)
.map_err(|_e| UsbError::BufferOverflow)?
}
} }
Ok(written) Ok(written)
} }