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 "")
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();
}
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] ;
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