ADS1015 library
ads1015.h
- Committer:
- YJ_Kim
- Date:
- 2017-01-26
- Revision:
- 2:2407708483f4
- Parent:
- 1:fa7b90993eb3
File content as of revision 2:2407708483f4:
#ifndef _ADS1015_H_ #define _ADS1015_H_ #include "mbed.h" /*============================================================================= Conversion delay (in ms) =============================================================================*/ #define ADS1015_CONVERSIONDELAY 1 /*============================================================================= Register Map =============================================================================*/ #define ADS1015_REG_CONVERSION 0x00 #define ADS1015_REG_CONFIG 0x01 #define ADS1015_REG_LOWTHRESH 0x02 #define ADS1015_REG_HITHRESH 0X03 /*============================================================================= Config Register Field Descriptions =============================================================================*/ #define ADS1015_CONFIG_OS_START_CONV 0x8000 #define ADS1015_CONFIG_MUX_DIFF_0_1 0x0000 #define ADS1015_CONFIG_MUX_DIFF_0_3 0x1000 #define ADS1015_CONFIG_MUX_DIFF_1_3 0x2000 #define ADS1015_CONFIG_MUX_DIFF_2_3 0x3000 #define ADS1015_CONFIG_MUX_SINGLE_0 0X4000 #define ADS1015_CONFIG_MUX_SINGLE_1 0x5000 #define ADS1015_CONFIG_MUX_SINGLE_2 0x6000 #define ADS1015_CONFIG_MUX_SINGLE_3 0x7000 #define ADS1015_CONFIG_MODE_CONT 0x0000 #define ADS1015_CONFIG_MODE_SINGLE 0x0100 #define ADS1015_CONFIG_DR_128SPS 0x0000 #define ADS1015_CONFIG_DR_250SPS 0x0020 #define ADS1015_CONFIG_DR_490SPS 0x0040 #define ADS1015_CONFIG_DR_920SPS 0x0060 #define ADS1015_CONFIG_DR_1600SPS 0x0080 #define ADS1015_CONFIG_DR_2400SPS 0x00A0 #define ADS1015_CONFIG_DR_3300SPS 0x00C0 #define ADS1015_CONFIG_COMP_MODE_TRAD 0x0000 #define ADS1015_CONFIG_COMP_MODE_WINDOW 0x0010 #define ADS1015_CONFIG_COMP_POL_ACTVLOW 0x0000 #define ADS1015_CONFIG_COMP_POL_ACTVHI 0x0008 #define ADS1015_CONFIG_COMP_LAT_NONE 0x0000 #define ADS1015_CONFIG_COMP_LAT_LATCH 0x0004 #define ADS1015_CONFIG_COMP_QUE_1CONV 0x0000 #define ADS1015_CONFIG_COMP_QUE_2CONV 0X0001 #define ADS1015_CONFIG_COMP_QUE_4CONV 0x0002 #define ADS1015_CONFIG_COMP_QUE_NONE 0x0003 /*============================================================================= GAIN =============================================================================*/ #define ADS1015_GAIN_TWOTHRIDS 0x0000 #define ADS1015_GAIN_ONE 0x0200 #define ADS1015_GAIN_TWO 0x0400 #define ADS1015_GAIN_FOUR 0x0600 #define ADS1015_GAIN_EIGHT 0x0800 #define ADS1015_GAIN_SIXTEEN 0x0A00 class ADS1015{ public: ADS1015(uint8_t i2c_addr, I2C* i2c_object, uint16_t adc_gain); uint16_t read_single_channel(int ch); void write_16(uint8_t reg, uint16_t msg); uint16_t read_16(uint8_t reg); private: uint8_t ADS1015_ADDR; I2C* i2c; uint16_t m_gain; }; #endif