Go to the documentation of this file.
47 #include "hardware/spi.h"
141 #endif // _PICO_SPI_H_
const struct no_os_spi_platform_ops pico_spi_ops
pico platform specific SPI platform ops structure
Definition: pico_spi.c:297
enum spi_sck_gp spi_sck_pin
Definition: pico_spi.h:117
@ NO_OS_SPI_MODE_1
Definition: no_os_spi.h:68
spi_inst_t * spi_instance
Definition: pico_spi.h:111
@ SPI0_SCK_GP18
Definition: pico_spi.h:86
@ SPI0_TX_GP3
Definition: pico_spi.h:58
@ SPI1_RX_GP12
Definition: pico_spi.h:76
uint32_t device_id
Definition: no_os_spi.h:145
Header file for the pico spi driver.
#define PICO_SPI_MAX_INSTANCES
Definition: pico_spi.c:55
Header file of SPI Interface.
pico platform specific SPI descriptor
Definition: pico_spi.h:109
int32_t pico_spi_transfer(struct no_os_spi_desc *desc, struct no_os_spi_msg *msgs, uint32_t len)
Write/read multiple messages to/from SPI.
Definition: pico_spi.c:220
Definition: no_os_spi.h:90
Header file of Delay functions.
enum spi_rx_gp spi_rx_pin
Definition: pico_spi.h:129
spi_rx_gp
Available GP config for SPI RX.
Definition: pico_spi.h:69
enum no_os_spi_mode mode
Definition: no_os_spi.h:129
@ NO_OS_SPI_MODE_2
Definition: no_os_spi.h:70
spi_sck_gp
Available GP config for SPI SCK.
Definition: pico_spi.h:82
@ SPI0_CS_GP17
Definition: pico_spi.h:99
@ NO_OS_SPI_MODE_3
Definition: no_os_spi.h:72
enum spi_cs_gp spi_cs_pin
Definition: pico_spi.h:133
uint8_t * tx_buff
Definition: no_os_spi.h:92
uint32_t device_id
Definition: no_os_spi.h:123
uint8_t chip_select
Definition: no_os_spi.h:149
@ SPI1_CS_GP13
Definition: pico_spi.h:102
const struct no_os_spi_platform_ops pico_spi_ops
pico specific SPI platform ops structure
Definition: pico_spi.c:297
int32_t pico_spi_init(struct no_os_spi_desc **desc, const struct no_os_spi_init_param *param)
Initialize the SPI communication peripheral.
Definition: pico_spi.c:140
uint8_t * rx_buff
Definition: no_os_spi.h:94
spi_tx_gp
Available GP config for SPI TX.
Definition: pico_spi.h:56
enum no_os_spi_bit_order bit_order
Definition: no_os_spi.h:153
Additional SPI config parameters.
Definition: pico_spi.h:125
Structure holding SPI descriptor.
Definition: no_os_spi.h:143
@ SPI0_RX_GP0
Definition: pico_spi.h:71
@ SPI0_SCK_GP6
Definition: pico_spi.h:85
uint32_t bytes_number
Definition: no_os_spi.h:96
void * extra
Definition: no_os_spi.h:156
int32_t pico_spi_remove(struct no_os_spi_desc *desc)
Free the resources allocated by no_os_spi_init().
Definition: pico_spi.c:197
uint32_t max_speed_hz
Definition: no_os_spi.h:125
@ SPI0_CS_GP5
Definition: pico_spi.h:98
enum spi_sck_gp spi_sck_pin
Definition: pico_spi.h:131
@ SPI0_RX_GP16
Definition: pico_spi.h:73
@ SPI1_TX_GP11
Definition: pico_spi.h:62
@ NO_OS_SPI_BIT_ORDER_MSB_FIRST
Definition: no_os_spi.h:81
spi_cs_gp
Available GP config for SPI CS.
Definition: pico_spi.h:95
@ SPI1_SCK_GP14
Definition: pico_spi.h:89
void no_os_udelay(uint32_t usecs)
Wait until usecs microseconds passed.
Definition: aducm3029_delay.c:120
enum spi_tx_gp spi_tx_pin
Definition: pico_spi.h:113
@ SPI0_TX_GP7
Definition: pico_spi.h:59
@ SPI1_TX_GP15
Definition: pico_spi.h:63
int32_t pico_spi_write_and_read(struct no_os_spi_desc *desc, uint8_t *data, uint16_t bytes_number)
Write and read data to/from SPI.
Definition: pico_spi.c:274
@ SPI0_RX_GP4
Definition: pico_spi.h:72
@ SPI0_CS_GP1
Definition: pico_spi.h:97
@ SPI1_RX_GP8
Definition: pico_spi.h:75
@ SPI0_SCK_GP2
Definition: pico_spi.h:84
uint32_t max_speed_hz
Definition: no_os_spi.h:147
@ SPI0_TX_GP19
Definition: pico_spi.h:60
enum spi_rx_gp spi_rx_pin
Definition: pico_spi.h:115
Header file of utility functions.
enum spi_cs_gp spi_cs_pin
Definition: pico_spi.h:119
void * extra
Definition: no_os_spi.h:134
@ NO_OS_SPI_MODE_0
Definition: no_os_spi.h:66
enum no_os_spi_mode mode
Definition: no_os_spi.h:151
@ SPI1_SCK_GP10
Definition: pico_spi.h:88
enum spi_tx_gp spi_tx_pin
Definition: pico_spi.h:127
Structure holding the parameters for SPI initialization.
Definition: no_os_spi.h:121
@ SPI1_CS_GP9
Definition: pico_spi.h:101