Struct esp_idf_svc::sys::spi_transaction_t
source · #[repr(C)]pub struct spi_transaction_t {
pub flags: u32,
pub cmd: u16,
pub addr: u64,
pub length: usize,
pub rxlength: usize,
pub user: *mut c_void,
pub __bindgen_anon_1: spi_transaction_t__bindgen_ty_1,
pub __bindgen_anon_2: spi_transaction_t__bindgen_ty_2,
}
Expand description
This structure describes one SPI transaction. The descriptor should not be modified until the transaction finishes.
Fields§
§flags: u32
< Bitwise OR of SPI_TRANS_* flags
cmd: u16
< Command data, of which the length is set in the command_bits
of spi_device_interface_config_t.
NOTE: this field, used to be “command” in ESP-IDF 2.1 and before, is re-written to be used in a new way in ESP-IDF 3.0.
Example: write 0x0123 and command_bits=12 to send command 0x12, 0x3_ (in previous version, you may have to write 0x3_12).
addr: u64
< Address data, of which the length is set in the address_bits
of spi_device_interface_config_t.
NOTE: this field, used to be “address” in ESP-IDF 2.1 and before, is re-written to be used in a new way in ESP-IDF3.0.
Example: write 0x123400 and address_bits=24 to send address of 0x12, 0x34, 0x00 (in previous version, you may have to write 0x12340000).
length: usize
< Total data length, in bits
rxlength: usize
< Total data length received, should be not greater than length
in full-duplex mode (0 defaults this to the value of length
).
user: *mut c_void
< User-defined variable. Can be used to store eg transaction ID.
__bindgen_anon_1: spi_transaction_t__bindgen_ty_1
§__bindgen_anon_2: spi_transaction_t__bindgen_ty_2
Trait Implementations§
source§impl Clone for spi_transaction_t
impl Clone for spi_transaction_t
source§fn clone(&self) -> spi_transaction_t
fn clone(&self) -> spi_transaction_t
1.0.0§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Default for spi_transaction_t
impl Default for spi_transaction_t
source§fn default() -> spi_transaction_t
fn default() -> spi_transaction_t
impl Copy for spi_transaction_t
Auto Trait Implementations§
impl Freeze for spi_transaction_t
impl RefUnwindSafe for spi_transaction_t
impl !Send for spi_transaction_t
impl !Sync for spi_transaction_t
impl Unpin for spi_transaction_t
impl UnwindSafe for spi_transaction_t
Blanket Implementations§
§impl<T> Any for Twhere
T: 'static + ?Sized,
impl<T> Any for Twhere
T: 'static + ?Sized,
§impl<T> Borrow<T> for Twhere
T: ?Sized,
impl<T> Borrow<T> for Twhere
T: ?Sized,
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)§impl<T> CloneToUninit for Twhere
T: Copy,
impl<T> CloneToUninit for Twhere
T: Copy,
§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)