Fix unbouneded loop and prep new version

This commit is contained in:
Luke Jones
2025-04-06 13:26:53 +12:00
parent c3f0e61ebc
commit 59aab24a4a
4 changed files with 32 additions and 19 deletions

View File

@@ -2,6 +2,11 @@
## [Unreleased] ## [Unreleased]
## [v6.1.12]
### Changed
- Fix an unbounded event loop caused by other processes causing a "modify" event on the screen backlight brightness.
## [v6.1.11] ## [v6.1.11]
### Changed ### Changed

28
Cargo.lock generated
View File

@@ -158,7 +158,7 @@ checksum = "175571dd1d178ced59193a6fc02dde1b972eb0bc56c892cde9beeceac5bf0f6b"
[[package]] [[package]]
name = "asusctl" name = "asusctl"
version = "6.1.11" version = "6.1.12"
dependencies = [ dependencies = [
"dmi_id", "dmi_id",
"env_logger", "env_logger",
@@ -177,7 +177,7 @@ dependencies = [
[[package]] [[package]]
name = "asusd" name = "asusd"
version = "6.1.11" version = "6.1.12"
dependencies = [ dependencies = [
"cargo-husky", "cargo-husky",
"concat-idents", "concat-idents",
@@ -204,7 +204,7 @@ dependencies = [
[[package]] [[package]]
name = "asusd-user" name = "asusd-user"
version = "6.1.11" version = "6.1.12"
dependencies = [ dependencies = [
"config-traits", "config-traits",
"dirs", "dirs",
@@ -918,7 +918,7 @@ dependencies = [
[[package]] [[package]]
name = "config-traits" name = "config-traits"
version = "6.1.11" version = "6.1.12"
dependencies = [ dependencies = [
"log", "log",
"ron", "ron",
@@ -1310,7 +1310,7 @@ dependencies = [
[[package]] [[package]]
name = "dmi_id" name = "dmi_id"
version = "6.1.11" version = "6.1.12"
dependencies = [ dependencies = [
"log", "log",
"udev 0.8.0", "udev 0.8.0",
@@ -4566,7 +4566,7 @@ dependencies = [
[[package]] [[package]]
name = "rog-control-center" name = "rog-control-center"
version = "6.1.11" version = "6.1.12"
dependencies = [ dependencies = [
"asusd", "asusd",
"concat-idents", "concat-idents",
@@ -4597,7 +4597,7 @@ dependencies = [
[[package]] [[package]]
name = "rog_anime" name = "rog_anime"
version = "6.1.11" version = "6.1.12"
dependencies = [ dependencies = [
"dmi_id", "dmi_id",
"gif 0.12.0", "gif 0.12.0",
@@ -4611,7 +4611,7 @@ dependencies = [
[[package]] [[package]]
name = "rog_aura" name = "rog_aura"
version = "6.1.11" version = "6.1.12"
dependencies = [ dependencies = [
"dmi_id", "dmi_id",
"log", "log",
@@ -4622,7 +4622,7 @@ dependencies = [
[[package]] [[package]]
name = "rog_dbus" name = "rog_dbus"
version = "6.1.11" version = "6.1.12"
dependencies = [ dependencies = [
"asusd", "asusd",
"rog_anime", "rog_anime",
@@ -4636,7 +4636,7 @@ dependencies = [
[[package]] [[package]]
name = "rog_platform" name = "rog_platform"
version = "6.1.11" version = "6.1.12"
dependencies = [ dependencies = [
"concat-idents", "concat-idents",
"inotify", "inotify",
@@ -4649,7 +4649,7 @@ dependencies = [
[[package]] [[package]]
name = "rog_profiles" name = "rog_profiles"
version = "6.1.11" version = "6.1.12"
dependencies = [ dependencies = [
"log", "log",
"rog_platform", "rog_platform",
@@ -4660,7 +4660,7 @@ dependencies = [
[[package]] [[package]]
name = "rog_scsi" name = "rog_scsi"
version = "6.1.11" version = "6.1.12"
dependencies = [ dependencies = [
"ron", "ron",
"serde", "serde",
@@ -4670,7 +4670,7 @@ dependencies = [
[[package]] [[package]]
name = "rog_simulators" name = "rog_simulators"
version = "6.1.11" version = "6.1.12"
dependencies = [ dependencies = [
"log", "log",
"rog_anime", "rog_anime",
@@ -4680,7 +4680,7 @@ dependencies = [
[[package]] [[package]]
name = "rog_slash" name = "rog_slash"
version = "6.1.11" version = "6.1.12"
dependencies = [ dependencies = [
"dmi_id", "dmi_id",
"serde", "serde",

View File

@@ -1,5 +1,5 @@
[workspace.package] [workspace.package]
version = "6.1.11" version = "6.1.12"
rust-version = "1.82" rust-version = "1.82"
license = "MPL-2.0" license = "MPL-2.0"
readme = "README.md" readme = "README.md"

View File

@@ -1,4 +1,5 @@
use std::sync::Arc; use std::sync::Arc;
use std::time::Duration;
use config_traits::StdConfig; use config_traits::StdConfig;
use futures_util::lock::Mutex; use futures_util::lock::Mutex;
@@ -165,10 +166,14 @@ impl CtrlBacklight {
let backlights = self.clone(); let backlights = self.clone();
tokio::spawn(async move { tokio::spawn(async move {
let mut last_level = 0;
let mut buffer = [0; 32]; let mut buffer = [0; 32];
use futures_lite::StreamExt; use futures_lite::StreamExt;
if let Ok(mut stream) = watch.into_event_stream(&mut buffer) { if let Ok(mut stream) = watch.into_event_stream(&mut buffer) {
while (stream.next().await).is_some() { while (stream.next().await).is_some() {
// other processes cause "MODIFY" event and make this spin 100%, so sleep
tokio::time::sleep(Duration::from_secs(1)).await;
let sync = backlights.config.lock().await.screenpad_sync_primary; let sync = backlights.config.lock().await.screenpad_sync_primary;
if let Some(sync) = sync { if let Some(sync) = sync {
if !sync { if !sync {
@@ -188,10 +193,13 @@ impl CtrlBacklight {
.get_brightness_percent(&BacklightType::Primary) .get_brightness_percent(&BacklightType::Primary)
.await .await
.unwrap_or(60); .unwrap_or(60);
backlights if last_level != level {
.set_brightness_with_sync(&BacklightType::Screenpad, level) last_level = level;
.await backlights
.ok(); .set_brightness_with_sync(&BacklightType::Screenpad, level)
.await
.ok();
}
} }
// watch // watch
// .into_event_stream(&mut buffer) // .into_event_stream(&mut buffer)