ryzenadj 0.1.0

Safe Rust interface to RyzenAdj
use ryzenadj::{RyzenAdj, error::Result};

fn main() -> Result<()> {
    let mut ryzen = RyzenAdj::new()?;
    println!("CPU family: {:?}", ryzen.cpu_family());
    println!(
        "BIOS interface version (raw): {}",
        ryzen.bios_interface_version()
    );

    {
        let mut table = ryzen.power_table()?;
        println!("PM Table version: {:#010X}", table.version());
        println!("PM Table float count: {}", table.values().len());
        println!("STAPM (W): {:?}", table.stapm());
        println!("Fast PPT (W): {:?}", table.fast_ppt());
        println!("Slow PPT (W): {:?}", table.slow_ppt());
        println!("Tctl (degrees Celsius): {:?}", table.tctl_temperature());

        table.refresh()?;
        println!("STAPM after refresh (W): {:?}", table.stapm());
    }

    println!("CPU family after releasing table: {:?}", ryzen.cpu_family());
    Ok(())
}