more libs

master
Bel LaPointe 2023-03-17 08:18:04 -06:00
parent 7889816a0b
commit 2374375803
4 changed files with 41 additions and 2 deletions

23
Cargo.lock generated
View File

@ -81,6 +81,18 @@ version = "0.2.140"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "99227334921fae1a979cf0bfdfcc6b3e5ce376ef57e16fb6fb3ea2ed6095f80c" checksum = "99227334921fae1a979cf0bfdfcc6b3e5ce376ef57e16fb6fb3ea2ed6095f80c"
[[package]]
name = "libusb1-sys"
version = "0.6.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f9d0e2afce4245f2c9a418511e5af8718bcaf2fa408aefb259504d1a9cb25f27"
dependencies = [
"cc",
"libc",
"pkg-config",
"vcpkg",
]
[[package]] [[package]]
name = "libz-sys" name = "libz-sys"
version = "1.1.8" version = "1.1.8"
@ -211,11 +223,22 @@ dependencies = [
"pkg-config", "pkg-config",
] ]
[[package]]
name = "rusb"
version = "0.9.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "703aa035c21c589b34fb5136b12e68fc8dcf7ea46486861381361dd8ebf5cee0"
dependencies = [
"libc",
"libusb1-sys",
]
[[package]] [[package]]
name = "rusty-pipe" name = "rusty-pipe"
version = "0.1.0" version = "0.1.0"
dependencies = [ dependencies = [
"rdkafka", "rdkafka",
"rusb",
"serde", "serde",
"serde_yaml", "serde_yaml",
] ]

View File

@ -9,3 +9,4 @@ edition = "2021"
serde = { version = "1.0.156", features = ["derive"] } serde = { version = "1.0.156", features = ["derive"] }
serde_yaml = "0.9.19" serde_yaml = "0.9.19"
rdkafka = "0.29.0" rdkafka = "0.29.0"
rusb = "0.9.1"

View File

@ -1,4 +1,5 @@
use crate::config::Engine; use crate::config::Engine;
use rusb::UsbContext;
pub trait InputEngine { pub trait InputEngine {
fn get(&mut self) -> Vec<char>; fn get(&mut self) -> Vec<char>;
@ -17,7 +18,18 @@ struct InputEngineDevice {
} }
pub fn build_input_engine_device(cfg: &Engine) -> Result<Box<dyn InputEngine>, String> { pub fn build_input_engine_device(cfg: &Engine) -> Result<Box<dyn InputEngine>, String> {
let device_cfg = cfg.device.as_ref().unwrap(); let _device_cfg = cfg.device.as_ref().unwrap();
assert!(rusb::has_capability());
let ctx = rusb::Context::new().unwrap();
for device in ctx.devices().unwrap().iter() {
let device_desc = device.device_descriptor().unwrap();
println!("Bus {:03} Device {:03} ID {:04x}:{:04x}",
device.bus_number(),
device.address(),
device_desc.vendor_id(),
device_desc.product_id());
}
return Err("do what".to_string()); return Err("do what".to_string());
} }
@ -31,7 +43,7 @@ struct InputEngineKafka {
} }
pub fn build_input_engine_kafka(cfg: &Engine) -> Result<Box<dyn InputEngine>, String> { pub fn build_input_engine_kafka(cfg: &Engine) -> Result<Box<dyn InputEngine>, String> {
let kafka_cfg = cfg.kafka.as_ref().unwrap(); let _kafka_cfg = cfg.kafka.as_ref().unwrap();
return Err("do what".to_string()); return Err("do what".to_string());
} }

View File

@ -1,4 +1,7 @@
todo: todo:
- https://github.com/framp/joystick-mapper/tree/master/joystick-mapper-lib
- https://docs.rs/rusb/latest/rusb/
- https://docs.rs/rusb/latest/rusb/
- 'to kafka_serde ' - 'to kafka_serde '
- to rdkafka for v0.10.0 - to rdkafka for v0.10.0
scheduled: [] scheduled: []