123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113 |
- #if ARDUINO >= 100
- #include "Arduino.h"
- #else
- #include "WProgram.h"
- #endif
- #include <Wire.h>
- #define ADS1100_DEFAULT_ADDRESS (0x48)
- #define ADS1100_CONVERSIONDELAY (100)
- #define ADS1100_REG_CONFIG_OS_MASK (0x80)
- #define ADS1100_REG_CONFIG_OS_NOEFFECT (0x00)
- #define ADS1100_REG_CONFIG_OS_SINGLE (0x80)
- #define ADS1100_REG_CONFIG_OS_BUSY (0x00)
- #define ADS1100_REG_CONFIG_OS_NOTBUSY (0x80)
- #define ADS1100_REG_CONFIG_MODE_MASK (0x10)
- #define ADS1100_REG_CONFIG_MODE_CONTIN (0x00)
- #define ADS1100_REG_CONFIG_MODE_SINGLE (0x10)
- #define ADS1100_REG_CONFIG_DR_MASK (0x0C)
- #define ADS1100_REG_CONFIG_DR_128SPS (0x00)
- #define ADS1100_REG_CONFIG_DR_32SPS (0x04)
- #define ADS1100_REG_CONFIG_DR_16SPS (0x08)
- #define ADS1100_REG_CONFIG_DR_8SPS (0x0C)
- #define ADS1100_REG_CONFIG_PGA_MASK (0x03)
- #define ADS1100_REG_CONFIG_PGA_1 (0x00)
- #define ADS1100_REG_CONFIG_PGA_2 (0x01)
- #define ADS1100_REG_CONFIG_PGA_4 (0x02)
- #define ADS1100_REG_CONFIG_PGA_8 (0x03)
- typedef enum
- {
- OSMODE_SINGLE = ADS1100_REG_CONFIG_OS_SINGLE,
- OSMODE_BUSY = ADS1100_REG_CONFIG_OS_BUSY,
- OSMODE_NOTBUSY = ADS1100_REG_CONFIG_OS_NOTBUSY
-
- } adsOSMode_t;
- typedef enum
- {
- MODE_CONTIN = ADS1100_REG_CONFIG_MODE_CONTIN,
- MODE_SINGLE = ADS1100_REG_CONFIG_MODE_SINGLE
- } adsMode_t;
- typedef enum
- {
- RATE_1288 = ADS1100_REG_CONFIG_DR_128SPS,
- RATE_32 = ADS1100_REG_CONFIG_DR_32SPS,
- RATE_16 = ADS1100_REG_CONFIG_DR_16SPS,
- RATE_8 = ADS1100_REG_CONFIG_DR_8SPS
- } adsRate_t;
- typedef enum
- {
- GAIN_ONE = ADS1100_REG_CONFIG_PGA_1,
- GAIN_TWO = ADS1100_REG_CONFIG_PGA_2,
- GAIN_FOUR = ADS1100_REG_CONFIG_PGA_4,
- GAIN_EIGHT = ADS1100_REG_CONFIG_PGA_8
- } adsGain_t;
- class ADS1100
- {
- protected:
-
- uint8_t ads_conversionDelay;
- adsOSMode_t ads_osmode;
- adsMode_t ads_mode;
- adsRate_t ads_rate;
- adsGain_t ads_gain;
- public:
- uint8_t ads_i2cAddress;
- void getAddr_ADS1100(uint8_t i2cAddress);
- void begin(void);
- int16_t Measure_Differential();
- void setOSMode(adsOSMode_t osmode);
- adsOSMode_t getOSMode(void);
- void setMode(adsMode_t mode);
- adsMode_t getMode(void);
- void setRate(adsRate_t rate);
- adsRate_t getRate(void);
- void setGain(adsGain_t gain);
- adsGain_t getGain(void);
- private:
- };
|