Update dependencies, allow changing the screen brightness dynamically

This commit is contained in:
Moritz Ruth 2024-06-17 13:25:17 +02:00
parent e2f4aac438
commit 95f34add08
Signed by: moritzruth
GPG key ID: C9BBAB79405EE56D
22 changed files with 1021 additions and 844 deletions

View file

@ -5,7 +5,7 @@ edition = "2021"
[dependencies]
deckster_shared = { path = "../deckster_shared" }
thiserror = "1.0.56"
thiserror = "1.0.61"
im = "15.1.0"
serde = { version = "1.0.196", default-features = false }
serde_json = "1.0.113"
serde = { version = "1.0.203", default-features = false }
serde_json = "1.0.117"

View file

@ -4,11 +4,11 @@ version = "0.1.0"
edition = "2021"
[dependencies]
serde = { version = "1.0.195", features = ["derive", "rc"] }
serde_with = "3.4.0"
thiserror = "1.0.56"
derive_more = "0.99.17"
serde = { version = "1.0.203", features = ["derive", "rc"] }
serde_with = "3.8.1"
thiserror = "1.0.61"
derive_more = { version = "1.0.0-beta.6", features = ["from", "into", "deref"] }
rgb = "0.8.37"
enum-ordinalize = "4.3.0"
enum-map = "3.0.0-beta.2"
parse-display = "0.8.2"
parse-display = "0.9.1"

View file

@ -7,8 +7,8 @@ edition = "2021"
serialport = "4.3.0"
enum-ordinalize = "4.3.0"
enumset = "1.1.3"
bytes = "1.5.0"
thiserror = "1.0.52"
bytes = "1.6.0"
thiserror = "1.0.61"
rgb = "0.8.37"
flume = "0.11.0"
serde = { version = "1.0.195", features = ["derive"] }
serde = { version = "1.0.203", features = ["derive"] }

View file

@ -43,7 +43,7 @@ pub enum VibrationPattern {
pub(crate) enum LoupedeckCommand {
RequestSerialNumber,
RequestFirmwareVersion,
SetBrightness(f32),
SetBrightness(u8),
SetButtonColor {
button: LoupedeckButton,
color: RGB8,

View file

@ -103,7 +103,10 @@ impl LoupedeckDevice {
self.events_receiver.clone()
}
pub fn set_brightness(&self, value: f32) {
/// Sets the screen brightness.
///
/// `value` must be in 0..10. Higher values are clamped to 10.
pub fn set_brightness(&self, value: u8) {
self.commands_sender.send(LoupedeckCommand::SetBrightness(value)).unwrap();
}

View file

@ -263,10 +263,7 @@ pub(crate) fn write_messages_worker(mut port: Box<dyn SerialPort>, receiver: flu
let result = match command {
LoupedeckCommand::RequestSerialNumber => send(0x03, Bytes::new()),
LoupedeckCommand::RequestFirmwareVersion => send(0x07, Bytes::new()),
LoupedeckCommand::SetBrightness(value) => {
let raw_value = (value.clamp(0f32, 1f32) * 10.0) as u8;
send(0x09, Bytes::copy_from_slice(&[raw_value]))
}
LoupedeckCommand::SetBrightness(value) => send(0x09, Bytes::copy_from_slice(&[value])),
LoupedeckCommand::SetButtonColor { button, color } => send(0x02, Bytes::copy_from_slice(&[button.ordinal(), color.r, color.g, color.b])),
LoupedeckCommand::ReplaceFramebufferArea {
display_id,

View file

@ -6,7 +6,7 @@ edition = "2021"
[dependencies]
flume = "0.11.0"
im = "15.1.0"
tokio = { version = "1.35.1", default-features = false, features = ["sync"] }
tokio = { version = "1.38.0", default-features = false, features = ["sync"] }
libpulse-binding = "2.28.1"
log = "0.4.21"
arc-swap = "1.7.1"

View file

@ -1,5 +1,5 @@
use arc_swap::ArcSwap;
use std::sync::{Arc, RwLock};
use std::sync::Arc;
use std::thread;
use std::time::Instant;