Open FFBoard
Open source force feedback firmware
ADS111X Class Reference

#include <ADS111X.h>

Inheritance diagram for ADS111X:
I2CDevice ADS111X_AnalogSource

Public Member Functions

 ADS111X (I2CPort &port, uint8_t address=0x48)
 
virtual ~ADS111X ()
 
void readRegIT (const uint8_t reg, uint16_t *data)
 
void writeRegIT (const uint8_t reg, uint16_t data)
 
uint16_t readReg (const uint8_t reg)
 
void writeReg (const uint8_t reg, uint16_t data)
 
void startConversion (uint8_t channel, bool differential=false)
 
void setGain (uint16_t gain)
 
void setDatarate (uint16_t rate)
 
void startI2CTransfer (I2CPort *port)
 
void endI2CTransfer (I2CPort *port)
 
void setThresh (uint16_t loTh, uint16_t hiTh)
 
- Public Member Functions inherited from I2CDevice
 I2CDevice ()
 
virtual ~I2CDevice ()
 
virtual void i2cTxCompleted (I2CPort *port)
 
virtual void i2cRxCompleted (I2CPort *port)
 
virtual void i2cError (I2CPort *port)
 

Protected Attributes

I2CPortport
 
uint8_t address
 
uint8_t datarate = 4
 
uint8_t gain = 2
 
uint16_t conversions [4] = {0}
 
struct {
   uint16_t   config = 0x8583
 
   uint16_t   lothresh = 0x8000
 
   uint16_t   hithresh = 0x7FFF
 
registers
 

Private Attributes

uint16_t writeItBuffer = 0
 

Detailed Description

Definition at line 22 of file ADS111X.h.

Constructor & Destructor Documentation

◆ ADS111X()

ADS111X::ADS111X ( I2CPort port,
uint8_t  address = 0x48 
)

Definition at line 10 of file ADS111X.cpp.

◆ ~ADS111X()

ADS111X::~ADS111X ( )
virtual

Definition at line 14 of file ADS111X.cpp.

Member Function Documentation

◆ endI2CTransfer()

void ADS111X::endI2CTransfer ( I2CPort port)
virtual

Reimplemented from I2CDevice.

Definition at line 151 of file ADS111X.cpp.

◆ readReg()

uint16_t ADS111X::readReg ( const uint8_t  reg)

Definition at line 24 of file ADS111X.cpp.

◆ readRegIT()

void ADS111X::readRegIT ( const uint8_t  reg,
uint16_t *  data 
)

Definition at line 19 of file ADS111X.cpp.

◆ setDatarate()

void ADS111X::setDatarate ( uint16_t  rate)

Changes samplerate 0 = 8 sps 1 = 16 sps 2 = 32 sps 3 = 34 sps 4 = 128 sps 5 = 250 sps 6 = 475 sps 7 = 860 sps

Definition at line 79 of file ADS111X.cpp.

◆ setGain()

void ADS111X::setGain ( uint16_t  gain)

Changes PGA gain and input range 0 = 2/3 1 = 1 2 = 2 3 = 4 4 = 8 5 = 16

Definition at line 60 of file ADS111X.cpp.

◆ setThresh()

void ADS111X::setThresh ( uint16_t  loTh,
uint16_t  hiTh 
)

Definition at line 44 of file ADS111X.cpp.

◆ startConversion()

void ADS111X::startConversion ( uint8_t  channel,
bool  differential = false 
)

Channel: differential = false 0: 0=p, gnd=n 1: 1=p, gnd=n 2: 2=p, gnd=n 3: 3=p, gnd=n

differential = true 0: 0=p, 1=n 1: 2=p, 3=n 2: 0=p, 3=n 3: 1=p, 3=n

Definition at line 98 of file ADS111X.cpp.

◆ startI2CTransfer()

void ADS111X::startI2CTransfer ( I2CPort port)
virtual

Reimplemented from I2CDevice.

Definition at line 147 of file ADS111X.cpp.

◆ writeReg()

void ADS111X::writeReg ( const uint8_t  reg,
uint16_t  data 
)

Definition at line 38 of file ADS111X.cpp.

◆ writeRegIT()

void ADS111X::writeRegIT ( const uint8_t  reg,
uint16_t  data 
)

Definition at line 31 of file ADS111X.cpp.

Member Data Documentation

◆ address

uint8_t ADS111X::address
protected

Definition at line 49 of file ADS111X.h.

◆ config

uint16_t ADS111X::config = 0x8583

Definition at line 55 of file ADS111X.h.

◆ conversions

uint16_t ADS111X::conversions[4] = {0}
protected

Definition at line 52 of file ADS111X.h.

◆ datarate

uint8_t ADS111X::datarate = 4
protected

Definition at line 50 of file ADS111X.h.

◆ gain

uint8_t ADS111X::gain = 2
protected

Definition at line 51 of file ADS111X.h.

◆ hithresh

uint16_t ADS111X::hithresh = 0x7FFF

Definition at line 57 of file ADS111X.h.

◆ lothresh

uint16_t ADS111X::lothresh = 0x8000

Definition at line 56 of file ADS111X.h.

◆ port

I2CPort& ADS111X::port
protected

Definition at line 46 of file ADS111X.h.

◆ 

struct { ... } ADS111X::registers

◆ writeItBuffer

uint16_t ADS111X::writeItBuffer = 0
private

Definition at line 60 of file ADS111X.h.


The documentation for this class was generated from the following files: