From b0684c98a892b489a3860143967d090072e7cdd0 Mon Sep 17 00:00:00 2001 From: Brendan Le Foll Date: Wed, 30 Apr 2014 14:58:11 +0100 Subject: [PATCH] upm: move to maa 0.2.1 C api Signed-off-by: Brendan Le Foll --- CMakeLists.txt | 4 ++-- src/hmc5883l/hmc5883l.cxx | 20 +++++++++++--------- src/hmc5883l/hmc5883l.h | 4 ++-- 3 files changed, 15 insertions(+), 13 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 93958359..5b59621a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -5,8 +5,8 @@ set (SWIG_EXECUTABLE /usr/bin/swig) find_package (SWIG REQUIRED) include (${SWIG_USE_FILE}) -find_package(PkgConfig REQUIRED) -pkg_check_modules(MAA maa>=0.1.1) +find_package (PkgConfig REQUIRED) +pkg_check_modules (MAA maa>=0.2.1) set (CMAKE_SWIG_FLAGS "") diff --git a/src/hmc5883l/hmc5883l.cxx b/src/hmc5883l/hmc5883l.cxx index 9ebd6dad..f4d8c5c9 100644 --- a/src/hmc5883l/hmc5883l.cxx +++ b/src/hmc5883l/hmc5883l.cxx @@ -79,17 +79,17 @@ using namespace upm; Hmc5883l::Hmc5883l() { - i2c = new maa::I2CSlave(26, 27); + i2c = maa_i2c_init(); - i2c->address(HMC5883L_I2C_ADDR); + maa_i2c_address(i2c, 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); + maa_i2c_write(i2c, rx_tx_buf, 2); - i2c->address(HMC5883L_I2C_ADDR); + maa_i2c_address(i2c, HMC5883L_I2C_ADDR); rx_tx_buf[0] = HMC5883L_MODE_REG; rx_tx_buf[1] = HMC5883L_CONT_MODE; - i2c->write(rx_tx_buf, 2); + maa_i2c_write(i2c, rx_tx_buf, 2); Hmc5883l::update(); } @@ -97,11 +97,11 @@ Hmc5883l::Hmc5883l() int Hmc5883l::update(void) { - i2c->address(HMC5883L_I2C_ADDR); - i2c->write(HMC5883L_DATA_REG); + maa_i2c_address(i2c, HMC5883L_I2C_ADDR); + maa_i2c_write_byte(i2c, HMC5883L_DATA_REG); - i2c->address(HMC5883L_I2C_ADDR); - i2c->read(rx_tx_buf, DATA_REG_SIZE); + maa_i2c_address(i2c, HMC5883L_I2C_ADDR); + maa_i2c_read(i2c, rx_tx_buf, DATA_REG_SIZE); // x coor[0] = (rx_tx_buf[HMC5883L_X_MSB_REG] << 8 ) | rx_tx_buf[HMC5883L_X_LSB_REG] ; @@ -109,6 +109,8 @@ Hmc5883l::update(void) coor[2] = (rx_tx_buf[HMC5883L_Z_MSB_REG] << 8 ) | rx_tx_buf[HMC5883L_Z_LSB_REG] ; // y coor[1] = (rx_tx_buf[HMC5883L_Y_MSB_REG] << 8 ) | rx_tx_buf[HMC5883L_Y_LSB_REG] ; + + return MAA_SUCCESS; } float diff --git a/src/hmc5883l/hmc5883l.h b/src/hmc5883l/hmc5883l.h index 33f32197..16818ad3 100644 --- a/src/hmc5883l/hmc5883l.h +++ b/src/hmc5883l/hmc5883l.h @@ -23,7 +23,7 @@ */ #pragma once -#include +#include #define MAX_BUFFER_LENGTH 6 @@ -39,7 +39,7 @@ public: private: int coor[3]; char rx_tx_buf[MAX_BUFFER_LENGTH]; - maa::I2CSlave* i2c; + maa_i2c_context* i2c; }; }