Example program for EVAL-AD568x and EVAL-AD569x.

Dependencies:   adi_console_menu platform_drivers

EVAL-AD568x-AD569x

User Guide

This nanoDAC+ Mbed support software can be used as a starting point for developing your own firmware that targets Analog Devices nanoDAC+ products in your own environment. The software is configurable for your exact product within the nanoDAC+ family. See the user-guide for full instructions.

Committer:
mahphalke
Date:
Mon Aug 03 10:39:17 2020 +0000
Revision:
8:f38c1afe205b
Parent:
5:78877c8a97c8
Corrected arduino pin mapping

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mahphalke 5:78877c8a97c8 1 /*************************************************************************//**
mahphalke 5:78877c8a97c8 2 * @file app_config.h
mahphalke 5:78877c8a97c8 3 * @brief Configuration file of nanodac firmware example program
mahphalke 5:78877c8a97c8 4 ******************************************************************************
mahphalke 5:78877c8a97c8 5 * Copyright (c) 2020 Analog Devices, Inc.
mahphalke 5:78877c8a97c8 6 *
mahphalke 5:78877c8a97c8 7 * All rights reserved.
mahphalke 5:78877c8a97c8 8 *
mahphalke 5:78877c8a97c8 9 * This software is proprietary to Analog Devices, Inc. and its licensors.
mahphalke 5:78877c8a97c8 10 * By using this software you agree to the terms of the associated
mahphalke 5:78877c8a97c8 11 * Analog Devices Software License Agreement.
mahphalke 5:78877c8a97c8 12 *****************************************************************************/
mahphalke 5:78877c8a97c8 13
mahphalke 5:78877c8a97c8 14 #ifndef _APP_CONFIG_H_
mahphalke 5:78877c8a97c8 15 #define _APP_CONFIG_H_
mahphalke 5:78877c8a97c8 16
mahphalke 5:78877c8a97c8 17 /******************************************************************************/
mahphalke 5:78877c8a97c8 18 /***************************** Include Files **********************************/
mahphalke 5:78877c8a97c8 19 /******************************************************************************/
mahphalke 5:78877c8a97c8 20
mahphalke 5:78877c8a97c8 21 #include <stdint.h>
mahphalke 5:78877c8a97c8 22 #include <PinNames.h>
mahphalke 5:78877c8a97c8 23
mahphalke 5:78877c8a97c8 24 /******************************************************************************/
mahphalke 5:78877c8a97c8 25 /********************** Macros and Constants Definitions **********************/
mahphalke 5:78877c8a97c8 26 /******************************************************************************/
mahphalke 5:78877c8a97c8 27
mahphalke 5:78877c8a97c8 28 // **** Note for User: ACTIVE_DEVICE selection ****
mahphalke 5:78877c8a97c8 29 // Define the device type here from the list of below device type defines
mahphalke 5:78877c8a97c8 30 // e.g. #define DEV_AD5677R -> This will make AD5677R as an ACTIVE_DEVICE.
mahphalke 5:78877c8a97c8 31 // The ACTIVE_DEVICE is default set to AD5686, if device type is not defined.
mahphalke 5:78877c8a97c8 32
mahphalke 5:78877c8a97c8 33 //#define DEV_AD5677R
mahphalke 5:78877c8a97c8 34
mahphalke 8:f38c1afe205b 35 /**
mahphalke 8:f38c1afe205b 36 The ADI SDP_K1 can be used with both arduino headers
mahphalke 8:f38c1afe205b 37 or the 120-pin SDP connector found on ADI evaluation
mahphalke 8:f38c1afe205b 38 boards. The default is the SDP connector.
mahphalke 8:f38c1afe205b 39
mahphalke 8:f38c1afe205b 40 Uncomment the ARDUINO #define above to enable the ARDUINO connector
mahphalke 8:f38c1afe205b 41 */
mahphalke 8:f38c1afe205b 42
mahphalke 8:f38c1afe205b 43 //#define ARDUINO
mahphalke 8:f38c1afe205b 44
mahphalke 8:f38c1afe205b 45
mahphalke 5:78877c8a97c8 46 #if defined(DEV_AD5671R)
mahphalke 5:78877c8a97c8 47 #define ACTIVE_DEVICE ID_AD5671R
mahphalke 5:78877c8a97c8 48 #define ACTIVE_DEVICE_NAME "AD5671R"
mahphalke 5:78877c8a97c8 49 #elif defined(DEV_AD5672R)
mahphalke 5:78877c8a97c8 50 #define ACTIVE_DEVICE ID_AD5672R
mahphalke 5:78877c8a97c8 51 #define ACTIVE_DEVICE_NAME "AD5672R"
mahphalke 5:78877c8a97c8 52 #elif defined(DEV_AD5673R)
mahphalke 5:78877c8a97c8 53 #define ACTIVE_DEVICE ID_AD5673R
mahphalke 5:78877c8a97c8 54 #define ACTIVE_DEVICE_NAME "AD5673R"
mahphalke 5:78877c8a97c8 55 #elif defined(DEV_AD5674)
mahphalke 5:78877c8a97c8 56 #define ACTIVE_DEVICE ID_AD5674
mahphalke 5:78877c8a97c8 57 #define ACTIVE_DEVICE_NAME "AD5674"
mahphalke 5:78877c8a97c8 58 #elif defined(DEV_AD5674R)
mahphalke 5:78877c8a97c8 59 #define ACTIVE_DEVICE ID_AD5674R
mahphalke 5:78877c8a97c8 60 #define ACTIVE_DEVICE_NAME "AD5674R"
mahphalke 5:78877c8a97c8 61 #elif defined(DEV_AD5675R)
mahphalke 5:78877c8a97c8 62 #define ACTIVE_DEVICE ID_AD5675R
mahphalke 5:78877c8a97c8 63 #define ACTIVE_DEVICE_NAME "AD5675R"
mahphalke 5:78877c8a97c8 64 #elif defined(DEV_AD5676)
mahphalke 5:78877c8a97c8 65 #define ACTIVE_DEVICE ID_AD5676
mahphalke 5:78877c8a97c8 66 #define ACTIVE_DEVICE_NAME "AD5676"
mahphalke 5:78877c8a97c8 67 #elif defined(DEV_AD5676R)
mahphalke 5:78877c8a97c8 68 #define ACTIVE_DEVICE ID_AD5676R
mahphalke 5:78877c8a97c8 69 #define ACTIVE_DEVICE_NAME "AD5676R"
mahphalke 5:78877c8a97c8 70 #elif defined(DEV_AD5677R)
mahphalke 5:78877c8a97c8 71 #define ACTIVE_DEVICE ID_AD5677R
mahphalke 5:78877c8a97c8 72 #define ACTIVE_DEVICE_NAME "AD5677R"
mahphalke 5:78877c8a97c8 73 #elif defined(DEV_AD5679)
mahphalke 5:78877c8a97c8 74 #define ACTIVE_DEVICE ID_AD5679
mahphalke 5:78877c8a97c8 75 #define ACTIVE_DEVICE_NAME "AD5679"
mahphalke 5:78877c8a97c8 76 #elif defined(DEV_AD5679R)
mahphalke 5:78877c8a97c8 77 #define ACTIVE_DEVICE ID_AD5679R
mahphalke 5:78877c8a97c8 78 #define ACTIVE_DEVICE_NAME "AD5679R"
mahphalke 5:78877c8a97c8 79 #elif defined(DEV_AD5686)
mahphalke 5:78877c8a97c8 80 #define ACTIVE_DEVICE ID_AD5686
mahphalke 5:78877c8a97c8 81 #define ACTIVE_DEVICE_NAME "AD5686"
mahphalke 5:78877c8a97c8 82 #elif defined(DEV_AD5684R)
mahphalke 5:78877c8a97c8 83 #define ACTIVE_DEVICE ID_AD5684R
mahphalke 5:78877c8a97c8 84 #define ACTIVE_DEVICE_NAME "AD5684R"
mahphalke 5:78877c8a97c8 85 #elif defined(DEV_AD5685R)
mahphalke 5:78877c8a97c8 86 #define ACTIVE_DEVICE ID_AD5685R
mahphalke 5:78877c8a97c8 87 #define ACTIVE_DEVICE_NAME "AD5685R"
mahphalke 5:78877c8a97c8 88 #elif defined(DEV_AD5686R)
mahphalke 5:78877c8a97c8 89 #define ACTIVE_DEVICE ID_AD5686R
mahphalke 5:78877c8a97c8 90 #define ACTIVE_DEVICE_NAME "AD5686R"
mahphalke 5:78877c8a97c8 91 #elif defined(DEV_AD5687)
mahphalke 5:78877c8a97c8 92 #define ACTIVE_DEVICE ID_AD5687
mahphalke 5:78877c8a97c8 93 #define ACTIVE_DEVICE_NAME "AD5687"
mahphalke 5:78877c8a97c8 94 #elif defined(DEV_AD5687R)
mahphalke 5:78877c8a97c8 95 #define ACTIVE_DEVICE ID_AD5687R
mahphalke 5:78877c8a97c8 96 #define ACTIVE_DEVICE_NAME "AD5687R"
mahphalke 5:78877c8a97c8 97 #elif defined(DEV_AD5689)
mahphalke 5:78877c8a97c8 98 #define ACTIVE_DEVICE ID_AD5689
mahphalke 5:78877c8a97c8 99 #define ACTIVE_DEVICE_NAME "AD5689"
mahphalke 5:78877c8a97c8 100 #elif defined(DEV_AD5689R)
mahphalke 5:78877c8a97c8 101 #define ACTIVE_DEVICE ID_AD5689R
mahphalke 5:78877c8a97c8 102 #define ACTIVE_DEVICE_NAME "AD5689R"
mahphalke 5:78877c8a97c8 103 #elif defined(DEV_AD5697R)
mahphalke 5:78877c8a97c8 104 #define ACTIVE_DEVICE ID_AD5697R
mahphalke 5:78877c8a97c8 105 #define ACTIVE_DEVICE_NAME "AD5697R"
mahphalke 5:78877c8a97c8 106 #elif defined(DEV_AD5694)
mahphalke 5:78877c8a97c8 107 #define ACTIVE_DEVICE ID_AD5694
mahphalke 5:78877c8a97c8 108 #define ACTIVE_DEVICE_NAME "AD5694"
mahphalke 5:78877c8a97c8 109 #elif defined(DEV_AD5694R)
mahphalke 5:78877c8a97c8 110 #define ACTIVE_DEVICE ID_AD5694R
mahphalke 5:78877c8a97c8 111 #define ACTIVE_DEVICE_NAME "AD5694R"
mahphalke 5:78877c8a97c8 112 #elif defined(DEV_AD5695R)
mahphalke 5:78877c8a97c8 113 #define ACTIVE_DEVICE ID_AD5695R
mahphalke 5:78877c8a97c8 114 #define ACTIVE_DEVICE_NAME "AD5695R"
mahphalke 5:78877c8a97c8 115 #elif defined(DEV_AD5696)
mahphalke 5:78877c8a97c8 116 #define ACTIVE_DEVICE ID_AD5696
mahphalke 5:78877c8a97c8 117 #define ACTIVE_DEVICE_NAME "AD5696"
mahphalke 5:78877c8a97c8 118 #elif defined(DEV_AD5696R)
mahphalke 5:78877c8a97c8 119 #define ACTIVE_DEVICE ID_AD5696R
mahphalke 5:78877c8a97c8 120 #define ACTIVE_DEVICE_NAME "AD5696R"
mahphalke 5:78877c8a97c8 121 #elif defined(DEV_AD5681R)
mahphalke 5:78877c8a97c8 122 #define ACTIVE_DEVICE ID_AD5681R
mahphalke 5:78877c8a97c8 123 #define ACTIVE_DEVICE_NAME "AD5681R"
mahphalke 5:78877c8a97c8 124 #elif defined(DEV_AD5682R)
mahphalke 5:78877c8a97c8 125 #define ACTIVE_DEVICE ID_AD5682R
mahphalke 5:78877c8a97c8 126 #define ACTIVE_DEVICE_NAME "AD5682R"
mahphalke 5:78877c8a97c8 127 #elif defined(DEV_AD5683R)
mahphalke 5:78877c8a97c8 128 #define ACTIVE_DEVICE ID_AD5683R
mahphalke 5:78877c8a97c8 129 #define ACTIVE_DEVICE_NAME "AD5683R"
mahphalke 5:78877c8a97c8 130 #elif defined(DEV_AD5683)
mahphalke 5:78877c8a97c8 131 #define ACTIVE_DEVICE ID_AD5683
mahphalke 5:78877c8a97c8 132 #define ACTIVE_DEVICE_NAME "AD5683"
mahphalke 5:78877c8a97c8 133 #elif defined(DEV_AD5691R)
mahphalke 5:78877c8a97c8 134 #define ACTIVE_DEVICE ID_AD5691R
mahphalke 5:78877c8a97c8 135 #define ACTIVE_DEVICE_NAME "AD5691R"
mahphalke 5:78877c8a97c8 136 #elif defined(DEV_AD5692R)
mahphalke 5:78877c8a97c8 137 #define ACTIVE_DEVICE ID_AD5692R
mahphalke 5:78877c8a97c8 138 #define ACTIVE_DEVICE_NAME "AD5692R"
mahphalke 5:78877c8a97c8 139 #elif defined(DEV_AD5693R)
mahphalke 5:78877c8a97c8 140 #define ACTIVE_DEVICE ID_AD5693R
mahphalke 5:78877c8a97c8 141 #define ACTIVE_DEVICE_NAME "AD5693R"
mahphalke 5:78877c8a97c8 142 #elif defined(DEV_AD5693)
mahphalke 5:78877c8a97c8 143 #define ACTIVE_DEVICE ID_AD5693
mahphalke 5:78877c8a97c8 144 #define ACTIVE_DEVICE_NAME "AD5693"
mahphalke 5:78877c8a97c8 145 #else
mahphalke 5:78877c8a97c8 146 #warning No/Unsupported ADxxxxy symbol defined. AD5686R defined
mahphalke 5:78877c8a97c8 147 #define DEV_AD5686R
mahphalke 5:78877c8a97c8 148 #define ACTIVE_DEVICE ID_AD5686R
mahphalke 5:78877c8a97c8 149 #define ACTIVE_DEVICE_NAME "AD5686R"
mahphalke 5:78877c8a97c8 150 #endif
mahphalke 5:78877c8a97c8 151
mahphalke 5:78877c8a97c8 152
mahphalke 5:78877c8a97c8 153 // Pin mapping of AD7124 with SDP-K1/Arduino (reference: PinNames.h)
mahphalke 5:78877c8a97c8 154 #ifdef ARDUINO
mahphalke 5:78877c8a97c8 155 #define I2C_SCL D15 // I2C_SCL
mahphalke 5:78877c8a97c8 156 #define I2C_SDA D14 // I2C_SDA
mahphalke 5:78877c8a97c8 157
mahphalke 5:78877c8a97c8 158 #define SPI_SS D10 // SPI_CS
mahphalke 8:f38c1afe205b 159 #define SPI_MOSI D11 // SPI_MOSI
mahphalke 8:f38c1afe205b 160 #define SPI_MISO D12 // SPI_MISO
mahphalke 5:78877c8a97c8 161 #define SPI_SCK D13 // SPI_SCK
mahphalke 5:78877c8a97c8 162
mahphalke 5:78877c8a97c8 163 #define GAIN_PIN D8
mahphalke 5:78877c8a97c8 164 #define RESET_PIN D9
mahphalke 5:78877c8a97c8 165 #define LDAC_PIN D7
mahphalke 5:78877c8a97c8 166 #define ADDR0_PIN D6
mahphalke 5:78877c8a97c8 167 #else
mahphalke 5:78877c8a97c8 168 #define I2C_SCL SDP_I2C_SCL // PH_7
mahphalke 5:78877c8a97c8 169 #define I2C_SDA SDP_I2C_SDA // PC_9
mahphalke 5:78877c8a97c8 170
mahphalke 8:f38c1afe205b 171 #define SPI_SS SDP_SPI_CS_A // PB_9
mahphalke 5:78877c8a97c8 172 #define SPI_MISO SDP_SPI_MISO // PF_8
mahphalke 5:78877c8a97c8 173 #define SPI_MOSI SDP_SPI_MOSI // PF_9
mahphalke 5:78877c8a97c8 174 #define SPI_SCK SDP_SPI_SCK // PH_6
mahphalke 8:f38c1afe205b 175 #endif
mahphalke 5:78877c8a97c8 176
mahphalke 5:78877c8a97c8 177 // Define the other GPIO mapping based on the compatible EVAL board
mahphalke 5:78877c8a97c8 178 // *Note: The 7-bit I2C slave address mentioned below is the default address for the
mahphalke 5:78877c8a97c8 179 // device, set by combination of slave address bits (7:3) from the device
mahphalke 5:78877c8a97c8 180 // datasheet and default logic level of A1 and A0 pins (bits 2:1) on the
mahphalke 5:78877c8a97c8 181 // respective device EVAL board. For more information, refer the device
mahphalke 5:78877c8a97c8 182 // datasheet and EVAL board manual.
mahphalke 5:78877c8a97c8 183
mahphalke 5:78877c8a97c8 184 #if defined(DEV_AD5686R) || defined(DEV_AD5686) || \
mahphalke 5:78877c8a97c8 185 defined(DEV_AD5684R) || defined(DEV_AD5684) || \
mahphalke 5:78877c8a97c8 186 defined(DEV_AD5685R)
mahphalke 5:78877c8a97c8 187 // These devices support EVAL-AD5686RSDZ board
mahphalke 8:f38c1afe205b 188 #if !defined ARDUINO
mahphalke 5:78877c8a97c8 189 #define GAIN_PIN SDP_GPIO_0
mahphalke 5:78877c8a97c8 190 #define RESET_PIN SDP_GPIO_2
mahphalke 5:78877c8a97c8 191 #define LDAC_PIN SDP_GPIO_3
mahphalke 8:f38c1afe205b 192 #endif
mahphalke 5:78877c8a97c8 193 #elif defined(DEV_AD5696R) || defined(DEV_AD5696) || \
mahphalke 5:78877c8a97c8 194 defined(DEV_AD5694R) || defined(DEV_AD5694) || \
mahphalke 5:78877c8a97c8 195 defined(DEV_AD5695R) || defined(DEV_AD5697R)
mahphalke 5:78877c8a97c8 196 // These devices support EVAL-AD5696RSDZ board
mahphalke 8:f38c1afe205b 197 #if !defined ARDUINO
mahphalke 5:78877c8a97c8 198 #define GAIN_PIN SDP_GPIO_0
mahphalke 5:78877c8a97c8 199 #define RESET_PIN SDP_GPIO_2
mahphalke 5:78877c8a97c8 200 #define LDAC_PIN SDP_GPIO_3
mahphalke 8:f38c1afe205b 201 #endif
mahphalke 5:78877c8a97c8 202 #define I2C_SLAVE_ADDRESS 0x18
mahphalke 5:78877c8a97c8 203 #elif defined(DEV_AD5683) || defined(DEV_AD5683R) || defined(DEV_AD5682R) || \
mahphalke 5:78877c8a97c8 204 defined(DEV_AD5681R)
mahphalke 5:78877c8a97c8 205 // These devices uses EVAL-AD5683R board
mahphalke 8:f38c1afe205b 206 #if !defined ARDUINO
mahphalke 5:78877c8a97c8 207 #define GAIN_PIN SDP_GPIO_2
mahphalke 5:78877c8a97c8 208 #define RESET_PIN SDP_GPIO_1
mahphalke 5:78877c8a97c8 209 #define LDAC_PIN SDP_GPIO_0
mahphalke 8:f38c1afe205b 210 #endif
mahphalke 5:78877c8a97c8 211 #elif defined(DEV_AD5693) || defined(DEV_AD5693R) || defined(DEV_AD5692R) || \
mahphalke 5:78877c8a97c8 212 defined(DEV_AD5691R)
mahphalke 5:78877c8a97c8 213 // These devices uses EVAL-AD5693R board
mahphalke 8:f38c1afe205b 214 #if !defined ARDUINO
mahphalke 5:78877c8a97c8 215 #define GAIN_PIN SDP_GPIO_2
mahphalke 5:78877c8a97c8 216 #define RESET_PIN SDP_GPIO_1
mahphalke 5:78877c8a97c8 217 #define LDAC_PIN SDP_GPIO_0
mahphalke 8:f38c1afe205b 218 #endif
mahphalke 5:78877c8a97c8 219 #define I2C_SLAVE_ADDRESS 0x98
mahphalke 5:78877c8a97c8 220 #elif defined (DEV_AD5674R) || defined (DEV_AD5674) || \
mahphalke 5:78877c8a97c8 221 defined (DEV_AD5679R) || defined (DEV_AD5679) || \
mahphalke 5:78877c8a97c8 222 defined (DEV_AD5677R) || defined (DEV_AD5673R)
mahphalke 5:78877c8a97c8 223 // These devices uses EVAL-AD5679RSDZ/EVAL-AD567xRSDZ board
mahphalke 8:f38c1afe205b 224 #if !defined ARDUINO
mahphalke 5:78877c8a97c8 225 #define GAIN_PIN SDP_GPIO_0
mahphalke 5:78877c8a97c8 226 #define RESET_PIN SDP_GPIO_2
mahphalke 5:78877c8a97c8 227 #define LDAC_PIN SDP_GPIO_1
mahphalke 8:f38c1afe205b 228 #endif
mahphalke 5:78877c8a97c8 229 #define I2C_SLAVE_ADDRESS 0x1E
mahphalke 5:78877c8a97c8 230 #elif defined (DEV_AD5676R) || defined (DEV_AD5676) || \
mahphalke 5:78877c8a97c8 231 defined (DEV_AD5672R)
mahphalke 5:78877c8a97c8 232 // These devices uses EVAL-AD5676RSDZ board
mahphalke 8:f38c1afe205b 233 #if !defined ARDUINO
mahphalke 5:78877c8a97c8 234 #define GAIN_PIN SDP_GPIO_2
mahphalke 5:78877c8a97c8 235 #define RESET_PIN SDP_GPIO_1
mahphalke 5:78877c8a97c8 236 #define LDAC_PIN SDP_GPIO_0
mahphalke 8:f38c1afe205b 237 #endif
mahphalke 5:78877c8a97c8 238 #elif defined (DEV_AD5671R) || defined (DEV_AD5675R)
mahphalke 5:78877c8a97c8 239 // These devices uses EVAL-AD5675RSDZ board
mahphalke 8:f38c1afe205b 240 #if !defined ARDUINO
mahphalke 5:78877c8a97c8 241 #define GAIN_PIN SDP_GPIO_2
mahphalke 5:78877c8a97c8 242 #define RESET_PIN SDP_GPIO_1
mahphalke 5:78877c8a97c8 243 #define LDAC_PIN SDP_GPIO_0
mahphalke 8:f38c1afe205b 244 #endif
mahphalke 5:78877c8a97c8 245 #define I2C_SLAVE_ADDRESS 0x18
mahphalke 5:78877c8a97c8 246 #else
mahphalke 5:78877c8a97c8 247 #warning No/Unsupported EVAL board found. Using EVAL-AD5686R as default.
mahphalke 8:f38c1afe205b 248 #if !defined ARDUINO
mahphalke 5:78877c8a97c8 249 #define GAIN_PIN SDP_GPIO_0
mahphalke 5:78877c8a97c8 250 #define RESET_PIN SDP_GPIO_2
mahphalke 5:78877c8a97c8 251 #define LDAC_PIN SDP_GPIO_3
mahphalke 5:78877c8a97c8 252 #endif
mahphalke 8:f38c1afe205b 253 #endif
mahphalke 5:78877c8a97c8 254
mahphalke 5:78877c8a97c8 255
mahphalke 5:78877c8a97c8 256 // Common pin mappings
mahphalke 5:78877c8a97c8 257 #define LED_GREEN LED3 // PK_5
mahphalke 5:78877c8a97c8 258
mahphalke 5:78877c8a97c8 259 #endif //_APP_CONFIG_H_