IIO firmware for the AD717x and AD411x family of devices.

Dependencies:   sdp_k1_sdram

Committer:
Janani Sunil
Date:
Tue Nov 15 17:05:27 2022 +0530
Revision:
3:0dcba3253ec1
Parent:
2:d0c2d3e1fb93
Added support for AD4116

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Janani Sunil 0:5ad86d8d396a 1 /*************************************************************************//**
Janani Sunil 0:5ad86d8d396a 2 * @file app_config.h
Janani Sunil 0:5ad86d8d396a 3 * @brief Configuration file for AD717x and AD411x IIO firmware application
Janani Sunil 0:5ad86d8d396a 4 ******************************************************************************
Janani Sunil 0:5ad86d8d396a 5 * Copyright (c) 2021-22 Analog Devices, Inc.
Janani Sunil 0:5ad86d8d396a 6 *
Janani Sunil 0:5ad86d8d396a 7 * All rights reserved.
Janani Sunil 0:5ad86d8d396a 8 *
Janani Sunil 0:5ad86d8d396a 9 * This software is proprietary to Analog Devices, Inc. and its licensors.
Janani Sunil 0:5ad86d8d396a 10 * By using this software you agree to the terms of the associated
Janani Sunil 0:5ad86d8d396a 11 * Analog Devices Software License Agreement.
Janani Sunil 0:5ad86d8d396a 12 *****************************************************************************/
Janani Sunil 0:5ad86d8d396a 13
Janani Sunil 0:5ad86d8d396a 14 #ifndef APP_CONFIG_H
Janani Sunil 0:5ad86d8d396a 15 #define APP_CONFIG_H
Janani Sunil 0:5ad86d8d396a 16
Janani Sunil 0:5ad86d8d396a 17 /******************************************************************************/
Janani Sunil 0:5ad86d8d396a 18 /***************************** Include Files **********************************/
Janani Sunil 0:5ad86d8d396a 19 /******************************************************************************/
Janani Sunil 0:5ad86d8d396a 20 #include <stdint.h>
Janani Sunil 0:5ad86d8d396a 21 #include "no_os_gpio.h"
Janani Sunil 0:5ad86d8d396a 22
Janani Sunil 0:5ad86d8d396a 23 /******************************************************************************/
Janani Sunil 0:5ad86d8d396a 24 /********************** Macros and Constants Definition ***********************/
Janani Sunil 0:5ad86d8d396a 25 /******************************************************************************/
Janani Sunil 0:5ad86d8d396a 26
Janani Sunil 0:5ad86d8d396a 27 /* List of supported platforms */
Janani Sunil 0:5ad86d8d396a 28 #define MBED_PLATFORM 1
Janani Sunil 0:5ad86d8d396a 29
Janani Sunil 0:5ad86d8d396a 30 /* Select the active platform */
Janani Sunil 0:5ad86d8d396a 31 #if !defined(ACTIVE_PLATFORM)
Janani Sunil 0:5ad86d8d396a 32 #define ACTIVE_PLATFORM MBED_PLATFORM
Janani Sunil 0:5ad86d8d396a 33 #endif // ACTIVE_PLATFORM
Janani Sunil 0:5ad86d8d396a 34
Janani Sunil 0:5ad86d8d396a 35 /* List of data capture modes for AD717x device */
Janani Sunil 0:5ad86d8d396a 36 #define CONTINUOUS_DATA_CAPTURE 0
Janani Sunil 0:5ad86d8d396a 37 #define BURST_DATA_CAPTURE 1
Janani Sunil 0:5ad86d8d396a 38
Janani Sunil 0:5ad86d8d396a 39 // **** Note for User on selection of Active Device ****//
Janani Sunil 0:5ad86d8d396a 40 /* Define the device type here from the list of below device type defines
Janani Sunil 0:5ad86d8d396a 41 * (one at a time. Defining more than one device can result into compile error).
Janani Sunil 0:5ad86d8d396a 42 * e.g. #define DEV_AD4111 -> This will make AD4111 as an active device.
Janani Sunil 0:5ad86d8d396a 43 * The active device is default set to AD4111 if device type is not defined.
Janani Sunil 0:5ad86d8d396a 44 * */
Janani Sunil 0:5ad86d8d396a 45 // #define DEV_AD4111
Janani Sunil 0:5ad86d8d396a 46
Janani Sunil 0:5ad86d8d396a 47 #if defined(DEV_AD4111)
Janani Sunil 0:5ad86d8d396a 48 #define ACTIVE_DEVICE_NAME "ad4111"
Janani Sunil 0:5ad86d8d396a 49 #define ACTIVE_DEVICE_ID ID_AD4111
Janani Sunil 0:5ad86d8d396a 50 #elif defined(DEV_AD4112)
Janani Sunil 0:5ad86d8d396a 51 #define ACTIVE_DEVICE_NAME "ad4112"
Janani Sunil 0:5ad86d8d396a 52 #define ACTIVE_DEVICE_ID ID_AD4112
Janani Sunil 0:5ad86d8d396a 53 #elif defined(DEV_AD4114)
Janani Sunil 0:5ad86d8d396a 54 #define ACTIVE_DEVICE_NAME "ad4114"
Janani Sunil 0:5ad86d8d396a 55 #define ACTIVE_DEVICE_ID ID_AD4114
Janani Sunil 0:5ad86d8d396a 56 #elif defined(DEV_AD4115)
Janani Sunil 0:5ad86d8d396a 57 #define ACTIVE_DEVICE_NAME "ad4115"
Janani Sunil 0:5ad86d8d396a 58 #define ACTIVE_DEVICE_ID ID_AD4115
Janani Sunil 3:0dcba3253ec1 59 #elif defined(DEV_AD4116)
Janani Sunil 3:0dcba3253ec1 60 #define ACTIVE_DEVICE_NAME "ad4116"
Janani Sunil 3:0dcba3253ec1 61 #define ACTIVE_DEVICE_ID ID_AD4116
Janani Sunil 0:5ad86d8d396a 62 #elif defined(DEV_AD7172_2)
Janani Sunil 0:5ad86d8d396a 63 #define AD7172_2_INIT
Janani Sunil 0:5ad86d8d396a 64 #define ACTIVE_DEVICE_NAME "ad7172-2"
Janani Sunil 0:5ad86d8d396a 65 #define ACTIVE_DEVICE_ID ID_AD7172_2
Janani Sunil 0:5ad86d8d396a 66 #elif defined(DEV_AD7172_4)
Janani Sunil 0:5ad86d8d396a 67 #define AD7172_4_INIT
Janani Sunil 0:5ad86d8d396a 68 #define ACTIVE_DEVICE_NAME "ad7172-4"
Janani Sunil 0:5ad86d8d396a 69 #define ACTIVE_DEVICE_ID ID_AD7172_4
Janani Sunil 0:5ad86d8d396a 70 #elif defined(DEV_AD7173_8)
Janani Sunil 0:5ad86d8d396a 71 #define AD7173_8_INIT
Janani Sunil 0:5ad86d8d396a 72 #define ACTIVE_DEVICE_NAME "ad7173-8"
Janani Sunil 0:5ad86d8d396a 73 #define ACTIVE_DEVICE_ID ID_AD7173_8
Janani Sunil 0:5ad86d8d396a 74 #elif defined(DEV_AD7175_2)
Janani Sunil 0:5ad86d8d396a 75 #define AD7175_2_INIT
Janani Sunil 0:5ad86d8d396a 76 #define ACTIVE_DEVICE_NAME "ad7175-2"
Janani Sunil 0:5ad86d8d396a 77 #define ACTIVE_DEVICE_ID ID_AD7175_2
Janani Sunil 0:5ad86d8d396a 78 #elif defined(DEV_AD7175_8)
Janani Sunil 0:5ad86d8d396a 79 #define AD7175_8_INIT
Janani Sunil 0:5ad86d8d396a 80 #define ACTIVE_DEVICE_NAME "ad7175-8"
Janani Sunil 0:5ad86d8d396a 81 #define ACTIVE_DEVICE_ID ID_AD7175_8
Janani Sunil 0:5ad86d8d396a 82 #elif defined(DEV_AD7176_2)
Janani Sunil 0:5ad86d8d396a 83 #define AD7176_2_INIT
Janani Sunil 0:5ad86d8d396a 84 #define ACTIVE_DEVICE_NAME "ad7176-2"
Janani Sunil 0:5ad86d8d396a 85 #define ACTIVE_DEVICE_ID ID_AD7176_2
Janani Sunil 0:5ad86d8d396a 86 #elif defined(DEV_AD7177_2)
Janani Sunil 0:5ad86d8d396a 87 #define AD7177_2_INIT
Janani Sunil 0:5ad86d8d396a 88 #define ACTIVE_DEVICE_NAME "ad7177-2"
Janani Sunil 0:5ad86d8d396a 89 #define ACTIVE_DEVICE_ID ID_AD7177_2
Janani Sunil 0:5ad86d8d396a 90 #else
Janani Sunil 0:5ad86d8d396a 91 #warning No/Unsupported ADxxxxy symbol defined. AD4111 defined
Janani Sunil 0:5ad86d8d396a 92 #define DEV_AD4111
Janani Sunil 0:5ad86d8d396a 93 #define ACTIVE_DEVICE_NAME "ad4111"
Janani Sunil 0:5ad86d8d396a 94 #define ACTIVE_DEVICE_ID ID_AD4111
Janani Sunil 0:5ad86d8d396a 95 #endif // Device Select (Active Device name definition)
Janani Sunil 0:5ad86d8d396a 96
Janani Sunil 0:5ad86d8d396a 97 #if (ACTIVE_PLATFORM == MBED_PLATFORM)
Janani Sunil 0:5ad86d8d396a 98 #include "app_config_mbed.h"
Janani Sunil 0:5ad86d8d396a 99 /* Redefine the init params structure mapping w.r.t. platform */
Janani Sunil 0:5ad86d8d396a 100 #define uart_extra_init_params mbed_uart_extra_init_params
Janani Sunil 0:5ad86d8d396a 101 #define spi_extra_init_params mbed_spi_extra_init_params
Janani Sunil 0:5ad86d8d396a 102 #define ext_int_extra_init_params mbed_ext_int_extra_init_params
Janani Sunil 0:5ad86d8d396a 103 #define csb_platform_ops mbed_gpio_ops
Janani Sunil 2:d0c2d3e1fb93 104 #define rdy_platform_ops mbed_gpio_ops
Janani Sunil 3:0dcba3253ec1 105 #define irq_platform_ops mbed_gpio_irq_ops
Janani Sunil 0:5ad86d8d396a 106 #define spi_platform_ops mbed_spi_ops
Janani Sunil 3:0dcba3253ec1 107 #define IRQ_INT_ID GPIO_IRQ_ID1
Janani Sunil 0:5ad86d8d396a 108 #endif // ACTIVE_PLATFORM
Janani Sunil 0:5ad86d8d396a 109
Janani Sunil 0:5ad86d8d396a 110 /* Enable the UART/VirtualCOM port connection (default VCOM) */
Janani Sunil 0:5ad86d8d396a 111 //#define USE_PHY_COM_PORT // Uncomment to select UART
Janani Sunil 0:5ad86d8d396a 112
Janani Sunil 0:5ad86d8d396a 113 #if !defined(USE_PHY_COM_PORT)
Janani Sunil 0:5ad86d8d396a 114
Janani Sunil 0:5ad86d8d396a 115 /* VCOM Serial number definition */
Janani Sunil 0:5ad86d8d396a 116 #define FIRMWARE_NAME "AD717x_MBED_IIO_APPLICATION"
Janani Sunil 0:5ad86d8d396a 117
Janani Sunil 0:5ad86d8d396a 118 #if !defined(PLATFORM_NAME)
Janani Sunil 0:5ad86d8d396a 119 #define PLATFORM_NAME "SDP_K1"
Janani Sunil 0:5ad86d8d396a 120 #endif
Janani Sunil 0:5ad86d8d396a 121
Janani Sunil 0:5ad86d8d396a 122 #if !defined(EVB_INTERFACE)
Janani Sunil 0:5ad86d8d396a 123 #define EVB_INTERFACE "SDP_120"
Janani Sunil 0:5ad86d8d396a 124 #endif
Janani Sunil 0:5ad86d8d396a 125
Janani Sunil 0:5ad86d8d396a 126 /* Below USB configurations (VID and PID) are owned and assigned by ADI.
Janani Sunil 0:5ad86d8d396a 127 * If intended to distribute software further, use the VID and PID owned by your
Janani Sunil 0:5ad86d8d396a 128 * organization */
Janani Sunil 0:5ad86d8d396a 129 #define VIRTUAL_COM_PORT_VID 0x0456
Janani Sunil 0:5ad86d8d396a 130 #define VIRTUAL_COM_PORT_PID 0xb66c
Janani Sunil 0:5ad86d8d396a 131
Janani Sunil 0:5ad86d8d396a 132 #define VIRTUAL_COM_SERIAL_NUM (FIRMWARE_NAME "_" PLATFORM_NAME "_" EVB_INTERFACE)
Janani Sunil 0:5ad86d8d396a 133 #endif // !defined(USE_PHY_COM_PORT)
Janani Sunil 0:5ad86d8d396a 134
Janani Sunil 0:5ad86d8d396a 135 /* Definition for number of channels for the selected device */
Janani Sunil 0:5ad86d8d396a 136 #if defined(DEV_AD4111) || defined(DEV_AD4112) || \
Janani Sunil 3:0dcba3253ec1 137 defined(DEV_AD4114) || defined(DEV_AD4115) || defined (DEV_AD4116) ||\
Janani Sunil 0:5ad86d8d396a 138 defined(DEV_AD7173_8) || defined(DEV_AD7175_8)
Janani Sunil 0:5ad86d8d396a 139 #define NUMBER_OF_CHANNELS 16U
Janani Sunil 0:5ad86d8d396a 140 #define NUMBER_OF_SETUPS 8U
Janani Sunil 0:5ad86d8d396a 141 #elif defined(DEV_AD7172_4)
Janani Sunil 0:5ad86d8d396a 142 #define NUMBER_OF_CHANNELS 8U
Janani Sunil 0:5ad86d8d396a 143 #define NUMBER_OF_SETUPS 8U
Janani Sunil 0:5ad86d8d396a 144 #else //AD7172_2, AD71725_2, AD7176-2, AD7177-2
Janani Sunil 0:5ad86d8d396a 145 #define NUMBER_OF_CHANNELS 4U
Janani Sunil 0:5ad86d8d396a 146 #define NUMBER_OF_SETUPS 4U
Janani Sunil 0:5ad86d8d396a 147 #endif // Device Select
Janani Sunil 0:5ad86d8d396a 148
Janani Sunil 0:5ad86d8d396a 149 /* Select the ADC data capture mode (default is CC mode) */
Janani Sunil 0:5ad86d8d396a 150 #if !defined(DATA_CAPTURE_MODE)
Janani Sunil 0:5ad86d8d396a 151 #define DATA_CAPTURE_MODE CONTINUOUS_DATA_CAPTURE
Janani Sunil 0:5ad86d8d396a 152 #endif
Janani Sunil 0:5ad86d8d396a 153
Janani Sunil 0:5ad86d8d396a 154 /* Enable/Disable the use of SDRAM for ADC data capture buffer */
Janani Sunil 0:5ad86d8d396a 155 //#define USE_SDRAM_CAPTURE_BUFFER // Uncomment to use SDRAM as data buffer
Janani Sunil 0:5ad86d8d396a 156
Janani Sunil 0:5ad86d8d396a 157 /* ADC Reference Voltage in volts */
Janani Sunil 0:5ad86d8d396a 158 #define AD717X_INTERNAL_REFERENCE 2.5
Janani Sunil 0:5ad86d8d396a 159 #define AD717x_EXTERNAL_REFERENCE 2.5
Janani Sunil 0:5ad86d8d396a 160 #define AD717X_AVDD_AVSS_REFERENCE 2.5
Janani Sunil 0:5ad86d8d396a 161
Janani Sunil 0:5ad86d8d396a 162 /* Baud Rate for IIO Application */
Janani Sunil 0:5ad86d8d396a 163 #define IIO_UART_BAUD_RATE (230400)
Janani Sunil 0:5ad86d8d396a 164
Janani Sunil 0:5ad86d8d396a 165 /* AD717x Sampling Rate of the device in SPS, excluding the fractional part.
Janani Sunil 0:5ad86d8d396a 166 * The following are the possible values of sampling frequencies (in SPS):
Janani Sunil 0:5ad86d8d396a 167 *
Janani Sunil 0:5ad86d8d396a 168 * AD4111, AD41112, AD4114, AD4115:
Janani Sunil 0:5ad86d8d396a 169 * 31250, 15625, 10417, 5208, 2957, 1007, 503, 381, 200, 100, 59, 49, 20, 16, 10, 5, 2, 1.
Janani Sunil 0:5ad86d8d396a 170 *
Janani Sunil 3:0dcba3253ec1 171 * AD4116:
Janani Sunil 3:0dcba3253ec1 172 * 625000, 31250, 15625, 10416, 5194, 2496, 1007, 499, 390, 200, 100, 59, 49, 20, 16, 10, 5, 2, 1.
Janani Sunil 3:0dcba3253ec1 173 *
Janani Sunil 0:5ad86d8d396a 174 *AD7175_2, AD7175_8, AD7176_2:
Janani Sunil 0:5ad86d8d396a 175 * 31250, 25000, 10000, 5000, 2500, 1000, 500, 397, 200, 100, 59, 49, 20, 16, 10, 5
Janani Sunil 0:5ad86d8d396a 176 *
Janani Sunil 0:5ad86d8d396a 177 *AD7177_2:
Janani Sunil 0:5ad86d8d396a 178 *10000, 5000, 2500, 1000, 500, 397, 200, 100, 59, 49, 20, 16, 10, 5
Janani Sunil 0:5ad86d8d396a 179 *
Janani Sunil 0:5ad86d8d396a 180 * Note: The below defined sampling frequency is applicable for all setups */
Janani Sunil 0:5ad86d8d396a 181 #define AD717x_SAMPLING_RATE (31250)
Janani Sunil 0:5ad86d8d396a 182
Janani Sunil 0:5ad86d8d396a 183 /* ODR[4:0] bits*/
Janani Sunil 0:5ad86d8d396a 184 #if defined (DEV_AD4111) || defined (DEV_AD4112) || defined (DEV_AD4114) ||\
Janani Sunil 3:0dcba3253ec1 185 defined (DEV_AD4115) || defined (DEV_AD7172_2) ||\
Janani Sunil 3:0dcba3253ec1 186 defined (DEV_AD7172_4) || defined (DEV_AD7173_8)
Janani Sunil 0:5ad86d8d396a 187 #if (AD717x_SAMPLING_RATE == 31250)
Janani Sunil 0:5ad86d8d396a 188 #define AD717x_ODR_SEL 0
Janani Sunil 0:5ad86d8d396a 189 #elif (AD717x_SAMPLING_RATE == 15625)
Janani Sunil 0:5ad86d8d396a 190 #define AD717x_ODR_SEL 6
Janani Sunil 0:5ad86d8d396a 191 #elif (AD717x_SAMPLING_RATE == 10417)
Janani Sunil 0:5ad86d8d396a 192 #define AD717x_ODR_SEL 7
Janani Sunil 0:5ad86d8d396a 193 #elif (AD717x_SAMPLING_RATE == 5208)
Janani Sunil 0:5ad86d8d396a 194 #define AD717x_ODR_SEL 8
Janani Sunil 0:5ad86d8d396a 195 #elif (AD717x_SAMPLING_RATE == 2957)
Janani Sunil 0:5ad86d8d396a 196 #define AD717x_ODR_SEL 9
Janani Sunil 0:5ad86d8d396a 197 #elif (AD717x_SAMPLING_RATE == 1007)
Janani Sunil 0:5ad86d8d396a 198 #define AD717x_ODR_SEL 10
Janani Sunil 0:5ad86d8d396a 199 #elif (AD717x_SAMPLING_RATE == 503)
Janani Sunil 0:5ad86d8d396a 200 #define AD717x_ODR_SEL 11
Janani Sunil 0:5ad86d8d396a 201 #elif (AD717x_SAMPLING_RATE == 381)
Janani Sunil 0:5ad86d8d396a 202 #define AD717x_ODR_SEL 12
Janani Sunil 0:5ad86d8d396a 203 #elif (AD717x_SAMPLING_RATE == 200)
Janani Sunil 0:5ad86d8d396a 204 #define AD717x_ODR_SEL 13
Janani Sunil 0:5ad86d8d396a 205 #elif (AD717x_SAMPLING_RATE == 100)
Janani Sunil 0:5ad86d8d396a 206 #define AD717x_ODR_SEL 14
Janani Sunil 0:5ad86d8d396a 207 #elif (AD717x_SAMPLING_RATE == 59)
Janani Sunil 0:5ad86d8d396a 208 #define AD717x_ODR_SEL 15
Janani Sunil 0:5ad86d8d396a 209 #elif (AD717x_SAMPLING_RATE == 49)
Janani Sunil 0:5ad86d8d396a 210 #define AD717x_ODR_SEL 16
Janani Sunil 0:5ad86d8d396a 211 #elif (AD717x_SAMPLING_RATE == 20)
Janani Sunil 0:5ad86d8d396a 212 #define AD717x_ODR_SEL 17
Janani Sunil 0:5ad86d8d396a 213 #elif (AD717x_SAMPLING_RATE == 16)
Janani Sunil 0:5ad86d8d396a 214 #define AD717x_ODR_SEL 18
Janani Sunil 0:5ad86d8d396a 215 #elif (AD717x_SAMPLING_RATE == 10)
Janani Sunil 0:5ad86d8d396a 216 #define AD717x_ODR_SEL 19
Janani Sunil 0:5ad86d8d396a 217 #elif (AD717x_SAMPLING_RATE == 5)
Janani Sunil 0:5ad86d8d396a 218 #define AD717x_ODR_SEL 20
Janani Sunil 0:5ad86d8d396a 219 #elif (AD717x_SAMPLING_RATE == 2)
Janani Sunil 0:5ad86d8d396a 220 #define AD717x_ODR_SEL 21
Janani Sunil 0:5ad86d8d396a 221 #elif (AD717x_SAMPLING_RATE == 1)
Janani Sunil 0:5ad86d8d396a 222 #define AD717x_ODR_SEL 22
Janani Sunil 0:5ad86d8d396a 223 #else
Janani Sunil 0:5ad86d8d396a 224 #warining "Invalid sampling frequency selection, using 31250 as default"
Janani Sunil 0:5ad86d8d396a 225 #define AD717x_SAMPLING_RATE 31250
Janani Sunil 0:5ad86d8d396a 226 #define AD717x_ODR_SEL 0
Janani Sunil 0:5ad86d8d396a 227 #endif
Janani Sunil 0:5ad86d8d396a 228
Janani Sunil 3:0dcba3253ec1 229 #elif defined (DEV_AD4116)
Janani Sunil 3:0dcba3253ec1 230 #if (AD717x_SAMPLING_RATE == 625000)
Janani Sunil 3:0dcba3253ec1 231 #define AD717x_ODR_SEL 0
Janani Sunil 3:0dcba3253ec1 232 #elif (AD717x_SAMPLING_RATE == 31250)
Janani Sunil 3:0dcba3253ec1 233 #define AD717x_ODR_SEL 4
Janani Sunil 3:0dcba3253ec1 234 #elif (AD717x_SAMPLING_RATE == 15625)
Janani Sunil 3:0dcba3253ec1 235 #define AD717x_ODR_SEL 6
Janani Sunil 3:0dcba3253ec1 236 #elif (AD717x_SAMPLING_RATE == 10416)
Janani Sunil 3:0dcba3253ec1 237 #define AD717x_ODR_SEL 7
Janani Sunil 3:0dcba3253ec1 238 #elif (AD717x_SAMPLING_RATE == 5194)
Janani Sunil 3:0dcba3253ec1 239 #define AD717x_ODR_SEL 8
Janani Sunil 3:0dcba3253ec1 240 #elif (AD717x_SAMPLING_RATE == 2496)
Janani Sunil 3:0dcba3253ec1 241 #define AD717x_ODR_SEL 9
Janani Sunil 3:0dcba3253ec1 242 #elif (AD717x_SAMPLING_RATE == 1007)
Janani Sunil 3:0dcba3253ec1 243 #define AD717x_ODR_SEL 10
Janani Sunil 3:0dcba3253ec1 244 #elif (AD717x_SAMPLING_RATE == 499)
Janani Sunil 3:0dcba3253ec1 245 #define AD717x_ODR_SEL 11
Janani Sunil 3:0dcba3253ec1 246 #elif (AD717x_SAMPLING_RATE == 390)
Janani Sunil 3:0dcba3253ec1 247 #define AD717x_ODR_SEL 12
Janani Sunil 3:0dcba3253ec1 248 #elif (AD717x_SAMPLING_RATE == 200)
Janani Sunil 3:0dcba3253ec1 249 #define AD717x_ODR_SEL 13
Janani Sunil 3:0dcba3253ec1 250 #elif (AD717x_SAMPLING_RATE == 100)
Janani Sunil 3:0dcba3253ec1 251 #define AD717x_ODR_SEL 14
Janani Sunil 3:0dcba3253ec1 252 #elif (AD717x_SAMPLING_RATE == 59)
Janani Sunil 3:0dcba3253ec1 253 #define AD717x_ODR_SEL 15
Janani Sunil 3:0dcba3253ec1 254 #elif (AD717x_SAMPLING_RATE == 49)
Janani Sunil 3:0dcba3253ec1 255 #define AD717x_ODR_SEL 16
Janani Sunil 3:0dcba3253ec1 256 #elif (AD717x_SAMPLING_RATE == 20)
Janani Sunil 3:0dcba3253ec1 257 #define AD717x_ODR_SEL 17
Janani Sunil 3:0dcba3253ec1 258 #elif (AD717x_SAMPLING_RATE == 16)
Janani Sunil 3:0dcba3253ec1 259 #define AD717x_ODR_SEL 18
Janani Sunil 3:0dcba3253ec1 260 #elif (AD717x_SAMPLING_RATE == 10)
Janani Sunil 3:0dcba3253ec1 261 #define AD717x_ODR_SEL 19
Janani Sunil 3:0dcba3253ec1 262 #elif (AD717x_SAMPLING_RATE == 5)
Janani Sunil 3:0dcba3253ec1 263 #define AD717x_ODR_SEL 20
Janani Sunil 3:0dcba3253ec1 264 #elif (AD717x_SAMPLING_RATE == 2)
Janani Sunil 3:0dcba3253ec1 265 #define AD717x_ODR_SEL 21
Janani Sunil 3:0dcba3253ec1 266 #elif (AD717x_SAMPLING_RATE == 1)
Janani Sunil 3:0dcba3253ec1 267 #define AD717x_ODR_SEL 22
Janani Sunil 3:0dcba3253ec1 268 #endif
Janani Sunil 0:5ad86d8d396a 269 #elif defined (DEV_AD7175_2) || defined (DEV_AD7175_8) || defined (DEV_AD7176_2) || defined (DEV_AD7177_2)
Janani Sunil 0:5ad86d8d396a 270 #if !defined (DEV_AD7177_2)
Janani Sunil 0:5ad86d8d396a 271 #if (AD717x_SAMPLING_RATE == 31250)
Janani Sunil 0:5ad86d8d396a 272 #define AD717x_ODR_SEL 4
Janani Sunil 0:5ad86d8d396a 273 #elif (AD717x_SAMPLING_RATE == 25000)
Janani Sunil 0:5ad86d8d396a 274 #define AD717x_ODR_SEL 5
Janani Sunil 0:5ad86d8d396a 275 #elif (AD717x_SAMPLING_RATE == 15625)
Janani Sunil 0:5ad86d8d396a 276 #define AD717x_ODR_SEL 6
Janani Sunil 0:5ad86d8d396a 277 #endif // DEV_AD7177_2
Janani Sunil 0:5ad86d8d396a 278 #elif (AD717x_SAMPLING_RATE == 10000)
Janani Sunil 0:5ad86d8d396a 279 #define AD717x_ODR_SEL 7
Janani Sunil 0:5ad86d8d396a 280 #elif (AD717x_SAMPLING_RATE == 5000)
Janani Sunil 0:5ad86d8d396a 281 #define AD717x_ODR_SEL 8
Janani Sunil 0:5ad86d8d396a 282 #elif (AD717x_SAMPLING_RATE == 2500)
Janani Sunil 0:5ad86d8d396a 283 #define AD717x_ODR_SEL 9
Janani Sunil 0:5ad86d8d396a 284 #elif (AD717x_SAMPLING_RATE == 1000)
Janani Sunil 0:5ad86d8d396a 285 #define AD717x_ODR_SEL 10
Janani Sunil 0:5ad86d8d396a 286 #elif (AD717x_SAMPLING_RATE == 500)
Janani Sunil 0:5ad86d8d396a 287 #define AD717x_ODR_SEL 11
Janani Sunil 0:5ad86d8d396a 288 #elif (AD717x_SAMPLING_RATE == 397)
Janani Sunil 0:5ad86d8d396a 289 #define AD717x_ODR_SEL 12
Janani Sunil 0:5ad86d8d396a 290 #elif (AD717x_SAMPLING_RATE == 200)
Janani Sunil 0:5ad86d8d396a 291 #define AD717x_ODR_SEL 13
Janani Sunil 0:5ad86d8d396a 292 #elif (AD717x_SAMPLING_RATE == 100)
Janani Sunil 0:5ad86d8d396a 293 #define AD717x_ODR_SEL 14
Janani Sunil 0:5ad86d8d396a 294 #elif (AD717x_SAMPLING_RATE == 59)
Janani Sunil 0:5ad86d8d396a 295 #define AD717x_ODR_SEL 15
Janani Sunil 0:5ad86d8d396a 296 #elif (AD717x_SAMPLING_RATE == 49)
Janani Sunil 0:5ad86d8d396a 297 #define AD717x_ODR_SEL 16
Janani Sunil 0:5ad86d8d396a 298 #elif (AD717x_SAMPLING_RATE == 20)
Janani Sunil 0:5ad86d8d396a 299 #define AD717x_ODR_SEL 17
Janani Sunil 0:5ad86d8d396a 300 #elif (AD717x_SAMPLING_RATE == 16)
Janani Sunil 0:5ad86d8d396a 301 #define AD717x_ODR_SEL 18
Janani Sunil 0:5ad86d8d396a 302 #elif (AD717x_SAMPLING_RATE == 10)
Janani Sunil 0:5ad86d8d396a 303 #define AD717x_ODR_SEL 19
Janani Sunil 0:5ad86d8d396a 304 #elif (AD717x_SAMPLING_RATE == 5)
Janani Sunil 0:5ad86d8d396a 305 #define AD717x_ODR_SEL 20
Janani Sunil 0:5ad86d8d396a 306 #else
Janani Sunil 0:5ad86d8d396a 307 #warning "Invalid sampling frequency selection, using 31250 as default"
Janani Sunil 0:5ad86d8d396a 308 #if defined(DEV_AD7177_2)
Janani Sunil 0:5ad86d8d396a 309 #define AD717x_SAMPLING_RATE 10000
Janani Sunil 0:5ad86d8d396a 310 #define AD717x_ODR_SEL 7
Janani Sunil 0:5ad86d8d396a 311 #else
Janani Sunil 0:5ad86d8d396a 312 #define AD717x_SAMPLING_RATE 31250
Janani Sunil 0:5ad86d8d396a 313 #define AD717x_ODR_SEL 4
Janani Sunil 0:5ad86d8d396a 314 #endif // DEV_AD7177_2 warning
Janani Sunil 0:5ad86d8d396a 315 #endif
Janani Sunil 0:5ad86d8d396a 316 #endif
Janani Sunil 0:5ad86d8d396a 317
Janani Sunil 0:5ad86d8d396a 318 /* Denominator of the scale factor to be applied while converting raw values to actual voltage */
Janani Sunil 0:5ad86d8d396a 319 #if defined(DEV_AD4111) || defined(DEV_AD4112) || \
Janani Sunil 3:0dcba3253ec1 320 defined(DEV_AD4114) || defined(DEV_AD4115) || defined (DEV_AD4116)
Janani Sunil 0:5ad86d8d396a 321 #define SCALE_FACTOR_DR 0.1
Janani Sunil 0:5ad86d8d396a 322 #else
Janani Sunil 0:5ad86d8d396a 323 #define SCALE_FACTOR_DR 1
Janani Sunil 0:5ad86d8d396a 324 #endif
Janani Sunil 0:5ad86d8d396a 325
Janani Sunil 0:5ad86d8d396a 326 /******************************************************************************/
Janani Sunil 0:5ad86d8d396a 327 /********************** Variables and User Defined Data Types *****************/
Janani Sunil 0:5ad86d8d396a 328 /******************************************************************************/
Janani Sunil 0:5ad86d8d396a 329
Janani Sunil 0:5ad86d8d396a 330 /******************************************************************************/
Janani Sunil 0:5ad86d8d396a 331 /************************ Public Declarations *********************************/
Janani Sunil 0:5ad86d8d396a 332 /******************************************************************************/
Janani Sunil 0:5ad86d8d396a 333
Janani Sunil 0:5ad86d8d396a 334 extern struct no_os_uart_desc *uart_desc;
Janani Sunil 0:5ad86d8d396a 335
Janani Sunil 0:5ad86d8d396a 336 extern struct no_os_gpio_desc *csb_gpio;
Janani Sunil 0:5ad86d8d396a 337
Janani Sunil 2:d0c2d3e1fb93 338 extern struct no_os_gpio_desc *rdy_gpio;
Janani Sunil 2:d0c2d3e1fb93 339
Janani Sunil 0:5ad86d8d396a 340 extern struct no_os_irq_ctrl_desc *external_int_desc;
Janani Sunil 0:5ad86d8d396a 341
Janani Sunil 0:5ad86d8d396a 342 int32_t init_system(void);
Janani Sunil 0:5ad86d8d396a 343
Janani Sunil 0:5ad86d8d396a 344 #endif // APP_CONFIG_H
Janani Sunil 0:5ad86d8d396a 345