no-OS
All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
stm32_spi.h
Go to the documentation of this file.
1/***************************************************************************/
33#ifndef STM32_SPI_H_
34#define STM32_SPI_H_
35
36#include <stdint.h>
37#include "no_os_spi.h"
38#include "no_os_dma.h"
39#include "no_os_gpio.h"
40#include "stm32_hal.h"
41#include "stm32_gpio.h"
42#ifdef HAL_TIM_MODULE_ENABLED
43#include "stm32_pwm.h"
44#endif
45
55 uint32_t (*get_input_clock)(void);
57 uint32_t alternate;
64 uint32_t irq_num;
65#ifdef HAL_TIM_MODULE_ENABLED
67 const struct no_os_pwm_init_param *pwm_init;
69#endif
70};
71
78 SPI_HandleTypeDef hspi;
80 uint32_t input_clock;
82 uint32_t alternate;
94 void (*stm32_spi_dma_user_cb)(void *ctx);
98#ifdef HAL_TIM_MODULE_ENABLED
100 struct no_os_pwm_desc* pwm_desc;
101 struct no_os_pwm_desc* tx_pwm_desc;
102#endif
103};
104
108extern const struct no_os_spi_platform_ops stm32_spi_ops;
109
110#endif // STM32_SPI_H_
struct no_os_pwm_init_param tx_pwm_init
Definition parameters.c:134
Platform independent function definitions and data types for the DMA API.
Header file of GPIO Interface.
Header file of SPI Interface.
Header file for stm32 gpio specifics.
Header file for stm32 pwm specifics.
const struct no_os_spi_platform_ops stm32_spi_ops
stm32 platform specific SPI platform ops structure
Definition stm32_spi.c:744
Describes the state of a DMA channel.
Definition no_os_dma.h:107
Describes the state of the DMA controller.
Definition no_os_dma.h:136
Initialization parameter for the DMA controller.
Definition no_os_dma.h:171
Structure holding the GPIO descriptor.
Definition no_os_gpio.h:84
Structure holding the parameters for GPIO initialization.
Definition no_os_gpio.h:67
Structure representing an PWM generator device.
Definition no_os_pwm.h:83
Structure containing the init parameters needed by the PWM generator.
Definition no_os_pwm.h:56
Structure holding SPI function pointers that point to the platform specific function.
Definition no_os_spi.h:210
STM32 DMA Channels.
Definition stm32_dma.h:102
Structure holding the initialization parameters for stm32 platform.
Definition stm32_gpio.h:44
stm32 platform specific SPI descriptor
Definition stm32_spi.h:76
uint32_t input_clock
Definition stm32_spi.h:80
uint32_t alternate
Definition stm32_spi.h:82
struct stm32_dma_channel * rx_ch_xfer
Definition stm32_spi.h:96
void(* stm32_spi_dma_user_cb)(void *ctx)
Definition stm32_spi.h:94
struct no_os_gpio_init_param csip
Definition stm32_spi.h:92
bool stm32_spi_dma_done
Definition stm32_spi.h:93
struct no_os_dma_desc * dma_desc
Definition stm32_spi.h:86
struct stm32_dma_channel * tx_ch_xfer
Definition stm32_spi.h:97
SPI_HandleTypeDef hspi
Definition stm32_spi.h:78
struct no_os_gpio_desc * chip_select
Definition stm32_spi.h:84
struct stm32_gpio_init_param csip_extra
Definition stm32_spi.h:91
struct no_os_dma_ch * txdma_ch
Definition stm32_spi.h:90
struct no_os_dma_ch * rxdma_ch
Definition stm32_spi.h:88
void * stm32_spi_dma_user_ctx
Definition stm32_spi.h:95
Structure holding the initialization parameters for stm32 platform specific SPI parameters.
Definition stm32_spi.h:51
uint32_t chip_select_port
Definition stm32_spi.h:53
uint32_t(* get_input_clock)(void)
Definition stm32_spi.h:55
uint32_t alternate
Definition stm32_spi.h:57
struct stm32_dma_channel * rxdma_ch
Definition stm32_spi.h:61
uint32_t irq_num
Definition stm32_spi.h:64
struct stm32_dma_channel * txdma_ch
Definition stm32_spi.h:63
struct no_os_dma_init_param * dma_init
Definition stm32_spi.h:59