diff --git a/src/embedded_io/device.rs b/src/embedded_io/device.rs index 1680e7f..51e7c0d 100644 --- a/src/embedded_io/device.rs +++ b/src/embedded_io/device.rs @@ -27,17 +27,18 @@ impl ErrorType for EmbedIODev { impl Read for EmbedIODev { fn read(&mut self, buf: &mut [u8]) -> Result { self.dev - .sequential_read(self.head.memory_address().unwrap(), buf) + .sequential_read(&self.head.memory_address().unwrap(), buf) .map_err(MB85RCErrorType::I2c) - .inspect(|read_bytes| { - self.head.advance(*read_bytes); + .map(|_| { + self.head.advance(buf.len()); + buf.len() }) } } impl Write for EmbedIODev { fn write(&mut self, buf: &[u8]) -> Result { - // From trait doc: Implementations must not return Ok(0) unless buf is empty. + // From trait doc: Implementations must not return Ok(0) unless buf is empty. if buf.is_empty() { return Ok(0); }