diff --git a/src/lsm303agr/lsm303agr.c b/src/lsm303agr/lsm303agr.c index 04c87766..f1559881 100644 --- a/src/lsm303agr/lsm303agr.c +++ b/src/lsm303agr/lsm303agr.c @@ -32,6 +32,17 @@ #include "lsm303agr.h" +// some useful macros to save on typing and text wrapping +#undef _SHIFT +#define _SHIFT(x) (_LSM303AGR_##x##_SHIFT) + +#undef _MASK +#define _MASK(x) (_LSM303AGR_##x##_MASK) + +#undef _SHIFTMASK +#define _SHIFTMASK(x) (_MASK(x) << _SHIFT(x)) + + // init lsm303agr_context lsm303agr_init(int bus, int acc_addr, int mag_addr) { @@ -112,7 +123,7 @@ lsm303agr_context lsm303agr_init(int bus, int acc_addr, int mag_addr) if (chipID != LSM303AGR_CHIPID_MAG) { - printf("%s: invalid accelerometer chip id: %02x. Expected %02x\n", + printf("%s: invalid magnetometer chip id: %02x. Expected %02x\n", __FUNCTION__, chipID, LSM303AGR_CHIPID_MAG); lsm303agr_close(dev); return NULL; @@ -157,10 +168,10 @@ upm_result_t lsm303agr_devinit(const lsm303agr_context dev, // enable temp compensation and continuous mode uint8_t reg = lsm303agr_read_reg(dev, LSM303AGR_REG_CFG_REG_A_M); - reg &= ~_LSM303AGR_SHIFTMASK(CFG_REG_A_M_MD); + reg &= ~_SHIFTMASK(CFG_REG_A_M_MD); reg |= LSM303AGR_CFG_REG_A_M_COMP_TEMP_EN; reg |= (LSM303AGR_CFG_A_M_MD_CONTINUOUS - << _LSM303AGR_SHIFT(CFG_REG_A_M_MD)); + << _SHIFT(CFG_REG_A_M_MD)); if (lsm303agr_write_reg(dev, LSM303AGR_REG_CFG_REG_A_M, reg)) { @@ -206,9 +217,9 @@ upm_result_t lsm303agr_devinit(const lsm303agr_context dev, // enable temperature measurement reg = lsm303agr_read_reg(dev, LSM303AGR_REG_TEMP_CFG_REG_A); - reg &= ~_LSM303AGR_SHIFTMASK(TEMP_CFG_REG_A_TEMP_EN); + reg &= ~_SHIFTMASK(TEMP_CFG_REG_A_TEMP_EN); reg |= (LSM303AGR_TEMP_EN_ON - << _LSM303AGR_SHIFT(TEMP_CFG_REG_A_TEMP_EN)); + << _SHIFT(TEMP_CFG_REG_A_TEMP_EN)); if (lsm303agr_write_reg(dev, LSM303AGR_REG_TEMP_CFG_REG_A, reg)) { @@ -311,8 +322,8 @@ upm_result_t lsm303agr_set_full_scale(const lsm303agr_context dev, { uint8_t reg = lsm303agr_read_reg(dev, LSM303AGR_REG_CTRL_REG4_A); - reg &= ~_LSM303AGR_SHIFTMASK(CTRL_REG4_A_FS); - reg |= (fs << _LSM303AGR_SHIFT(CTRL_REG4_A_FS)); + reg &= ~_SHIFTMASK(CTRL_REG4_A_FS); + reg |= (fs << _SHIFT(CTRL_REG4_A_FS)); if (lsm303agr_write_reg(dev, LSM303AGR_REG_CTRL_REG4_A, reg)) return UPM_ERROR_OPERATION_FAILED; @@ -569,8 +580,8 @@ upm_result_t lsm303agr_set_acc_odr(const lsm303agr_context dev, return UPM_ERROR_NO_RESOURCES; uint8_t reg = lsm303agr_read_reg(dev, LSM303AGR_REG_CTRL_REG1_A); - reg &= ~_LSM303AGR_SHIFTMASK(CTRL_REG1_A_ODR); - reg |= (odr << _LSM303AGR_SHIFT(CTRL_REG1_A_ODR)); + reg &= ~_SHIFTMASK(CTRL_REG1_A_ODR); + reg |= (odr << _SHIFT(CTRL_REG1_A_ODR)); if (lsm303agr_write_reg(dev, LSM303AGR_REG_CTRL_REG1_A, reg)) return UPM_ERROR_OPERATION_FAILED; @@ -587,8 +598,8 @@ upm_result_t lsm303agr_set_mag_odr(const lsm303agr_context dev, return UPM_ERROR_NO_RESOURCES; uint8_t reg = lsm303agr_read_reg(dev, LSM303AGR_REG_CFG_REG_A_M); - reg &= ~_LSM303AGR_SHIFTMASK(CFG_REG_A_M_ODR); - reg |= (odr << _LSM303AGR_SHIFT(CFG_REG_A_M_ODR)); + reg &= ~_SHIFTMASK(CFG_REG_A_M_ODR); + reg |= (odr << _SHIFT(CFG_REG_A_M_ODR)); if (lsm303agr_write_reg(dev, LSM303AGR_REG_CFG_REG_A_M, reg)) return UPM_ERROR_OPERATION_FAILED; diff --git a/src/lsm303agr/lsm303agr.h b/src/lsm303agr/lsm303agr.h index e238a671..24e1b3cc 100644 --- a/src/lsm303agr/lsm303agr.h +++ b/src/lsm303agr/lsm303agr.h @@ -181,7 +181,7 @@ extern "C" { * mode set at high resolution. * * @param dev The device context - * @param usage One of the LSM303AGR_POWER_MODE_T values. This + * @param mode One of the LSM303AGR_POWER_MODE_T values. This * parameter is passed to a call to lsm303agr_set_power_mode() and * will set the appropriate mode for both the accelerometer and * magnetometer. The default set by the constructor is @@ -196,7 +196,7 @@ extern "C" { * power, normal, and high resolution. * * @param dev The device context - * @param usage One of the LSM303AGR_POWER_MODE_T values. The + * @param mode One of the LSM303AGR_POWER_MODE_T values. The * default set at initialization time is * LSM303AGR_POWER_HIGH_RESOLUTION. * @return UPM result @@ -208,7 +208,7 @@ extern "C" { * Set the accelerometer (acc) output data rate (odr) * * @param dev The device context - * @param usage One of the LSM303AGR_A_ODR_T values. The default + * @param odr One of the LSM303AGR_A_ODR_T values. The default * set at initialization time is LSM303AGR_A_ODR_100HZ. * @return UPM result */ @@ -219,7 +219,7 @@ extern "C" { * Set the magnetometer (mag) output data rate (odr) * * @param dev The device context - * @param usage One of the LSM303AGR_CFG_A_M_ODR_T values. The default + * @param odr One of the LSM303AGR_CFG_A_M_ODR_T values. The default * set at initialization time is LSM303AGR_CFG_A_M_ODR_10HZ. * @return UPM result */ diff --git a/src/lsm303agr/lsm303agr.hpp b/src/lsm303agr/lsm303agr.hpp index 733ccd16..070d522e 100644 --- a/src/lsm303agr/lsm303agr.hpp +++ b/src/lsm303agr/lsm303agr.hpp @@ -194,7 +194,7 @@ namespace upm { * Set an operating power mode. There are 3 modes available: low * power, normal, and high resolution. * - * @param usage One of the LSM303AGR_POWER_MODE_T values. The + * @param mode One of the LSM303AGR_POWER_MODE_T values. The * default set at initialization time is * LSM303AGR_POWER_HIGH_RESOLUTION. * @throws std::runtime_error on failure @@ -204,7 +204,7 @@ namespace upm { /** * Set the accelerometer output data rate (ODR) * - * @param usage One of the LSM303AGR_A_ODR_T values. The default + * @param odr One of the LSM303AGR_A_ODR_T values. The default * set at initialization time is LSM303AGR_A_ODR_100HZ. * @throws std::runtime_error on failure */ @@ -213,7 +213,7 @@ namespace upm { /** * Set the magnetometer output data rate (ODR) * - * @param usage One of the LSM303AGR_CFG_A_M_ODR_T values. + * @param odr One of the LSM303AGR_CFG_A_M_ODR_T values. * The default set at initialization time is * LSM303AGR_CFG_A_M_ODR_10HZ. * @throws std::runtime_error on failure diff --git a/src/lsm303agr/lsm303agr_defs.h b/src/lsm303agr/lsm303agr_defs.h index 08796d83..a8d9c1df 100644 --- a/src/lsm303agr/lsm303agr_defs.h +++ b/src/lsm303agr/lsm303agr_defs.h @@ -669,17 +669,6 @@ extern "C" { LSM303AGR_POWER_HIGH_RESOLUTION = 2, } LSM303AGR_POWER_MODE_T; - // some useful macros to save on typing and text wrapping -#define _LSM303AGR_SHIFT(x) \ - (_LSM303AGR_##x##_SHIFT) - -#define _LSM303AGR_MASK(x) \ - (_LSM303AGR_##x##_MASK) - -#define _LSM303AGR_SHIFTMASK(x) \ - (_LSM303AGR_MASK(x) << _LSM303AGR_SHIFT(x)) - - #ifdef __cplusplus }