spi_ioc_transfer class
struct spi_ioc_transfer - describes a single SPI transfer @tx_buf: Holds pointer to userspace buffer with transmit data, or null. If no data is provided, zeroes are shifted out. @rx_buf: Holds pointer to userspace buffer for receive data, or null. @len: Length of tx and rx buffers, in bytes. @speed_hz: Temporary override of the device's bitrate. @bits_per_word: Temporary override of the device's wordsize. @delay_usecs: If nonzero, how long to delay after the last bit transfer before optionally deselecting the device before the next transfer. @cs_change: True to deselect device before starting the next transfer. @word_delay_usecs: If nonzero, how long to wait between words within one transfer. This property needs explicit support in the SPI controller, otherwise it is silently ignored.
This structure is mapped directly to the kernel spi_transfer structure; the fields have the same meanings, except of course that the pointers are in a different address space (and may be of different sizes in some cases, such as 32-bit i386 userspace over a 64-bit x86_64 kernel). Zero-initialize the structure, including currently unused fields, to accommodate potential future updates.
SPI_IOC_MESSAGE gives userspace the equivalent of kernel spi_sync(). Pass it an array of related transfers, they'll execute together. Each transfer may be half duplex (either direction) or full duplex.
struct spi_ioc_transfer mesg4
;
...
status = ioctl(fd, SPI_IOC_MESSAGE(4), mesg);
So for example one transfer might send a nine bit command (right aligned in a 16-bit word), the next could read a block of 8-bit data before terminating that command by temporarily deselecting the chip; the next could send a different nine bit command (re-selecting the chip), and the last transfer might write some register values.
- Inheritance
-
- Object
- NativeType
- Struct
- spi_ioc_transfer
Constructors
Properties
- bits_per_word ↔ int
-
getter/setter pair
- cs_change ↔ int
-
getter/setter pair
- delay_usecs ↔ int
-
getter/setter pair
- hashCode → int
-
The hash code for this object.
no setterinherited
- len ↔ int
-
getter/setter pair
- pad ↔ int
-
getter/setter pair
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- rx_buf ↔ int
-
getter/setter pair
- rx_nbits ↔ int
-
getter/setter pair
- speed_hz ↔ int
-
getter/setter pair
- tx_buf ↔ int
-
getter/setter pair
- tx_nbits ↔ int
-
getter/setter pair
- word_delay_usecs ↔ int
-
getter/setter pair
Methods
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited