Go to the documentation of this file.
48 #ifdef HAL_TIM_MODULE_ENABLED
71 #ifdef HAL_TIM_MODULE_ENABLED
104 #ifdef HAL_TIM_MODULE_ENABLED
116 #endif // STM32_SPI_H_
Structure holding the initialization parameters for stm32 platform specific SPI parameters.
Definition: stm32_spi.h:57
int32_t stm32_spi_altrnate_cs_enable(struct no_os_spi_desc *desc, bool enable)
enable CS gpio alternate function
Definition: stm32_spi.c:307
void * extra
Definition: no_os_gpio.h:112
uint32_t timeout
Definition: ad413x.c:55
Structure holding the parameters for GPIO initialization.
Definition: no_os_gpio.h:85
Structure containing the init parameters needed by the PWM generator.
Definition: no_os_pwm.h:72
enum no_os_gpio_pull_up pull
Definition: no_os_gpio.h:91
Platform independent function definitions and data types for the DMA API.
uint32_t device_id
Definition: no_os_spi.h:181
bool stm32_spi_dma_done
Definition: stm32_spi.h:99
#define NO_OS_SPI_CPOL
Definition: no_os_spi.h:54
stm32 platform specific SPI descriptor
Definition: stm32_spi.h:82
enum no_os_spi_bit_order bit_order
Definition: no_os_spi.h:141
GPIO_TypeDef * port
Definition: stm32_gpio.h:65
Header file of SPI Interface.
Initialization parameter for the DMA controller.
Definition: no_os_dma.h:177
uint32_t id
Definition: no_os_dma.h:115
int32_t no_os_pwm_remove(struct no_os_pwm_desc *desc)
Free the resources allocated by no_os_pwm_init().
Definition: no_os_pwm.c:85
int32_t stm32_spi_dma_transfer_sync(struct no_os_spi_desc *desc, struct no_os_spi_msg *msgs, uint32_t len)
Configure and start a series of transfers using DMA. Wait for the completion before returning.
Definition: stm32_spi.c:673
Definition: no_os_spi.h:91
uint32_t irq_num
Definition: no_os_dma.h:121
Header file of Delay functions.
struct stm32_dma_channel * tx_ch_xfer
Definition: stm32_spi.h:103
uint32_t mode
Definition: stm32_gpio.h:52
@ DEV_TO_MEM
Definition: no_os_dma.h:58
Header file for the stm32 spi driver.
struct no_os_dma_ch * rxdma_ch
Definition: stm32_spi.h:94
int32_t port
Definition: no_os_gpio.h:87
int32_t stm32_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: stm32_spi.c:456
enum no_os_spi_mode mode
Definition: no_os_spi.h:139
@ NO_OS_GPIO_HIGH
Definition: no_os_gpio.h:123
int32_t number
Definition: no_os_gpio.h:89
Structure holding the initialization parameters for stm32 platform.
Definition: stm32_gpio.h:50
struct stm32_dma_channel * txdma_ch
Definition: stm32_spi.h:69
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
void(* stm32_spi_dma_user_cb)(void *ctx)
Definition: stm32_spi.h:100
SPI_HandleTypeDef hspi
Definition: stm32_spi.h:84
@ NO_OS_PULL_NONE
Definition: no_os_gpio.h:72
const struct no_os_gpio_platform_ops * platform_ops
Definition: no_os_gpio.h:93
DMA_HandleTypeDef * hdma
Definition: stm32_dma.h:72
uint32_t alternate
Definition: stm32_spi.h:63
int no_os_dma_config_xfer(struct no_os_dma_desc *, struct no_os_dma_xfer_desc *, uint32_t, struct no_os_dma_ch *)
Acquire a channel and configure the list of transfers.
Definition: no_os_dma.c:248
uint8_t * tx_buff
Definition: no_os_spi.h:93
uint32_t device_id
Definition: no_os_spi.h:133
struct stm32_dma_channel * rxdma_ch
Definition: stm32_spi.h:67
uint8_t chip_select
Definition: no_os_spi.h:137
void no_os_mdelay(uint32_t msecs)
Wait until msecs milliseconds passed.
Definition: aducm3029_delay.c:132
uint8_t chip_select
Definition: no_os_spi.h:185
uint32_t irq_num
Definition: stm32_spi.h:70
int32_t no_os_pwm_enable(struct no_os_pwm_desc *desc)
Enable PWM signal generation.
Definition: no_os_pwm.c:104
int32_t stm32_spi_init(struct no_os_spi_desc **desc, const struct no_os_spi_init_param *param)
Initialize the SPI communication peripheral.
Definition: stm32_spi.c:164
uint32_t alternate
Definition: stm32_spi.h:88
struct stm32_dma_channel * rx_ch_xfer
Definition: stm32_spi.h:102
Describes the state of a DMA channel.
Definition: no_os_dma.h:113
uint8_t * rx_buff
Definition: no_os_spi.h:95
struct no_os_dma_ch * txdma_ch
Definition: stm32_spi.h:96
uint8_t * dst
Definition: no_os_dma.h:81
int32_t no_os_pwm_disable(struct no_os_pwm_desc *desc)
Disable PWM signal generation.
Definition: no_os_pwm.c:121
STM32 DMA Channels.
Definition: stm32_dma.h:70
const struct no_os_spi_platform_ops stm32_spi_ops
stm32 specific SPI platform ops structure
Definition: stm32_spi.c:699
void stm32_spi_dma_callback(struct no_os_dma_xfer_desc *old_xfer, struct no_os_dma_xfer_desc *next_xfer, void *ctx)
Definition: stm32_spi.c:597
int32_t stm32_config_dma_and_start(struct no_os_spi_desc *desc, struct no_os_spi_msg *msgs, uint32_t len, void(*callback)(struct no_os_dma_xfer_desc *old_xfer, struct no_os_dma_xfer_desc *next_xfer, void *ctx), void *ctx)
Configure and start a series of transfers using DMA.
Definition: stm32_spi.c:485
enum no_os_spi_bit_order bit_order
Definition: no_os_spi.h:189
int32_t no_os_gpio_remove(struct no_os_gpio_desc *desc)
Free the resources allocated by no_os_gpio_get().
Definition: no_os_gpio.c:110
Structure holding SPI descriptor.
Definition: no_os_spi.h:177
It's used to setup a generic DMA transfer.
Definition: no_os_dma.h:77
struct no_os_dma_init_param * dma_init
Definition: stm32_spi.h:65
void * xfer_complete_ctx
Definition: no_os_dma.h:95
int32_t stm32_spi_remove(struct no_os_spi_desc *desc)
Free the resources allocated by no_os_spi_init().
Definition: stm32_spi.c:276
void(* xfer_complete_cb)(struct no_os_dma_xfer_desc *, struct no_os_dma_xfer_desc *, void *)
Definition: no_os_dma.h:88
Structure holding the GPIO descriptor.
Definition: no_os_gpio.h:102
uint32_t chip_select_port
Definition: stm32_spi.h:59
int no_os_dma_init(struct no_os_dma_desc **, struct no_os_dma_init_param *)
Initialize the DMA controller.
Definition: no_os_dma.c:96
int no_os_dma_xfer_start(struct no_os_dma_desc *, struct no_os_dma_ch *)
Acquire a channel and configure the list of transfers.
Definition: no_os_dma.c:362
Structure representing an PWM generator device.
Definition: no_os_pwm.h:99
uint32_t bytes_number
Definition: no_os_spi.h:97
void * extra
Definition: no_os_spi.h:193
int32_t no_os_pwm_init(struct no_os_pwm_desc **desc, const struct no_os_pwm_init_param *param)
Initialize the PWM peripheral.
Definition: no_os_pwm.c:57
int32_t no_os_gpio_get(struct no_os_gpio_desc **desc, const struct no_os_gpio_init_param *param)
Obtain the GPIO decriptor.
Definition: no_os_gpio.c:55
void * stm32_spi_dma_user_ctx
Definition: stm32_spi.h:101
uint32_t max_speed_hz
Definition: no_os_spi.h:135
Header file of PWM Interface.
Header file for stm32 gpio specifics.
enum no_os_dma_xfer_type xfer_type
Definition: no_os_dma.h:85
#define NO_OS_BIT(x)
Definition: no_os_util.h:51
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
int no_os_dma_remove(struct no_os_dma_desc *)
Remove resources allocated for the DMA controller.
Definition: no_os_dma.c:149
struct no_os_dma_desc * dma_desc
Definition: stm32_spi.h:92
void no_os_udelay(uint32_t usecs)
Wait until usecs microseconds passed.
Definition: aducm3029_delay.c:120
#define NULL
Definition: wrapper.h:64
const struct no_os_spi_platform_ops stm32_spi_ops
stm32 platform specific SPI platform ops structure
Definition: stm32_spi.c:699
uint8_t * src
Definition: no_os_dma.h:79
void * extra
Definition: no_os_dma.h:126
const struct no_os_gpio_platform_ops stm32_gpio_ops
stm32 platform specific GPIO platform ops structure
Definition: stm32_gpio.c:395
int no_os_dma_xfer_abort(struct no_os_dma_desc *, struct no_os_dma_ch *)
Abort the ongoing and any other future transfers scheduled for a channel.
Definition: no_os_dma.c:390
uint32_t speed
Definition: stm32_gpio.h:54
void * extra
Definition: no_os_gpio.h:95
Header file of GPIO Interface.
@ MEM_TO_DEV
Definition: no_os_dma.h:57
uint32_t max_speed_hz
Definition: no_os_spi.h:183
uint32_t alternate
Definition: stm32_gpio.h:56
int32_t stm32_spi_dma_transfer_async(struct no_os_spi_desc *desc, struct no_os_spi_msg *msgs, uint32_t len, void(*callback)(void *), void *ctx)
Configure and start a series of transfers using DMA. Don't Wait for the completion before returning.
Definition: stm32_spi.c:651
struct no_os_dma_ch * channels
Definition: no_os_dma.h:148
Header file of utility functions.
#define NO_OS_SPI_CPHA
Definition: no_os_spi.h:53
void * extra
Definition: no_os_spi.h:145
uint32_t input_clock
Definition: stm32_spi.h:86
stm32 platform specific gpio descriptor
Definition: stm32_gpio.h:63
enum no_os_spi_mode mode
Definition: no_os_spi.h:187
struct no_os_gpio_desc * chip_select
Definition: stm32_spi.h:90
int32_t no_os_gpio_direction_output(struct no_os_gpio_desc *desc, uint8_t value)
Enable the output direction of the specified GPIO.
Definition: no_os_gpio.c:153
int32_t number
Definition: no_os_gpio.h:106
uint32_t length
Definition: no_os_dma.h:83
struct no_os_gpio_init_param csip
Definition: stm32_spi.h:98
uint32_t(* get_input_clock)(void)
Definition: stm32_spi.h:61
int32_t stm32_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: stm32_spi.c:342
Error macro definition for ARM Compiler.
@ NO_OS_DMA_IRQ
Definition: no_os_irq.h:98
Platform independent function definitions and data types for the DMA API.
struct stm32_gpio_init_param csip_extra
Definition: stm32_spi.h:97
Implementation of stm32 pwm driver.
Structure holding the parameters for SPI initialization.
Definition: no_os_spi.h:131
enum no_os_irq_peripheral periph
Definition: no_os_dma.h:103
Describes the state of the DMA controller.
Definition: no_os_dma.h:142