precision-converters-firmware
Loading...
Searching...
No Matches
app_config.h
Go to the documentation of this file.
1/*************************************************************************/
14#ifndef APP_CONFIG_H
15#define APP_CONFIG_H
16
17/******************************************************************************/
18/***************************** Include Files **********************************/
19/******************************************************************************/
20#include <stdint.h>
21#include "common.h"
22#include "no_os_gpio.h"
23#include "no_os_uart.h"
24#include "no_os_irq.h"
25#include "no_os_pwm.h"
26#include <common_macros.h>
27
28/******************************************************************************/
29/********************** Macros and Constants Definition ***********************/
30/******************************************************************************/
31
32/* List of data transmit methods supported by hardware platform */
33#define SPI_DMA 0
34#define SPI_INTERRUPT 1
35
36/* List of supported DAC data stream modes */
37#define CYCLIC_STREAM 0
38#define ARBITRARY_STREAM 1
39
40/* Macros for stringification */
41#define XSTR(s) #s
42#define STR(s) XSTR(s)
43
44/******************************************************************************/
45
46/* Name of active device */
47#define ACTIVE_DEVICE_NAME "ad3530r"
48
49/* Select the active platform */
50#if !defined(ACTIVE_PLATFORM)
51#define ACTIVE_PLATFORM STM32_PLATFORM
52#endif
53
54/* Select the DAC data stream mode (default is Cyclic stream mode) */
55#if !defined(DATA_STREAM_MODE)
56#define DATA_STREAM_MODE CYCLIC_STREAM
57#endif
58
59/* Enable the UART/VirtualCOM port connection (default VCOM) */
60//#define USE_PHY_COM_PORT // Uncomment to select UART
61
62#if !defined(USE_PHY_COM_PORT)
63#define USE_VIRTUAL_COM_PORT
64#endif
65
66/* Interface mode either spi interrupt or spi dma (default spi dma) */
67//#define INTERFACE_MODE SPI_INTERRUPT // Uncomment to select spi interrupt
68
69#if !defined(INTERFACE_MODE)
70#define INTERFACE_MODE SPI_DMA
71#endif
72
73#if (ACTIVE_PLATFORM == STM32_PLATFORM)
74#include "app_config_stm32.h"
75#else
76#error "No/Invalid active platform selected"
77#endif
78
79/* HW ID of the target EVB */
80#define HW_MEZZANINE_NAME "EVAL-AD3530RARDZ"
81
82/* DAC resolution for active device */
83#define DAC_RESOLUTION 16
84
85/* Number of DAC channels */
86#define DAC_MAX_CHANNELS 16
87
88/* DAC reference voltage (Range: 2.5 to 3.3v) */
89#define DAC_REF_VOLTAGE 2.5
90
91/* DAC max count (full scale value) */
92#define DAC_MAX_COUNT (uint32_t)((1 << DAC_RESOLUTION) - 1)
93
94/****** Macros used to form a VCOM serial number ******/
95#define FIRMWARE_NAME "ad353xr_iio"
96
97#define DEVICE_NAME "DEV_AD3530R"
98
99#if !defined(PLATFORM_NAME)
100#define PLATFORM_NAME HW_CARRIER_NAME
101#endif
102/******/
103
104/* Below USB configurations (VID and PID) are owned and assigned by ADI.
105 * If intended to distribute software further, use the VID and PID owned by your
106 * organization */
107#define VIRTUAL_COM_PORT_VID 0x0456
108#define VIRTUAL_COM_PORT_PID 0xb66c
109
110/* Serial number string is formed as: application name + device (target) name + platform (host) name */
111#define VIRTUAL_COM_SERIAL_NUM (FIRMWARE_NAME "_" DEVICE_NAME "_" STR(PLATFORM_NAME))
112
113/* Baud rate for IIO application UART interface */
114#define IIO_UART_BAUD_RATE (230400)
115
116/* Check if any serial port available for use as console stdio port */
117#if defined(USE_PHY_COM_PORT)
118/* If PHY com is selected, VCOM or alternate PHY com port can act as a console stdio port */
119#if (ACTIVE_PLATFORM == STM32_PLATFORM)
120#define CONSOLE_STDIO_PORT_AVAILABLE
121#endif
122#else
123/* If VCOM is selected, PHY com port will/should act as a console stdio port */
124#define CONSOLE_STDIO_PORT_AVAILABLE
125#endif
126
127/* Enable/Disable the use of SDRAM for DAC data streaming buffer */
128//#define USE_SDRAM // Uncomment to use SDRAM for data buffer
129
130/* PWM period and duty cycle */
131#define CONV_TRIGGER_PERIOD_NSEC(x) (((float)(1.0 / x) * 1000000) * 1000)
132#define CONV_TRIGGER_DUTY_CYCLE_NSEC(x,y) (((float)y / 100) * CONV_TRIGGER_PERIOD_NSEC(x))
133
134/******************************************************************************/
135/********************** Variables and User Defined Data Types *****************/
136/******************************************************************************/
137
138/******************************************************************************/
139/************************ Public Declarations *********************************/
140/******************************************************************************/
141extern struct no_os_pwm_desc *pwm_desc;
142extern struct no_os_uart_desc *uart_iio_com_desc;
143extern struct no_os_gpio_desc *trigger_gpio_desc;
144extern struct no_os_irq_ctrl_desc *trigger_irq_desc;
145extern struct no_os_spi_init_param spi_init_params;
146extern struct no_os_eeprom_desc *eeprom_desc;
147extern struct no_os_pwm_init_param pwm_init_params;
148extern struct no_os_gpio_desc* csb_gpio_desc;
149extern struct no_os_pwm_init_param pwm_init_params;
150
151#if (INTERFACE_MODE == SPI_DMA)
152extern struct no_os_pwm_desc* tx_trigger_desc;
153extern struct no_os_dma_init_param ad3530r_dma_init_param;
154extern struct no_os_gpio_init_param pwm_gpio_params;
155#endif
156
157int32_t init_pwm(void);
158int32_t init_system(void);
159
160#endif //APP_CONFIG_H
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_dma_init_param ad3530r_dma_init_param
Definition app_config.c:146
struct no_os_pwm_init_param pwm_init_params
Definition app_config.h:149
struct no_os_eeprom_desc * eeprom_desc
Definition app_config.c:170
struct no_os_pwm_desc * tx_trigger_desc
Definition app_config.c:143
struct no_os_pwm_desc * pwm_desc
Definition app_config.c:106
struct no_os_spi_init_param spi_init_params
Definition ad3530r_user_config.c:48
struct no_os_gpio_desc * trigger_gpio_desc
Definition app_config.c:164
struct no_os_gpio_desc * csb_gpio_desc
Definition app_config.c:173
struct no_os_uart_desc * uart_iio_com_desc
Definition app_config.c:158
struct no_os_gpio_init_param pwm_gpio_params
Definition app_config.c:87
int32_t init_pwm(void)
Initialize the PWM interface.
Definition app_config.c:259
The file contain common macros that needs to be followed same across all the projects.
Header file for STM32 platform configurations.