Go to the documentation of this file.
64 #ifdef HAL_SPI_MODULE_ENABLED
70 #define APP_SPI_PIN_ENABLE 1
71 #define APP_SPI_PIN_DISABLE 0
140 #if (APP_DRIVER_CHIP_TYPE != APP_DRIVER_GR551X)
141 uint32_t wait_timeout_ms;
179 #ifdef APP_DRIVER_WAKEUP_CALL_FUN
209 #if (APP_DRIVER_CHIP_TYPE == APP_DRIVER_GR551X)
429 #if (APP_DRIVER_CHIP_TYPE == APP_DRIVER_GR551X)
SPI IO configuration Structures.
SPI handle Structure definition.
uint16_t app_spi_deinit(app_spi_id_t id)
De-initialize the APP SPI DRIVER peripheral.
@ APP_SPI_ID_MAX
Only for check parameter, not used as input parameters.
app_spi_pin_cfg_t pin_cfg
the pin configuration information for the specified SPI module.
uint16_t app_spi_receive_high_speed_sync(app_spi_id_t id, uint8_t *p_data, uint16_t size)
[High speed] Receive in master or slave mode an amount of data in blocking mode.
uint16_t app_spi_transmit_high_speed_sync(app_spi_id_t id, uint8_t *p_data, uint16_t size)
[High speed] Transmit in master or slave mode an amount of data in blocking mode.
app_spi_pin_cfg_t * p_pin_cfg
SPI IO configuration Structures.
app_spi_pin_t mosi
Set the configuration of SPI MOSI pin.
@ APP_SPI_ID_SLAVE
SPI slave module.
app_spi_dma_state_t
App spi dma state types.
dma_channel_t rx_dma_channel
Specifies the dma channel of SPI RX.
volatile bool start_flag
start flag.
SPI device structure definition.
uint16_t app_spi_read_memory_async(app_spi_id_t id, uint8_t *p_cmd_data, uint8_t *p_rx_data, uint32_t cmd_size, uint32_t rx_size)
Read an amount of data from EEPROM in non-blocking mode with DMA.
SPI parameters structure definition.
SPI init Structure definition.
SPI event structure definition.
app_io_pull_t
GPIO pull Enumerations definition.
volatile bool is_soft_cs
soft cs.
app_io_type_t
GPIO type Enumerations definition.
uint16_t app_spi_init(app_spi_params_t *p_params, app_spi_evt_handler_t evt_handler)
Initialize the APP SPI DRIVER according to the specified parameters in the app_spi_params_t and app_s...
uint16_t app_spim_transmit_with_ia(app_spi_id_t id, uint8_t instruction, uint32_t address, uint8_t *p_data, uint16_t data_length)
SPI master transmit with 1-byte inst and 3-byte addr, can use to write flash/display/eeprom,...
app_spi_dma_state_t spi_dma_state
App spi dma state types.
app_spi_pin_t clk
Set the configuration of SPI CLK pin.
uint32_t error_code
SPI Error code .
app_io_mode_t
GPIO mode Enumerations definition.
app_io_mode_t mode
Specifies the mode for the selected pins.
uint16_t app_spi_transmit_receive_async(app_spi_id_t id, uint8_t *p_tx_data, uint8_t *p_rx_data, uint32_t size)
Transmits and receive in master or slave mode an amount of data in non-blocking mode with Interrupt.
uint16_t app_spi_write_memory_async(app_spi_id_t id, uint8_t *p_cmd_data, uint8_t *p_tx_data, uint32_t cmd_size, uint32_t tx_size)
Transmits in master or slave mode an amount of data in non-blocking mode with DMA.
dma_regs_t * tx_dma_instance
Specifies the TX DMA instance.
app_io_type_t type
Specifies the type of SPI IO.
uint8_t enable
Enable or disable the pin.
@ APP_SPI_ID_MASTER
SPI master module.
uint16_t app_spi_transmit_receive_sync(app_spi_id_t id, uint8_t *p_tx_data, uint8_t *p_rx_data, uint32_t size, uint32_t timeout)
Transmits and receive in master or slave mode an amount of data in blocking mode.
Header file containing functions prototypes of GPIO app library.
app_spi_id_t id
specified SPI module ID.
spi_handle_t handle
SPI handle Structure.
@ APP_SPI_EVT_RX_CPLT
Requested RX transfer completed.
spi_handle_t * app_spi_get_handle(app_spi_id_t id)
Return the SPI handle.
app_spi_evt_handler_t evt_handler
SPI event callback.
app_spi_id_t
SPI module Enumerations definition.
uint16_t app_spi_transmit_sync(app_spi_id_t id, uint8_t *p_data, uint16_t size, uint32_t timeout)
Transmits in master or slave mode an amount of data in blocking mode.
app_spi_state_t
App spi state types.
app_spi_pin_t cs
Set the configuration of SPI CS pin.
@ APP_SPI_EVT_TX_RX_CPLT
Requested TX/RX transfer completed.
uint16_t app_spi_receive_async(app_spi_id_t id, uint8_t *p_data, uint16_t size)
Receive in master or slave mode an amount of data in non-blocking mode with Interrupt.
app_spi_evt_type_t type
Type of event.
bool is_soft_cs
config whether to control CS signal by software
app_spi_evt_type_t
SPI event Enumerations definition.
void(* app_spi_evt_handler_t)(app_spi_evt_t *p_evt)
SPI event callback definition.
@ APP_SPI_EVT_TX_CPLT
Requested TX transfer completed.
uint16_t app_spi_receive_sync(app_spi_id_t id, uint8_t *p_data, uint16_t size, uint32_t timeout)
Receive in master or slave mode an amount of data in blocking mode.
volatile uint8_t tx_done
tx done.
app_spi_pin_t miso
Set the configuration of SPI MISO pin.
Header file containing functions prototypes of DMA app library.
volatile uint8_t rx_done
rx done.
uint16_t size
SPI transmitted/received counter.
dma_channel_t tx_dma_channel
Specifies the dma channel of SPI TX.
SPI configuration definition.
app_io_mux_t
GPIO mux Enumerations definition.
app_io_pull_t pull
Specifies the Pull-up or Pull-Down activation for the selected pins.
uint16_t app_spi_abort(app_spi_id_t id)
Abort spi communication with Interrupt.
app_spi_state_t spi_state
App spi state types.
uint16_t app_spi_read_eeprom_async(app_spi_id_t id, uint8_t *p_tx_data, uint8_t *p_rx_data, uint32_t tx_size, uint32_t rx_size)
Read an amount of data from EEPROM in non-blocking mode with Interrupt.
@ APP_SPI_EVT_ABORT
Abort reported by SPI peripheral.
Header file of app driver error code.
app_spi_dma_cfg_t dma_cfg
SPI DMA configuration.
Header file of app driver config code.
spi_init_t init
SPI communication parameters.
uint16_t app_spim_receive_with_ia(app_spi_id_t id, uint8_t instruction, uint32_t address, uint8_t dummy_bytes, uint8_t *p_data, uint16_t data_length)
SPI master receive with 1-byte inst and 3-byte addr and 0~4 dummy Byte, can use to read flash/display...
@ APP_SPI_EVT_ERROR
Error reported by UART peripheral.
dma_regs_t * rx_dma_instance
Specifies the RX DMA instance.
spi_env_t spi_env
SPI device structure definition.
int16_t dma_id_t
DMA id definition.
app_io_mux_t mux
Specifies the Peripheral to be connected to the selected pins.
uint16_t app_spi_transmit_async(app_spi_id_t id, uint8_t *p_data, uint16_t size)
Transmits in master or slave mode an amount of data in non-blocking mode with Interrupt.
dma_channel_t
HAL DMA Channel Enumerations definition.
uint16_t app_spi_read_eeprom_sync(app_spi_id_t id, uint8_t *p_tx_data, uint8_t *p_rx_data, uint32_t tx_size, uint32_t rx_size, uint32_t timeout)
Read an amount of data from EEPROM in blocking mode.
uint32_t pin
Specifies the IO pins to be configured.