more libs
parent
7889816a0b
commit
2374375803
|
|
@ -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",
|
||||||
]
|
]
|
||||||
|
|
|
||||||
|
|
@ -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"
|
||||||
|
|
|
||||||
|
|
@ -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());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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: []
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue