aboutsummaryrefslogtreecommitdiff
path: root/embassy-embedded-hal
diff options
context:
space:
mode:
Diffstat (limited to 'embassy-embedded-hal')
-rw-r--r--embassy-embedded-hal/src/shared_bus/blocking/spi.rs36
1 files changed, 23 insertions, 13 deletions
diff --git a/embassy-embedded-hal/src/shared_bus/blocking/spi.rs b/embassy-embedded-hal/src/shared_bus/blocking/spi.rs
index b01012695..e7e112b0a 100644
--- a/embassy-embedded-hal/src/shared_bus/blocking/spi.rs
+++ b/embassy-embedded-hal/src/shared_bus/blocking/spi.rs
@@ -37,8 +37,11 @@ pub struct SpiDevice<'a, M: RawMutex, BUS, CS, Word> {
37impl<'a, M: RawMutex, BUS, CS, Word> SpiDevice<'a, M, BUS, CS, Word> { 37impl<'a, M: RawMutex, BUS, CS, Word> SpiDevice<'a, M, BUS, CS, Word> {
38 /// Create a new `SpiDevice`. 38 /// Create a new `SpiDevice`.
39 pub fn new(bus: &'a Mutex<M, RefCell<BUS>>, cs: CS) -> Self { 39 pub fn new(bus: &'a Mutex<M, RefCell<BUS>>, cs: CS) -> Self {
40 Self { bus, cs 40 Self {
41 , _word: core::marker::PhantomData} 41 bus,
42 cs,
43 _word: core::marker::PhantomData,
44 }
42 } 45 }
43} 46}
44 47
@@ -93,7 +96,8 @@ where
93 } 96 }
94} 97}
95 98
96impl<'d, M, BUS, CS, BusErr, CsErr, Word> embedded_hal_02::blocking::spi::Transfer<u8> for SpiDevice<'_, M, BUS, CS, Word> 99impl<'d, M, BUS, CS, BusErr, CsErr, Word> embedded_hal_02::blocking::spi::Transfer<u8>
100 for SpiDevice<'_, M, BUS, CS, Word>
97where 101where
98 M: RawMutex, 102 M: RawMutex,
99 BUS: embedded_hal_02::blocking::spi::Transfer<u8, Error = BusErr>, 103 BUS: embedded_hal_02::blocking::spi::Transfer<u8, Error = BusErr>,
@@ -134,11 +138,12 @@ where
134 } 138 }
135} 139}
136 140
137impl<'d, M, BUS, CS, BusErr, CsErr, Word> embedded_hal_02::blocking::spi::Transfer<u16> for SpiDevice<'_, M, BUS, CS, Word> 141impl<'d, M, BUS, CS, BusErr, CsErr, Word> embedded_hal_02::blocking::spi::Transfer<u16>
138 where 142 for SpiDevice<'_, M, BUS, CS, Word>
139 M: RawMutex, 143where
140 BUS: embedded_hal_02::blocking::spi::Transfer<u16, Error = BusErr>, 144 M: RawMutex,
141 CS: OutputPin<Error = CsErr>, 145 BUS: embedded_hal_02::blocking::spi::Transfer<u16, Error = BusErr>,
146 CS: OutputPin<Error = CsErr>,
142{ 147{
143 type Error = SpiDeviceError<BusErr, CsErr>; 148 type Error = SpiDeviceError<BusErr, CsErr>;
144 fn transfer<'w>(&mut self, words: &'w mut [u16]) -> Result<&'w [u16], Self::Error> { 149 fn transfer<'w>(&mut self, words: &'w mut [u16]) -> Result<&'w [u16], Self::Error> {
@@ -155,10 +160,10 @@ impl<'d, M, BUS, CS, BusErr, CsErr, Word> embedded_hal_02::blocking::spi::Transf
155} 160}
156 161
157impl<'d, M, BUS, CS, BusErr, CsErr, Word> embedded_hal_02::blocking::spi::Write<u16> for SpiDevice<'_, M, BUS, CS, Word> 162impl<'d, M, BUS, CS, BusErr, CsErr, Word> embedded_hal_02::blocking::spi::Write<u16> for SpiDevice<'_, M, BUS, CS, Word>
158 where 163where
159 M: RawMutex, 164 M: RawMutex,
160 BUS: embedded_hal_02::blocking::spi::Write<u16, Error = BusErr>, 165 BUS: embedded_hal_02::blocking::spi::Write<u16, Error = BusErr>,
161 CS: OutputPin<Error = CsErr>, 166 CS: OutputPin<Error = CsErr>,
162{ 167{
163 type Error = SpiDeviceError<BusErr, CsErr>; 168 type Error = SpiDeviceError<BusErr, CsErr>;
164 169
@@ -190,7 +195,12 @@ pub struct SpiDeviceWithConfig<'a, M: RawMutex, BUS: SetConfig, CS, Word> {
190impl<'a, M: RawMutex, BUS: SetConfig, CS, Word> SpiDeviceWithConfig<'a, M, BUS, CS, Word> { 195impl<'a, M: RawMutex, BUS: SetConfig, CS, Word> SpiDeviceWithConfig<'a, M, BUS, CS, Word> {
191 /// Create a new `SpiDeviceWithConfig`. 196 /// Create a new `SpiDeviceWithConfig`.
192 pub fn new(bus: &'a Mutex<M, RefCell<BUS>>, cs: CS, config: BUS::Config) -> Self { 197 pub fn new(bus: &'a Mutex<M, RefCell<BUS>>, cs: CS, config: BUS::Config) -> Self {
193 Self { bus, cs, config, _word: core::marker::PhantomData } 198 Self {
199 bus,
200 cs,
201 config,
202 _word: core::marker::PhantomData,
203 }
194 } 204 }
195 205
196 /// Change the device's config at runtime 206 /// Change the device's config at runtime