-use crate::{a770, b650_e, corsair_vengeance, rgb, sensors_jiji, winring0};
-
-pub trait Machine {
- fn set_color(&mut self, color: &rgb::RGB);
- fn get_gpu_tmp(&self) -> f32;
- fn get_cpu_tmp(&self) -> f32;
-}
-
-pub struct MachineJiji {
- ram: Vec<corsair_vengeance::Controller>,
- b650e_device: hidapi::HidDevice,
- a770: a770::A770,
- sensors: sensors_jiji::Sensors,
-}
-
-impl MachineJiji {
- pub fn new() -> Self {
- let api = hidapi::HidApi::new().unwrap();
- let machine = MachineJiji {
- ram: vec![
- corsair_vengeance::Controller::new(0x19),
- corsair_vengeance::Controller::new(0x1B),
- ],
- b650e_device: b650_e::get_device(&api),
- a770: a770::A770::new(),
- sensors: sensors_jiji::Sensors::new(),
- };
- b650_e::set_fixed_mode(&machine.b650e_device);
- machine
- }
-}
-
-impl Machine for MachineJiji {
- fn set_color(&mut self, color: &rgb::RGB) {
- for controller in &self.ram {
- controller.set_color(&color);
- }
- b650_e::set_color(&self.b650e_device, &color);
- self.a770.set_color(color.red, color.green, color.blue);
- }
- fn get_gpu_tmp(&self) -> f32 {
- self.sensors.read_gpu_temp()
- }
-
- fn get_cpu_tmp(&self) -> f32 {
- self.sensors.read_cpu_temp()
- }
-}
-
-struct MachineLyssMetal {}