13#ifndef APP_CONFIG_STM32_H_
14#define APP_CONFIG_STM32_H_
22#include "stm32_uart.h"
23#include "stm32_gpio.h"
25#if (INTERFACE_MODE == TDM_DMA_MODE)
28#include "stm32_gpio_irq.h"
29#if(INTERFACE_MODE == SPI_DMA_MODE)
32#if (INTERFACE_MODE == SPI_DMA_MODE)
35#if defined (TARGET_SDP_K1)
43#if defined (TARGET_SDP_K1)
45#define HW_CARRIER_NAME SDP_K1
49#define STM32_SPI_CS_PORT 0
56#define APP_UART_HANDLE huart5
57#define UART_IRQ_ID UART5_IRQn
65#define DIG_AUX_1_PORT 6
66#define DIG_AUX_2_PORT 6
67#define SYNC_INB_PORT 6
68#define SYNC_INB_PORT_ID GPIOG
70#define GPIO_TRIGGER_INT_PORT EXTI_GPIOG
75#define AD469x_DMA_NUM_CHANNELS 2
77#define Rx_DMA_IRQ_ID DMA2_Stream0_IRQn
78#define AD469x_TxDMA_CHANNEL_NUM DMA_CHANNEL_7
79#define AD469x_RxDMA_CHANNEL_NUM DMA_CHANNEL_3
82#define TX_TRIGGER_TIMER_ID 8
83#define TX_TRIGGER_TIMER_HANDLE htim8
85#define TX_TRIGGER_PERIOD 700
86#define TX_TRIGGER_DUTY_RATIO 30
87#define TIMER_8_PRESCALER 0
88#define TIMER_8_CLK_DIVIDER 2
89#define TIMER_CHANNEL_1 1
91#elif defined (NUCLEO_H563)
93#define HW_CARRIER_NAME NUCLEO-H563ZI
97#define STM32_SPI_CS_PORT 3
101#define STM32_I2C_ID 1
104#define APP_UART_HANDLE huart3
105#define UART_IRQ_ID USART3_IRQn
111#define LED_GPO LED1_GREEN_Pin
113#define DIG_AUX_1_PORT 6
114#define DIG_AUX_2_PORT 6
115#define SYNC_INB_PORT 4
117#define GPIO_TRIGGER_INT_PORT EXTI_GPIOG
122#define I2C_TIMING 0x00000E14
125#define TDM_DATA_SIZE 32
126#define TDM_SLOTS_PER_FRAME 1
127#define TDM_FS_ACTIVE_LENGTH 8
130#define TDM_N_SAMPLES_DMA_READ 800
133#define TDM_DMA_READ_SIZE TDM_N_SAMPLES_DMA_READ * TDM_SLOTS_PER_FRAME/2
135#define STM32_SAI_BASE SAI1_Block_A
138#define HW_CARRIER_NAME DISCO-F769NI
141#define STM32_SPI_ID 2
142#define STM32_SPI_CS_PORT 0
146#define APP_UART_HANDLE huart6
149#define UART_IRQ_ID USART6_IRQn
151#define STM32_I2C_ID 1
156#define I2C_TIMING 0x40912732
163#define DIG_AUX_1_PORT 9
164#define DIG_AUX_2_PORT 8
165#define SYNC_INB_PORT 9
167#define GPIO_TRIGGER_INT_PORT DIG_AUX_1_PORT
170#define LVGL_TICK_TIME_US 5000
171#define LVGL_TICK_TIME_MS (LVGL_TICK_TIME_US / 1000)
185#define FS_SINC5_AVG_24_KSPS 20
188#define FS_SINC5_512_KSPS 1
191#define FS_SINC3_62P5_KSPS 4
193#if (INTERFACE_MODE == SPI_INTERRUPT_MODE)
194#define FS_CONFIG_VALUE FS_SINC5_AVG_24_KSPS
195#define AD4170_MAX_SAMPLING_RATE 24000
197#if defined (DEV_AD4170)
198#define FS_CONFIG_VALUE FS_SINC5_512_KSPS
199#define AD4170_MAX_SAMPLING_RATE 500000
200#elif defined (DEV_AD4190)
201#define FS_CONFIG_VALUE FS_SINC3_62P5_KSPS
202#define AD4170_MAX_SAMPLING_RATE 62500
206#define TICKER_INTERRUPT_PERIOD_uSEC (0)
209#define AD4170_MAX_SPI_SPEED 20000000
228#if defined (TARGET_SDP_K1)
229extern TIM_HandleTypeDef
htim8;
235#if defined(TARGET_SDP_K1) || defined(NUCLEO_H563)
246extern struct stm32_spi_desc*
sdesc;
248#if (INTERFACE_MODE == SPI_DMA_MODE)
struct no_os_pwm_desc * pwm_desc
Definition app_config.c:106
volatile struct stm32_spi_desc * sdesc
Definition app_config_stm32.c:146
int stm32_timer_stop(void)
Stop generating timer signals.
Definition app_config_stm32.c:281
DMA_HandleTypeDef hdma_tim8_ch1
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
void tim8_config(void)
Configure Tx Trigger timer for slave mode operation, one-pulse mode and to generate DMA requests.
Definition app_config_stm32.c:245
struct stm32_pwm_init_param stm32_tx_trigger_extra_init_params
Definition app_config_stm32.c:99
int stm32_abort_dma_transfer(void)
Abort DMA Transfers.
Definition app_config_stm32.c:315
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
uint32_t data_read
Definition app_support.c:49
struct stm32_i2c_init_param stm32_i2c_extra_init_params
Definition app_config_stm32.c:152
volatile int dma_cycle_count
Definition app_config_stm32.c:242
uint32_t rxdma_ndtr
Definition app_config_stm32.c:245
void update_buff(uint8_t *local_buf, uint8_t *buf_start_addr)
Update buffer index.
Definition app_config_stm32.c:499
struct stm32_uart_init_param stm32_uart_extra_init_params
Definition app_config_stm32.c:102
volatile struct iio_device_data * iio_dev_data_g
Definition ad405x_iio.c:281
volatile uint8_t * buff_start_addr
Definition ad405x_iio.c:140
uint8_t local_buf[MAX_LOCAL_BUF_SIZE]
Definition ad405x_support.c:42
#define APP_UART_HANDLE
Definition app_config_stm32.h:131
struct stm32_spi_init_param stm32_spi_extra_init_params
Definition app_config_stm32.c:43
struct stm32_gpio_init_param stm32_trigger_gpio_extra_init_params
Definition app_config_stm32.c:49
struct stm32_tdm_init_param stm32_tdm_extra_init_params
Definition app_config_stm32.c:52
bool data_capture_operation
Definition ad4134_iio.c:96
struct no_os_dma_init_param ad4170_dma_init_param
Definition app_config.c:154
struct stm32_dma_channel txdma_channel
Definition app_config_stm32.c:118
void ad4170_dma_rx_half_cplt(SAI_HandleTypeDef *hsai)
SAI DMA Receive Half Complete Callback function.
Definition app_config_stm32.c:228
volatile uint32_t callback_count
Definition app_config_stm32.c:38
void ad4170_spi_dma_rx_half_cplt_callback(DMA_HandleTypeDef *hdma)
Callback function to flag the capture of Half the number of requested samples.
Definition app_config_stm32.c:326
void tim8_init(struct no_os_pwm_desc *pwm_desc)
Initialize Tx trigger advanced PWM parameters.
Definition app_config_stm32.c:427
void ad4170_spi_dma_rx_cplt_callback(DMA_HandleTypeDef *hdma)
Callback function to flag the capture of number of requested samples.
Definition app_config_stm32.c:289
void ad4170_dma_rx_cplt(SAI_HandleTypeDef *hsai)
SAI DMA Receive Complete Callback function.
Definition app_config_stm32.c:247
struct stm32_gpio_init_param stm32_csb_gpio_extra_init_params
Definition app_config_stm32.c:99
struct stm32_gpio_init_param stm32_sync_inb_gpio_extra_init_params
Definition app_config_stm32.c:79
struct stm32_gpio_init_param stm32_dig_aux2_gpio_extra_init_params
Definition app_config_stm32.c:73
uint8_t num_of_active_channels
Definition ad4170_iio.c:195
struct stm32_gpio_init_param stm32_dig_aux1_gpio_extra_init_params
Definition app_config_stm32.c:67
uint32_t nb_of_samples_g
Definition ad4170_iio.c:397
volatile bool ad4170_dma_buff_full
Definition ad4170_iio.c:406
struct iio_device_data * ad4170_iio_dev_data
Definition ad4170_iio.c:331
volatile bool tdm_read_started
Definition ad4170_iio.c:342
void MX_USB_DEVICE_Init(void)
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