Private
Public Access
2
0

i2c: use uint8_t when appropriate and remove char

Object APIs used signed chars for some operations which are not appropriate
when using i2c.

Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
This commit is contained in:
Brendan Le Foll
2014-10-31 15:10:15 +00:00
parent 428c99f940
commit 274d5b2d50
4 changed files with 12 additions and 16 deletions

View File

@@ -132,7 +132,7 @@ mraa_result_t mraa_i2c_write_byte(mraa_i2c_context dev, const uint8_t data);
* general call address.
* @return Result of operation
*/
mraa_result_t mraa_i2c_address(mraa_i2c_context dev, int address);
mraa_result_t mraa_i2c_address(mraa_i2c_context dev, uint8_t address);
/**
* De-inits an mraa_i2c_context device

View File

@@ -85,7 +85,7 @@ class I2c {
* @param address Communicate to the i2c slave on this address
* @return Result of operation
*/
mraa_result_t address(int address) {
mraa_result_t address(uint8_t address) {
return mraa_i2c_address(m_i2c, address);
}
/**
@@ -93,8 +93,8 @@ class I2c {
*
* @return char read from the bus
*/
unsigned char read() {
return (unsigned char) mraa_i2c_read_byte(m_i2c);
uint8_t read() {
return (uint8_t) mraa_i2c_read_byte(m_i2c);
}
/**
* Read mutliple bytes from the bus
@@ -103,7 +103,7 @@ class I2c {
* @param length Size of read
* @return length of the read or 0 if failed
*/
int read(char *data, size_t length) {
uint8_t read(char *data, size_t length) {
return mraa_i2c_read(m_i2c, (uint8_t*) data, (int) length);
}
/**
@@ -138,8 +138,8 @@ class I2c {
* @param data Value to write to register
* @return Result of operation
*/
mraa_result_t writeReg(char reg, char data) {
const unsigned char buf[2] = {(unsigned char) reg, (unsigned char) data};
mraa_result_t writeReg(uint8_t reg, uint8_t data) {
const uint8_t buf[2] = {reg, data};
return mraa_i2c_write(m_i2c, buf, 2);
}
@@ -147,21 +147,19 @@ class I2c {
* Read an i2c register
*
* @param reg Register to read from
* @return char read from the bus
* @return char read from register
*/
int readReg(char reg) {
uint8_t readReg(uint8_t reg) {
return mraa_i2c_read_byte_data(m_i2c, reg);
}
/**
* Write multiple bytes to the bus
* Write a byte on the bus
*
* @param data The byte to send on the bus
* @return Result of operation
*/
mraa_result_t write(char data) {
mraa_result_t write(uint8_t data) {
return mraa_i2c_write_byte(m_i2c, data);
}
private: