@@ -178,9 +178,10 @@ pub trait SpiDevice: ErrorType {
178178 /// This is a convenience method equivalent to `device.transaction(|bus| bus.write(buf))`.
179179 ///
180180 /// See also: [`SpiDevice::transaction`], [`SpiBusWrite::write`]
181- fn write ( & mut self , buf : & [ u8 ] ) -> Result < ( ) , Self :: Error >
181+ fn write < Word > ( & mut self , buf : & [ Word ] ) -> Result < ( ) , Self :: Error >
182182 where
183- Self :: Bus : SpiBusWrite ,
183+ Self :: Bus : SpiBusWrite < Word > ,
184+ Word : Copy ,
184185 {
185186 self . transaction ( |bus| bus. write ( buf) )
186187 }
@@ -190,9 +191,10 @@ pub trait SpiDevice: ErrorType {
190191 /// This is a convenience method equivalent to `device.transaction(|bus| bus.read(buf))`.
191192 ///
192193 /// See also: [`SpiDevice::transaction`], [`SpiBusRead::read`]
193- fn read ( & mut self , buf : & mut [ u8 ] ) -> Result < ( ) , Self :: Error >
194+ fn read < Word > ( & mut self , buf : & mut [ Word ] ) -> Result < ( ) , Self :: Error >
194195 where
195- Self :: Bus : SpiBusRead ,
196+ Self :: Bus : SpiBusRead < Word > ,
197+ Word : Copy ,
196198 {
197199 self . transaction ( |bus| bus. read ( buf) )
198200 }
@@ -202,9 +204,10 @@ pub trait SpiDevice: ErrorType {
202204 /// This is a convenience method equivalent to `device.transaction(|bus| bus.transfer(read, write))`.
203205 ///
204206 /// See also: [`SpiDevice::transaction`], [`SpiBus::transfer`]
205- fn transfer ( & mut self , read : & mut [ u8 ] , write : & [ u8 ] ) -> Result < ( ) , Self :: Error >
207+ fn transfer < Word > ( & mut self , read : & mut [ Word ] , write : & [ Word ] ) -> Result < ( ) , Self :: Error >
206208 where
207- Self :: Bus : SpiBus ,
209+ Self :: Bus : SpiBus < Word > ,
210+ Word : Copy ,
208211 {
209212 self . transaction ( |bus| bus. transfer ( read, write) )
210213 }
@@ -214,9 +217,10 @@ pub trait SpiDevice: ErrorType {
214217 /// This is a convenience method equivalent to `device.transaction(|bus| bus.transfer_in_place(buf))`.
215218 ///
216219 /// See also: [`SpiDevice::transaction`], [`SpiBus::transfer_in_place`]
217- fn transfer_in_place ( & mut self , buf : & mut [ u8 ] ) -> Result < ( ) , Self :: Error >
220+ fn transfer_in_place < Word > ( & mut self , buf : & mut [ Word ] ) -> Result < ( ) , Self :: Error >
218221 where
219- Self :: Bus : SpiBus ,
222+ Self :: Bus : SpiBus < Word > ,
223+ Word : Copy ,
220224 {
221225 self . transaction ( |bus| bus. transfer_in_place ( buf) )
222226 }
0 commit comments