pub struct SpiBitbangDecoder<const D0: u8, const D1: u8, const D2: u8, const D3: u8, const CLK: u8, const CS: u8> {
pub config: SpiBitbangConfig,
pub endpoint: SpiEndpoint,
}
Expand description
A decoder for SPI transmissions, parameterized over bits in input sample bitfields of SPI transmissions.
Fields§
§config: SpiBitbangConfig
§endpoint: SpiEndpoint
Implementations§
Source§impl<const D0: u8, const D1: u8, const D2: u8, const D3: u8, const CLK: u8, const CS: u8> SpiBitbangDecoder<D0, D1, D2, D3, CLK, CS>
impl<const D0: u8, const D1: u8, const D2: u8, const D3: u8, const CLK: u8, const CS: u8> SpiBitbangDecoder<D0, D1, D2, D3, CLK, CS>
pub fn new(config: SpiBitbangConfig, endpoint: SpiEndpoint) -> Self
pub fn set_data_mode(&mut self, mode: SpiDataMode)
Sourcepub fn run(&self, samples: Vec<u8>) -> Result<Vec<u8>, SpiTransferDecodeError>
pub fn run(&self, samples: Vec<u8>) -> Result<Vec<u8>, SpiTransferDecodeError>
Decode a full SPI transmission from input GPIO samples, which may contain many SPI words. Expects CS to be deasserted by the end of all transactions. Returns the SPI words as a vector of bytes, using the LSBs for partial bytes (e.g. for 12-bit words, the mask is [0xFF, 0X0F, …]).
Auto Trait Implementations§
impl<const D0: u8, const D1: u8, const D2: u8, const D3: u8, const CLK: u8, const CS: u8> Freeze for SpiBitbangDecoder<D0, D1, D2, D3, CLK, CS>
impl<const D0: u8, const D1: u8, const D2: u8, const D3: u8, const CLK: u8, const CS: u8> RefUnwindSafe for SpiBitbangDecoder<D0, D1, D2, D3, CLK, CS>
impl<const D0: u8, const D1: u8, const D2: u8, const D3: u8, const CLK: u8, const CS: u8> Send for SpiBitbangDecoder<D0, D1, D2, D3, CLK, CS>
impl<const D0: u8, const D1: u8, const D2: u8, const D3: u8, const CLK: u8, const CS: u8> Sync for SpiBitbangDecoder<D0, D1, D2, D3, CLK, CS>
impl<const D0: u8, const D1: u8, const D2: u8, const D3: u8, const CLK: u8, const CS: u8> Unpin for SpiBitbangDecoder<D0, D1, D2, D3, CLK, CS>
impl<const D0: u8, const D1: u8, const D2: u8, const D3: u8, const CLK: u8, const CS: u8> UnwindSafe for SpiBitbangDecoder<D0, D1, D2, D3, CLK, CS>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more