mraa  0.6.0
Low Level Skeleton Library for Communication on GNU/Linux platforms
 All Data Structures Namespaces Files Functions Typedefs Enumerations Enumerator Pages
Public Member Functions
I2c Class Reference

Detailed Description

An I2c object represents an i2c master and can talk multiple i2c slaves by selecting the correct address It is considered best practice to make sure the address is correct before doing any calls on i2c, in case another application or even thread changed the addres on that bus. Multiple instances of the same bus can exist.

mraa::I2c* i2c;
i2c = new mraa::I2c(0);
i2c->address(HMC5883L_I2C_ADDR);
rx_tx_buf[0] = HMC5883L_CONF_REG_B;
rx_tx_buf[1] = GA_1_3_REG;
i2c->write(rx_tx_buf, 2);

Public Member Functions

 I2c (int bus, bool raw=false)
 
 ~I2c ()
 
mraa_result_t frequency (mraa_i2c_mode_t mode)
 
mraa_result_t address (uint8_t address)
 
uint8_t readByte ()
 
int read (uint8_t *data, int length)
 
uint8_t readReg (uint8_t reg)
 
uint16_t readWordReg (uint8_t reg)
 
mraa_result_t writeByte (uint8_t data)
 
mraa_result_t write (const uint8_t *data, int length)
 
mraa_result_t writeReg (uint8_t reg, uint8_t data)
 
mraa_result_t writeWordReg (uint8_t reg, uint16_t data)
 

Constructor & Destructor Documentation

I2c ( int  bus,
bool  raw = false 
)
inline

Instantiates an i2c bus. Multiple instances of the same bus can exist and the bus is not guarranteed to be on the correct address before read/write.

Parameters
busThe i2c bus to use
rawWhether to disable pinmapper for your board

Here is the call graph for this function:

~I2c ( )
inline

Closes the I2c Bus used. This does not guarrantee the bus will not be usable by anyone else or communicates this disconnect to any slaves.

Here is the call graph for this function:

Member Function Documentation

mraa_result_t frequency ( mraa_i2c_mode_t  mode)
inline

Sets the i2c Frequency for communication. Your board may not support the set frequency. Anyone can change this at any time and this will affect every slave on the bus

Parameters
modeFrequency to set the bus to
Returns
Result of operation

Here is the call graph for this function:

mraa_result_t address ( uint8_t  address)
inline

Set the slave to talk to, typically called before every read/write operation

Parameters
addressCommunicate to the i2c slave on this address
Returns
Result of operation

Here is the call graph for this function:

uint8_t readByte ( )
inline

Read exactly one byte from the bus

Returns
char read from the bus

Here is the call graph for this function:

int read ( uint8_t *  data,
int  length 
)
inline

Read length bytes from the bus into *data pointer

@param data Data to read into
@param length Size of read in bytes to make
@return length of read, should match length

Here is the call graph for this function:

uint8_t readReg ( uint8_t  reg)
inline

Read byte from an i2c register

Parameters
regRegister to read from
Returns
char read from register

Here is the call graph for this function:

uint16_t readWordReg ( uint8_t  reg)
inline

Read word from an i2c register

Parameters
regRegister to read from
Returns
char read from register

Here is the call graph for this function:

mraa_result_t writeByte ( uint8_t  data)
inline

Write a byte on the bus

Parameters
dataThe byte to send on the bus
Returns
Result of operation

Here is the call graph for this function:

mraa_result_t write ( const uint8_t *  data,
int  length 
)
inline

Write length bytes to the bus, the first byte in the array is the command/register to write

Parameters
dataBuffer to send on the bus, first byte is i2c command
lengthSize of buffer to send
Returns
Result of operation

Here is the call graph for this function:

mraa_result_t writeReg ( uint8_t  reg,
uint8_t  data 
)
inline

Write a byte to an i2c register

Parameters
regRegister to write to
dataValue to write to register
Returns
Result of operation

Here is the call graph for this function:

mraa_result_t writeWordReg ( uint8_t  reg,
uint16_t  data 
)
inline

Write a word to an i2c register

Parameters
regRegister to write to
dataValue to write to register
Returns
Result of operation

Here is the call graph for this function:


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