From cc2918fb2e9f82a2f62d81983f6913b9556605cc Mon Sep 17 00:00:00 2001 From: G2-Games Date: Mon, 25 Sep 2023 09:09:33 -0500 Subject: [PATCH] Updated the way you build an interface --- minidisc-rs/src/netmd/interface.rs | 4 ++-- src/main.rs | 5 ++++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/minidisc-rs/src/netmd/interface.rs b/minidisc-rs/src/netmd/interface.rs index 50624bb..dc3b3d5 100644 --- a/minidisc-rs/src/netmd/interface.rs +++ b/minidisc-rs/src/netmd/interface.rs @@ -182,9 +182,9 @@ impl NetMDInterface { const MAX_INTERIM_READ_ATTEMPTS: u8 = 4; const INTERIM_RESPONSE_RETRY_INTERVAL: u32 = 100; - pub fn new(device: rusb::DeviceHandle, descriptor: rusb::DeviceDescriptor) -> Self { + pub fn new(device: rusb::DeviceHandle, descriptor: rusb::DeviceDescriptor) -> Result> { let net_md_device = base::NetMD::new(device, descriptor).unwrap(); - NetMDInterface { net_md_device } + Ok(NetMDInterface { net_md_device }) } fn construct_multibyte(&self, buffer: &Vec, n: u8, offset: &mut usize) -> u32 { diff --git a/src/main.rs b/src/main.rs index 13fe714..bb295a4 100644 --- a/src/main.rs +++ b/src/main.rs @@ -19,7 +19,10 @@ fn main() { new_device.read_product_string_ascii(&device_desc) ); - let player_controller = netmd::interface::NetMDInterface::new(new_device, device_desc); + let player_controller = match netmd::interface::NetMDInterface::new(new_device, device_desc) { + Ok(player) => player, + Err(_) => continue + }; println!( "Player Model: {}",