diff --git a/Cargo.toml b/Cargo.toml index 447fd56..f9b693a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -10,11 +10,8 @@ license = "AGPL-3.0" [dependencies] hex = "0.4.3" -cross_usb = { path = "/home/g2/Documents/projects/code/rust/cross-usb/" } -[target.'cfg(target_family = "wasm")'.dependencies] -tokio = { version = "1.35.1", features = ["macros"] } -[target.'cfg(not(target_family = "wasm"))'.dependencies] -tokio = { version = "1.35.1", features = ["full"] } +cross_usb = "0.1" +tokio = { version = "1.35.1", features = ["macros", "rt", "rt-multi-thread"] } [dependencies.minidisc_rs] path = "minidisc-rs" diff --git a/minidisc-rs/Cargo.toml b/minidisc-rs/Cargo.toml index b50dea1..69df748 100644 --- a/minidisc-rs/Cargo.toml +++ b/minidisc-rs/Cargo.toml @@ -21,7 +21,7 @@ unicode-normalization = "0.1.22" hex = "0.4.3" regex = "1.10.2" lazy_static = "1.4.0" -cross_usb = { path = "../../cross-usb/" } +cross_usb = "0.1" num-derive = "0.3.3" num-traits = "0.2.14" rand = "0.8.5" diff --git a/minidisc-rs/src/netmd/base.rs b/minidisc-rs/src/netmd/base.rs index ddd542d..d78ae31 100644 --- a/minidisc-rs/src/netmd/base.rs +++ b/minidisc-rs/src/netmd/base.rs @@ -12,7 +12,7 @@ use gloo::{ // USB stuff //use nusb::transfer::{Control, ControlIn, ControlOut, ControlType, Recipient, RequestBuffer}; -use cross_usb::context::{UsbDevice, UsbInterface}; +use cross_usb::{UsbDevice, UsbInterface}; use cross_usb::usb::{ControlIn, ControlOut, ControlType, Device, Interface, Recipient}; //use nusb::{Device, DeviceInfo, Interface}; @@ -328,7 +328,7 @@ impl NetMD { Ok(final_result) } - pub async fn write_bulk(&mut self, data: Vec) -> Result> { + pub async fn write_bulk(&mut self, data: &[u8]) -> Result> { self.usb_interface.bulk_out(BULK_WRITE_ENDPOINT, data).await } } diff --git a/minidisc-rs/src/netmd/interface.rs b/minidisc-rs/src/netmd/interface.rs index 890ec9b..6661c9a 100644 --- a/minidisc-rs/src/netmd/interface.rs +++ b/minidisc-rs/src/netmd/interface.rs @@ -5,6 +5,7 @@ use crate::netmd::utils::{ half_width_to_full_width_range, length_after_encoding_to_jis, sanitize_full_width_title, sanitize_half_width_title, time_to_duration, }; +use cross_usb::UsbDevice; use encoding_rs::*; use hex; use magic_crypt::{new_magic_crypt, MagicCrypt, MagicCryptTrait, SecureBit}; @@ -204,7 +205,7 @@ impl NetMDInterface { const MAX_INTERIM_READ_ATTEMPTS: u8 = 4; const INTERIM_RESPONSE_RETRY_INTERVAL: u32 = 100; - pub async fn new(device: &cross_usb::context::UsbDevice) -> Result> { + pub async fn new(device: &UsbDevice) -> Result> { let net_md_device = base::NetMD::new(device).await?; Ok(NetMDInterface { net_md_device }) } @@ -1042,7 +1043,7 @@ impl NetMDInterface { (3, Descriptor::AudioUTOC4TD) } false => { - new_title = sanitize_half_width_title(title.clone()); + new_title = sanitize_half_width_title(title); (2, Descriptor::AudioUTOC1TD) } }; @@ -1533,7 +1534,7 @@ impl NetMDInterface { } else { data.clone() }; - self.net_md_device.write_bulk(binpack).await?; + self.net_md_device.write_bulk(&binpack).await?; _written_bytes += data.len(); } diff --git a/src/main.rs b/src/main.rs index df20b29..77c4ad5 100644 --- a/src/main.rs +++ b/src/main.rs @@ -3,7 +3,7 @@ use cross_usb::usb::Device; #[tokio::main] async fn main() { - let device = cross_usb::context::get_device(0x054c, 0x0186).await.unwrap(); + let device = cross_usb::get_device(0x054c, 0x0186).await.unwrap(); dbg!(device.vendor_id().await);