Files
asusctl/asusctl/src/fan_curve_cli.rs
2026-01-13 23:50:31 +01:00

45 lines
1.3 KiB
Rust

use argh::FromArgs;
use rog_platform::platform::PlatformProfile;
use rog_profiles::fan_curve_set::CurveData;
use rog_profiles::FanCurvePU;
#[derive(FromArgs, Debug, Clone)]
#[argh(subcommand, name = "fan-curve", description = "fan curve commands")]
pub struct FanCurveCommand {
#[argh(switch, description = "get enabled fan profiles")]
pub get_enabled: bool,
#[argh(switch, description = "set the active profile's fan curve to default")]
pub default: bool,
#[argh(
option,
description = "profile to modify fan-curve for. shows data if no options provided"
)]
pub mod_profile: Option<PlatformProfile>,
#[argh(
option,
description = "enable or disable <true/false> fan all curves for a profile; --mod_profile required"
)]
pub enable_fan_curves: Option<bool>,
#[argh(
option,
description = "enable or disable <true/false> a single fan curve for a profile; --mod_profile and --fan required"
)]
pub enable_fan_curve: Option<bool>,
#[argh(
option,
description = "select fan <cpu/gpu/mid> to modify; --mod_profile required"
)]
pub fan: Option<FanCurvePU>,
#[argh(
option,
description = "data format = 30c:1%,49c:2%,...; --mod-profile required. If '%' is omitted the fan range is 0-255"
)]
pub data: Option<CurveData>,
}