no-OS
All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
parameters.h
Go to the documentation of this file.
1/***************************************************************************/
34#ifndef __PARAMETERS_H__
35#define __PARAMETERS_H__
36
37#include "stm32_hal.h"
38#include "stm32_irq.h"
39#include "stm32_gpio_irq.h"
40#include "stm32_spi.h"
41#include "stm32_gpio.h"
42#include "stm32_uart.h"
43#include "stm32_uart_stdio.h"
44#include "no_os_units.h"
45
46extern UART_HandleTypeDef huart5;
47extern TIM_HandleTypeDef htim1;
48extern TIM_HandleTypeDef htim2;
49extern TIM_HandleTypeDef htim8;
50#define SAMPLES_PER_CHANNEL_PLATFORM 2000
51#define MAX_SIZE_BASE_ADDR (SAMPLES_PER_CHANNEL_PLATFORM * 2 * sizeof(uint32_t))
52
53#ifdef IIO_SUPPORT
54#define INTC_DEVICE_ID 0
55#endif
56
57#define UART_IRQ_ID UART5_IRQn
58
59#define UART_DEVICE_ID 5
60#define UART_BAUDRATE 115200
61#define UART_EXTRA &ad463x_uart_extra_ip
62#define UART_OPS &stm32_uart_ops
63
64#define SPI_DEVICE_ID 1
65#define SPI_BAUDRATE 20000000
66#define SPI_CS 15
67#define SPI_CS_PORT GPIO_PORT_A
68#define SPI_OPS &stm32_spi_ops
69#define SPI_EXTRA &ad463x_spi_extra_ip
70
71#define GPIO_OPS &stm32_gpio_ops
72#define GPIO_EXTRA NULL
73
74#define GPIO_RESETN_1 11
75#define GPIO_RESETN_PORT GPIO_PORT_A
76
77#define GPIO_PORT_G 6
78#define GPIO_CNV 10
79#define GPIO_CNV_PORT GPIO_PORT_A
80
81#define DCACHE_INVALIDATE NULL
82#define GPIO_PORT_A 0
83
86
89
90/* ad4630 in interleave mode */
91#define BYTES_PER_SAMPLE 6
92
93/* time to xfer 1 byte */
94#define TX_PWM_PERIOD_NS (((( 8 * KILO) / (SPI_BAUDRATE / MEGA ))) + 50)
95#define TX_PWM_DUTY_NS 1 /* dont care */
96#define TX_PWM_REPS (BYTES_PER_SAMPLE - 1) /* 6 bytes of data 1 cycle + 5 reps */
97
98/* time to transfer 6 bytes + cnv period */
99#define CS_PWM_PERIOD_NS ((TX_PWM_PERIOD_NS * BYTES_PER_SAMPLE) + CS_PWM_DUTY_NS)
100#define CS_PWM_DUTY_NS 300 /* cnv time, from datasheet */
101
102/* sample rate
103 * limited by spi baudrate, might need to limit to chip datasheet for higher spi rate
104 */
105#define MAX_SAMPLE_RATE_PERIOD_NS (CS_PWM_PERIOD_NS + TRIGGER_DUTY_NS)
106#define TRIGGER_PERIOD_NS MAX_SAMPLE_RATE_PERIOD_NS
107#define TRIGGER_DUTY_NS 100 /* cnv min high time from datasheet */
108
109#define PWM_OPS &stm32_pwm_ops
110#define PWM_EXTRA &cnv_pwm_extra_init_params
111#define PWM_GPIO_EXTRA &cnv_pwm_gpio_extra_init_params
112#define NO_OS_PWM_ID 1
113#endif /* __PARAMETERS_H__ */
struct stm32_pwm_init_param cnv_pwm_extra_init_params
Definition parameters.c:76
struct stm32_uart_init_param ad463x_uart_extra_ip
Definition parameters.c:41
struct stm32_spi_init_param ad463x_spi_extra_ip
Definition parameters.c:144
struct stm32_gpio_init_param cnv_pwm_gpio_extra_init_params
Definition parameters.c:70
UART_HandleTypeDef huart5
TIM_HandleTypeDef htim1
TIM_HandleTypeDef htim2
TIM_HandleTypeDef htim8
Header file of Units.
Header file for stm32 gpio specifics.
Header file for stm32 gpio irq specifics.
Header file for stm32 irq specifics.
Header file for the stm32 spi driver.
Header file of UART driver for STM32.
Header file of stm32 UART driver stdout/stdin redirection.
Structure holding the initialization parameters for stm32 platform.
Definition stm32_gpio.h:44
Structure holding the STM32 PWM parameters.
Definition stm32_pwm.h:82
Structure holding the initialization parameters for stm32 platform specific SPI parameters.
Definition stm32_spi.h:51
Specific initialization parameters for stm32 UART.
Definition stm32_uart.h:46