Update dependencies
[temp2RGB.git] / src / main_loop.rs
index ae4c221..bc2f6ee 100644 (file)
@@ -23,7 +23,14 @@ pub fn main_loop(completed: Arc<AtomicBool>) {
     let settings = settings::Settings::read(consts::FILE_CONF).expect("Cannot load settings");
     println!("Settings: {settings:?}");
 
-    let machine: &mut dyn machine::Machine = &mut machine::MachineJiji::new();
+    let mut machine: Box<dyn machine::Machine> = match settings.machine_name {
+        settings::MachineName::Jiji => {
+            Box::new(machine::MachineJiji::new().expect("Unable to create MachineJiji"))
+        }
+        settings::MachineName::LyssMetal => {
+            Box::new(machine::MachineLyssMetal::new().expect("Unable to create MachineLyssMetal"))
+        }
+    };
 
     let mut kernel = [0f32; consts::KERNEL_SIZE_SAMPLES];
     let mut current_pos = 0usize;