diff --git a/src/config/types.rs b/src/config/types.rs index fa20c36..d0d3579 100644 --- a/src/config/types.rs +++ b/src/config/types.rs @@ -222,9 +222,7 @@ impl From for ProfileConfig { min_freq_mhz: toml_config.min_freq_mhz, max_freq_mhz: toml_config.max_freq_mhz, platform_profile: toml_config.platform_profile, - turbo_auto_settings: toml_config - .turbo_auto_settings - .unwrap_or_default(), + turbo_auto_settings: toml_config.turbo_auto_settings.unwrap_or_default(), enable_auto_turbo: toml_config.enable_auto_turbo, battery_charge_thresholds: toml_config.battery_charge_thresholds, } diff --git a/src/engine.rs b/src/engine.rs index f5ba279..8a4b592 100644 --- a/src/engine.rs +++ b/src/engine.rs @@ -202,20 +202,21 @@ pub fn determine_and_apply_settings( } } + // Determine AC/Battery status once for the entire function + let on_ac_power = if report.batteries.is_empty() { + // No batteries means desktop/server, always on AC + true + } else { + // Check if any battery reports AC connected + report.batteries.iter().any(|b| b.ac_connected) + }; + if let Some(turbo_setting) = selected_profile_config.turbo { info!("Setting turbo to '{turbo_setting:?}'"); match turbo_setting { TurboSetting::Auto => { if selected_profile_config.enable_auto_turbo { debug!("Managing turbo in auto mode based on system conditions"); - // Determine AC status and pass it to manage_auto_turbo - let on_ac_power = if report.batteries.is_empty() { - // No batteries means desktop/server, always on AC - true - } else { - // Check if any battery reports AC connected - report.batteries.iter().any(|b| b.ac_connected) - }; manage_auto_turbo(report, selected_profile_config, on_ac_power)?; } else { debug!(