mod cli;
mod lm_sensors;
mod mtemp;
mod nvidia_smi;
mod sensor_names;
use cli::Arguments;
use lm_sensors::sensors_data;
use mtemp::Mtemp;
use nvidia_smi::temperature;
use structopt::StructOpt;
fn main() {
let opts = Arguments::from_args();
match opts {
Arguments::Cpu => print_cpu_temp(),
Arguments::Gpu => print_gpu_temp(),
Arguments::Disk => print_disk_temp(),
Arguments::Debug => debug(),
}
}
fn print_cpu_temp() {
if let Some(temp) = Mtemp::cpu() {
println!("{}", temp);
}
}
fn print_disk_temp() {
if let Some(temp) = Mtemp::disk() {
println!("{}", temp)
}
}
fn print_gpu_temp() {
if let Some(temp) = Mtemp::gpu() {
println!("{}", temp)
}
}
fn debug() {
println!("lm-sensors: {:#?}", sensors_data());
println!("nvidia-smi: {:#?}", temperature());
}