X-Git-Url: http://git.euphorik.ch/?a=blobdiff_plain;f=src%2Fmachine.rs;fp=src%2Fmachine.rs;h=6bb3bfc43fae06ce1a4d2432d413a44df6a24a3c;hb=df85fed256d816770034fd4290cf2d3d22e43975;hp=d1ff5c495be11b28a0864113de251aa222a2f441;hpb=d7ff8803c1b3fa3a2ad2d6ed61e3fc232d1258de;p=temp2RGB.git diff --git a/src/machine.rs b/src/machine.rs index d1ff5c4..6bb3bfc 100644 --- a/src/machine.rs +++ b/src/machine.rs @@ -1,4 +1,4 @@ -use crate::{a770, corsair_vengeance, rgb, sensors_jiji, winring0, AsusAuraUSB}; +use crate::{a770, asus_aura_usb, corsair_vengeance, cpu_temperature, intel_arc, rgb}; pub trait Machine { fn set_color(&mut self, color: &rgb::RGB); @@ -8,9 +8,9 @@ pub trait Machine { pub struct MachineJiji { ram: Vec, - b650e_device: AsusAuraUSB::Device, + b650e_device: asus_aura_usb::Device, a770: a770::A770, - sensors: sensors_jiji::Sensors, + gpu_devices: intel_arc::Devices, } impl MachineJiji { @@ -21,9 +21,9 @@ impl MachineJiji { corsair_vengeance::Controller::new(0x19), corsair_vengeance::Controller::new(0x1B), ], - b650e_device: AsusAuraUSB::Device::new(&api, AsusAuraUSB::Motherboard::Asus650e), + b650e_device: asus_aura_usb::Device::new(&api, asus_aura_usb::Motherboard::Asus650e), a770: a770::A770::new(), - sensors: sensors_jiji::Sensors::new(), + gpu_devices: unsafe { intel_arc::GetDevices() }, }; machine.b650e_device.set_fixed_mode(); machine @@ -38,12 +38,21 @@ impl Machine for MachineJiji { self.b650e_device.set_color(&color); self.a770.set_color(color.red, color.green, color.blue); } + fn get_gpu_tmp(&self) -> f32 { - self.sensors.read_gpu_temp() + unsafe { intel_arc::GetTemperature(self.gpu_devices, 0) as f32 } } fn get_cpu_tmp(&self) -> f32 { - self.sensors.read_cpu_temp() + cpu_temperature::read() + } +} + +impl Drop for MachineJiji { + fn drop(&mut self) { + unsafe { + intel_arc::FreeDevices(self.gpu_devices); + } } }