mirror of
https://github.com/ayufan/steam-deck-tools.git
synced 2025-12-06 07:12:01 +01:00
83 lines
2.4 KiB
C#
83 lines
2.4 KiB
C#
|
|
using System;
|
|||
|
|
using System.Collections.Generic;
|
|||
|
|
using System.Linq;
|
|||
|
|
using System.Text;
|
|||
|
|
using System.Threading.Tasks;
|
|||
|
|
using LibreHardwareMonitor.Hardware;
|
|||
|
|
|
|||
|
|
namespace FanControl
|
|||
|
|
{
|
|||
|
|
internal class Program
|
|||
|
|
{
|
|||
|
|
public class UpdateVisitor : IVisitor
|
|||
|
|
{
|
|||
|
|
public void VisitComputer(IComputer computer)
|
|||
|
|
{
|
|||
|
|
computer.Traverse(this);
|
|||
|
|
}
|
|||
|
|
public void VisitHardware(IHardware hardware)
|
|||
|
|
{
|
|||
|
|
hardware.Update();
|
|||
|
|
foreach (IHardware subHardware in hardware.SubHardware) subHardware.Accept(this);
|
|||
|
|
}
|
|||
|
|
public void VisitSensor(ISensor sensor) { }
|
|||
|
|
public void VisitParameter(IParameter parameter) { }
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public static void Monitor()
|
|||
|
|
{
|
|||
|
|
Computer computer = new Computer
|
|||
|
|
{
|
|||
|
|
IsCpuEnabled = true,
|
|||
|
|
IsGpuEnabled = true,
|
|||
|
|
IsMemoryEnabled = true,
|
|||
|
|
IsMotherboardEnabled = true,
|
|||
|
|
IsControllerEnabled = true,
|
|||
|
|
IsNetworkEnabled = true,
|
|||
|
|
IsStorageEnabled = true
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
computer.Open();
|
|||
|
|
computer.Accept(new UpdateVisitor());
|
|||
|
|
|
|||
|
|
foreach (IHardware hardware in computer.Hardware)
|
|||
|
|
{
|
|||
|
|
Console.WriteLine("Hardware: {0}", hardware.Name);
|
|||
|
|
|
|||
|
|
foreach (IHardware subhardware in hardware.SubHardware)
|
|||
|
|
{
|
|||
|
|
Console.WriteLine("\tSubhardware: {0}", subhardware.Name);
|
|||
|
|
|
|||
|
|
foreach (ISensor sensor in subhardware.Sensors)
|
|||
|
|
{
|
|||
|
|
Console.WriteLine("\t\tSensor: {0}, value: {1}", sensor.Name, sensor.Value);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
foreach (ISensor sensor in hardware.Sensors)
|
|||
|
|
{
|
|||
|
|
Console.WriteLine("\tSensor: {0}, value: {1}", sensor.Name, sensor.Value);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
computer.Close();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
static void Main(string[] args)
|
|||
|
|
{
|
|||
|
|
// Monitor();
|
|||
|
|
|
|||
|
|
while (true)
|
|||
|
|
{
|
|||
|
|
Thread.Sleep(300);
|
|||
|
|
|
|||
|
|
Vlv0100.SetFanControl(false);
|
|||
|
|
Vlv0100.SetFanDesiredRPM(6000);
|
|||
|
|
|
|||
|
|
Console.WriteLine("Fan RPM: {0}", Vlv0100.GetFanRPM());
|
|||
|
|
Console.WriteLine("Fan Desired RPM: {0}", Vlv0100.GetFanDesiredRPM());
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|