mirror of
https://gitlab.com/asus-linux/asusctl.git
synced 2026-02-06 00:15:04 +01:00
More logging
This commit is contained in:
1
Cargo.lock
generated
1
Cargo.lock
generated
@@ -282,6 +282,7 @@ version = "0.4.0"
|
|||||||
dependencies = [
|
dependencies = [
|
||||||
"aho-corasick",
|
"aho-corasick",
|
||||||
"gumdrop",
|
"gumdrop",
|
||||||
|
"log",
|
||||||
"rusb",
|
"rusb",
|
||||||
"serde",
|
"serde",
|
||||||
"serde_derive",
|
"serde_derive",
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
Description=ROG Core Daemon
|
Description=ROG Core Daemon
|
||||||
|
|
||||||
[Service]
|
[Service]
|
||||||
Environment="RUST_LOG=info"
|
Environment="ROGCORE_LOG=info"
|
||||||
ExecStart=/usr/bin/rog-core -d
|
ExecStart=/usr/bin/rog-core -d
|
||||||
Restart=on-failure
|
Restart=on-failure
|
||||||
|
|
||||||
|
|||||||
@@ -42,8 +42,9 @@ struct LedModeCommand {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fn main() -> Result<(), Box<dyn std::error::Error>> {
|
fn main() -> Result<(), Box<dyn std::error::Error>> {
|
||||||
let mut builder = Builder::from_default_env();
|
let mut builder = Builder::from_env("ROGCORE_LOG");
|
||||||
builder.target(Target::Stdout);
|
builder.target(Target::Stdout);
|
||||||
|
builder.format_timestamp(None);
|
||||||
builder.filter(None, LevelFilter::Info).init();
|
builder.filter(None, LevelFilter::Info).init();
|
||||||
|
|
||||||
let parsed = CLIStart::parse_args_default_or_exit();
|
let parsed = CLIStart::parse_args_default_or_exit();
|
||||||
|
|||||||
@@ -12,4 +12,5 @@ serde_derive = "1.0"
|
|||||||
toml = "0.5"
|
toml = "0.5"
|
||||||
sysfs-class = "0.1.2"
|
sysfs-class = "0.1.2"
|
||||||
aho-corasick = "0.7"
|
aho-corasick = "0.7"
|
||||||
thiserror = "1.0.15"
|
thiserror = "1.0.15"
|
||||||
|
log = "0.4"
|
||||||
@@ -1,6 +1,9 @@
|
|||||||
|
// Return show-stopping errors, otherwise map error to a log level
|
||||||
|
|
||||||
use crate::{aura::BuiltInModeByte, config::Config, error::AuraError, laptops::*};
|
use crate::{aura::BuiltInModeByte, config::Config, error::AuraError, laptops::*};
|
||||||
use aho_corasick::AhoCorasick;
|
use aho_corasick::AhoCorasick;
|
||||||
use gumdrop::Options;
|
use gumdrop::Options;
|
||||||
|
use log::{debug, warn};
|
||||||
use rusb::DeviceHandle;
|
use rusb::DeviceHandle;
|
||||||
use std::cell::{Ref, RefCell};
|
use std::cell::{Ref, RefCell};
|
||||||
use std::process::Command;
|
use std::process::Command;
|
||||||
@@ -143,8 +146,10 @@ impl RogCore {
|
|||||||
self.aura_write_messages(&messages)?;
|
self.aura_write_messages(&messages)?;
|
||||||
self.config.set_field_from(bytes);
|
self.config.set_field_from(bytes);
|
||||||
self.config.write();
|
self.config.write();
|
||||||
|
debug!("Wrote: {:X?}", bytes);
|
||||||
return Ok(());
|
return Ok(());
|
||||||
}
|
}
|
||||||
|
warn!("{:?} not supported", BuiltInModeByte::from(mode));
|
||||||
Err(AuraError::NotSupported)
|
Err(AuraError::NotSupported)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -173,25 +178,41 @@ impl RogCore {
|
|||||||
std::process::Command::new("systemctl")
|
std::process::Command::new("systemctl")
|
||||||
.arg("suspend")
|
.arg("suspend")
|
||||||
.spawn()
|
.spawn()
|
||||||
.expect("failed to suspend");
|
.map_or_else(|err| warn!("Failed to suspend: {}", err), |_| {});
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn toggle_airplane_mode(&self) -> Result<(), AuraError> {
|
pub fn toggle_airplane_mode(&self) {
|
||||||
match Command::new("rfkill").arg("list").output() {
|
match Command::new("rfkill").arg("list").output() {
|
||||||
Ok(output) => {
|
Ok(output) => {
|
||||||
if output.status.success() {
|
if output.status.success() {
|
||||||
let patterns = &["yes"];
|
let patterns = &["yes"];
|
||||||
let ac = AhoCorasick::new(patterns);
|
let ac = AhoCorasick::new(patterns);
|
||||||
if ac.earliest_find(output.stdout).is_some() {
|
if ac.earliest_find(output.stdout).is_some() {
|
||||||
Command::new("rfkill").arg("unblock").arg("all").spawn()?;
|
Command::new("rfkill")
|
||||||
|
.arg("unblock")
|
||||||
|
.arg("all")
|
||||||
|
.spawn()
|
||||||
|
.map_or_else(
|
||||||
|
|err| warn!("Could not unblock rf devices: {}", err),
|
||||||
|
|_| {},
|
||||||
|
);
|
||||||
} else {
|
} else {
|
||||||
Command::new("rfkill").arg("block").arg("all").spawn()?;
|
let _ = Command::new("rfkill")
|
||||||
|
.arg("block")
|
||||||
|
.arg("all")
|
||||||
|
.spawn()
|
||||||
|
.map_or_else(
|
||||||
|
|err| warn!("Could not block rf devices: {}", err),
|
||||||
|
|_| {},
|
||||||
|
);
|
||||||
}
|
}
|
||||||
return Ok(());
|
} else {
|
||||||
|
warn!("Could not list rf devices");
|
||||||
}
|
}
|
||||||
return Err(AuraError::CommandFailed);
|
|
||||||
}
|
}
|
||||||
Err(err) => Err(AuraError::from(err)),
|
Err(err) => {
|
||||||
|
warn!("Could not list rf devices: {}", err);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -219,19 +240,33 @@ impl Backlight {
|
|||||||
panic!("Backlight not found")
|
panic!("Backlight not found")
|
||||||
}
|
}
|
||||||
pub fn step_up(&self) {
|
pub fn step_up(&self) {
|
||||||
let brightness = self.backlight.brightness().unwrap();
|
let brightness = self
|
||||||
|
.backlight
|
||||||
|
.brightness()
|
||||||
|
.map_err(|err| warn!("Failed to fetch backlight level: {}", err))
|
||||||
|
.unwrap();
|
||||||
if brightness + self.step <= self.max {
|
if brightness + self.step <= self.max {
|
||||||
self.backlight
|
self.backlight
|
||||||
.set_brightness(brightness + self.step)
|
.set_brightness(brightness + self.step)
|
||||||
.unwrap();
|
.map_or_else(
|
||||||
|
|err| warn!("Failed to increment backlight level: {}", err),
|
||||||
|
|_| {},
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
pub fn step_down(&self) {
|
pub fn step_down(&self) {
|
||||||
let brightness = self.backlight.brightness().unwrap();
|
let brightness = self
|
||||||
|
.backlight
|
||||||
|
.brightness()
|
||||||
|
.map_err(|err| warn!("Failed to fetch backlight level: {}", err))
|
||||||
|
.unwrap();
|
||||||
if brightness > self.step {
|
if brightness > self.step {
|
||||||
self.backlight
|
self.backlight
|
||||||
.set_brightness(brightness - self.step)
|
.set_brightness(brightness - self.step)
|
||||||
.unwrap();
|
.map_or_else(
|
||||||
|
|err| warn!("Failed to increment backlight level: {}", err),
|
||||||
|
|_| {},
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
use crate::aura::BuiltInModeByte;
|
use crate::aura::BuiltInModeByte;
|
||||||
use crate::core::{Backlight, RogCore};
|
use crate::core::{Backlight, RogCore};
|
||||||
use crate::error::AuraError;
|
use crate::error::AuraError;
|
||||||
|
use log::info;
|
||||||
|
|
||||||
pub fn match_laptop() -> Result<Box<dyn Laptop>, AuraError> {
|
pub fn match_laptop() -> Result<Box<dyn Laptop>, AuraError> {
|
||||||
let dmi = sysfs_class::DmiId::default();
|
let dmi = sysfs_class::DmiId::default();
|
||||||
@@ -136,11 +137,11 @@ impl Laptop for LaptopGX502GW {
|
|||||||
rogcore.suspend();
|
rogcore.suspend();
|
||||||
}
|
}
|
||||||
GX502GWKeys::AirplaneMode => {
|
GX502GWKeys::AirplaneMode => {
|
||||||
rogcore.toggle_airplane_mode()?;
|
rogcore.toggle_airplane_mode();
|
||||||
}
|
}
|
||||||
_ => {
|
_ => {
|
||||||
if key_byte != 0 {
|
if key_byte != 0 {
|
||||||
dbg!(&key_byte);
|
info!("Unmapped key: {}", &key_byte);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user