Contrôle des ventilateurs
Le contrôle des ventilateurs peut être facilement ajouté aux appareils USB avec les fonctions suivantes. Le processus général pour qu’un plugin active le contrôle des ventilateurs en utilisant l’API de notre système de refroidissement est le suivant :
- Détecter les ventilateurs connectés à l’appareil via des commandes de détection intégrées ou des vérifications RPM.
- Créer des FanControllers pour chaque ventilateur détecté.
- Interroger régulièrement le RPM des ventilateurs depuis l’appareil et le transmettre à SignalRGB via device.setRPM().
- Interroger régulièrement la vitesse de ventilateur souhaitée depuis device.getFanLevel() et la définir sur l’appareil.
device.fanControlDisabled()
Section intitulée « device.fanControlDisabled() »Cette fonction indique si l’utilisateur actuel a le contrôle des ventilateurs activé. Que ce soit vrai n’empêche pas la création de FanControls, mais empêche l’accès à device.getNormalizedFanLevel() et device.getFanLevel().
Ce sera vrai si l’utilisateur n’a pas d’accès SignalRGB Pro, ou si le système a été manuellement désactivé par l’utilisateur.
| Retour | Type | Description |
|---|---|---|
| ControlDisabled | boolean | Vrai si l’API de refroidissement est désactivée |
if(device.fanControlDisabled()) { // Ne pas toucher aux ventilateurs return; }device.createFanControl()
Section intitulée « device.createFanControl() »Crée un FanController avec l’identifiant donné. Cet identifiant devra être utilisé pour interagir avec le FanController et devrait être stocké.
| Paramètre | Type | Description | Exemple |
|---|---|---|---|
| FanId | string | FanId utilisé pour référencer le FanController | ”Fan1” |
device.removeFanControl()
Section intitulée « device.removeFanControl() »Supprime le FanController avec l’identifiant donné s’il existe.
| Paramètre | Type | Description | Exemple |
|---|---|---|---|
| FanId | string | Identifiant du FanController à supprimer | ”Fan1” |
device.getFanLevel()
Section intitulée « device.getFanLevel() »Retourne la vitesse souhaitée du FanController avec l’identifiant donné. Cette valeur est légèrement interpolée entre la vitesse donnée par les paramètres actuels de la courbe de ventilateur et la dernière valeur retournée.
| Paramètre | Type | Description | Exemple |
|---|---|---|---|
| FanId | string | Identifiant du FanController pour lequel retourner la vitesse | ”Fan1” |
| Retour | Type | Description | Exemple |
|---|---|---|---|
| FanSpeed | int | Vitesse souhaitée du ventilateur dans la plage 0-100 | 42 |
let speed = device.getFanLevel("Fan1")// faire quelque chose avec speeddevice.getNormalizedFanLevel()
Section intitulée « device.getNormalizedFanLevel() »Retourne la vitesse souhaitée du FanController avec l’identifiant donné. Cette valeur est légèrement interpolée entre la vitesse donnée par les paramètres actuels de la courbe de ventilateur et la dernière valeur retournée.
| Paramètre | Type | Description | Exemple |
|---|---|---|---|
| FanId | string | Identifiant du FanController pour lequel retourner la vitesse | ”Fan1” |
| Retour | Type | Description | Exemple |
|---|---|---|---|
| FanSpeed | int | Vitesse souhaitée du ventilateur dans la plage 0-1 | .4251 |
let speed = device.getFanLevel("Fan1")// faire quelque chose avec speeddevice.setRPM()
Section intitulée « device.setRPM() »Définit le RPM actuel du FanController. Cette valeur est affichée à l’utilisateur dans l’interface utilisateur de refroidissement et dans les graphiques de surveillance du système.
| Paramètre | Type | Description | Exemple |
|---|---|---|---|
| FanId | string | Identifiant du FanController pour lequel retourner la vitesse | ”Fan1” |
| RPM | int | RPM actuel du ventilateur | 1337 |
let RPM = FancyGetRPMFromDeviceFunction();device.setRPM("Fan1", RPM);