local THRESH = 80 -- °C local FLASH_MS = 200
-- Keep the fan at a comfortable 50% set_speed(50) This script requires the event source, which ledfanexe automatically enables when a script registers on("audio", …) . 7. Installation & First‑Time Setup | Step | Action | |------|--------| | 1. Download | Grab the latest ledfanexe_vX.Y.Z.zip from the official site (e.g., https://ledfanexe.example.com/download ). | | 2. Extract | Unzip to a folder, e.g., C:\Program Files\LED‑Fan‑EXE . | | 3. Add to PATH (optional) | setx PATH "%PATH%;C:\Program Files\LED‑Fan‑EXE" – lets you call ledfanexe from any command prompt. | | 4. Test detection | Open a Command Prompt (admin) and run ledfanexe.exe -list . You should see something like: [0] Cooler Master 120mm RGB PWM Fan (WS2812) . | | 5. Run a demo | ledfanexe.exe -anim rainbow -speed 60 . The fan should spin at 60 % and display a moving rainbow. | | 6. Persist settings | Create a ledfan.ini next to the exe: ini<br>[General]<br>Device=0<br>DefaultAnim=breath<br>DefaultSpeed=45<br> Running ledfanexe.exe without arguments now uses these defaults. | | 7. Autostart (optional) | Add a shortcut to %APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup that calls ledfanexe.exe -script myprofile.lua . | 8. Troubleshooting | Symptom | Likely Cause | Fix | |---------|--------------|-----| | Fan does not spin | PWM header not detected or disabled in BIOS. | Enable “CPU Fan Control” in BIOS, or connect the fan to a different CHA‑fan header. | | LEDs stay dark | Data line not mapped, or LEDs need 5 V power. | Verify the fan’s 5 V line is connected; run ledfanexe.exe -list again and confirm the “LED” device appears. | | Flickering colors | Timing issue (WS2812 requires ~800 k ledfanexe work
| Function | Parameters | Description | |----------|------------|-------------| | set_speed(percent) | 0‑100 | Directly set PWM duty cycle. | | set_color(r,g,b) | 0‑255 each | Apply a solid color to LEDs. | | set_pixel(i, r,g,b) | i = 0‑(N‑1) | Set an individual LED (useful for strips). | | set_gradient(startColor, endColor) | r,g,b tables | Smooth gradient across the whole strip. | | get_temp() | – | Returns current CPU temperature in °C (float). | | get_load() | – | Returns CPU usage percent. | | on(event, func) | event = "temp", "load", "audio" | Register a callback. | | sleep(ms) | – | Pause script execution (non‑blocking). | 6.1 Minimal “Heat‑Alert” Script -- heat-alert.lua -- Turn fan to 100% and flash red when CPU ≥ 80 °C local THRESH = 80 -- °C local FLASH_MS
ledfanexe.exe -device 0 -anim breath -temp-threshold 65 -speed 80 This starts the first fan, runs the breath animation, ramps the fan to 80 % when the CPU reaches 65 °C, and otherwise stays at the BIOS default. | Name | Description | Parameters | |------|-------------|------------| | static | All LEDs show a single color (set via -color ). | -color R G B | | pulse | LEDs pulse from off → full brightness → off. | -period <ms> (default 2000) | | rainbow | Continuous rainbow wheel scrolling. | -speed <1‑10> (higher = faster) | | breath | Soft breathing effect, often used for “quiet” mode. | -period <ms> | | reactive | LEDs flash a color when a key is pressed (requires low‑level keyboard hook). | -color R G B | | audio | LEDs react to audio volume (via WASAPI capture). | -sensitivity <0‑1> | | temp | Color gradient based on temperature (blue → red). | -temp-min <°C> -temp-max <°C> | Download | Grab the latest ledfanexe_vX
To see the full list, run ledfanexe.exe -anim list . The Lua engine gives you the most flexibility. A script is just a plain text file ending in .lua . The following API is exposed by ledfanexe :