precision-converters-firmware
All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
app_config_mbed.h
Go to the documentation of this file.
1/***************************************************************************/
13#ifndef APP_CONFIG_MBED_H_
14#define APP_CONFIG_MBED_H_
15
16/******************************************************************************/
17/***************************** Include Files **********************************/
18/******************************************************************************/
19
20#include <stdint.h>
21#include <PinNames.h>
22#include "mbed_spi.h"
23#include "mbed_i2c.h"
24#include "mbed_gpio.h"
25#include "mbed_platform_support.h"
26
27/******************************************************************************/
28/********************** Macros and Constants Definition ***********************/
29/******************************************************************************/
37//#define ARDUINO
38
39// Pin mapping of nanoDAC+ with SDP-120 way or Arduino connectors
40#ifdef ARDUINO
41#define I2C_SCL ARDUINO_UNO_D15
42#define I2C_SDA ARDUINO_UNO_D14
43
44#define SPI_CSB ARDUINO_UNO_D10
45#define SPI_HOST_SDO ARDUINO_UNO_D11
46#define SPI_HOST_SDI ARDUINO_UNO_D12
47#define SPI_SCK ARDUINO_UNO_D13
48
49#define GAIN_PIN ARDUINO_UNO_D8
50#define RESET_PIN ARDUINO_UNO_D9
51#define LDAC_PIN ARDUINO_UNO_D7
52#define ADDR0_PIN ARDUINO_UNO_D6
53#else
54#define I2C_SCL SDP_I2C_SCL // PH_7
55#define I2C_SDA SDP_I2C_SDA // PC_9
56
57#define SPI_CSB SDP_SPI_CS_A // PB_9
58#define SPI_HOST_SDO SDP_SPI_MOSI // PF_9
59#define SPI_HOST_SDI SDP_SPI_MISO // PF_8
60#define SPI_SCK SDP_SPI_SCK // PH_6
61#endif
62
63// Define the other GPIO mapping based on the compatible EVAL board
64// *Note: The 7-bit I2C slave address mentioned below is the default address for the
65// device, set by combination of slave address bits (7:3) from the device
66// datasheet and default logic level of A1 and A0 pins (bits 2:1) on the
67// respective device EVAL board. For more information, refer the device
68// datasheet and EVAL board manual.
69
70#if defined(DEV_AD5686R) || defined(DEV_AD5686) || \
71 defined(DEV_AD5684R) || defined(DEV_AD5684) || \
72 defined(DEV_AD5685R)
73// These devices support EVAL-AD5686RSDZ board
74#if !defined ARDUINO
75#define GAIN_PIN SDP_GPIO_0
76#define RESET_PIN SDP_GPIO_2
77#define LDAC_PIN SDP_GPIO_3
78#endif
79#elif defined(DEV_AD5696R) || defined(DEV_AD5696) || \
80 defined(DEV_AD5694R) || defined(DEV_AD5694) || \
81 defined(DEV_AD5695R) || defined(DEV_AD5697R)
82// These devices support EVAL-AD5696RSDZ board
83#if !defined ARDUINO
84#define GAIN_PIN SDP_GPIO_0
85#define RESET_PIN SDP_GPIO_2
86#define LDAC_PIN SDP_GPIO_3
87#endif
88#define I2C_SLAVE_ADDRESS 0x18
89#elif defined(DEV_AD5683) || defined(DEV_AD5683R) || defined(DEV_AD5682R) || \
90 defined(DEV_AD5681R)
91// These devices uses EVAL-AD5683R board
92#if !defined ARDUINO
93#define GAIN_PIN SDP_GPIO_2
94#define RESET_PIN SDP_GPIO_1
95#define LDAC_PIN SDP_GPIO_0
96#endif
97#elif defined(DEV_AD5693) || defined(DEV_AD5693R) || defined(DEV_AD5692R) || \
98 defined(DEV_AD5691R)
99// These devices uses EVAL-AD5693R board
100#if !defined ARDUINO
101#define GAIN_PIN SDP_GPIO_2
102#define RESET_PIN SDP_GPIO_1
103#define LDAC_PIN SDP_GPIO_0
104#endif
105#define I2C_SLAVE_ADDRESS 0x98
106#elif defined (DEV_AD5674R) || defined (DEV_AD5674) || \
107 defined (DEV_AD5679R) || defined (DEV_AD5679) || \
108 defined (DEV_AD5677R) || defined (DEV_AD5673R)
109// These devices uses EVAL-AD5679RSDZ/EVAL-AD567xRSDZ board
110#if !defined ARDUINO
111#define GAIN_PIN SDP_GPIO_0
112#define RESET_PIN SDP_GPIO_2
113#define LDAC_PIN SDP_GPIO_1
114#endif
115#define I2C_SLAVE_ADDRESS 0x1E
116#elif defined (DEV_AD5676R) || defined (DEV_AD5676) || \
117 defined (DEV_AD5672R)
118// These devices uses EVAL-AD5676RSDZ board
119#if !defined ARDUINO
120#define GAIN_PIN SDP_GPIO_2
121#define RESET_PIN SDP_GPIO_1
122#define LDAC_PIN SDP_GPIO_0
123#endif
124#elif defined (DEV_AD5671R) || defined (DEV_AD5675R)
125// These devices uses EVAL-AD5675RSDZ board
126#if !defined ARDUINO
127#define GAIN_PIN SDP_GPIO_2
128#define RESET_PIN SDP_GPIO_1
129#define LDAC_PIN SDP_GPIO_0
130#endif
131#define I2C_SLAVE_ADDRESS 0x18
132#else
133#warning No/Unsupported EVAL board found. Using EVAL-AD5686R as default.
134#if !defined ARDUINO
135#define GAIN_PIN SDP_GPIO_0
136#define RESET_PIN SDP_GPIO_2
137#define LDAC_PIN SDP_GPIO_3
138#endif
139#endif
140
141// Common pin mappings
142#define LED_GREEN LED3 // PK_5
143
144// Unused macros
145#define SPI_DEVICE_ID 0 // Unused macro
146#define I2C_DEVICE_ID 0 // Unused macro
147#define UART_IRQ_ID 0 // Unused macro
148#define RESET_PORT 0 // Unused macro
149#define LDAC_PORT 0 // Unused macro
150#define GAIN_PORT 0 // Unused macro
151
152/* platform ops */
153#define spi_ops mbed_spi_ops
154#define i2c_ops mbed_i2c_ops
155#define gpio_ops mbed_gpio_ops
156
157/******************************************************************************/
158/********************** Public/Extern Declarations ****************************/
159/******************************************************************************/
160
161extern struct mbed_spi_init_param mbed_spi_extra_init_params;
162extern struct mbed_gpio_init_param mbed_gpio_reset_init_params;
163extern struct mbed_gpio_init_param mbed_gain_gpio_init_params;
164extern struct mbed_gpio_init_param mbed_gpio_ldac_init_params;
165extern struct mbed_i2c_init_param mbed_i2c_extra_init_params;
166
167#endif // APP_CONFIG_MBED_H_
168
struct mbed_spi_init_param mbed_spi_extra_init_params
Definition app_config_mbed.c:54
struct mbed_gpio_init_param mbed_gpio_reset_init_params
Definition app_config_mbed.c:85
struct mbed_gpio_init_param mbed_gpio_ldac_init_params
Definition app_config_mbed.c:80
struct mbed_i2c_init_param mbed_i2c_extra_init_params
Definition app_config_mbed.c:69
struct mbed_gpio_init_param mbed_gain_gpio_init_params