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:308
enum spi_sck_gp spi_sck_pin
Definition: pico_spi.h:117
@ NO_OS_SPI_MODE_1
Definition: no_os_spi.h:69
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:181
Header file for the pico spi driver.
#define PICO_SPI_MAX_INSTANCES
Definition: pico_spi.c:56
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:221
Definition: no_os_spi.h:91
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:139
@ NO_OS_SPI_MODE_2
Definition: no_os_spi.h:71
spi_sck_gp
Available GP config for SPI SCK.
Definition: pico_spi.h:82
void * no_os_calloc(size_t nitems, size_t size)
Allocate memory and return a pointer to it, set memory to 0.
Definition: chibios_alloc.c:60
@ SPI0_CS_GP17
Definition: pico_spi.h:99
@ NO_OS_SPI_MODE_3
Definition: no_os_spi.h:73
enum spi_cs_gp spi_cs_pin
Definition: pico_spi.h:133
uint8_t * tx_buff
Definition: no_os_spi.h:93
uint32_t device_id
Definition: no_os_spi.h:133
uint8_t chip_select
Definition: no_os_spi.h:185
@ 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:308
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:141
uint8_t * rx_buff
Definition: no_os_spi.h:95
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:189
Additional SPI config parameters.
Definition: pico_spi.h:125
Structure holding SPI descriptor.
Definition: no_os_spi.h:177
@ 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:97
void * extra
Definition: no_os_spi.h:193
int32_t pico_spi_remove(struct no_os_spi_desc *desc)
Free the resources allocated by no_os_spi_init().
Definition: pico_spi.c:198
uint32_t max_speed_hz
Definition: no_os_spi.h:135
@ 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
void no_os_free(void *ptr)
Deallocate memory previously allocated by a call to no_os_calloc or no_os_malloc.
Definition: chibios_alloc.c:75
@ NO_OS_SPI_BIT_ORDER_MSB_FIRST
Definition: no_os_spi.h:82
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:285
@ 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:183
@ 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:145
@ NO_OS_SPI_MODE_0
Definition: no_os_spi.h:67
enum no_os_spi_mode mode
Definition: no_os_spi.h:187
@ 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:131
@ SPI1_CS_GP9
Definition: pico_spi.h:101