AEM
I2C Class Reference

#include <I2C.h>

Public Member Functions

 I2C ()
 
void begin ()
 
void end ()
 
void timeOut (uint16_t)
 
void setSpeed (uint8_t)
 
void pullup (uint8_t)
 
void scan ()
 
uint8_t available ()
 
uint8_t receive ()
 
uint8_t write (uint8_t, uint8_t)
 
uint8_t write (int, int)
 
uint8_t write (uint8_t, uint8_t, uint8_t)
 
uint8_t write (int, int, int)
 
uint8_t write (uint8_t, uint8_t, char *)
 
uint8_t write (uint8_t, uint8_t, uint8_t *, uint8_t)
 
uint8_t read (uint8_t, uint8_t)
 
uint8_t read (int, int)
 
uint8_t read (uint8_t, uint8_t, uint8_t)
 
uint8_t read (int, int, int)
 
uint8_t read (uint8_t, uint8_t, uint8_t *)
 
uint8_t read (uint8_t, uint8_t, uint8_t, uint8_t *)
 

Private Member Functions

uint8_t start ()
 
uint8_t sendAddress (uint8_t)
 
uint8_t sendByte (uint8_t)
 
uint8_t receiveByte (uint8_t)
 
uint8_t stop ()
 
void lockUp ()
 

Private Attributes

uint8_t returnStatus
 
uint8_t nack
 
uint8_t data [MAX_BUFFER_SIZE]
 

Static Private Attributes

static uint8_t bytesAvailable = 0
 
static uint8_t bufferIndex = 0
 
static uint8_t totalBytes = 0
 
static uint16_t timeOutDelay = 0
 

Constructor & Destructor Documentation

I2C::I2C ( )

Member Function Documentation

uint8_t I2C::available ( )
void I2C::begin ( )
void I2C::end ( )
void I2C::lockUp ( )
private
void I2C::pullup ( uint8_t  activate)
uint8_t I2C::read ( uint8_t  address,
uint8_t  numberBytes 
)
uint8_t I2C::read ( int  address,
int  numberBytes 
)
uint8_t I2C::read ( uint8_t  address,
uint8_t  registerAddress,
uint8_t  numberBytes 
)
uint8_t I2C::read ( int  address,
int  registerAddress,
int  numberBytes 
)
uint8_t I2C::read ( uint8_t  address,
uint8_t  numberBytes,
uint8_t *  dataBuffer 
)
uint8_t I2C::read ( uint8_t  address,
uint8_t  registerAddress,
uint8_t  numberBytes,
uint8_t *  dataBuffer 
)
uint8_t I2C::receive ( )
uint8_t I2C::receiveByte ( uint8_t  ack)
private
void I2C::scan ( )
uint8_t I2C::sendAddress ( uint8_t  i2cAddress)
private
uint8_t I2C::sendByte ( uint8_t  i2cData)
private
void I2C::setSpeed ( uint8_t  _fast)
uint8_t I2C::start ( )
private
uint8_t I2C::stop ( )
private
void I2C::timeOut ( uint16_t  _timeOut)
uint8_t I2C::write ( uint8_t  address,
uint8_t  registerAddress 
)
uint8_t I2C::write ( int  address,
int  registerAddress 
)
uint8_t I2C::write ( uint8_t  address,
uint8_t  registerAddress,
uint8_t  data 
)
uint8_t I2C::write ( int  address,
int  registerAddress,
int  data 
)
uint8_t I2C::write ( uint8_t  address,
uint8_t  registerAddress,
char *  data 
)
uint8_t I2C::write ( uint8_t  address,
uint8_t  registerAddress,
uint8_t *  data,
uint8_t  numberBytes 
)

Field Documentation

uint8_t I2C::bufferIndex = 0
staticprivate
uint8_t I2C::bytesAvailable = 0
staticprivate
uint8_t I2C::data[MAX_BUFFER_SIZE]
private
uint8_t I2C::nack
private
uint8_t I2C::returnStatus
private
uint16_t I2C::timeOutDelay = 0
staticprivate
uint8_t I2C::totalBytes = 0
staticprivate

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