Mahesh Phalke / Mbed OS EVAL-AD568x-AD569x

Dependencies:   platform_drivers adi_console_menu AD568x-AD569x

Committer:
mahphalke
Date:
Thu Mar 19 08:10:46 2020 +0000
Revision:
5:78877c8a97c8
Child:
8:f38c1afe205b
Updated nanodac+ firmware to use most recent console menu libraries, No-OS drivers and platform drivers.

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 5:78877c8a97c8 35 #if defined(DEV_AD5671R)
mahphalke 5:78877c8a97c8 36 #define ACTIVE_DEVICE ID_AD5671R
mahphalke 5:78877c8a97c8 37 #define ACTIVE_DEVICE_NAME "AD5671R"
mahphalke 5:78877c8a97c8 38 #elif defined(DEV_AD5672R)
mahphalke 5:78877c8a97c8 39 #define ACTIVE_DEVICE ID_AD5672R
mahphalke 5:78877c8a97c8 40 #define ACTIVE_DEVICE_NAME "AD5672R"
mahphalke 5:78877c8a97c8 41 #elif defined(DEV_AD5673R)
mahphalke 5:78877c8a97c8 42 #define ACTIVE_DEVICE ID_AD5673R
mahphalke 5:78877c8a97c8 43 #define ACTIVE_DEVICE_NAME "AD5673R"
mahphalke 5:78877c8a97c8 44 #elif defined(DEV_AD5674)
mahphalke 5:78877c8a97c8 45 #define ACTIVE_DEVICE ID_AD5674
mahphalke 5:78877c8a97c8 46 #define ACTIVE_DEVICE_NAME "AD5674"
mahphalke 5:78877c8a97c8 47 #elif defined(DEV_AD5674R)
mahphalke 5:78877c8a97c8 48 #define ACTIVE_DEVICE ID_AD5674R
mahphalke 5:78877c8a97c8 49 #define ACTIVE_DEVICE_NAME "AD5674R"
mahphalke 5:78877c8a97c8 50 #elif defined(DEV_AD5675R)
mahphalke 5:78877c8a97c8 51 #define ACTIVE_DEVICE ID_AD5675R
mahphalke 5:78877c8a97c8 52 #define ACTIVE_DEVICE_NAME "AD5675R"
mahphalke 5:78877c8a97c8 53 #elif defined(DEV_AD5676)
mahphalke 5:78877c8a97c8 54 #define ACTIVE_DEVICE ID_AD5676
mahphalke 5:78877c8a97c8 55 #define ACTIVE_DEVICE_NAME "AD5676"
mahphalke 5:78877c8a97c8 56 #elif defined(DEV_AD5676R)
mahphalke 5:78877c8a97c8 57 #define ACTIVE_DEVICE ID_AD5676R
mahphalke 5:78877c8a97c8 58 #define ACTIVE_DEVICE_NAME "AD5676R"
mahphalke 5:78877c8a97c8 59 #elif defined(DEV_AD5677R)
mahphalke 5:78877c8a97c8 60 #define ACTIVE_DEVICE ID_AD5677R
mahphalke 5:78877c8a97c8 61 #define ACTIVE_DEVICE_NAME "AD5677R"
mahphalke 5:78877c8a97c8 62 #elif defined(DEV_AD5679)
mahphalke 5:78877c8a97c8 63 #define ACTIVE_DEVICE ID_AD5679
mahphalke 5:78877c8a97c8 64 #define ACTIVE_DEVICE_NAME "AD5679"
mahphalke 5:78877c8a97c8 65 #elif defined(DEV_AD5679R)
mahphalke 5:78877c8a97c8 66 #define ACTIVE_DEVICE ID_AD5679R
mahphalke 5:78877c8a97c8 67 #define ACTIVE_DEVICE_NAME "AD5679R"
mahphalke 5:78877c8a97c8 68 #elif defined(DEV_AD5686)
mahphalke 5:78877c8a97c8 69 #define ACTIVE_DEVICE ID_AD5686
mahphalke 5:78877c8a97c8 70 #define ACTIVE_DEVICE_NAME "AD5686"
mahphalke 5:78877c8a97c8 71 #elif defined(DEV_AD5684R)
mahphalke 5:78877c8a97c8 72 #define ACTIVE_DEVICE ID_AD5684R
mahphalke 5:78877c8a97c8 73 #define ACTIVE_DEVICE_NAME "AD5684R"
mahphalke 5:78877c8a97c8 74 #elif defined(DEV_AD5685R)
mahphalke 5:78877c8a97c8 75 #define ACTIVE_DEVICE ID_AD5685R
mahphalke 5:78877c8a97c8 76 #define ACTIVE_DEVICE_NAME "AD5685R"
mahphalke 5:78877c8a97c8 77 #elif defined(DEV_AD5686R)
mahphalke 5:78877c8a97c8 78 #define ACTIVE_DEVICE ID_AD5686R
mahphalke 5:78877c8a97c8 79 #define ACTIVE_DEVICE_NAME "AD5686R"
mahphalke 5:78877c8a97c8 80 #elif defined(DEV_AD5687)
mahphalke 5:78877c8a97c8 81 #define ACTIVE_DEVICE ID_AD5687
mahphalke 5:78877c8a97c8 82 #define ACTIVE_DEVICE_NAME "AD5687"
mahphalke 5:78877c8a97c8 83 #elif defined(DEV_AD5687R)
mahphalke 5:78877c8a97c8 84 #define ACTIVE_DEVICE ID_AD5687R
mahphalke 5:78877c8a97c8 85 #define ACTIVE_DEVICE_NAME "AD5687R"
mahphalke 5:78877c8a97c8 86 #elif defined(DEV_AD5689)
mahphalke 5:78877c8a97c8 87 #define ACTIVE_DEVICE ID_AD5689
mahphalke 5:78877c8a97c8 88 #define ACTIVE_DEVICE_NAME "AD5689"
mahphalke 5:78877c8a97c8 89 #elif defined(DEV_AD5689R)
mahphalke 5:78877c8a97c8 90 #define ACTIVE_DEVICE ID_AD5689R
mahphalke 5:78877c8a97c8 91 #define ACTIVE_DEVICE_NAME "AD5689R"
mahphalke 5:78877c8a97c8 92 #elif defined(DEV_AD5697R)
mahphalke 5:78877c8a97c8 93 #define ACTIVE_DEVICE ID_AD5697R
mahphalke 5:78877c8a97c8 94 #define ACTIVE_DEVICE_NAME "AD5697R"
mahphalke 5:78877c8a97c8 95 #elif defined(DEV_AD5694)
mahphalke 5:78877c8a97c8 96 #define ACTIVE_DEVICE ID_AD5694
mahphalke 5:78877c8a97c8 97 #define ACTIVE_DEVICE_NAME "AD5694"
mahphalke 5:78877c8a97c8 98 #elif defined(DEV_AD5694R)
mahphalke 5:78877c8a97c8 99 #define ACTIVE_DEVICE ID_AD5694R
mahphalke 5:78877c8a97c8 100 #define ACTIVE_DEVICE_NAME "AD5694R"
mahphalke 5:78877c8a97c8 101 #elif defined(DEV_AD5695R)
mahphalke 5:78877c8a97c8 102 #define ACTIVE_DEVICE ID_AD5695R
mahphalke 5:78877c8a97c8 103 #define ACTIVE_DEVICE_NAME "AD5695R"
mahphalke 5:78877c8a97c8 104 #elif defined(DEV_AD5696)
mahphalke 5:78877c8a97c8 105 #define ACTIVE_DEVICE ID_AD5696
mahphalke 5:78877c8a97c8 106 #define ACTIVE_DEVICE_NAME "AD5696"
mahphalke 5:78877c8a97c8 107 #elif defined(DEV_AD5696R)
mahphalke 5:78877c8a97c8 108 #define ACTIVE_DEVICE ID_AD5696R
mahphalke 5:78877c8a97c8 109 #define ACTIVE_DEVICE_NAME "AD5696R"
mahphalke 5:78877c8a97c8 110 #elif defined(DEV_AD5681R)
mahphalke 5:78877c8a97c8 111 #define ACTIVE_DEVICE ID_AD5681R
mahphalke 5:78877c8a97c8 112 #define ACTIVE_DEVICE_NAME "AD5681R"
mahphalke 5:78877c8a97c8 113 #elif defined(DEV_AD5682R)
mahphalke 5:78877c8a97c8 114 #define ACTIVE_DEVICE ID_AD5682R
mahphalke 5:78877c8a97c8 115 #define ACTIVE_DEVICE_NAME "AD5682R"
mahphalke 5:78877c8a97c8 116 #elif defined(DEV_AD5683R)
mahphalke 5:78877c8a97c8 117 #define ACTIVE_DEVICE ID_AD5683R
mahphalke 5:78877c8a97c8 118 #define ACTIVE_DEVICE_NAME "AD5683R"
mahphalke 5:78877c8a97c8 119 #elif defined(DEV_AD5683)
mahphalke 5:78877c8a97c8 120 #define ACTIVE_DEVICE ID_AD5683
mahphalke 5:78877c8a97c8 121 #define ACTIVE_DEVICE_NAME "AD5683"
mahphalke 5:78877c8a97c8 122 #elif defined(DEV_AD5691R)
mahphalke 5:78877c8a97c8 123 #define ACTIVE_DEVICE ID_AD5691R
mahphalke 5:78877c8a97c8 124 #define ACTIVE_DEVICE_NAME "AD5691R"
mahphalke 5:78877c8a97c8 125 #elif defined(DEV_AD5692R)
mahphalke 5:78877c8a97c8 126 #define ACTIVE_DEVICE ID_AD5692R
mahphalke 5:78877c8a97c8 127 #define ACTIVE_DEVICE_NAME "AD5692R"
mahphalke 5:78877c8a97c8 128 #elif defined(DEV_AD5693R)
mahphalke 5:78877c8a97c8 129 #define ACTIVE_DEVICE ID_AD5693R
mahphalke 5:78877c8a97c8 130 #define ACTIVE_DEVICE_NAME "AD5693R"
mahphalke 5:78877c8a97c8 131 #elif defined(DEV_AD5693)
mahphalke 5:78877c8a97c8 132 #define ACTIVE_DEVICE ID_AD5693
mahphalke 5:78877c8a97c8 133 #define ACTIVE_DEVICE_NAME "AD5693"
mahphalke 5:78877c8a97c8 134 #else
mahphalke 5:78877c8a97c8 135 #warning No/Unsupported ADxxxxy symbol defined. AD5686R defined
mahphalke 5:78877c8a97c8 136 #define DEV_AD5686R
mahphalke 5:78877c8a97c8 137 #define ACTIVE_DEVICE ID_AD5686R
mahphalke 5:78877c8a97c8 138 #define ACTIVE_DEVICE_NAME "AD5686R"
mahphalke 5:78877c8a97c8 139 #endif
mahphalke 5:78877c8a97c8 140
mahphalke 5:78877c8a97c8 141
mahphalke 5:78877c8a97c8 142 //#define ARDUINO
mahphalke 5:78877c8a97c8 143
mahphalke 5:78877c8a97c8 144 /**
mahphalke 5:78877c8a97c8 145 The ADI SDP_K1 can be used with both arduino headers
mahphalke 5:78877c8a97c8 146 or the 120-pin SDP connector found on ADI evaluation
mahphalke 5:78877c8a97c8 147 boards. The default is the SDP connector.
mahphalke 5:78877c8a97c8 148
mahphalke 5:78877c8a97c8 149 Uncomment the ARDUINO #define above to enable the ARDUINO connector
mahphalke 5:78877c8a97c8 150 */
mahphalke 5:78877c8a97c8 151
mahphalke 5:78877c8a97c8 152 // Pin mapping of AD7124 with SDP-K1/Arduino (reference: PinNames.h)
mahphalke 5:78877c8a97c8 153 #ifdef ARDUINO
mahphalke 5:78877c8a97c8 154 #define I2C_SCL D15 // I2C_SCL
mahphalke 5:78877c8a97c8 155 #define I2C_SDA D14 // I2C_SDA
mahphalke 5:78877c8a97c8 156
mahphalke 5:78877c8a97c8 157 #define SPI_SS D10 // SPI_CS
mahphalke 5:78877c8a97c8 158 #define SPI_MISO D11 // SPI_MISO
mahphalke 5:78877c8a97c8 159 #define SPI_MOSI D12 // SPI_MOSI
mahphalke 5:78877c8a97c8 160 #define SPI_SCK D13 // SPI_SCK
mahphalke 5:78877c8a97c8 161
mahphalke 5:78877c8a97c8 162 #define GAIN_PIN D8
mahphalke 5:78877c8a97c8 163 #define RESET_PIN D9
mahphalke 5:78877c8a97c8 164 #define LDAC_PIN D7
mahphalke 5:78877c8a97c8 165 #define ADDR0_PIN D6
mahphalke 5:78877c8a97c8 166 #else
mahphalke 5:78877c8a97c8 167 #define I2C_SCL SDP_I2C_SCL // PH_7
mahphalke 5:78877c8a97c8 168 #define I2C_SDA SDP_I2C_SDA // PC_9
mahphalke 5:78877c8a97c8 169
mahphalke 5:78877c8a97c8 170 #define SPI_SS_A SDP_SPI_CS_A // PB_9
mahphalke 5:78877c8a97c8 171 #define SPI_SS_B SDP_SPI_CS_B // PC_6
mahphalke 5:78877c8a97c8 172 #define SPI_SS_C SDP_SPI_CS_C // PC_7
mahphalke 5:78877c8a97c8 173 #define SPI_MISO SDP_SPI_MISO // PF_8
mahphalke 5:78877c8a97c8 174 #define SPI_MOSI SDP_SPI_MOSI // PF_9
mahphalke 5:78877c8a97c8 175 #define SPI_SCK SDP_SPI_SCK // PH_6
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 5:78877c8a97c8 188 #define GAIN_PIN SDP_GPIO_0
mahphalke 5:78877c8a97c8 189 #define RESET_PIN SDP_GPIO_2
mahphalke 5:78877c8a97c8 190 #define LDAC_PIN SDP_GPIO_3
mahphalke 5:78877c8a97c8 191 #elif defined(DEV_AD5696R) || defined(DEV_AD5696) || \
mahphalke 5:78877c8a97c8 192 defined(DEV_AD5694R) || defined(DEV_AD5694) || \
mahphalke 5:78877c8a97c8 193 defined(DEV_AD5695R) || defined(DEV_AD5697R)
mahphalke 5:78877c8a97c8 194 // These devices support EVAL-AD5696RSDZ board
mahphalke 5:78877c8a97c8 195 #define GAIN_PIN SDP_GPIO_0
mahphalke 5:78877c8a97c8 196 #define RESET_PIN SDP_GPIO_2
mahphalke 5:78877c8a97c8 197 #define LDAC_PIN SDP_GPIO_3
mahphalke 5:78877c8a97c8 198 #define I2C_SLAVE_ADDRESS 0x18
mahphalke 5:78877c8a97c8 199 #elif defined(DEV_AD5683) || defined(DEV_AD5683R) || defined(DEV_AD5682R) || \
mahphalke 5:78877c8a97c8 200 defined(DEV_AD5681R)
mahphalke 5:78877c8a97c8 201 // These devices uses EVAL-AD5683R board
mahphalke 5:78877c8a97c8 202 #define GAIN_PIN SDP_GPIO_2
mahphalke 5:78877c8a97c8 203 #define RESET_PIN SDP_GPIO_1
mahphalke 5:78877c8a97c8 204 #define LDAC_PIN SDP_GPIO_0
mahphalke 5:78877c8a97c8 205 #elif defined(DEV_AD5693) || defined(DEV_AD5693R) || defined(DEV_AD5692R) || \
mahphalke 5:78877c8a97c8 206 defined(DEV_AD5691R)
mahphalke 5:78877c8a97c8 207 // These devices uses EVAL-AD5693R board
mahphalke 5:78877c8a97c8 208 #define GAIN_PIN SDP_GPIO_2
mahphalke 5:78877c8a97c8 209 #define RESET_PIN SDP_GPIO_1
mahphalke 5:78877c8a97c8 210 #define LDAC_PIN SDP_GPIO_0
mahphalke 5:78877c8a97c8 211 #define I2C_SLAVE_ADDRESS 0x98
mahphalke 5:78877c8a97c8 212 #elif defined (DEV_AD5674R) || defined (DEV_AD5674) || \
mahphalke 5:78877c8a97c8 213 defined (DEV_AD5679R) || defined (DEV_AD5679) || \
mahphalke 5:78877c8a97c8 214 defined (DEV_AD5677R) || defined (DEV_AD5673R)
mahphalke 5:78877c8a97c8 215 // These devices uses EVAL-AD5679RSDZ/EVAL-AD567xRSDZ board
mahphalke 5:78877c8a97c8 216 #define GAIN_PIN SDP_GPIO_0
mahphalke 5:78877c8a97c8 217 #define RESET_PIN SDP_GPIO_2
mahphalke 5:78877c8a97c8 218 #define LDAC_PIN SDP_GPIO_1
mahphalke 5:78877c8a97c8 219 #define I2C_SLAVE_ADDRESS 0x1E
mahphalke 5:78877c8a97c8 220 #elif defined (DEV_AD5676R) || defined (DEV_AD5676) || \
mahphalke 5:78877c8a97c8 221 defined (DEV_AD5672R)
mahphalke 5:78877c8a97c8 222 // These devices uses EVAL-AD5676RSDZ board
mahphalke 5:78877c8a97c8 223 #define GAIN_PIN SDP_GPIO_2
mahphalke 5:78877c8a97c8 224 #define RESET_PIN SDP_GPIO_1
mahphalke 5:78877c8a97c8 225 #define LDAC_PIN SDP_GPIO_0
mahphalke 5:78877c8a97c8 226 #elif defined (DEV_AD5671R) || defined (DEV_AD5675R)
mahphalke 5:78877c8a97c8 227 // These devices uses EVAL-AD5675RSDZ board
mahphalke 5:78877c8a97c8 228 #define GAIN_PIN SDP_GPIO_2
mahphalke 5:78877c8a97c8 229 #define RESET_PIN SDP_GPIO_1
mahphalke 5:78877c8a97c8 230 #define LDAC_PIN SDP_GPIO_0
mahphalke 5:78877c8a97c8 231 #define I2C_SLAVE_ADDRESS 0x18
mahphalke 5:78877c8a97c8 232 #else
mahphalke 5:78877c8a97c8 233 #warning No/Unsupported EVAL board found. Using EVAL-AD5686R as default.
mahphalke 5:78877c8a97c8 234 #define GAIN_PIN SDP_GPIO_0
mahphalke 5:78877c8a97c8 235 #define RESET_PIN SDP_GPIO_2
mahphalke 5:78877c8a97c8 236 #define LDAC_PIN SDP_GPIO_3
mahphalke 5:78877c8a97c8 237 #endif
mahphalke 5:78877c8a97c8 238
mahphalke 5:78877c8a97c8 239 #endif
mahphalke 5:78877c8a97c8 240
mahphalke 5:78877c8a97c8 241 // Common pin mappings
mahphalke 5:78877c8a97c8 242 #define LED_GREEN LED3 // PK_5
mahphalke 5:78877c8a97c8 243
mahphalke 5:78877c8a97c8 244 #endif //_APP_CONFIG_H_