Fan Control
Este conteúdo não está disponível em sua língua ainda.
Fan Control can be easily added to USB devices with the following functions. The general process for a plugin to enable Fan Control using our Cooling System’s API is to:
- Detect the Fans Connected to the device though build in detection commands, or RPM checks.
- Create FanControllers for each detected fan.
- Regularly poll the fans RPM from the device and give it to SignalRGB using device.setRPM()
- Regularly poll the desired fan speed from device.getFanLevel() and set it on the device.
device.fanControlDisabled()
Section titled “device.fanControlDisabled()”This function tells if the current user has Fan Control enabled. This being true doesn’t prevent the creation of FanControls, but does prevent access to device.getNormalizedFanLevel() and device.getFanLevel().
This will be true if the user doesn’t have SignalRGB Pro access, or if the system has been manually disabled by the user.
| return | type | description |
|---|---|---|
| ControlDisabled | boolean | True if the Cooling API is disabled |
if(device.fanControlDisabled()) { // Don't touch'a the fans return; }device.createFanControl()
Section titled “device.createFanControl()”Creates a FanController with the given Id. This Id will need used to interact with the FanController and should be stored.
| parameter | type | Description | Example |
|---|---|---|---|
| FanId | string | FanId to be used to reference the FanController | ”Fan1” |
device.removeFanControl()
Section titled “device.removeFanControl()”Removes the FanController with the given Id if one exists.
| parameter | type | Description | Example |
|---|---|---|---|
| FanId | string | FanController Id to be removed | ”Fan1” |
device.getFanLevel()
Section titled “device.getFanLevel()”Returns the desired speed of the FanController Id given. This value is slightly interpolated between the speed given by the current Fan Curve settings and the last value returned.
| parameter | type | description | example |
|---|---|---|---|
| FanId | string | FanController id to return the speed for | ”Fan1” |
| Return | Type | Description | Example |
|---|---|---|---|
| FanSpeed | int | Desired Fan Speed in the range 0-100 | 42 |
let speed = device.getFanLevel("Fan1")// do stuff with speeddevice.getNormalizedFanLevel()
Section titled “device.getNormalizedFanLevel()”Returns the desired speed of the FanController Id given. This value is slightly interpolated between the speed given by the current Fan Curve settings and the last value returned.
| parameter | type | description | example |
|---|---|---|---|
| FanId | string | FanController id to return the speed for | ”Fan1” |
| Return | Type | Description | Example |
|---|---|---|---|
| FanSpeed | int | Desired Fan Speed in the range 0-1 | .4251 |
let speed = device.getFanLevel("Fan1")// do stuff with speeddevice.setRPM()
Section titled “device.setRPM()”Sets the current FanController RPM. This is displayed to the user in the Cooling UI and System Monitoring Graphs.
| parameter | type | description | example |
|---|---|---|---|
| FanId | string | FanController id to return the speed for | ”Fan1” |
| RPM | int | Current Fan RPM | 1337 |
let RPM = FancyGetRPMFromDeviceFunction();device.setRPM("Fan1", RPM);