21 #include "no_os_gpio.h"
22 #include "no_os_uart.h"
23 #include "no_os_irq.h"
24 #include "no_os_pwm.h"
30 #define MBED_PLATFORM 1
31 #define STM32_PLATFORM 2
34 #define CONTINUOUS_DATA_CAPTURE 0
35 #define WINDOWED_DATA_CAPTURE 1
39 #define BURST_AVERAGING_MODE 1
40 #define AVERAGING_MODE 2
43 #define STRAIGHT_BINARY 0
44 #define TWOS_COMPLEMENT 1
48 #define SPI_INTERRUPT 1
52 #define STR(s) XSTR(s)
57 #if !defined(ACTIVE_PLATFORM)
58 #define ACTIVE_PLATFORM STM32_PLATFORM
64 #if !defined(USE_PHY_COM_PORT)
65 #define USE_VIRTUAL_COM_PORT
69 #if !defined(APP_CAPTURE_MODE)
70 #define APP_CAPTURE_MODE WINDOWED_DATA_CAPTURE
74 #if !defined(ADC_CAPTURE_MODE)
75 #define ADC_CAPTURE_MODE SAMPLE_MODE
79 #if !defined(ADC_DATA_FORMAT)
80 #define ADC_DATA_FORMAT TWOS_COMPLEMENT
86 #if !defined(INTERFACE_MODE)
87 #if (ACTIVE_PLATFORM == STM32_PLATFORM)
88 #define INTERFACE_MODE SPI_DMA
90 #define INTERFACE_MODE SPI_INTERRUPT
102 #if defined(DEV_AD4052)
103 #define ACTIVE_DEVICE_NAME "ad4052"
104 #define DEVICE_NAME "DEV_AD4052"
105 #define ACTIVE_DEVICE_ID ID_AD4052
106 #define HW_MEZZANINE_NAME "EVAL-AD4052-ARDZ"
107 #define ADC_SAMPLE_MODE_RESOLUTION 16
108 #define ADC_AVERAGING_MODE_RESOLUTION 20
109 #define ADC_BURST_AVG_MODE_RESOLUTION 20
110 #elif defined(DEV_AD4050)
111 #define ACTIVE_DEVICE_NAME "ad4050"
112 #define DEVICE_NAME "DEV_AD4050"
113 #define ACTIVE_DEVICE_ID ID_AD4050
114 #define HW_MEZZANINE_NAME "EVAL-AD4050-ARDZ"
115 #define ADC_SAMPLE_MODE_RESOLUTION 12
116 #define ADC_AVERAGING_MODE_RESOLUTION 14
117 #define ADC_BURST_AVG_MODE_RESOLUTION 14
119 #define ACTIVE_DEVICE_NAME "ad4052"
120 #define DEVICE_NAME "DEV_AD4052"
121 #define ACTIVE_DEVICE_ID ID_AD4052
122 #define HW_MEZZANINE_NAME "EVAL-AD4052-ARDZ"
123 #define ADC_SAMPLE_MODE_RESOLUTION 16
124 #define ADC_AVERAGING_MODE_RESOLUTION 20
125 #define ADC_BURST_AVG_MODE_RESOLUTION 20
128 #if (ACTIVE_PLATFORM == MBED_PLATFORM)
129 #include "app_config_mbed.h"
130 #define HW_CARRIER_NAME TARGET_NAME
131 #elif (ACTIVE_PLATFORM == STM32_PLATFORM)
133 #define HW_CARRIER_NAME TARGET_NAME
134 #if (INTERFACE_MODE != SPI_DMA)
135 #define trigger_gpio_handle 0
137 #define trigger_gpio_handle STM32_DMA_CONT_HANDLE
139 #if (INTERFACE_MODE == SPI_DMA)
140 #define TRIGGER_INT_ID STM32_DMA_CONT_TRIGGER
142 #define TRIGGER_INT_ID GP1_PIN_NUM
145 #error "No/Invalid active platform selected"
148 #define DEFAULT_BURST_SAMPLE_RATE 2000000
151 #define ADC_REF_VOLTAGE 2.5
153 #if (ADC_CAPTURE_MODE == SAMPLE_MODE)
154 #if (ADC_DATA_FORMAT == STRAIGHT_BINARY)
155 #define ADC_MAX_COUNT (uint32_t)(1 << (ADC_SAMPLE_MODE_RESOLUTION))
157 #define ADC_MAX_COUNT (uint32_t)(1 << (ADC_SAMPLE_MODE_RESOLUTION - 1))
160 #if (ADC_DATA_FORMAT == STRAIGHT_BINARY)
161 #define ADC_MAX_COUNT (uint32_t)(1 << (ADC_BURST_AVG_MODE_RESOLUTION))
163 #define ADC_MAX_COUNT (uint32_t)(1 << (ADC_BURST_AVG_MODE_RESOLUTION - 1))
169 #define MIN_DATA_CAPTURE_TIME_NS 8000
173 #if (APP_CAPTURE_MODE == CONTINUOUS_DATA_CAPTURE)
174 #define MIN_INTERRUPT_OVER_HEAD 4500
176 #define MIN_INTERRUPT_OVER_HEAD 3000
180 #define IIO_UART_BAUD_RATE (230400)
184 #define FIRMWARE_NAME "ad405x_iio"
186 #if !defined(PLATFORM_NAME)
187 #define PLATFORM_NAME HW_CARRIER_NAME
193 #define VIRTUAL_COM_PORT_VID 0x0456
194 #define VIRTUAL_COM_PORT_PID 0xb66c
196 #define VIRTUAL_COM_SERIAL_NUM (FIRMWARE_NAME "_" DEVICE_NAME "_" STR(PLATFORM_NAME))
199 #if defined(USE_PHY_COM_PORT)
201 #if (ACTIVE_PLATFORM == MBED_PLATFORM)
202 #define CONSOLE_STDIO_PORT_AVAILABLE
206 #define CONSOLE_STDIO_PORT_AVAILABLE
219 extern struct no_os_pwm_desc *
pwm_desc;
228 #if (INTERFACE_MODE == SPI_DMA)
230 extern struct no_os_dma_ch
dma_chan;
struct no_os_irq_ctrl_desc * trigger_irq_desc
Definition: app_config.c:103
int32_t init_system(void)
Initialize the system peripherals.
Definition: app_config.c:185
struct no_os_uart_desc * uart_iio_com_desc
Definition: app_config.c:127
struct no_os_dma_ch dma_chan
volatile struct iio_device_data * iio_dev_data_g
Definition: ad405x_iio.c:331
uint32_t nb_of_samples_g
Definition: ad405x_iio.c:334
struct no_os_pwm_init_param pwm_init_params
Definition: app_config.c:108
struct no_os_eeprom_desc * eeprom_desc
Definition: app_config.c:194
struct no_os_pwm_desc * tx_trigger_desc
Definition: app_config.c:202
struct no_os_dma_xfer_desc dma_tx_desc
int32_t ad405x_gpio_reset(void)
struct no_os_pwm_desc * pwm_desc
Definition: app_config.c:106
struct no_os_gpio_desc * trigger_gpio_desc
Definition: app_config.c:192
struct no_os_gpio_init_param cs_pwm_gpio_params
Definition: app_config.h:234
struct no_os_pwm_init_param cs_init_params
Definition: app_config.c:133
volatile uint32_t * buff_start_addr
Definition: ad405x_iio.c:174
int32_t data_read
Definition: ad405x_iio.c:337
struct no_os_gpio_init_param pwm_gpio_params
Definition: app_config.h:235
int32_t init_pwm(void)
Initialize the PWM interface.
Definition: app_config.c:283
struct no_os_dma_init_param ad405x_dma_init_param
Definition: app_config.c:205
struct no_os_uart_desc * uart_console_stdio_desc
Definition: app_config.c:100
Header file for STM32 platform configurations.