From f265a6a1530854cdc98487b20c0564c5fef00a07 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Max=20K=C3=A4nner?= Date: Tue, 2 Jan 2024 18:43:45 +0100 Subject: [PATCH] implement sync write --- src/instruction.rs | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/instruction.rs b/src/instruction.rs index eaffe20..1a8777e 100644 --- a/src/instruction.rs +++ b/src/instruction.rs @@ -192,11 +192,12 @@ impl<'a> Instruction<'a> { buffer[4..4 + ids.len()].copy_from_slice(ids); Ok(4 + u16::try_from(ids.len()).map_err(|_| Error::Unknown)?) } - SyncWrite { - addr: _, - len: _, - data: _, - } => unimplemented!(), + SyncWrite { addr, len, data } if buffer.len() >= 4 + data.len() => { + buffer[..2].copy_from_slice(&addr.to_le_bytes()); + buffer[2..4].copy_from_slice(&len.to_le_bytes()); + buffer[4..4 + data.len()].copy_from_slice(data); + Ok(4 + u16::try_from(data.len()).map_err(|_| Error::Unknown)?) + } BulkRead { data: _ } => unimplemented!(), BulkWrite { data: _ } => unimplemented!(), FastBulkRead { data: _ } => unimplemented!(),