Add panel_od support

This commit is contained in:
Luke D. Jones
2022-07-17 20:21:34 +12:00
parent fee1486db6
commit 23353c77f3
7 changed files with 130 additions and 4 deletions

View File

@@ -67,18 +67,29 @@ pub struct BiosCommand {
pub help: bool,
#[options(
meta = "",
short = "S",
no_long,
help = "set bios POST sound: asusctl -p <true/false>"
)]
pub post_sound_set: Option<bool>,
#[options(no_long, help = "read bios POST sound")]
#[options(no_long, short = "s", help = "read bios POST sound")]
pub post_sound_get: bool,
#[options(
meta = "",
short = "D",
no_long,
help = "activate dGPU dedicated/G-Sync: asusctl -d <true/false>, reboot required"
)]
pub dedicated_gfx_set: Option<bool>,
#[options(no_long, help = "get GPU mode")]
#[options(no_long, short = "d", help = "get GPU mode")]
pub dedicated_gfx_get: bool,
#[options(
meta = "",
short = "O",
no_long,
help = "Set device panel overdrive <true/false>"
)]
pub panel_overdrive_set: Option<bool>,
#[options(no_long, short = "o", help = "get panel overdrive")]
pub panel_overdrive_get: bool,
}

View File

@@ -167,6 +167,10 @@ fn do_parsed(
if let Some(cmdlist) = CliStart::command_list() {
println!("{}", cmdlist);
}
println!("\nExtra help can be requested on any command or subcommand:");
println!(" asusctl led-mode --help");
println!(" asusctl led-mode static --help");
}
}
}
@@ -692,7 +696,9 @@ fn handle_bios_option(
if (cmd.dedicated_gfx_set.is_none()
&& !cmd.dedicated_gfx_get
&& cmd.post_sound_set.is_none()
&& !cmd.post_sound_get)
&& !cmd.post_sound_get
&& cmd.panel_overdrive_set.is_none()
&& !cmd.panel_overdrive_get)
|| cmd.help
{
println!("Missing arg or command\n");
@@ -705,6 +711,7 @@ fn handle_bios_option(
for line in usage.iter().filter(|line| {
line.contains("sound") && supported.post_sound_toggle
|| line.contains("GPU") && supported.dedicated_gfx_toggle
|| line.contains("panel") && supported.panel_overdrive
}) {
println!("{}", line);
}
@@ -717,6 +724,7 @@ fn handle_bios_option(
let res = dbus.proxies().rog_bios().post_boot_sound()? == 1;
println!("Bios POST sound on: {}", res);
}
if let Some(opt) = cmd.dedicated_gfx_set {
println!("Rebuilding initrd to include drivers");
dbus.proxies().rog_bios().set_dedicated_graphic_mode(opt)?;
@@ -733,6 +741,14 @@ fn handle_bios_option(
let res = dbus.proxies().rog_bios().dedicated_graphic_mode()? == 1;
println!("Bios dedicated GPU on: {}", res);
}
if let Some(opt) = cmd.panel_overdrive_set {
dbus.proxies().rog_bios().set_panel_overdrive(opt)?;
}
if cmd.panel_overdrive_get {
let res = dbus.proxies().rog_bios().panel_overdrive()? == 1;
println!("Panel overdrive on: {}", res);
}
}
Ok(())
}