34 lines
1.2 KiB
Markdown
34 lines
1.2 KiB
Markdown
|
# Kulifuli — The Host Half
|
||
|
|
||
|
Kulifuli is an Arduino Micro based PC fan controller with the option to send a fake tachometer PWM
|
||
|
signal back to the motherboard. This is useful for for example server motherboards that refuse to
|
||
|
operate unless such a signal is received. (Such as the one in my HP Proliant that always spins its
|
||
|
fans at 100% after the latest firmware update. Thank you HP, very cool of you to do that.)
|
||
|
|
||
|
This repository contains the host side of the software. For the software to run on the Arduino
|
||
|
Micro as well as hardware information see
|
||
|
[this repository](https://kernelmaft.com/forgejo/zedfrigg/kulifuli-arduino).
|
||
|
|
||
|
## Building
|
||
|
|
||
|
Requirements: Rust compiler, Cargo
|
||
|
|
||
|
Simply run:
|
||
|
|
||
|
```sh
|
||
|
cargo build --release
|
||
|
```
|
||
|
|
||
|
The executable should now be present as `target/release/kulifuli`.
|
||
|
|
||
|
## Running
|
||
|
|
||
|
```sh
|
||
|
kulifuli $serial_device $duty_cycle
|
||
|
```
|
||
|
|
||
|
The _serial device_ argument is the path to the Arduino Micro USB serial device, e.g.
|
||
|
`/dev/ttyACM0` on Linux. The _duty cycle_ argument is the desired duty cycle for the PWM fans
|
||
|
connected to the fan controller to be run at. This is an integer range where 0 is 0% and 79 is
|
||
|
100%. Going below 19 is unlikely to have an effect with most fans.
|