Пример #1
0
 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
             }
         }
     }
 }
Пример #2
0
        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();
            }
        }