Skip to content

Commit 865afe0

Browse files
committed
inputmodule: Show location
Otherwise if you have two LED matrices, you don't know which one's which. ``` > framework_tool --versions [...] LED Matrix Firmware Version: 0.2.0 Location: [X] [ ] [ ] [ ] [ ] LED Matrix Firmware Version: 0.2.0 Location: [ ] [ ] [ ] [ ] [X] Laptop 16 ANSI Keyboard Firmware Version: 0.1.6 Location: [ ] [X] [ ] [ ] [ ] [...] ``` Signed-off-by: Daniel Schaefer <dhs@frame.work>
1 parent 4a856e8 commit 865afe0

1 file changed

Lines changed: 24 additions & 1 deletion

File tree

framework_lib/src/inputmodule.rs

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ pub fn check_inputmodule_version() -> Result<(), rusb::Error> {
1616
let vid = dev_descriptor.vendor_id();
1717
let pid = dev_descriptor.product_id();
1818
if vid != FRAMEWORK_VID || !FRAMEWORK16_INPUTMODULE_PIDS.contains(&pid) {
19-
debug!("Skipping {:04X}:{:04X}", vid, pid);
19+
trace!("Skipping {:04X}:{:04X}", vid, pid);
2020
continue;
2121
}
2222

@@ -34,6 +34,29 @@ pub fn check_inputmodule_version() -> Result<(), rusb::Error> {
3434
println!("{}", i_product.unwrap_or_default());
3535
}
3636
println!(" Firmware Version: {}", dev_descriptor.device_version());
37+
38+
debug!("Address: {:?}", dev.address());
39+
debug!("Bus Number: {:?}", dev.bus_number());
40+
debug!("Port Number: {:?}", dev.port_number());
41+
debug!("Port Numbers: {:?}", dev.port_numbers());
42+
let port_numbers = dev.port_numbers();
43+
let location = if let Ok(port_numbers) = port_numbers {
44+
if port_numbers.len() == 2 {
45+
match (port_numbers[0], port_numbers[1]) {
46+
(4, 2) => "[X] [ ] [ ] [ ] [ ]",
47+
(4, 3) => "[ ] [X] [ ] [ ] [ ]",
48+
(3, 1) => "[ ] [ ] [X] [ ] [ ]",
49+
(3, 2) => "[ ] [ ] [ ] [X] [ ]",
50+
(3, 3) => "[ ] [ ] [ ] [ ] [X]",
51+
_ => "Unknown",
52+
}
53+
} else {
54+
"Unknown"
55+
}
56+
} else {
57+
"Unknown"
58+
};
59+
println!(" Location: {}", location);
3760
}
3861
Ok(())
3962
}

0 commit comments

Comments
 (0)