From 9f07930013bcc094553a9806a9c56220f5ae45a8 Mon Sep 17 00:00:00 2001 From: Paul Lecuq Date: Fri, 10 Feb 2023 18:27:58 +0100 Subject: [PATCH] updated dependencies --- Cargo.lock | 201 ++++++++++++++++++++++++++++++++++-------- Cargo.toml | 12 +-- src/config/mod.rs | 20 ++--- src/padcontrol/mod.rs | 20 ++--- 4 files changed, 183 insertions(+), 70 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 5f6a549..732f23e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -24,17 +24,6 @@ dependencies = [ "pkg-config", ] -[[package]] -name = "atty" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" -dependencies = [ - "hermit-abi", - "libc", - "winapi", -] - [[package]] name = "autocfg" version = "1.1.0" @@ -97,24 +86,22 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "clap" -version = "3.2.12" +version = "4.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab8b79fe3946ceb4a0b1c080b4018992b8d27e9ff363644c1c9b6387c854614d" +checksum = "f13b9c79b5d1dd500d20ef541215a6423c75829ef43117e1b4d17fd8af0b5d76" dependencies = [ - "atty", "bitflags", "clap_lex", - "indexmap", + "is-terminal", "strsim", "termcolor", - "textwrap", ] [[package]] name = "clap_lex" -version = "0.2.4" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5" +checksum = "783fe232adfca04f90f56201b26d79682d4cd2625e0bc7290b95123afe558ade" dependencies = [ "os_str_bytes", ] @@ -191,6 +178,27 @@ dependencies = [ "cfg-if 1.0.0", ] +[[package]] +name = "errno" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f639046355ee4f37944e44f60642c6f3a7efa3cf6b78c78a0d989a8ce6c396a1" +dependencies = [ + "errno-dragonfly", + "libc", + "winapi", +] + +[[package]] +name = "errno-dragonfly" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf" +dependencies = [ + "cc", + "libc", +] + [[package]] name = "float-cmp" version = "0.8.0" @@ -298,6 +306,12 @@ dependencies = [ "libc", ] +[[package]] +name = "hermit-abi" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fed44880c466736ef9a5c5b5facefb5ed0785676d0c02d612db14e54f0d84286" + [[package]] name = "http" version = "0.2.8" @@ -390,12 +404,34 @@ dependencies = [ "hashbrown", ] +[[package]] +name = "io-lifetimes" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1abeb7a0dd0f8181267ff8adc397075586500b81b28a73e8a0208b00fc170fb3" +dependencies = [ + "libc", + "windows-sys 0.45.0", +] + [[package]] name = "ipnet" version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "879d54834c8c76457ef4293a689b2a8c59b076067ad77b15efafbb05f92a592b" +[[package]] +name = "is-terminal" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22e18b0a45d56fe973d6db23972bf5bc46f988a4a2385deac9cc29572f09daef" +dependencies = [ + "hermit-abi 0.3.1", + "io-lifetimes", + "rustix", + "windows-sys 0.45.0", +] + [[package]] name = "itoa" version = "1.0.2" @@ -414,7 +450,6 @@ dependencies = [ [[package]] name = "launchy" version = "0.2.0" -source = "git+https://github.com/kangalioo/launchy?branch=master#a08eb179ceb4eb2d3e31471f57eb71a47c85f756" dependencies = [ "midir", ] @@ -427,9 +462,15 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" [[package]] name = "libc" -version = "0.2.126" +version = "0.2.139" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "349d5a591cd28b49e1d1037471617a32ddcda5731b99419008085f72d5a53836" +checksum = "201de327520df007757c1f0adce6e827fe8562fbc28bfd9c15571c66ca1f5f79" + +[[package]] +name = "linux-raw-sys" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f051f77a7c8e6957c0696eac88f26b0117e54f52d3fc682ab19397a8812846a4" [[package]] name = "log" @@ -460,9 +501,9 @@ checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" [[package]] name = "memoffset" -version = "0.6.5" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce" +checksum = "5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4" dependencies = [ "autocfg", ] @@ -506,7 +547,7 @@ dependencies = [ "libc", "log", "wasi 0.11.0+wasi-snapshot-preview1", - "windows-sys", + "windows-sys 0.36.1", ] [[package]] @@ -524,14 +565,16 @@ dependencies = [ [[package]] name = "nix" -version = "0.24.1" +version = "0.26.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f17df307904acd05aa8e32e97bb20f2a0df1728bbc2d771ae8f9a90463441e9" +checksum = "bfdda3d196821d6af13126e40375cdf7da646a96114af134d5f417a9a1dc8e1a" dependencies = [ "bitflags", "cfg-if 1.0.0", "libc", "memoffset", + "pin-utils", + "static_assertions", ] [[package]] @@ -549,7 +592,7 @@ version = "1.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "19e64526ebdee182341572e50e9ad03965aa510cd94427a4549448f285e957a1" dependencies = [ - "hermit-abi", + "hermit-abi 0.1.19", "libc", ] @@ -661,6 +704,20 @@ dependencies = [ "winapi", ] +[[package]] +name = "rustix" +version = "0.36.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f43abb88211988493c1abb44a70efa56ff0ce98f233b7b276146f1f3f7ba9644" +dependencies = [ + "bitflags", + "errno", + "io-lifetimes", + "libc", + "linux-raw-sys", + "windows-sys 0.45.0", +] + [[package]] name = "rustls" version = "0.20.6" @@ -763,6 +820,12 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" +[[package]] +name = "static_assertions" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" + [[package]] name = "strsim" version = "0.10.0" @@ -789,12 +852,6 @@ dependencies = [ "winapi-util", ] -[[package]] -name = "textwrap" -version = "0.15.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1141d4d61095b28419e22cb0bbf02755f5e54e0526f97f1e3d1d160e60885fb" - [[package]] name = "time" version = "0.1.44" @@ -1095,43 +1152,109 @@ version = "0.36.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ea04155a16a59f9eab786fe12a4a450e75cdb175f9e0d80da1e17db09f55b8d2" dependencies = [ - "windows_aarch64_msvc", - "windows_i686_gnu", - "windows_i686_msvc", - "windows_x86_64_gnu", - "windows_x86_64_msvc", + "windows_aarch64_msvc 0.36.1", + "windows_i686_gnu 0.36.1", + "windows_i686_msvc 0.36.1", + "windows_x86_64_gnu 0.36.1", + "windows_x86_64_msvc 0.36.1", ] +[[package]] +name = "windows-sys" +version = "0.45.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" +dependencies = [ + "windows-targets", +] + +[[package]] +name = "windows-targets" +version = "0.42.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e2522491fbfcd58cc84d47aeb2958948c4b8982e9a2d8a2a35bbaed431390e7" +dependencies = [ + "windows_aarch64_gnullvm", + "windows_aarch64_msvc 0.42.1", + "windows_i686_gnu 0.42.1", + "windows_i686_msvc 0.42.1", + "windows_x86_64_gnu 0.42.1", + "windows_x86_64_gnullvm", + "windows_x86_64_msvc 0.42.1", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.42.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c9864e83243fdec7fc9c5444389dcbbfd258f745e7853198f365e3c4968a608" + [[package]] name = "windows_aarch64_msvc" version = "0.36.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9bb8c3fd39ade2d67e9874ac4f3db21f0d710bee00fe7cab16949ec184eeaa47" +[[package]] +name = "windows_aarch64_msvc" +version = "0.42.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c8b1b673ffc16c47a9ff48570a9d85e25d265735c503681332589af6253c6c7" + [[package]] name = "windows_i686_gnu" version = "0.36.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "180e6ccf01daf4c426b846dfc66db1fc518f074baa793aa7d9b9aaeffad6a3b6" +[[package]] +name = "windows_i686_gnu" +version = "0.42.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "de3887528ad530ba7bdbb1faa8275ec7a1155a45ffa57c37993960277145d640" + [[package]] name = "windows_i686_msvc" version = "0.36.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e2e7917148b2812d1eeafaeb22a97e4813dfa60a3f8f78ebe204bcc88f12f024" +[[package]] +name = "windows_i686_msvc" +version = "0.42.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf4d1122317eddd6ff351aa852118a2418ad4214e6613a50e0191f7004372605" + [[package]] name = "windows_x86_64_gnu" version = "0.36.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4dcd171b8776c41b97521e5da127a2d86ad280114807d0b2ab1e462bc764d9e1" +[[package]] +name = "windows_x86_64_gnu" +version = "0.42.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1040f221285e17ebccbc2591ffdc2d44ee1f9186324dd3e84e99ac68d699c45" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.42.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "628bfdf232daa22b0d64fdb62b09fcc36bb01f05a3939e20ab73aaf9470d0463" + [[package]] name = "windows_x86_64_msvc" version = "0.36.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c811ca4a8c853ef420abd8592ba53ddbbac90410fab6903b3e79972a631f7680" +[[package]] +name = "windows_x86_64_msvc" +version = "0.42.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "447660ad36a13288b1db4d4248e857b510e8c3a225c822ba4fb748c0aafecffd" + [[package]] name = "winreg" version = "0.10.1" @@ -1148,7 +1271,7 @@ dependencies = [ "clap", "embedded-graphics", "launchy", - "nix 0.24.1", + "nix 0.26.2", "reqwest", "serde", "serde_json", diff --git a/Cargo.toml b/Cargo.toml index 9957001..6357d96 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -9,15 +9,11 @@ repository = "https://git.paulbsd.com/paulbsd/zabbixlaunch" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -clap = "3.1" +clap = "4.1" embedded-graphics = { version = "0.7", optional = true } -launchy = { git = "https://github.com/kangalioo/launchy", branch = "master" } +#launchy = { git = "https://github.com/kangalioo/launchy", branch = "master" } +launchy = { path="launchy"} reqwest = { version = "0.11", default-features = false, features = ["blocking", "json", "rustls-tls"] } serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" -nix = "0.24" - -[profile.release] -debug = 0 -lto = true -codegen-units = 1 +nix = "0.26" diff --git a/src/config/mod.rs b/src/config/mod.rs index 5e69dd8..d1e8ab7 100644 --- a/src/config/mod.rs +++ b/src/config/mod.rs @@ -36,16 +36,19 @@ pub struct Context { impl Context { pub fn new() -> Self { - let cli = Context::argparse(); + let argp: ArgMatches = Context::argparse(); - let configfile = cli.value_of("config").unwrap_or("config.json").to_string(); + let configfile = argp + .get_one::("config") + .unwrap_or(&"config.json".to_string()) + .to_string(); let mut ctx = Context { cfg: Config::new(), configfile: configfile, inotify: Inotify::init(InitFlags::IN_NONBLOCK).unwrap(), datamatrix: DataMatrix::new(), - mode: match cli.value_of("mode").unwrap_or("draw") { + mode: match argp.get_one::("mode").unwrap().as_str() { "draw" => Some(Mode::Draw), "test" => Some(Mode::Test), "input" => Some(Mode::Input), @@ -83,7 +86,6 @@ impl Context { .long("config") .value_name("FILE") .default_value("/etc/zabbixlaunch/config.json") - .takes_value(true) .help("Sets a custom config file"), ) .arg( @@ -92,16 +94,10 @@ impl Context { .long("mode") .value_name("mode") .default_value("draw") - .possible_values(&["draw", "test", "input", "effect"]) - .takes_value(true) + .value_parser(["draw", "test", "input", "effect"]) .help("Sets a when running"), ) - .arg( - Arg::new("debug") - .short('d') - .takes_value(false) - .help("Enable debugging"), - ) + .arg(Arg::new("debug").short('d').help("Enable debugging")) .get_matches() } diff --git a/src/padcontrol/mod.rs b/src/padcontrol/mod.rs index 5c555e7..b719f62 100644 --- a/src/padcontrol/mod.rs +++ b/src/padcontrol/mod.rs @@ -8,8 +8,6 @@ use std::time::Duration; const MATRIX_WIDTH: i32 = 8; const MATRIX_SIZE: i32 = MATRIX_WIDTH * MATRIX_WIDTH; const REQUEST_TIMEOUT: i32 = 5; -const ZERO_COLOR: f32 = 0.; -const ONE_COLOR: f32 = 1.; const SLOWEFFECT_FACTOR: f32 = 800.0; pub fn run(ctx: &mut Context) { @@ -35,7 +33,7 @@ pub fn run(ctx: &mut Context) { fn initpad() -> (CanvasLayout<'static>, CanvasLayoutPoller) { let (mut canvas, poller) = launchy::CanvasLayout::new_polling(); - match canvas.add_by_guess_rotated::(0, 0, launchy::Rotation::None) { + match canvas.add_by_guess::(0, 0) { Ok(_) => { println!("Connected to device using USB"); clear(&mut canvas); @@ -44,6 +42,9 @@ fn initpad() -> (CanvasLayout<'static>, CanvasLayoutPoller) { eprintln!("Failed to connect to device, check USB connection {err}",); } }; + canvas[Pad { x: 0, y: 0 }] = Color::BLUE; + canvas.flush().unwrap(); + sleep(Duration::from_millis(100)); (canvas, poller) } @@ -104,9 +105,10 @@ fn draw(canvas: &mut CanvasLayout, ctx: &mut Context) { }; canvas[p] = match j.status { 5 => Color::RED, - 4 => Color::from_hue(0.05), - 3 => Color::from_hue(0.1), - 2 => Color::from_hue(1.22), + 4 => Color::new(1., 0.2, 0.), + 3 => Color::new(1., 0.4, 0.), + 2 => Color::new(1., 0.6, 0.), + 1 => Color::BLUE, _ => Color::GREEN, }; if ctx.cfg.sloweffect.unwrap() { @@ -152,11 +154,7 @@ fn effect(canvas: &mut CanvasLayout, poller: &mut CanvasLayoutPoller) { fn clear(canvas: &mut CanvasLayout) { for a in 0..MATRIX_WIDTH { for b in 0..MATRIX_WIDTH + 1 { - canvas[Pad { x: a, y: b }] = Color { - r: ZERO_COLOR, - g: ZERO_COLOR, - b: ONE_COLOR, - }; + canvas[Pad { x: a, y: b }] = Color::BLACK; } } canvas.flush().unwrap();