2020_09_07_AD7190_LoRa

Dependencies:   mbed

Committer:
peng103617
Date:
Thu Aug 06 06:52:19 2020 +0000
Revision:
0:0e20215b178e
AD7190_LoRa

Who changed what in which revision?

UserRevisionLine numberNew contents of line
peng103617 0:0e20215b178e 1
peng103617 0:0e20215b178e 2 /***************************************************************************//**
peng103617 0:0e20215b178e 3 * @file AD7190.h
peng103617 0:0e20215b178e 4 * @brief Header file of AD7190 Driver.
peng103617 0:0e20215b178e 5 * @author DNechita (Dan.Nechita@analog.com)
peng103617 0:0e20215b178e 6 ********************************************************************************
peng103617 0:0e20215b178e 7 * Copyright 2012(c) Analog Devices, Inc.
peng103617 0:0e20215b178e 8 *
peng103617 0:0e20215b178e 9 * All rights reserved.
peng103617 0:0e20215b178e 10 *
peng103617 0:0e20215b178e 11 * Redistribution and use in source and binary forms, with or without
peng103617 0:0e20215b178e 12 * modification, are permitted provided that the following conditions are met:
peng103617 0:0e20215b178e 13 * - Redistributions of source code must retain the above copyright
peng103617 0:0e20215b178e 14 * notice, this list of conditions and the following disclaimer.
peng103617 0:0e20215b178e 15 * - Redistributions in binary form must reproduce the above copyright
peng103617 0:0e20215b178e 16 * notice, this list of conditions and the following disclaimer in
peng103617 0:0e20215b178e 17 * the documentation and/or other materials provided with the
peng103617 0:0e20215b178e 18 * distribution.
peng103617 0:0e20215b178e 19 * - Neither the name of Analog Devices, Inc. nor the names of its
peng103617 0:0e20215b178e 20 * contributors may be used to endorse or promote products derived
peng103617 0:0e20215b178e 21 * from this software without specific prior written permission.
peng103617 0:0e20215b178e 22 * - The use of this software may or may not infringe the patent rights
peng103617 0:0e20215b178e 23 * of one or more patent holders. This license does not release you
peng103617 0:0e20215b178e 24 * from the requirement that you obtain separate licenses from these
peng103617 0:0e20215b178e 25 * patent holders to use this software.
peng103617 0:0e20215b178e 26 * - Use of the software either in source or binary form, must be run
peng103617 0:0e20215b178e 27 * on or directly connected to an Analog Devices Inc. component.
peng103617 0:0e20215b178e 28 *
peng103617 0:0e20215b178e 29 * THIS SOFTWARE IS PROVIDED BY ANALOG DEVICES "AS IS" AND ANY EXPRESS OR
peng103617 0:0e20215b178e 30 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, NON-INFRINGEMENT,
peng103617 0:0e20215b178e 31 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
peng103617 0:0e20215b178e 32 * IN NO EVENT SHALL ANALOG DEVICES BE LIABLE FOR ANY DIRECT, INDIRECT,
peng103617 0:0e20215b178e 33 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
peng103617 0:0e20215b178e 34 * LIMITED TO, INTELLECTUAL PROPERTY RIGHTS, PROCUREMENT OF SUBSTITUTE GOODS OR
peng103617 0:0e20215b178e 35 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
peng103617 0:0e20215b178e 36 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
peng103617 0:0e20215b178e 37 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
peng103617 0:0e20215b178e 38 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
peng103617 0:0e20215b178e 39 *
peng103617 0:0e20215b178e 40 ********************************************************************************
peng103617 0:0e20215b178e 41 * SVN Revision: 903
peng103617 0:0e20215b178e 42 *******************************************************************************/
peng103617 0:0e20215b178e 43
peng103617 0:0e20215b178e 44 #ifndef __AD7190_H__
peng103617 0:0e20215b178e 45 #define __AD7190_H__
peng103617 0:0e20215b178e 46
peng103617 0:0e20215b178e 47 /******************************************************************************/
peng103617 0:0e20215b178e 48 /***************************** Include Files **********************************/
peng103617 0:0e20215b178e 49 /******************************************************************************/
peng103617 0:0e20215b178e 50
peng103617 0:0e20215b178e 51
peng103617 0:0e20215b178e 52
peng103617 0:0e20215b178e 53 #include "Communication.h"
peng103617 0:0e20215b178e 54 #include "mbed.h"
peng103617 0:0e20215b178e 55
peng103617 0:0e20215b178e 56
peng103617 0:0e20215b178e 57 extern DigitalOut cs;
peng103617 0:0e20215b178e 58 extern DigitalIn ad_rdy;
peng103617 0:0e20215b178e 59 /******************************************************************************/
peng103617 0:0e20215b178e 60 /******************************** AD7190 **************************************/
peng103617 0:0e20215b178e 61 /******************************************************************************/
peng103617 0:0e20215b178e 62
peng103617 0:0e20215b178e 63
peng103617 0:0e20215b178e 64 /* AD7190 Register Map */
peng103617 0:0e20215b178e 65 #define AD7190_REG_COMM 0 // Communications Register (WO, 8-bit)
peng103617 0:0e20215b178e 66 #define AD7190_REG_STAT 0 // Status Register (RO, 8-bit)
peng103617 0:0e20215b178e 67 #define AD7190_REG_MODE 1 // Mode Register (RW, 24-bit
peng103617 0:0e20215b178e 68 #define AD7190_REG_CONF 2 // Configuration Register (RW, 24-bit)
peng103617 0:0e20215b178e 69 #define AD7190_REG_DATA 3 // Data Register (RO, 24/32-bit)
peng103617 0:0e20215b178e 70 #define AD7190_REG_ID 4 // ID Register (RO, 8-bit)
peng103617 0:0e20215b178e 71 #define AD7190_REG_GPOCON 5 // GPOCON Register (RW, 8-bit)
peng103617 0:0e20215b178e 72 #define AD7190_REG_OFFSET 6 // Offset Register (RW, 24-bit
peng103617 0:0e20215b178e 73 #define AD7190_REG_FULLSCALE 7 // Full-Scale Register (RW, 24-bit)
peng103617 0:0e20215b178e 74
peng103617 0:0e20215b178e 75 /* Communications Register Bit Designations (AD7190_REG_COMM) */
peng103617 0:0e20215b178e 76 #define AD7190_COMM_WEN (1 << 7) // Write Enable.
peng103617 0:0e20215b178e 77 #define AD7190_COMM_WRITE (0 << 6) // Write Operation.
peng103617 0:0e20215b178e 78 #define AD7190_COMM_READ (1 << 6) // Read Operation.
peng103617 0:0e20215b178e 79 #define AD7190_COMM_ADDR(x) (((x) & 0x7) << 3) // Register Address.
peng103617 0:0e20215b178e 80 #define AD7190_COMM_CREAD (1 << 2) // Continuous Read of Data Register.
peng103617 0:0e20215b178e 81
peng103617 0:0e20215b178e 82 /* Status Register Bit Designations (AD7190_REG_STAT) */
peng103617 0:0e20215b178e 83 #define AD7190_STAT_RDY (1 << 7) // Ready.
peng103617 0:0e20215b178e 84 #define AD7190_STAT_ERR (1 << 6) // ADC error bit.
peng103617 0:0e20215b178e 85 #define AD7190_STAT_NOREF (1 << 5) // Error no external reference.
peng103617 0:0e20215b178e 86 #define AD7190_STAT_PARITY (1 << 4) // Parity check of the data register.
peng103617 0:0e20215b178e 87 #define AD7190_STAT_CH2 (1 << 2) // Channel 2.
peng103617 0:0e20215b178e 88 #define AD7190_STAT_CH1 (1 << 1) // Channel 1.
peng103617 0:0e20215b178e 89 #define AD7190_STAT_CH0 (1 << 0) // Channel 0.
peng103617 0:0e20215b178e 90
peng103617 0:0e20215b178e 91 /* Mode Register Bit Designations (AD7190_REG_MODE) */
peng103617 0:0e20215b178e 92 #define AD7190_MODE_SEL(x) (((x) & 0x7) << 21) // Operation Mode Select.
peng103617 0:0e20215b178e 93 #define AD7190_MODE_DAT_STA (1 << 20) // Status Register transmission.
peng103617 0:0e20215b178e 94 #define AD7190_MODE_CLKSRC(x) (((x) & 0x3) << 18) // Clock Source Select.
peng103617 0:0e20215b178e 95 #define AD7190_MODE_SINC3 (1 << 15) // SINC3 Filter Select.
peng103617 0:0e20215b178e 96 #define AD7190_MODE_ENPAR (1 << 13) // Parity Enable.
peng103617 0:0e20215b178e 97 #define AD7190_MODE_SCYCLE (1 << 11) // Single cycle conversion.
peng103617 0:0e20215b178e 98 #define AD7190_MODE_REJ60 (1 << 10) // 50/60Hz notch filter.
peng103617 0:0e20215b178e 99 #define AD7190_MODE_RATE(x) ((x) & 0x3FF) // Filter Update Rate Select.
peng103617 0:0e20215b178e 100
peng103617 0:0e20215b178e 101 /* Mode Register: AD7190_MODE_SEL(x) options */
peng103617 0:0e20215b178e 102 #define AD7190_MODE_CONT 0 // Continuous Conversion Mode.
peng103617 0:0e20215b178e 103 #define AD7190_MODE_SINGLE 1 // Single Conversion Mode.
peng103617 0:0e20215b178e 104 #define AD7190_MODE_IDLE 2 // Idle Mode.
peng103617 0:0e20215b178e 105 #define AD7190_MODE_PWRDN 3 // Power-Down Mode.
peng103617 0:0e20215b178e 106 #define AD7190_MODE_CAL_INT_ZERO 4 // Internal Zero-Scale Calibration.
peng103617 0:0e20215b178e 107 #define AD7190_MODE_CAL_INT_FULL 5 // Internal Full-Scale Calibration.
peng103617 0:0e20215b178e 108 #define AD7190_MODE_CAL_SYS_ZERO 6 // System Zero-Scale Calibration.
peng103617 0:0e20215b178e 109 #define AD7190_MODE_CAL_SYS_FULL 7 // System Full-Scale Calibration.
peng103617 0:0e20215b178e 110
peng103617 0:0e20215b178e 111 /* Mode Register: AD7190_MODE_CLKSRC(x) options */
peng103617 0:0e20215b178e 112 #define AD7190_CLK_EXT_MCLK1_2 0 // External crystal. The external crystal
peng103617 0:0e20215b178e 113 // is connected from MCLK1 to MCLK2.
peng103617 0:0e20215b178e 114 #define AD7190_CLK_EXT_MCLK2 1 // External Clock applied to MCLK2
peng103617 0:0e20215b178e 115 #define AD7190_CLK_INT 2 // Internal 4.92 MHz clock.
peng103617 0:0e20215b178e 116 // Pin MCLK2 is tristated.
peng103617 0:0e20215b178e 117 #define AD7190_CLK_INT_CO 3 // Internal 4.92 MHz clock. The internal
peng103617 0:0e20215b178e 118 // clock is available on MCLK2.
peng103617 0:0e20215b178e 119
peng103617 0:0e20215b178e 120 /* Configuration Register Bit Designations (AD7190_REG_CONF) */
peng103617 0:0e20215b178e 121 #define AD7190_CONF_CHOP (1 << 23) // CHOP enable.
peng103617 0:0e20215b178e 122 #define AD7190_CONF_REFSEL (1 << 20) // REFIN1/REFIN2 Reference Select.
peng103617 0:0e20215b178e 123 #define AD7190_CONF_CHAN(x) (((x) & 0xFF) << 8) // Channel select.
peng103617 0:0e20215b178e 124 #define AD7190_CONF_BURN (1 << 7) // Burnout current enable.
peng103617 0:0e20215b178e 125 #define AD7190_CONF_REFDET (1 << 6) // Reference detect enable.
peng103617 0:0e20215b178e 126 #define AD7190_CONF_BUF (1 << 4) // Buffered Mode Enable.
peng103617 0:0e20215b178e 127 #define AD7190_CONF_UNIPOLAR (1 << 3) // Unipolar/Bipolar Enable.
peng103617 0:0e20215b178e 128 #define AD7190_CONF_GAIN(x) ((x) & 0x7) // Gain Select.
peng103617 0:0e20215b178e 129
peng103617 0:0e20215b178e 130 /* Configuration Register: AD7190_CONF_CHAN(x) options */
peng103617 0:0e20215b178e 131 #define AD7190_CH_AIN1P_AIN2M 0 // AIN1(+) - AIN2(-)
peng103617 0:0e20215b178e 132 #define AD7190_CH_AIN3P_AIN4M 1 // AIN3(+) - AIN4(-)
peng103617 0:0e20215b178e 133 #define AD7190_CH_TEMP_SENSOR 2 // Temperature sensor
peng103617 0:0e20215b178e 134 #define AD7190_CH_AIN2P_AIN2M 3 // AIN2(+) - AIN2(-)
peng103617 0:0e20215b178e 135 #define AD7190_CH_AIN1P_AINCOM 4 // AIN1(+) - AINCOM
peng103617 0:0e20215b178e 136 #define AD7190_CH_AIN2P_AINCOM 5 // AIN2(+) - AINCOM
peng103617 0:0e20215b178e 137 #define AD7190_CH_AIN3P_AINCOM 6 // AIN3(+) - AINCOM
peng103617 0:0e20215b178e 138 #define AD7190_CH_AIN4P_AINCOM 7 // AIN4(+) - AINCOM
peng103617 0:0e20215b178e 139
peng103617 0:0e20215b178e 140 /* Configuration Register: AD7190_CONF_GAIN(x) options */
peng103617 0:0e20215b178e 141 // ADC Input Range (5 V Reference)
peng103617 0:0e20215b178e 142 #define AD7190_CONF_GAIN_1 0 // Gain 1 +-5 V
peng103617 0:0e20215b178e 143 #define AD7190_CONF_GAIN_8 3 // Gain 8 +-625 mV
peng103617 0:0e20215b178e 144 #define AD7190_CONF_GAIN_16 4 // Gain 16 +-312.5 mV
peng103617 0:0e20215b178e 145 #define AD7190_CONF_GAIN_32 5 // Gain 32 +-156.2 mV
peng103617 0:0e20215b178e 146 #define AD7190_CONF_GAIN_64 6 // Gain 64 +-78.125 mV
peng103617 0:0e20215b178e 147 #define AD7190_CONF_GAIN_128 7 // Gain 128 +-39.06 mV
peng103617 0:0e20215b178e 148
peng103617 0:0e20215b178e 149 /* ID Register Bit Designations (AD7190_REG_ID) */
peng103617 0:0e20215b178e 150 #define ID_AD7190 0x4
peng103617 0:0e20215b178e 151 #define AD7190_ID_MASK 0x0F
peng103617 0:0e20215b178e 152
peng103617 0:0e20215b178e 153 /* GPOCON Register Bit Designations (AD7190_REG_GPOCON) */
peng103617 0:0e20215b178e 154 #define AD7190_GPOCON_BPDSW (1 << 6) // Bridge power-down switch enable
peng103617 0:0e20215b178e 155 #define AD7190_GPOCON_GP32EN (1 << 5) // Digital Output P3 and P2 enable
peng103617 0:0e20215b178e 156 #define AD7190_GPOCON_GP10EN (1 << 4) // Digital Output P1 and P0 enable
peng103617 0:0e20215b178e 157 #define AD7190_GPOCON_P3DAT (1 << 3) // P3 state
peng103617 0:0e20215b178e 158 #define AD7190_GPOCON_P2DAT (1 << 2) // P2 state
peng103617 0:0e20215b178e 159 #define AD7190_GPOCON_P1DAT (1 << 1) // P1 state
peng103617 0:0e20215b178e 160 #define AD7190_GPOCON_P0DAT (1 << 0) // P0 state
peng103617 0:0e20215b178e 161
peng103617 0:0e20215b178e 162
peng103617 0:0e20215b178e 163
peng103617 0:0e20215b178e 164 /******************************************************************************/
peng103617 0:0e20215b178e 165 /*********************** Functions Declarations *******************************/
peng103617 0:0e20215b178e 166 /******************************************************************************/
peng103617 0:0e20215b178e 167 /* Read-buffer in order to use mbed-api */
peng103617 0:0e20215b178e 168
peng103617 0:0e20215b178e 169
peng103617 0:0e20215b178e 170 /***************************************************************************//**
peng103617 0:0e20215b178e 171 * @brief Writes data into a register.
peng103617 0:0e20215b178e 172 *
peng103617 0:0e20215b178e 173 * @param registerAddress - Address of the register.
peng103617 0:0e20215b178e 174 * @param registerValue - Data value to write.
peng103617 0:0e20215b178e 175 * @param bytesNumber - Number of bytes to be written.
peng103617 0:0e20215b178e 176 *
peng103617 0:0e20215b178e 177 * @return none.
peng103617 0:0e20215b178e 178 *******************************************************************************/
peng103617 0:0e20215b178e 179 void AD7190_SetRegisterValue(unsigned char registerAddress,
peng103617 0:0e20215b178e 180 unsigned long registerValue,
peng103617 0:0e20215b178e 181 unsigned char bytesNumber);
peng103617 0:0e20215b178e 182
peng103617 0:0e20215b178e 183 /***************************************************************************//**
peng103617 0:0e20215b178e 184 * @brief Reads the value of a register.
peng103617 0:0e20215b178e 185 *
peng103617 0:0e20215b178e 186 * @param registerAddress - Address of the register.
peng103617 0:0e20215b178e 187 * @param bytesNumber - Number of bytes that will be read.
peng103617 0:0e20215b178e 188 *
peng103617 0:0e20215b178e 189 * @return buffer - Value of the register.
peng103617 0:0e20215b178e 190 *******************************************************************************/
peng103617 0:0e20215b178e 191 unsigned long AD7190_GetRegisterValue(unsigned char registerAddress,
peng103617 0:0e20215b178e 192 unsigned char bytesNumber);
peng103617 0:0e20215b178e 193
peng103617 0:0e20215b178e 194 /***************************************************************************//**
peng103617 0:0e20215b178e 195 * @brief Checks if the AD7190 part is present.
peng103617 0:0e20215b178e 196 *
peng103617 0:0e20215b178e 197 * @return status - Indicates if the part is present or not. 1 for ok , 0 for error
peng103617 0:0e20215b178e 198 *******************************************************************************/
peng103617 0:0e20215b178e 199 unsigned char AD7190_Init(unsigned int speed);
peng103617 0:0e20215b178e 200
peng103617 0:0e20215b178e 201
peng103617 0:0e20215b178e 202 /***************************************************************************//**
peng103617 0:0e20215b178e 203 * @brief Resets the device.
peng103617 0:0e20215b178e 204 *
peng103617 0:0e20215b178e 205 * @return none.
peng103617 0:0e20215b178e 206 *******************************************************************************/
peng103617 0:0e20215b178e 207 void AD7190_Reset(void);
peng103617 0:0e20215b178e 208
peng103617 0:0e20215b178e 209 /***************************************************************************//**
peng103617 0:0e20215b178e 210 * @brief Set device to idle or power-down.
peng103617 0:0e20215b178e 211 *
peng103617 0:0e20215b178e 212 * @param pwrMode - Selects idle mode or power-down mode.
peng103617 0:0e20215b178e 213 * Example: 0 - power-down
peng103617 0:0e20215b178e 214 * 1 - idle
peng103617 0:0e20215b178e 215 *
peng103617 0:0e20215b178e 216 * @return none.
peng103617 0:0e20215b178e 217 *******************************************************************************/
peng103617 0:0e20215b178e 218 void AD7190_SetPower(unsigned char pwrMode);
peng103617 0:0e20215b178e 219
peng103617 0:0e20215b178e 220
peng103617 0:0e20215b178e 221 /***************************************************************************//**
peng103617 0:0e20215b178e 222 * @brief Waits for RDY pin to go low.
peng103617 0:0e20215b178e 223 * @comment timeOutCnt related to CPU clock
peng103617 0:0e20215b178e 224 * @return none.
peng103617 0:0e20215b178e 225 *******************************************************************************/
peng103617 0:0e20215b178e 226 void AD7190_WaitRdyGoLow(void);
peng103617 0:0e20215b178e 227
peng103617 0:0e20215b178e 228 /***************************************************************************//**
peng103617 0:0e20215b178e 229 * @brief Selects the channel to be enabled.
peng103617 0:0e20215b178e 230 *
peng103617 0:0e20215b178e 231 * @param channel - Selects a channel.
peng103617 0:0e20215b178e 232 *
peng103617 0:0e20215b178e 233 * @return none.
peng103617 0:0e20215b178e 234 *******************************************************************************/
peng103617 0:0e20215b178e 235 void AD7190_ChannelSelect(unsigned short channel);
peng103617 0:0e20215b178e 236
peng103617 0:0e20215b178e 237
peng103617 0:0e20215b178e 238 /***************************************************************************//**
peng103617 0:0e20215b178e 239 * @brief Performs the given calibration to the specified channel.
peng103617 0:0e20215b178e 240 *
peng103617 0:0e20215b178e 241 * @param mode - Calibration type.
peng103617 0:0e20215b178e 242 * @param channel - Channel to be calibrated.
peng103617 0:0e20215b178e 243 *
peng103617 0:0e20215b178e 244 * @return none.
peng103617 0:0e20215b178e 245 *******************************************************************************/
peng103617 0:0e20215b178e 246 void AD7190_Calibrate(unsigned char mode, unsigned char channel);
peng103617 0:0e20215b178e 247
peng103617 0:0e20215b178e 248 /***************************************************************************//**
peng103617 0:0e20215b178e 249 * @brief Selects the polarity of the conversion and the ADC input range.
peng103617 0:0e20215b178e 250 *
peng103617 0:0e20215b178e 251 * @param polarity - Polarity select bit.
peng103617 0:0e20215b178e 252 Example: 0 - bipolar operation is selected.
peng103617 0:0e20215b178e 253 1 - unipolar operation is selected.
peng103617 0:0e20215b178e 254 * @param range - Gain select bits. These bits are written by the user to select
peng103617 0:0e20215b178e 255 the ADC input range.
peng103617 0:0e20215b178e 256 *
peng103617 0:0e20215b178e 257 * @return none.
peng103617 0:0e20215b178e 258 *******************************************************************************/
peng103617 0:0e20215b178e 259 void AD7190_RangeSetup(unsigned char polarity, unsigned char range);
peng103617 0:0e20215b178e 260
peng103617 0:0e20215b178e 261 /***************************************************************************//**
peng103617 0:0e20215b178e 262 * @brief Returns the result of a single conversion.
peng103617 0:0e20215b178e 263 *
peng103617 0:0e20215b178e 264 * @return regData - Result of a single analog-to-digital conversion.
peng103617 0:0e20215b178e 265 *******************************************************************************/
peng103617 0:0e20215b178e 266 unsigned long AD7190_SingleConversion(void);
peng103617 0:0e20215b178e 267
peng103617 0:0e20215b178e 268 /***************************************************************************//**
peng103617 0:0e20215b178e 269 * @brief Returns the average of several conversion results.
peng103617 0:0e20215b178e 270 *
peng103617 0:0e20215b178e 271 * @return samplesAverage - The average of the conversion results.
peng103617 0:0e20215b178e 272 *******************************************************************************/
peng103617 0:0e20215b178e 273 unsigned long AD7190_ContinuousReadAvg(unsigned char sampleNumber);
peng103617 0:0e20215b178e 274
peng103617 0:0e20215b178e 275 /***************************************************************************//**
peng103617 0:0e20215b178e 276 * @brief Read data from temperature sensor and converts it to Celsius degrees.
peng103617 0:0e20215b178e 277 *
peng103617 0:0e20215b178e 278 * @return temperature - Celsius degrees.
peng103617 0:0e20215b178e 279 *******************************************************************************/
peng103617 0:0e20215b178e 280 unsigned long AD7190_TemperatureRead(void);
peng103617 0:0e20215b178e 281
peng103617 0:0e20215b178e 282
peng103617 0:0e20215b178e 283 extern Serial pc;
peng103617 0:0e20215b178e 284 #endif /* __AD7190_H__ */