@@ -178,9 +178,10 @@ pub trait SpiDevice: ErrorType {
178
178
/// This is a convenience method equivalent to `device.transaction(|bus| bus.write(buf))`.
179
179
///
180
180
/// 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 >
182
182
where
183
- Self :: Bus : SpiBusWrite ,
183
+ Self :: Bus : SpiBusWrite < Word > ,
184
+ Word : Copy ,
184
185
{
185
186
self . transaction ( |bus| bus. write ( buf) )
186
187
}
@@ -190,9 +191,10 @@ pub trait SpiDevice: ErrorType {
190
191
/// This is a convenience method equivalent to `device.transaction(|bus| bus.read(buf))`.
191
192
///
192
193
/// 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 >
194
195
where
195
- Self :: Bus : SpiBusRead ,
196
+ Self :: Bus : SpiBusRead < Word > ,
197
+ Word : Copy ,
196
198
{
197
199
self . transaction ( |bus| bus. read ( buf) )
198
200
}
@@ -202,9 +204,10 @@ pub trait SpiDevice: ErrorType {
202
204
/// This is a convenience method equivalent to `device.transaction(|bus| bus.transfer(read, write))`.
203
205
///
204
206
/// 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 >
206
208
where
207
- Self :: Bus : SpiBus ,
209
+ Self :: Bus : SpiBus < Word > ,
210
+ Word : Copy ,
208
211
{
209
212
self . transaction ( |bus| bus. transfer ( read, write) )
210
213
}
@@ -214,9 +217,10 @@ pub trait SpiDevice: ErrorType {
214
217
/// This is a convenience method equivalent to `device.transaction(|bus| bus.transfer_in_place(buf))`.
215
218
///
216
219
/// 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 >
218
221
where
219
- Self :: Bus : SpiBus ,
222
+ Self :: Bus : SpiBus < Word > ,
223
+ Word : Copy ,
220
224
{
221
225
self . transaction ( |bus| bus. transfer_in_place ( buf) )
222
226
}
0 commit comments