Example Program for EVAL-AD7606

Dependencies:   platform_drivers

Committer:
mahphalke
Date:
Mon Oct 05 13:45:15 2020 +0530
Revision:
1:819ac9aa5667
Child:
6:32de160dce43
AD7606 IIO Application- Initial Revision

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mahphalke 1:819ac9aa5667 1 /*************************************************************************//**
mahphalke 1:819ac9aa5667 2 * @file app_config.h
mahphalke 1:819ac9aa5667 3 * @brief Configuration file for AD7606 device applications
mahphalke 1:819ac9aa5667 4 ******************************************************************************
mahphalke 1:819ac9aa5667 5 * Copyright (c) 2020 Analog Devices, Inc.
mahphalke 1:819ac9aa5667 6 *
mahphalke 1:819ac9aa5667 7 * All rights reserved.
mahphalke 1:819ac9aa5667 8 *
mahphalke 1:819ac9aa5667 9 * This software is proprietary to Analog Devices, Inc. and its licensors.
mahphalke 1:819ac9aa5667 10 * By using this software you agree to the terms of the associated
mahphalke 1:819ac9aa5667 11 * Analog Devices Software License Agreement.
mahphalke 1:819ac9aa5667 12 *****************************************************************************/
mahphalke 1:819ac9aa5667 13
mahphalke 1:819ac9aa5667 14 #ifndef _APP_CONFIG_H_
mahphalke 1:819ac9aa5667 15 #define _APP_CONFIG_H_
mahphalke 1:819ac9aa5667 16
mahphalke 1:819ac9aa5667 17 #include <stdint.h>
mahphalke 1:819ac9aa5667 18 #include <PinNames.h>
mahphalke 1:819ac9aa5667 19
mahphalke 1:819ac9aa5667 20 // **** Note for User: ACTIVE_DEVICE selection ****//
mahphalke 1:819ac9aa5667 21 /* Define the device type here from the list of below device type defines
mahphalke 1:819ac9aa5667 22 * (one at a time. Defining more than one device can result into compile error).
mahphalke 1:819ac9aa5667 23 * e.g. #define DEV_AD7606B -> This will make AD7606B as an ACTIVE_DEVICE.
mahphalke 1:819ac9aa5667 24 * The ACTIVE_DEVICE is default set to AD7606B if device type is not defined.
mahphalke 1:819ac9aa5667 25 * */
mahphalke 1:819ac9aa5667 26
mahphalke 1:819ac9aa5667 27 //#define DEV_AD7606B
mahphalke 1:819ac9aa5667 28
mahphalke 1:819ac9aa5667 29 #if defined(DEV_AD7605_4)
mahphalke 1:819ac9aa5667 30 #define ACTIVE_DEVICE ID_AD7605_4
mahphalke 1:819ac9aa5667 31 #define ACTIVE_DEVICE_NAME "AD7605-4-phy"
mahphalke 1:819ac9aa5667 32 #elif defined(DEV_AD7606_4)
mahphalke 1:819ac9aa5667 33 #define ACTIVE_DEVICE ID_AD7606_4
mahphalke 1:819ac9aa5667 34 #define ACTIVE_DEVICE_NAME "AD7606-4-phy"
mahphalke 1:819ac9aa5667 35 #elif defined(DEV_AD7606_6)
mahphalke 1:819ac9aa5667 36 #define ACTIVE_DEVICE ID_AD7606_6
mahphalke 1:819ac9aa5667 37 #define ACTIVE_DEVICE_NAME "AD7606-6-phy"
mahphalke 1:819ac9aa5667 38 #elif defined(DEV_AD7606_8)
mahphalke 1:819ac9aa5667 39 #define ACTIVE_DEVICE ID_AD7606_8
mahphalke 1:819ac9aa5667 40 #define ACTIVE_DEVICE_NAME "AD7606-8-phy"
mahphalke 1:819ac9aa5667 41 #elif defined(DEV_AD7606B)
mahphalke 1:819ac9aa5667 42 #define ACTIVE_DEVICE ID_AD7606B
mahphalke 1:819ac9aa5667 43 #define ACTIVE_DEVICE_NAME "AD7606B-phy"
mahphalke 1:819ac9aa5667 44 #elif defined(DEV_AD7606C_16)
mahphalke 1:819ac9aa5667 45 #define ACTIVE_DEVICE ID_AD7606C_16
mahphalke 1:819ac9aa5667 46 #define ACTIVE_DEVICE_NAME "AD7606C-16-phy"
mahphalke 1:819ac9aa5667 47 #elif defined(DEV_AD7606C_18)
mahphalke 1:819ac9aa5667 48 #define ACTIVE_DEVICE ID_AD7606C_18
mahphalke 1:819ac9aa5667 49 #define ACTIVE_DEVICE_NAME "AD7606C-18-phy"
mahphalke 1:819ac9aa5667 50 #elif defined(DEV_AD7608)
mahphalke 1:819ac9aa5667 51 #define ACTIVE_DEVICE ID_AD7608
mahphalke 1:819ac9aa5667 52 #define ACTIVE_DEVICE_NAME "AD7608-phy"
mahphalke 1:819ac9aa5667 53 #elif defined(DEV_AD7609)
mahphalke 1:819ac9aa5667 54 #define ACTIVE_DEVICE ID_AD7609
mahphalke 1:819ac9aa5667 55 #define ACTIVE_DEVICE_NAME "AD7609-phy"
mahphalke 1:819ac9aa5667 56 #else
mahphalke 1:819ac9aa5667 57 #warning No/Unsupported ADxxxxy symbol defined. AD7606B defined
mahphalke 1:819ac9aa5667 58 #define DEV_AD7606B
mahphalke 1:819ac9aa5667 59 #define ACTIVE_DEVICE ID_AD7606B
mahphalke 1:819ac9aa5667 60 #define ACTIVE_DEVICE_NAME "AD7606B-phy"
mahphalke 1:819ac9aa5667 61 #endif
mahphalke 1:819ac9aa5667 62
mahphalke 1:819ac9aa5667 63
mahphalke 1:819ac9aa5667 64 #if defined(DEV_AD7605_4)
mahphalke 1:819ac9aa5667 65 #define AD7606X_ADC_CHANNELS 4
mahphalke 1:819ac9aa5667 66 #define AD7606X_ADC_RESOLUTION 16
mahphalke 1:819ac9aa5667 67 #elif defined(DEV_AD7606_4)
mahphalke 1:819ac9aa5667 68 #define AD7606X_ADC_CHANNELS 4
mahphalke 1:819ac9aa5667 69 #define AD7606X_ADC_RESOLUTION 16
mahphalke 1:819ac9aa5667 70 #elif defined(DEV_AD7606_6)
mahphalke 1:819ac9aa5667 71 #define AD7606X_ADC_CHANNELS 6
mahphalke 1:819ac9aa5667 72 #define AD7606X_ADC_RESOLUTION 16
mahphalke 1:819ac9aa5667 73 #elif defined(DEV_AD7606_8)
mahphalke 1:819ac9aa5667 74 #define AD7606X_ADC_CHANNELS 8
mahphalke 1:819ac9aa5667 75 #define AD7606X_ADC_RESOLUTION 16
mahphalke 1:819ac9aa5667 76 #elif defined(DEV_AD7606B)
mahphalke 1:819ac9aa5667 77 #define AD7606X_ADC_CHANNELS 8
mahphalke 1:819ac9aa5667 78 #define AD7606X_ADC_RESOLUTION 16
mahphalke 1:819ac9aa5667 79 #elif defined(DEV_AD7606C_16)
mahphalke 1:819ac9aa5667 80 #define AD7606X_ADC_CHANNELS 8
mahphalke 1:819ac9aa5667 81 #define AD7606X_ADC_RESOLUTION 16
mahphalke 1:819ac9aa5667 82 #elif defined(DEV_AD7606C_18)
mahphalke 1:819ac9aa5667 83 #define AD7606X_ADC_CHANNELS 8
mahphalke 1:819ac9aa5667 84 #define AD7606X_ADC_RESOLUTION 18
mahphalke 1:819ac9aa5667 85 #elif defined(DEV_AD7608)
mahphalke 1:819ac9aa5667 86 #define AD7606X_ADC_CHANNELS 8
mahphalke 1:819ac9aa5667 87 #define AD7606X_ADC_RESOLUTION 18
mahphalke 1:819ac9aa5667 88 #elif defined(DEV_AD7609)
mahphalke 1:819ac9aa5667 89 #define AD7606X_ADC_CHANNELS 8
mahphalke 1:819ac9aa5667 90 #define AD7606X_ADC_RESOLUTION 18
mahphalke 1:819ac9aa5667 91 #else
mahphalke 1:819ac9aa5667 92 /* Default config for AD7606B */
mahphalke 1:819ac9aa5667 93 #define AD7606X_ADC_CHANNELS 8
mahphalke 1:819ac9aa5667 94 #define AD7606X_ADC_RESOLUTION 16
mahphalke 1:819ac9aa5667 95 #endif
mahphalke 1:819ac9aa5667 96
mahphalke 1:819ac9aa5667 97 /* ADC max count (full scale value) for unipolar inputs */
mahphalke 1:819ac9aa5667 98 #define ADC_MAX_COUNT_UNIPOLAR (uint32_t)((1 << AD7606X_ADC_RESOLUTION) - 1)
mahphalke 1:819ac9aa5667 99
mahphalke 1:819ac9aa5667 100 /* ADC max count (full scale value) for bipolar inputs */
mahphalke 1:819ac9aa5667 101 #define ADC_MAX_COUNT_BIPOLAR (uint32_t)(1 << (AD7606X_ADC_RESOLUTION-1))
mahphalke 1:819ac9aa5667 102
mahphalke 1:819ac9aa5667 103 // Pin mapping of AD7606 w.r.t Arduino (reference: PinNames.h)
mahphalke 1:819ac9aa5667 104 #define SPI_SS D10
mahphalke 1:819ac9aa5667 105 #define SPI_MOSI D11
mahphalke 1:819ac9aa5667 106 #define SPI_MISO D12
mahphalke 1:819ac9aa5667 107 #define SPI_SCK D13
mahphalke 1:819ac9aa5667 108
mahphalke 1:819ac9aa5667 109 #define UART_TX USBTX
mahphalke 1:819ac9aa5667 110 #define UART_RX USBRX
mahphalke 1:819ac9aa5667 111
mahphalke 1:819ac9aa5667 112 #define OSR0_PIN D2
mahphalke 1:819ac9aa5667 113 #define OSR1_PIN D3
mahphalke 1:819ac9aa5667 114 #define OSR2_PIN D4
mahphalke 1:819ac9aa5667 115 #define RESET_PIN D5
mahphalke 1:819ac9aa5667 116 #define CONVST_PIN D6
mahphalke 1:819ac9aa5667 117 #define BUSY_PIN D7
mahphalke 1:819ac9aa5667 118 #define RANGE_PIN D8
mahphalke 1:819ac9aa5667 119 #define STDBY_PIN D9
mahphalke 1:819ac9aa5667 120
mahphalke 1:819ac9aa5667 121 #define LED_GREEN LED3
mahphalke 1:819ac9aa5667 122
mahphalke 1:819ac9aa5667 123
mahphalke 1:819ac9aa5667 124 #endif //_APP_CONFIG_H_