13#ifndef APP_CONFIG_STM32_H_
14#define APP_CONFIG_STM32_H_
24#include "stm32_gpio.h"
25#include "stm32_uart.h"
27#include "stm32_gpio_irq.h"
38#define HW_CARRIER_NAME SDP-K1
41#define SPI_DEVICE_ID 1
43#define SPI_CS_PORT_BASE GPIOA
44#define SPI_CS_PORT_NUM 0
48#define UART_IRQ UART5_IRQn
52#define GPIO_LDAC_TG 15
54#define GPIO_SHUTDOWN 10
55#define GPIO_DAC_UPDATE 12
60#define SHUTDOWN_PORT 6
61#define DAC_UPDATE_PORT 3
65#define TRIGGER_INT_ID GPIO_DAC_UPDATE
66#define TIMER_1_PRESCALER 1
67#define TIMER_1_CLK_DIVIDER 2
68#define TIMER_CHANNEL_3 3
69#define PWM_TIMER_HANDLE htim1
72#define DAC_UPDATE_TIMER_ID 4
73#define TIMER_CHANNEL_1 1
74#define TIMER_4_PRESCALER 0
75#define TIMER_4_CLK_DIVIDER 2
76#define DAC_UPDATE_TIMER_HANDLE htim4
80#define TX_TRIGGER_PERIOD 410
81#define TX_TRIGGER_DUTY_RATIO 10
82#define TIMER_8_PRESCALER 0
83#define TIMER_8_CLK_DIVIDER 2
84#define TIMER8_HANDLE htim8
88#define CS_TIMER_PRESCALER 0
89#define CS_TIMER_CHANNEL 1
90#define TIMER_2_CLK_DIVIDER 2
91#define CS_TIMER_HANDLE htim2
95#define DAC_UPDATE_GPIO_PRIORITY 1
96#define trigger_gpio_handle 0
98#define AD5706_DMA_NUM_CHANNELS 2
99#define AD5706_TxDMA_CHANNEL_NUM DMA_CHANNEL_7
100#define AD5706_RxDMA_CHANNEL_NUM DMA_CHANNEL_3
101#define Rx_DMA_IRQ_ID DMA2_Stream0_IRQn
104#ifdef USE_VIRTUAL_COM_PORT
105#define vcom_extra_init_params stm32_vcom_extra_init_params
106#define vcom_ops stm32_usb_uart_ops
108#define uart_extra_init_params stm32_uart_extra_init_params
109#define uart_ops stm32_uart_ops
111#define spi_extra_init_params stm32_spi_extra_init_params
112#define i2c_extra_init_params stm32_i2c_extra_init_params
113#define gpio_ad0_extra_params stm32_gpio_ad0_init_params
114#define gpio_ad1_extra_params stm32_gpio_ad1_init_params
115#define gpio_ldac_tg_extra_params stm32_gpio_ldac_tg_init_params
116#define gpio_shutdown_extra_params stm32_gpio_shutdown_init_params
117#define gpio_reset_extra_params stm32_gpio_reset_init_params
118#define ldac_pwm_extra_init_params stm32_ldac_pwm_init_params
119#define dac_update_pwm_extra_init_params stm32_dac_update_pwm_init_params
120#define ldac_pwm_gpio_extra_init_params stm32_ldac_pwm_gpio_extra_init_params
121#define dac_update_pwm_gpio_extra_init_params stm32_dac_update_pwm_gpio_extra_init_params
122#if (INTERFACE_MODE == SPI_DMA)
123#define tx_trigger_extra_init_params stm32_tx_trigger_extra_init_params
124#define csb_gpio_extra_init_params stm32_cs_gpio_extra_init_params
125#define cs_extra_init_params stm32_cs_extra_init_params
126#define dma_ops stm32_dma_ops
128#define trigger_gpio_irq_extra_params stm32_trigger_gpio_irq_init_params
129#define trigger_gpio_irq_ops stm32_gpio_irq_ops
131#define gpio_ops stm32_gpio_ops
132#define gpio_ops stm32_gpio_ops
133#define spi_ops stm32_spi_ops
134#define i2c_ops stm32_i2c_ops
135#define pwm_ops stm32_pwm_ops
138#define MAX_SPI_SCLK_FREQ 20000000
139#if (INTERFACE_MODE == SPI_DMA)
140#define AD5706_MAX_UPDATE_RATE 500000
142#define AD5706_MAX_UPDATE_RATE 50000
167#if (INTERFACE_MODE == SPI_DMA)
189#ifdef USE_VIRTUAL_COM_PORT
194extern UART_HandleTypeDef
huart5;
UART_HandleTypeDef huart5
#define TIMER8_HANDLE
Definition app_config_stm32.h:84
DMA_HandleTypeDef hdma_tim8_ch1
struct stm32_pwm_init_param stm32_ldac_pwm_init_params
Definition app_config_stm32.c:77
struct stm32_dma_channel rxdma_channel
Definition app_config_stm32.c:136
USBD_HandleTypeDef hUsbDeviceHS
void stm32_system_init(void)
Initialize the STM32 system peripherals.
Definition app_config_stm32.c:176
struct stm32_gpio_init_param stm32_gpio_reset_init_params
Definition app_config_stm32.c:72
struct stm32_pwm_init_param stm32_tx_trigger_extra_init_params
Definition app_config_stm32.c:99
struct stm32_usb_uart_init_param stm32_vcom_extra_init_params
Definition app_config_stm32.c:38
DMA_HandleTypeDef hdma_spi1_rx
struct stm32_gpio_irq_init_param stm32_trigger_gpio_irq_init_params
Definition app_config_stm32.c:43
struct stm32_i2c_init_param stm32_i2c_extra_init_params
Definition app_config_stm32.c:152
struct stm32_pwm_init_param stm32_cs_extra_init_params
Definition app_config_stm32.c:120
struct stm32_uart_init_param stm32_uart_extra_init_params
Definition app_config_stm32.c:102
struct stm32_spi_init_param stm32_spi_extra_init_params
Definition app_config_stm32.c:43
void SystemClock_Config(void)
struct stm32_dma_channel txdma_channel
Definition app_config_stm32.c:118
void MX_USB_DEVICE_Init(void)
int ad5706r_init_tx_trigger(void)
Init Tx Trigger PWM.
Definition app_config_stm32.c:321
struct stm32_gpio_init_param stm32_cs_gpio_extra_init_params
Definition app_config_stm32.c:174
#define CS_TIMER_HANDLE
Definition app_config_stm32.h:91
bool sw_mode_enabled
Definition ad5706r_iio.c:521
bool hw_mode_enabled
Definition ad5706r_iio.c:518
struct stm32_spi_init_param * spi_init_param
Definition ad3530r_iio.c:319
struct no_os_dma_init_param ad5706r_dma_init_param
Definition app_config.c:198
struct stm32_pwm_init_param stm32_dac_update_pwm_init_params
Definition app_config_stm32.c:86
uint8_t n_bytes
Definition ad5706r_iio.c:485
struct stm32_gpio_init_param stm32_dac_update_pwm_gpio_extra_init_params
Definition app_config_stm32.c:113
#define DAC_UPDATE_TIMER_HANDLE
Definition app_config_stm32.h:76
struct stm32_gpio_init_param stm32_gpio_ldac_tg_init_params
Definition app_config_stm32.c:56
#define PWM_TIMER_HANDLE
Definition app_config_stm32.h:69
void ad5706r_rx_cplt_callback(DMA_HandleTypeDef *hdma)
Callback function to flag the transfer of number of requested samples.
Definition app_config_stm32.c:247
int ad5706r_abort_dma_transfers(struct ad5706r_dev *device)
Abort DMA Transfers.
Definition app_config_stm32.c:297
int ad5706r_timers_enable(struct ad5706r_dev *device)
Starts the timer signal generation.
Definition app_config_stm32.c:257
struct stm32_gpio_init_param stm32_gpio_shutdown_init_params
Definition app_config_stm32.c:62
struct stm32_gpio_init_param stm32_gpio_ad1_init_params
Definition app_config_stm32.c:50
struct stm32_gpio_init_param stm32_ldac_pwm_gpio_extra_init_params
Definition app_config_stm32.c:106
struct stm32_gpio_init_param stm32_gpio_ad0_init_params
Definition app_config_stm32.c:44
struct ad5933_dev * device
Definition main.c:90
Configuration file of nanodac firmware example program.
VCOM driver for stm32 as a no_os_uart implementation.
Specific initialization parameters for stm32 UART over USB.
Definition stm32_usb_uart.h:27