Lüftersteuerung
Die Lüftersteuerung kann USB-Geräten mit den folgenden Funktionen einfach hinzugefügt werden. Der allgemeine Ablauf für ein Plugin zur Aktivierung der Lüftersteuerung über die API unseres Kühlsystems ist:
- Erkennen der an das Gerät angeschlossenen Lüfter durch integrierte Erkennungsbefehle oder RPM-Prüfungen.
- Erstellen von FanControllern für jeden erkannten Lüfter.
- Regelmäßiges Abfragen der Lüfter-RPM vom Gerät und Übermittlung an SignalRGB mittels device.setRPM().
- Regelmäßiges Abfragen der gewünschten Lüftergeschwindigkeit von device.getFanLevel() und Setzen dieser auf dem Gerät.
device.fanControlDisabled()
Abschnitt betitelt „device.fanControlDisabled()“Diese Funktion gibt an, ob der aktuelle Benutzer die Lüftersteuerung aktiviert hat. Wenn dies „true” ist, wird die Erstellung von FanControls nicht verhindert, aber der Zugriff auf device.getNormalizedFanLevel() und device.getFanLevel() wird unterbunden.
Dies ist „true”, wenn der Benutzer keinen SignalRGB Pro-Zugang hat oder wenn das System vom Benutzer manuell deaktiviert wurde.
| Rückgabe | Typ | Beschreibung |
|---|---|---|
| ControlDisabled | boolean | True, wenn die Cooling-API deaktiviert ist |
if(device.fanControlDisabled()) { // Don't touch'a the fans return; }device.createFanControl()
Abschnitt betitelt „device.createFanControl()“Erstellt einen FanController mit der angegebenen Id. Diese Id wird für die Interaktion mit dem FanController benötigt und sollte gespeichert werden.
| Parameter | Typ | Beschreibung | Beispiel |
|---|---|---|---|
| FanId | string | FanId zur Referenzierung des FanControllers | ”Fan1” |
device.removeFanControl()
Abschnitt betitelt „device.removeFanControl()“Entfernt den FanController mit der angegebenen Id, sofern einer vorhanden ist.
| Parameter | Typ | Beschreibung | Beispiel |
|---|---|---|---|
| FanId | string | FanController-Id, die entfernt werden soll | ”Fan1” |
device.getFanLevel()
Abschnitt betitelt „device.getFanLevel()“Gibt die gewünschte Geschwindigkeit des FanControllers mit der angegebenen Id zurück. Dieser Wert wird leicht zwischen der durch die aktuellen Lüfterkurveneinstellungen vorgegebenen Geschwindigkeit und dem zuletzt zurückgegebenen Wert interpoliert.
| Parameter | Typ | Beschreibung | Beispiel |
|---|---|---|---|
| FanId | string | FanController-Id, für die die Geschwindigkeit zurückgegeben werden soll | ”Fan1” |
| Rückgabe | Typ | Beschreibung | Beispiel |
|---|---|---|---|
| FanSpeed | int | Gewünschte Lüftergeschwindigkeit im Bereich 0-100 | 42 |
let speed = device.getFanLevel("Fan1")// do stuff with speeddevice.getNormalizedFanLevel()
Abschnitt betitelt „device.getNormalizedFanLevel()“Gibt die gewünschte Geschwindigkeit des FanControllers mit der angegebenen Id zurück. Dieser Wert wird leicht zwischen der durch die aktuellen Lüfterkurveneinstellungen vorgegebenen Geschwindigkeit und dem zuletzt zurückgegebenen Wert interpoliert.
| Parameter | Typ | Beschreibung | Beispiel |
|---|---|---|---|
| FanId | string | FanController-Id, für die die Geschwindigkeit zurückgegeben werden soll | ”Fan1” |
| Rückgabe | Typ | Beschreibung | Beispiel |
|---|---|---|---|
| FanSpeed | int | Gewünschte Lüftergeschwindigkeit im Bereich 0-1 | .4251 |
let speed = device.getFanLevel("Fan1")// do stuff with speeddevice.setRPM()
Abschnitt betitelt „device.setRPM()“Setzt die aktuelle RPM des FanControllers. Dieser Wert wird dem Benutzer in der Cooling-Benutzeroberfläche und den Systemüberwachungsdiagrammen angezeigt.
| Parameter | Typ | Beschreibung | Beispiel |
|---|---|---|---|
| FanId | string | FanController-Id, für die die Geschwindigkeit zurückgegeben werden soll | ”Fan1” |
| RPM | int | Aktuelle Lüfter-RPM | 1337 |
let RPM = FancyGetRPMFromDeviceFunction();device.setRPM("Fan1", RPM);