diff options
Diffstat (limited to 'peripheral/libupm/src/ads1x15/ads1015.h')
-rw-r--r-- | peripheral/libupm/src/ads1x15/ads1015.h | 140 |
1 files changed, 0 insertions, 140 deletions
diff --git a/peripheral/libupm/src/ads1x15/ads1015.h b/peripheral/libupm/src/ads1x15/ads1015.h deleted file mode 100644 index 6d0fd9f..0000000 --- a/peripheral/libupm/src/ads1x15/ads1015.h +++ /dev/null @@ -1,140 +0,0 @@ -/* - * Author: Marc Graham <marc@m2ag.net> - * Copyright (c) 2015 Intel Corporation. - * - * Permission is hereby granted, free of charge, to any person obtaining - * a copy of this software and associated documentation files (the - * "Software"), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sublicense, and/or sell copies of the Software, and to - * permit persons to whom the Software is furnished to do so, subject to - * the following conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ -/*=========================================================================*/ - -#pragma once - -#include "ads1x15.h" - - - -/*========================================================================= - CONVERSION DELAY (in microS) - -----------------------------------------------------------------------*/ - #define ADS1015_CONVERSIONDELAY (8000) -/*=========================================================================*/ - - -/*========================================================================= - CONFIG REGISTER - - -----------------------------------------------------------------------*/ - -#define ADS1015_DR_MASK (0x00E0) -#define ADS1015_DR_128SPS (0x0000) // 128 samples per second -#define ADS1015_DR_250SPS (0x0020) // 250 samples per second -#define ADS1015_DR_490SPS (0x0040) // 490 samples per second -#define ADS1015_DR_920SPS (0x0060) // 920 samples per second -#define ADS1015_DR_1600SPS (0x0080) // 1600 samples per second (default) -#define ADS1015_DR_2400SPS (0x00A0) // 2400 samples per second -#define ADS1015_DR_3300SPS (0x00C0) // 3300 samples per second - -/*=========================================================================*/ - -namespace upm { - /** - * @library ads1x15 - * @sensor ADS1015 - * @comname ADS1015 ADC - * @type electric - * @man ti adafruit - * @con i2c - * @web web http://www.ti.com/lit/ds/symlink/ads1015.pdf - * - * @brief API for ADS1015 - * - * The ADS1013, ADS1014, and ADS1015 are precision analog-to-digital converters (ADCs) with 12 bits of resolution - * offered in an ultra-small, leadless QFN-10 package or an MSOP-10 package. The ADS1013/4/5 are designed with - * precision, power, and ease of implementation in mind. The ADS1013/4/5 feature an onboard reference and oscillator. - * Data is transferred via an I2C-compatible serial interface; four I2C slave addresses can be selected. The ADS1013/4/5 - * operate from a single power supply ranging from 2.0V to 5.5V. - * The ADS1013/4/5 can perform conversions at rates up to 3300 samples per second (SPS). An onboard PGA is available - * on the ADS1014 and ADS1015 that offers input ranges from the supply to as low as ±256mV, allowing both large and small - * signals to be measured with high resolution. The ADS1015 also features an input multiplexer (MUX) that provides two - * differential or four single-ended inputs. - * The ADS1013/4/5 operate either in continuous conversion mode or a single-shot mode that automatically powers down - * after a conversion and greatly reduces current consumption during idle periods. The ADS1013/4/5 are specified from - * –40°C to +125°C. - * - * Tested with Adafriut ADS1015 board: https://www.adafruit.com/products/1083 - * - * @image html ads1015.jpg - * @snippet ads1x15.cxx Interesting - */ - class ADS1015 : public ADS1X15 { - - public: - - /** - * @enum ADSSAMPLERATE - * @brief uint16_t enum containing values - * representing the sample rate of the device. - * - * @var ADSSAMPLERATE::SPS_128 = 0x0000 - * @var ADSSAMPLERATE::SPS_250 = 0x0020 - * @var ADSSAMPLERATE::SPS_490 = 0x0040 - * @var ADSSAMPLERATE::SPS_920 = 0x0060 - * @var ADSSAMPLERATE::SPS_1600 = 0x0080 - * @var ADSSAMPLERATE::SPS_2400 = 0x00A0 - * @var ADSSAMPLERATE::SPS_3300 = 0x00C0 - */ - typedef enum ADSSAMPLERATE { - SPS_128 = ADS1015_DR_128SPS, - SPS_250 = ADS1015_DR_250SPS, - SPS_490 = ADS1015_DR_490SPS, - SPS_920 = ADS1015_DR_920SPS, - SPS_1600 = ADS1015_DR_1600SPS, - SPS_2400 = ADS1015_DR_2400SPS, - SPS_3300 = ADS1015_DR_3300SPS - } ADSSAMPLERATE; - - - /** - * ADS1X15 constructor - * - * @param bus i2c bus the sensor is attached to. - * @param address. Device address. Default is 0x48. - */ - ADS1015 (int bus, uint8_t address = 0x48); - - /** - * ADS1X15 destructor - */ - ~ADS1015 (); - - /** - * Sets the sample rate of the device. This function - * needs to be overridden in subclasses as the ADS1115 and - * ADS1015 have different sample rates. - * - * @param ADSSAMPLERATE enum - */ - void setSPS(ADSSAMPLERATE rate = SPS_1600); - - protected: - float getMultiplier(void); - void setDelay(void); - - }; -} |