9 releases (3 stable)
2.0.1+deprecated | Aug 31, 2024 |
---|---|
2.0.0 | Oct 16, 2022 |
1.0.0 | Dec 27, 2021 |
0.4.0 | Jan 30, 2021 |
0.1.0 | Jan 8, 2021 |
#8 in #supply
41KB
502 lines
[!CAUTION] Deprecated Newer Linux kernels have a native driver for these power supplies.
corsairmi
Read data from Corsair RMi and HXi series power supplies.
This uses the Linux HIDRAW interface to communicate with the power supply.
This crate is based off of this implementation in C: notaz/corsairmi
Example
use corsairmi::PowerSupply;
let mut psu: PowerSupply = PowerSupply::open("/dev/hidraw5")?;
println!("Power consumption: {:.1} Watts", psu.input_power()?);
Features
An asynchronous implementation is available with the tokio
feature flag.
udev rules
You will most likely want to update your udev rules so that you can access the power supply as a non superuser.
These are my udev rules, you will need to update the idProduct
field for
the product ID of your power supply, you can figure this value out with
lsusb
, or by reading the source.
Also note the value for idProduct
must be lowercase hexadecimal.
# /etc/udev/rules.d/99-corsair.rules
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1b1c", ATTRS{idProduct}=="1c06", MODE="0666"
udev rules can be reloaded with
sudo udevadm control --reload-rules && sudo udevadm trigger
Dependencies
~0–5.5MB
~21K SLoC