diff --git a/src/settings.rs b/src/settings.rs index 0e6562a..fa414f2 100644 --- a/src/settings.rs +++ b/src/settings.rs @@ -11,7 +11,7 @@ use crate::driver::Driver; pub struct Relay { pub driver: Driver, pub name: String, - pub number: Option, + pub number: i64, pub pin: u8, pub inverted: bool, pub pulse: Option, @@ -58,20 +58,12 @@ impl Default for Relay { } pub fn init() -> Result { - let mut settings: Settings = settings::load("controller", "CONTROLLER")?; - - for (num, relay) in settings.relays.iter_mut().enumerate() { - if relay.number.is_none() { - relay.number = Some(num as i64); - } - } - - Ok(settings) + settings::load("controller", "CONTROLLER") } impl Settings { pub fn get_relay(&self, number: i64) -> Option<&Relay> { - self.relays.iter().find(|r| r.number == Some(number)) + self.relays.iter().find(|r| r.number == number) } pub fn relays_make_drivers(