IIO firmware for the AD717x and AD411x family of devices.
Dependencies: sdp_k1_sdram
app/app_config.h@3:0dcba3253ec1, 22 months ago (annotated)
- 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?
User | Revision | Line number | New 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 |