private static void Reconnect() { try { if (Config.Setting.Port != "") { FanControl.Connect(Config.Setting.Port); } else { string port = FanControl.FindComPort(); if (port != "") { FanControl.Connect(port); Config.Setting.Port = port; Config.Write(); } } } catch (Exception) { string port = FanControl.FindComPort(); if (port != "") { try { FanControl.Connect(port); Config.Setting.Port = port; Config.Write(); } catch (Exception) { // ignored } } } }
private static void ThreadStart() { try { while (true) { try { if (!IsBlock) { if (FanControl.IsActive()) { Program.MenuGui?.SetState(true); int temperature = GetTemperature(); FanControl.SetSpeed(Fan.ChipsetFan, Config.Setting.ChipsetFanSpeed); if (Config.Setting.CpuFan.MotherboardControl) { FanControl.SetMotherboardControl(Fan.CpuFan, true); } else { FanControl.SetMotherboardControl(Fan.CpuFan, false); FanControl.SetSpeed(Fan.CpuFan, GetSpeed(Config.Setting.CpuFan.Profile, temperature)); } if (Config.Setting.RamFan.MotherboardControl) { FanControl.SetMotherboardControl(Fan.RamFan, true); } else { FanControl.SetMotherboardControl(Fan.RamFan, false); FanControl.SetSpeed(Fan.RamFan, GetSpeed(Config.Setting.RamFan.Profile, temperature)); } if (!FanControl.SendPaket()) { _lastTimeReconnect = DateTime.Now.Millisecond; FanControl.Disconnect(); } FanControl.TimeStepping = Config.Setting.TimeUpdate; } else { Program.MenuGui?.SetState(false); if (DateTime.Now.Millisecond - _lastTimeReconnect > 60000) { _lastTimeReconnect = DateTime.Now.Millisecond; Reconnect(); } } } Thread.Sleep(Config.Setting.TimeUpdate); } catch (Exception) { // ignored } } } finally { FanControl.Disconnect(); } }