summaryrefslogtreecommitdiff
path: root/peripheral/libupm/src/ads1x15/ads1115.h
diff options
context:
space:
mode:
Diffstat (limited to 'peripheral/libupm/src/ads1x15/ads1115.h')
-rw-r--r--peripheral/libupm/src/ads1x15/ads1115.h145
1 files changed, 0 insertions, 145 deletions
diff --git a/peripheral/libupm/src/ads1x15/ads1115.h b/peripheral/libupm/src/ads1x15/ads1115.h
deleted file mode 100644
index 32c4b93..0000000
--- a/peripheral/libupm/src/ads1x15/ads1115.h
+++ /dev/null
@@ -1,145 +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 ADS1115_CONVERSIONDELAY (8000)
-/*=========================================================================*/
-
-
-/*=========================================================================
- CONFIG REGISTER
-
- -----------------------------------------------------------------------*/
-
-#define ADS1115_DR_MASK (0x00E0)
-#define ADS1115_DR_8SPS (0x0000) // 8 samples per second
-#define ADS1115_DR_16SPS (0x0020) // 16 samples per second
-#define ADS1115_DR_32SPS (0x0040) // 32 samples per second
-#define ADS1115_DR_64SPS (0x0060) // 64 samples per second
-#define ADS1115_DR_128SPS (0x0080) // 128 samples per second (default)
-#define ADS1115_DR_250SPS (0x00A0) // 250 samples per second
-#define ADS1115_DR_475SPS (0x00C0) // 475 samples per second
-#define ADS1115_DR_860SPS (0x00E0) // 860 samples per second
-
-/*=========================================================================*/
-
-namespace upm {
- /**
- * @library ads1x15
- * @sensor ADS1115
- * @comname ADS1115 ADC
- * @type electric
- * @man ti adafruit
- * @con i2c
- * @web http://www.ti.com/lit/ds/symlink/ads1115.pdf
- *
- * @brief API for ADS1115
- *
- * The ADS1113, ADS1114, and ADS1115 are precision analog-to-digital converters (ADCs) with 16 bits of resolution offered
- * in an ultra-small, leadless QFN-10 package or an MSOP-10 package. The ADS1113/4/5 are designed with precision, power,
- * and ease of implementation in mind. The ADS1113/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 ADS1113/4/5 operate from a single power
- * supply ranging from 2.0V to 5.5V.
- * The ADS1113/4/5 can perform conversions at rates up to 860 samples per second (SPS). An onboard PGA is available on
- * the ADS1114 and ADS1115 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 ADS1115 also features an input multiplexer (MUX) that provides two
- * differential or four single-ended inputs.
- * The ADS1113/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 ADS1113/4/5 are specified from –40°C to +125°C.
- *
- * Tested with DIYMall ADS1115 board. Also available from Adafruit: https://www.adafruit.com/products/1085
- *
- * @image html ads1115.jpg
- * @snippet ads1x15.cxx Interesting
- */
- class ADS1115 : public ADS1X15 {
-
- public:
-
- /**
- * @enum ADSSAMPLERATE
- * @brief uint16_t enum containing values
- * representing the sample rate of the device.
- *
- * @var ADSSAMPLERATE::SPS_8 = 0x0000
- * @var ADSSAMPLERATE::SPS_16 = 0x0020
- * @var ADSSAMPLERATE::SPS_32 = 0x0040
- * @var ADSSAMPLERATE::SPS_64 = 0x0060
- * @var ADSSAMPLERATE::SPS_128 = 0x0080
- * @var ADSSAMPLERATE::SPS_250 = 0x00A0
- * @var ADSSAMPLERATE::SPS_475 = 0x00C0
- * @var ADSSAMPLERATE::SPS_860 = 0x00E0
- */
- typedef enum ADSDATARATE
- {
- SPS_8 = ADS1115_DR_8SPS,
- SPS_16 = ADS1115_DR_16SPS,
- SPS_32 = ADS1115_DR_32SPS,
- SPS_64 = ADS1115_DR_64SPS,
- SPS_128 = ADS1115_DR_128SPS,
- SPS_250 = ADS1115_DR_250SPS,
- SPS_475 = ADS1115_DR_475SPS,
- SPS_860 = ADS1115_DR_860SPS
- } ADSDATARATE;
-
-
-
- /**
- * ADS1X15 constructor
- *
- * @param bus i2c bus the sensor is attached to.
- * @param address. Device address. Default is 0x48.
- */
- ADS1115 (int bus, uint8_t address = 0x48);
-
- /**
- * ADS1X15 destructor
- */
- ~ADS1115();
-
- /**
- * 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(ADSDATARATE rate = ADS1115::SPS_128);
-
-
- protected:
- float getMultiplier(void);
- void setDelay(void);
-
- };
-}