Intel® Quark™ Microcontroller Software Interface  1.4.0
Intel® Quark™ Microcontroller BSP
qm_ss_spi_async_transfer_t Struct Reference

SPI asynchronous transfer type. More...

#include <qm_ss_spi.h>

Data Fields

void * tx
 Write data. More...
 
void * rx
 Read data. More...
 
uint16_t tx_len
 Number of data frames to write. More...
 
uint16_t rx_len
 Number of data frames to read. More...
 
void(* callback )(void *data, int error, qm_ss_spi_status_t status, uint16_t len)
 Transfer callback. More...
 
void * callback_data
 Callback user data.
 

Detailed Description

SPI asynchronous transfer type.

If the frame size is 8 bits or less, 1 byte is needed per data frame. If the frame size is 9-16 bits, 2 bytes are needed per data frame and frames of more than 16 bits require 4 bytes. In each case, the least significant bits are sent while the extra bits are discarded. The most significant bits of the frame are sent first.

Definition at line 153 of file qm_ss_spi.h.

Field Documentation

void(* qm_ss_spi_async_transfer_t::callback)(void *data, int error, qm_ss_spi_status_t status, uint16_t len)

Transfer callback.

Called after all data is transmitted/received or if the driver detects an error during the SPI transfer.

Parameters
[in]dataThe callback user data.
[in]error0 on success. Negative errno for possible error codes.
[in]statusThe SPI module status.
[in]lenThe amount of frames transmitted.

Definition at line 171 of file qm_ss_spi.h.

Referenced by qm_ss_spi_irq_transfer_terminate().

void* qm_ss_spi_async_transfer_t::rx

Read data.

Definition at line 155 of file qm_ss_spi.h.

uint16_t qm_ss_spi_async_transfer_t::rx_len

Number of data frames to read.

Definition at line 157 of file qm_ss_spi.h.

Referenced by qm_ss_spi_irq_transfer(), and qm_ss_spi_irq_transfer_terminate().

void* qm_ss_spi_async_transfer_t::tx

Write data.

Definition at line 154 of file qm_ss_spi.h.

uint16_t qm_ss_spi_async_transfer_t::tx_len

Number of data frames to write.

Definition at line 156 of file qm_ss_spi.h.

Referenced by qm_ss_spi_irq_transfer(), and qm_ss_spi_irq_transfer_terminate().