From 2f26a508da31722efe0ada29fa0e8424c989f6f0 Mon Sep 17 00:00:00 2001 From: Jonah Dahlquist Date: Tue, 24 Nov 2020 19:31:59 -0800 Subject: [PATCH] Implemented From trait for InitializeError --- src/uninitialized_device.rs | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/src/uninitialized_device.rs b/src/uninitialized_device.rs index dadd5fb..c557b4c 100644 --- a/src/uninitialized_device.rs +++ b/src/uninitialized_device.rs @@ -19,7 +19,12 @@ pub enum InitializeError { SpiError(SpiError), ChipNotConnected, } -// TODO add From impl and remove map_errs + +impl From for InitializeError { + fn from(error: SpiError) -> InitializeError { + InitializeError::SpiError(error) + } +} impl UninitializedDevice { pub fn new(bus: SpiBus) -> UninitializedDevice { @@ -70,13 +75,10 @@ impl UninitializedDevice { // RESET let mode = [0b10000000]; self.bus - .write_frame(register::COMMON, register::common::MODE, &mode) - .map_err(InitializeError::SpiError)?; + .write_frame(register::COMMON, register::common::MODE, &mode)?; - self.set_mode(mode_options) - .map_err(InitializeError::SpiError)?; - host.refresh(&mut self.bus) - .map_err(InitializeError::SpiError)?; + self.set_mode(mode_options)?; + host.refresh(&mut self.bus)?; Ok(Device::new(self.bus, host)) } @@ -86,8 +88,7 @@ impl UninitializedDevice { ) -> Result<(), InitializeError> { let mut version = [0]; self.bus - .read_frame(register::COMMON, register::common::VERSION, &mut version) - .map_err(InitializeError::SpiError)?; + .read_frame(register::COMMON, register::common::VERSION, &mut version)?; if version[0] != expected_version { Err(InitializeError::ChipNotConnected) } else {