private static void Init() { MediaController.Init(); SerialController.Init(); IrController.Init(); SensorController.Init(Computer); FanController.Init(Computer); DisplayController.Init(); }
public static void ChangeFan(FanOperation operation) { ISensor fanSensor; var outputValue = string.Empty; if (DisplayController.CurrentScreen == Screen.FrontFans) { var mb = _computer.Hardware.First(x => x.HardwareType == HardwareType.Mainboard); mb.Update(); var fans = mb.SubHardware[0].Sensors .Where(x => x.Identifier.ToString() == HardwareIdentifiers.FRONT1_FAN_PERCENTAGE || x.Identifier.ToString() == HardwareIdentifiers.FRONT2_FAN_PERCENTAGE || x.Identifier.ToString() == HardwareIdentifiers.FRONT3_FAN_PERCENTAGE) .ToList(); var minValue = fans.Min(x => x.Value) ?? 50; fans.ForEach(x => outputValue = ChangeFan(x, minValue, operation)); DisplayController.Display("Fan control", $"{outputValue}", true); return; } FanType fan; try { fan = DisplayController.CurrentScreen.GetFanType(); } catch (Exception e) { DisplayController.Display("Error", e.Message, true); return; } if (fan == FanType.GPU) { var gpu = _computer.Hardware.First(x => x.HardwareType == HardwareType.GpuNvidia); gpu.Update(); fanSensor = gpu.Sensors.First(x => x.Identifier.ToString() == HardwareIdentifiers.GPU_FAN_PERCENTAGE); } else { var mb = _computer.Hardware.First(x => x.HardwareType == HardwareType.Mainboard); mb.Update(); fanSensor = mb.SubHardware[0].Sensors.First(x => x.Identifier.ToString() == Fans[fan]); } var value = fanSensor.Value.GetValueOrDefault(50); outputValue = ChangeFan(fanSensor, value, operation); DisplayController.Display("Fan control", $"{outputValue}", true); }