liquidrust 0.2.2

A simple Rust application for displaying information and setting RGB colors for the Corsair H115i RGB PRO XT AIO.
Documentation
use rand::Rng;

pub fn random_byte() -> u8 {
  rand::thread_rng().gen_range(1..=31) << 3
}

pub fn crc8(data: &[u8]) -> u8 {
  data.iter().fold(0x00, |mut crc, &byte| {
    crc ^= byte;
    for _ in 0..8 {
      crc = if crc & 0x80 != 0 {
        (crc << 1) ^ 0x07
      } else {
        crc << 1
      };
    }
    crc
  })
}

pub fn u16le_from(buffer: &[u8], offset: usize) -> u16 {
  u16::from_le_bytes([buffer[offset], buffer[offset + 1]])
}

pub fn byte_to_fraction(value: u8) -> f32 {
  ((value as f32) / 255.0) * 100.0
}

pub fn fraction_of_byte(value: f32) -> u8 {
  (value * 255.0).round() as u8
}