Example program for EVAL-AD4130

Dependencies:   tempsensors sdp_k1_sdram

Committer:
Mahesh Phalke
Date:
Wed Jul 20 18:12:00 2022 +0530
Revision:
2:7b2b268ea49c
Initial firmware commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Mahesh Phalke 2:7b2b268ea49c 1 /*************************************************************************//**
Mahesh Phalke 2:7b2b268ea49c 2 * @file ad4130_user_config.c
Mahesh Phalke 2:7b2b268ea49c 3 * @brief User configuration file for AD4130 device
Mahesh Phalke 2:7b2b268ea49c 4 ******************************************************************************
Mahesh Phalke 2:7b2b268ea49c 5 * Copyright (c) 2020-2022 Analog Devices, Inc.
Mahesh Phalke 2:7b2b268ea49c 6 * All rights reserved.
Mahesh Phalke 2:7b2b268ea49c 7 *
Mahesh Phalke 2:7b2b268ea49c 8 * This software is proprietary to Analog Devices, Inc. and its licensors.
Mahesh Phalke 2:7b2b268ea49c 9 * By using this software you agree to the terms of the associated
Mahesh Phalke 2:7b2b268ea49c 10 * Analog Devices Software License Agreement.
Mahesh Phalke 2:7b2b268ea49c 11 *****************************************************************************/
Mahesh Phalke 2:7b2b268ea49c 12
Mahesh Phalke 2:7b2b268ea49c 13 /******************************************************************************/
Mahesh Phalke 2:7b2b268ea49c 14 /***************************** Include Files **********************************/
Mahesh Phalke 2:7b2b268ea49c 15 /******************************************************************************/
Mahesh Phalke 2:7b2b268ea49c 16
Mahesh Phalke 2:7b2b268ea49c 17 #include "app_config.h"
Mahesh Phalke 2:7b2b268ea49c 18 #include "ad4130_user_config.h"
Mahesh Phalke 2:7b2b268ea49c 19
Mahesh Phalke 2:7b2b268ea49c 20 /******************************************************************************/
Mahesh Phalke 2:7b2b268ea49c 21 /********************** Macros and Constants Definition ***********************/
Mahesh Phalke 2:7b2b268ea49c 22 /******************************************************************************/
Mahesh Phalke 2:7b2b268ea49c 23
Mahesh Phalke 2:7b2b268ea49c 24 /******************************************************************************/
Mahesh Phalke 2:7b2b268ea49c 25 /********************** Variables and User Defined Data Types *****************/
Mahesh Phalke 2:7b2b268ea49c 26 /******************************************************************************/
Mahesh Phalke 2:7b2b268ea49c 27
Mahesh Phalke 2:7b2b268ea49c 28 /* AD4130 device initialization parameters */
Mahesh Phalke 2:7b2b268ea49c 29 struct ad413x_init_param ad4130_user_config_params = {
Mahesh Phalke 2:7b2b268ea49c 30 .spi_init = &spi_init_params,
Mahesh Phalke 2:7b2b268ea49c 31
Mahesh Phalke 2:7b2b268ea49c 32 /* Setup (Preset) Configurations */
Mahesh Phalke 2:7b2b268ea49c 33 .preset = {
Mahesh Phalke 2:7b2b268ea49c 34 // Setup 0
Mahesh Phalke 2:7b2b268ea49c 35 {
Mahesh Phalke 2:7b2b268ea49c 36 .ref_sel = AD413X_REFIN1,
Mahesh Phalke 2:7b2b268ea49c 37 .gain = AD413X_GAIN_1,
Mahesh Phalke 2:7b2b268ea49c 38 .filter = AD4130_FILTER_TYPE,
Mahesh Phalke 2:7b2b268ea49c 39 .s_time = AD413X_32_MCLK
Mahesh Phalke 2:7b2b268ea49c 40 },
Mahesh Phalke 2:7b2b268ea49c 41 },
Mahesh Phalke 2:7b2b268ea49c 42
Mahesh Phalke 2:7b2b268ea49c 43 /* Channel Configurations */
Mahesh Phalke 2:7b2b268ea49c 44 .ch = {
Mahesh Phalke 2:7b2b268ea49c 45 // Chn0 (Setup0)
Mahesh Phalke 2:7b2b268ea49c 46 {
Mahesh Phalke 2:7b2b268ea49c 47 .preset = AD413X_PRESET_0,
Mahesh Phalke 2:7b2b268ea49c 48 .enable = 1,
Mahesh Phalke 2:7b2b268ea49c 49 .ain_p = CHN0_AINP, .ain_m = CHN0_AINM
Mahesh Phalke 2:7b2b268ea49c 50 },
Mahesh Phalke 2:7b2b268ea49c 51 // Chn1 (Setup0)
Mahesh Phalke 2:7b2b268ea49c 52 {
Mahesh Phalke 2:7b2b268ea49c 53 .preset = AD413X_PRESET_0,
Mahesh Phalke 2:7b2b268ea49c 54 .enable = 0,
Mahesh Phalke 2:7b2b268ea49c 55 .ain_p = CHN1_AINP, .ain_m = CHN1_AINM
Mahesh Phalke 2:7b2b268ea49c 56 },
Mahesh Phalke 2:7b2b268ea49c 57 // Chn2 (Setup0)
Mahesh Phalke 2:7b2b268ea49c 58 {
Mahesh Phalke 2:7b2b268ea49c 59 .preset = AD413X_PRESET_0,
Mahesh Phalke 2:7b2b268ea49c 60 .enable = 0,
Mahesh Phalke 2:7b2b268ea49c 61 .ain_p = CHN2_AINP, .ain_m = CHN2_AINM
Mahesh Phalke 2:7b2b268ea49c 62 },
Mahesh Phalke 2:7b2b268ea49c 63 // Chn3 (Setup0)
Mahesh Phalke 2:7b2b268ea49c 64 {
Mahesh Phalke 2:7b2b268ea49c 65 .preset = AD413X_PRESET_0,
Mahesh Phalke 2:7b2b268ea49c 66 .enable = 0,
Mahesh Phalke 2:7b2b268ea49c 67 .ain_p = CHN3_AINP, .ain_m = CHN3_AINM
Mahesh Phalke 2:7b2b268ea49c 68 },
Mahesh Phalke 2:7b2b268ea49c 69 // Chn4 (Setup0)
Mahesh Phalke 2:7b2b268ea49c 70 {
Mahesh Phalke 2:7b2b268ea49c 71 .preset = AD413X_PRESET_0,
Mahesh Phalke 2:7b2b268ea49c 72 .enable = 0,
Mahesh Phalke 2:7b2b268ea49c 73 .ain_p = CHN4_AINP, .ain_m = CHN4_AINM
Mahesh Phalke 2:7b2b268ea49c 74 },
Mahesh Phalke 2:7b2b268ea49c 75 // Chn5 (Setup0)
Mahesh Phalke 2:7b2b268ea49c 76 {
Mahesh Phalke 2:7b2b268ea49c 77 .preset = AD413X_PRESET_0,
Mahesh Phalke 2:7b2b268ea49c 78 .enable = 0,
Mahesh Phalke 2:7b2b268ea49c 79 .ain_p = CHN5_AINP, .ain_m = CHN5_AINM
Mahesh Phalke 2:7b2b268ea49c 80 },
Mahesh Phalke 2:7b2b268ea49c 81 // Chn6 (Setup0)
Mahesh Phalke 2:7b2b268ea49c 82 {
Mahesh Phalke 2:7b2b268ea49c 83 .preset = AD413X_PRESET_0,
Mahesh Phalke 2:7b2b268ea49c 84 .enable = 0,
Mahesh Phalke 2:7b2b268ea49c 85 .ain_p = CHN6_AINP, .ain_m = CHN6_AINM
Mahesh Phalke 2:7b2b268ea49c 86 },
Mahesh Phalke 2:7b2b268ea49c 87 // Chn7 (Setup0)
Mahesh Phalke 2:7b2b268ea49c 88 {
Mahesh Phalke 2:7b2b268ea49c 89 .preset = AD413X_PRESET_0,
Mahesh Phalke 2:7b2b268ea49c 90 .enable = 0,
Mahesh Phalke 2:7b2b268ea49c 91 .ain_p = CHN7_AINP, .ain_m = CHN7_AINM
Mahesh Phalke 2:7b2b268ea49c 92 },
Mahesh Phalke 2:7b2b268ea49c 93 #if (ADC_USER_CHANNELS > 8)
Mahesh Phalke 2:7b2b268ea49c 94 // Chn8 (Setup0)
Mahesh Phalke 2:7b2b268ea49c 95 {
Mahesh Phalke 2:7b2b268ea49c 96 .preset = AD413X_PRESET_0,
Mahesh Phalke 2:7b2b268ea49c 97 .enable = 0,
Mahesh Phalke 2:7b2b268ea49c 98 .ain_p = CHN8_AINP, .ain_m = CHN8_AINM
Mahesh Phalke 2:7b2b268ea49c 99 },
Mahesh Phalke 2:7b2b268ea49c 100 // Chn9 (Setup0)
Mahesh Phalke 2:7b2b268ea49c 101 {
Mahesh Phalke 2:7b2b268ea49c 102 .preset = AD413X_PRESET_0,
Mahesh Phalke 2:7b2b268ea49c 103 .enable = 0,
Mahesh Phalke 2:7b2b268ea49c 104 .ain_p = CHN9_AINP, .ain_m = CHN9_AINM
Mahesh Phalke 2:7b2b268ea49c 105 },
Mahesh Phalke 2:7b2b268ea49c 106 // Chn10 (Setup0)
Mahesh Phalke 2:7b2b268ea49c 107 {
Mahesh Phalke 2:7b2b268ea49c 108 .preset = AD413X_PRESET_0,
Mahesh Phalke 2:7b2b268ea49c 109 .enable = 0,
Mahesh Phalke 2:7b2b268ea49c 110 .ain_p = CHN10_AINP, .ain_m = CHN10_AINM
Mahesh Phalke 2:7b2b268ea49c 111 },
Mahesh Phalke 2:7b2b268ea49c 112 // Chn11 (Setup0)
Mahesh Phalke 2:7b2b268ea49c 113 {
Mahesh Phalke 2:7b2b268ea49c 114 .preset = AD413X_PRESET_0,
Mahesh Phalke 2:7b2b268ea49c 115 .enable = 0,
Mahesh Phalke 2:7b2b268ea49c 116 .ain_p = CHN11_AINP, .ain_m = CHN11_AINM
Mahesh Phalke 2:7b2b268ea49c 117 },
Mahesh Phalke 2:7b2b268ea49c 118 // Chn12 (Setup0)
Mahesh Phalke 2:7b2b268ea49c 119 {
Mahesh Phalke 2:7b2b268ea49c 120 .preset = AD413X_PRESET_0,
Mahesh Phalke 2:7b2b268ea49c 121 .enable = 0,
Mahesh Phalke 2:7b2b268ea49c 122 .ain_p = CHN12_AINP, .ain_m = CHN12_AINM
Mahesh Phalke 2:7b2b268ea49c 123 },
Mahesh Phalke 2:7b2b268ea49c 124 // Chn13 (Setup0)
Mahesh Phalke 2:7b2b268ea49c 125 {
Mahesh Phalke 2:7b2b268ea49c 126 .preset = AD413X_PRESET_0,
Mahesh Phalke 2:7b2b268ea49c 127 .enable = 0,
Mahesh Phalke 2:7b2b268ea49c 128 .ain_p = CHN13_AINP, .ain_m = CHN13_AINM
Mahesh Phalke 2:7b2b268ea49c 129 },
Mahesh Phalke 2:7b2b268ea49c 130 // Chn14 (Setup0)
Mahesh Phalke 2:7b2b268ea49c 131 {
Mahesh Phalke 2:7b2b268ea49c 132 .preset = AD413X_PRESET_0,
Mahesh Phalke 2:7b2b268ea49c 133 .enable = 0,
Mahesh Phalke 2:7b2b268ea49c 134 .ain_p = CHN14_AINP, .ain_m = CHN14_AINM
Mahesh Phalke 2:7b2b268ea49c 135 },
Mahesh Phalke 2:7b2b268ea49c 136 // Chn15 (Setup0)
Mahesh Phalke 2:7b2b268ea49c 137 {
Mahesh Phalke 2:7b2b268ea49c 138 .preset = AD413X_PRESET_0,
Mahesh Phalke 2:7b2b268ea49c 139 .enable = 0,
Mahesh Phalke 2:7b2b268ea49c 140 .ain_p = CHN15_AINP, .ain_m = CHN15_AINM
Mahesh Phalke 2:7b2b268ea49c 141 },
Mahesh Phalke 2:7b2b268ea49c 142 #endif
Mahesh Phalke 2:7b2b268ea49c 143 },
Mahesh Phalke 2:7b2b268ea49c 144
Mahesh Phalke 2:7b2b268ea49c 145 .chip_id = AD4130_8,
Mahesh Phalke 2:7b2b268ea49c 146 .mclk = AD413X_INT_76_8_KHZ_OUT_OFF,
Mahesh Phalke 2:7b2b268ea49c 147 .bipolar = true,
Mahesh Phalke 2:7b2b268ea49c 148 .int_ref = AD413X_INTREF_DISABLED,
Mahesh Phalke 2:7b2b268ea49c 149 .v_bias = NO_OS_BIT(0) | NO_OS_BIT(1) | NO_OS_BIT(2) | \
Mahesh Phalke 2:7b2b268ea49c 150 NO_OS_BIT(3) | NO_OS_BIT(4) | NO_OS_BIT(5) | \
Mahesh Phalke 2:7b2b268ea49c 151 NO_OS_BIT(6) | NO_OS_BIT(7) | NO_OS_BIT(8) | \
Mahesh Phalke 2:7b2b268ea49c 152 NO_OS_BIT(9) | NO_OS_BIT(10) | NO_OS_BIT(11) | \
Mahesh Phalke 2:7b2b268ea49c 153 NO_OS_BIT(12) | NO_OS_BIT(13) | NO_OS_BIT(14) | \
Mahesh Phalke 2:7b2b268ea49c 154 NO_OS_BIT(15),
Mahesh Phalke 2:7b2b268ea49c 155 .standby_ctrl = {
Mahesh Phalke 2:7b2b268ea49c 156 .standby_vbias_en = true
Mahesh Phalke 2:7b2b268ea49c 157 },
Mahesh Phalke 2:7b2b268ea49c 158 .data_stat = 0,
Mahesh Phalke 2:7b2b268ea49c 159 .spi_crc_en = 0
Mahesh Phalke 2:7b2b268ea49c 160 };