| 
    ChibiOS
    0.0.0
    
   | 
 
 
 | 
Macros | |
| #define | lsm303agrAccelerometerGetAxesNumber(devp) accelerometerGetAxesNumber(&((devp)->acc_if)) | 
| Return the number of axes of the BaseAccelerometer.  More... | |
| #define | lsm303agrAccelerometerReadRaw(devp, axes) accelerometerReadRaw(&((devp)->acc_if), axes) | 
| Retrieves raw data from the BaseAccelerometer.  More... | |
| #define | lsm303agrAccelerometerReadCooked(devp, axes) accelerometerReadCooked(&((devp)->acc_if), axes) | 
| Retrieves cooked data from the BaseAccelerometer.  More... | |
| #define | lsm303agrAccelerometerSetBias(devp, bp) accelerometerSetBias(&((devp)->acc_if), bp) | 
| Set bias values for the BaseAccelerometer.  More... | |
| #define | lsm303agrAccelerometerResetBias(devp) accelerometerResetBias(&((devp)->acc_if)) | 
| Reset bias values for the BaseAccelerometer.  More... | |
| #define | lsm303agrAccelerometerSetSensitivity(devp, sp) accelerometerSetSensitivity(&((devp)->acc_if), sp) | 
| Set sensitivity values for the BaseAccelerometer.  More... | |
| #define | lsm303agrAccelerometerResetSensitivity(devp) accelerometerResetSensitivity(&((devp)->acc_if)) | 
| Reset sensitivity values for the BaseAccelerometer.  More... | |
| #define | lsm303agrAccelerometerSetFullScale(devp, fs) (devp)->vmt->acc_set_full_scale(devp, fs) | 
| Changes the LSM303AGRDriver accelerometer fullscale value.  More... | |
| #define | lsm303agrCompassGetAxesNumber(devp) compassGetAxesNumber(&((devp)->comp_if)) | 
| Return the number of axes of the BaseCompass.  More... | |
| #define | lsm303agrCompassReadRaw(devp, axes) compassReadRaw(&((devp)->comp_if), axes) | 
| Retrieves raw data from the BaseCompass.  More... | |
| #define | lsm303agrCompassReadCooked(devp, axes) compassReadCooked(&((devp)->comp_if), axes) | 
| Retrieves cooked data from the BaseCompass.  More... | |
| #define | lsm303agrCompassSetBias(devp, bp) compassSetBias(&((devp)->comp_if), bp) | 
| Set bias values for the BaseCompass.  More... | |
| #define | lsm303agrCompassResetBias(devp) compassResetBias(&((devp)->comp_if)) | 
| Reset bias values for the BaseCompass.  More... | |
| #define | lsm303agrCompassSetSensitivity(devp, sp) compassSetSensitivity(&((devp)->comp_if), sp) | 
| Set sensitivity values for the BaseCompass.  More... | |
| #define | lsm303agrCompassResetSensitivity(devp) compassResetSensitivity(&((devp)->comp_if)) | 
| Reset sensitivity values for the BaseCompass.  More... | |
Version identification | |
| #define | EX_LSM303AGR_VERSION "1.0.0" | 
| LSM303AGR driver version string.  More... | |
| #define | EX_LSM303AGR_MAJOR 1 | 
| LSM303AGR driver version major number.  More... | |
| #define | EX_LSM303AGR_MINOR 0 | 
| LSM303AGR driver version minor number.  More... | |
| #define | EX_LSM303AGR_PATCH 0 | 
| LSM303AGR driver version patch number.  More... | |
| #define | LSM303AGR_ACC_NUMBER_OF_AXES 3U | 
| LSM303AGR accelerometer subsystem characteristics.  More... | |
| #define | LSM303AGR_COMP_NUMBER_OF_AXES 3U | 
| LSM303AGR compass subsystem characteristics.  More... | |
LSM303AGR_TEMP_CFG_REG_A register bits definitions | |
| #define | LSM303AGR_TEMP_CFG_REG_A_TEMP_EN0 (1 << 0) | 
| #define | LSM303AGR_TEMP_CFG_REG_A_TEMP_EN1 (1 << 0) | 
Configuration options | |
| #define | LSM303AGR_USE_SPI FALSE | 
| LSM303AGR SPI interface switch.  More... | |
| #define | LSM303AGR_SHARED_SPI FALSE | 
| LSM303AGR shared SPI switch.  More... | |
| #define | LSM303AGR_USE_I2C TRUE | 
| LSM303AGR I2C interface switch.  More... | |
| #define | LSM303AGR_SHARED_I2C FALSE | 
| LSM303AGR shared I2C switch.  More... | |
| #define | LSM303AGR_ACC_USE_ADVANCED FALSE | 
| LSM303AGR accelerometer subsystem advanced configurations switch.  More... | |
| #define | LSM303AGR_COMP_USE_ADVANCED FALSE | 
| LSM303AGR compass subsystem advanced configurations switch.  More... | |
LSM303AGR accelerometer subsystem data structures and types. | |
  | |
| typedef struct LSM303AGRDriver | LSM303AGRDriver | 
| Structure representing a LSM303AGR driver.  More... | |
LSM303AGR compass subsystem data structures and types. | 
LSM303AGR main system data structures and types. | |
| #define | _lsm303agr_methods_alone | 
LSM303AGR specific methods.  More... | |
| #define | _lsm303agr_methods | 
LSM303AGR specific methods with inherited ones.  More... | |
| #define | _lsm303agr_data | 
LSM303AGRDriver specific data.  More... | |
Data Structures | |
| struct | LSM303AGRConfig | 
| LSM303AGR configuration structure.  More... | |
| struct | LSM303AGRVMT | 
LSM303AGR virtual methods table.  More... | |
| struct | LSM303AGRDriver | 
| LSM303AGR 6-axis accelerometer/compass class.  More... | |
Functions | |
| static msg_t | lsm303agrI2CReadRegister (I2CDriver *i2cp, lsm303agr_sad_t sad, uint8_t reg, uint8_t *rxbuf, size_t n) | 
| Reads registers value using I2C.  More... | |
| static msg_t | lsm303agrI2CWriteRegister (I2CDriver *i2cp, lsm303agr_sad_t sad, uint8_t *txbuf, size_t n) | 
| Writes a value into a register using I2C.  More... | |
| static size_t | acc_get_axes_number (void *ip) | 
| Return the number of axes of the BaseAccelerometer.  More... | |
| static msg_t | acc_read_raw (void *ip, int32_t axes[]) | 
| Retrieves raw data from the BaseAccelerometer.  More... | |
| static msg_t | acc_read_cooked (void *ip, float axes[]) | 
| Retrieves cooked data from the BaseAccelerometer.  More... | |
| static msg_t | acc_set_bias (void *ip, float *bp) | 
| Set bias values for the BaseAccelerometer.  More... | |
| static msg_t | acc_reset_bias (void *ip) | 
| Reset bias values for the BaseAccelerometer.  More... | |
| static msg_t | acc_set_sensivity (void *ip, float *sp) | 
| Set sensitivity values for the BaseAccelerometer.  More... | |
| static msg_t | acc_reset_sensivity (void *ip) | 
| Reset sensitivity values for the BaseAccelerometer.  More... | |
| static msg_t | acc_set_full_scale (LSM303AGRDriver *devp, lsm303agr_acc_fs_t fs) | 
| Changes the LSM303AGRDriver accelerometer fullscale value.  More... | |
| static size_t | comp_get_axes_number (void *ip) | 
| Return the number of axes of the BaseCompass.  More... | |
| static msg_t | comp_read_raw (void *ip, int32_t axes[]) | 
| Retrieves raw data from the BaseCompass.  More... | |
| static msg_t | comp_read_cooked (void *ip, float axes[]) | 
| Retrieves cooked data from the BaseCompass.  More... | |
| static msg_t | comp_set_bias (void *ip, float *bp) | 
| Set bias values for the BaseCompass.  More... | |
| static msg_t | comp_reset_bias (void *ip) | 
| Reset bias values for the BaseCompass.  More... | |
| static msg_t | comp_set_sensivity (void *ip, float *sp) | 
| Set sensitivity values for the BaseCompass.  More... | |
| static msg_t | comp_reset_sensivity (void *ip) | 
| Reset sensitivity values for the BaseCompass.  More... | |
| void | lsm303agrObjectInit (LSM303AGRDriver *devp) | 
| Initializes an instance.  More... | |
| void | lsm303agrStart (LSM303AGRDriver *devp, const LSM303AGRConfig *config) | 
| Configures and activates LSM303AGR Complex Driver peripheral.  More... | |
| void | lsm303agrStop (LSM303AGRDriver *devp) | 
| Deactivates the LSM303AGR Complex Driver peripheral.  More... | |
Enumerations | 
| #define EX_LSM303AGR_VERSION "1.0.0" | 
LSM303AGR driver version string.
Definition at line 46 of file lsm303agr.h.
| #define EX_LSM303AGR_MAJOR 1 | 
LSM303AGR driver version major number.
Definition at line 51 of file lsm303agr.h.
| #define EX_LSM303AGR_MINOR 0 | 
LSM303AGR driver version minor number.
Definition at line 56 of file lsm303agr.h.
| #define EX_LSM303AGR_PATCH 0 | 
LSM303AGR driver version patch number.
Definition at line 61 of file lsm303agr.h.
| #define LSM303AGR_ACC_NUMBER_OF_AXES 3U | 
LSM303AGR accelerometer subsystem characteristics.
Definition at line 72 of file lsm303agr.h.
Referenced by acc_get_axes_number(), acc_read_cooked(), acc_read_raw(), acc_reset_bias(), acc_reset_sensivity(), acc_set_bias(), acc_set_full_scale(), acc_set_sensivity(), lsm303agrObjectInit(), and lsm303agrStart().
| #define LSM303AGR_COMP_NUMBER_OF_AXES 3U | 
LSM303AGR compass subsystem characteristics.
Definition at line 94 of file lsm303agr.h.
Referenced by comp_get_axes_number(), comp_read_cooked(), comp_read_raw(), comp_reset_bias(), comp_reset_sensivity(), comp_set_bias(), comp_set_sensivity(), lsm303agrObjectInit(), and lsm303agrStart().
| #define LSM303AGR_USE_SPI FALSE | 
LSM303AGR SPI interface switch.
If set to TRUE the support for SPI is included. 
FALSE. Definition at line 318 of file lsm303agr.h.
| #define LSM303AGR_SHARED_SPI FALSE | 
LSM303AGR shared SPI switch.
If set to TRUE the device acquires SPI bus ownership on each transaction. 
FALSE. Requires SPI_USE_MUTUAL_EXCLUSION. Definition at line 328 of file lsm303agr.h.
| #define LSM303AGR_USE_I2C TRUE | 
LSM303AGR I2C interface switch.
If set to TRUE the support for I2C is included. 
TRUE. Definition at line 337 of file lsm303agr.h.
| #define LSM303AGR_SHARED_I2C FALSE | 
LSM303AGR shared I2C switch.
If set to TRUE the device acquires I2C bus ownership on each transaction. 
FALSE. Requires I2C_USE_MUTUAL_EXCLUSION. Definition at line 347 of file lsm303agr.h.
| #define LSM303AGR_ACC_USE_ADVANCED FALSE | 
LSM303AGR accelerometer subsystem advanced configurations switch.
If set to TRUE more configurations are available. 
FALSE. Definition at line 357 of file lsm303agr.h.
| #define LSM303AGR_COMP_USE_ADVANCED FALSE | 
LSM303AGR compass subsystem advanced configurations switch.
If set to TRUE more configurations are available. 
FALSE. Definition at line 367 of file lsm303agr.h.
| #define _lsm303agr_methods_alone | 
LSM303AGR specific methods. 
Definition at line 593 of file lsm303agr.h.
| #define _lsm303agr_methods | 
LSM303AGR specific methods with inherited ones. 
Definition at line 601 of file lsm303agr.h.
| #define _lsm303agr_data | 
LSM303AGRDriver specific data. 
Definition at line 617 of file lsm303agr.h.
| #define lsm303agrAccelerometerGetAxesNumber | ( | devp | ) | accelerometerGetAxesNumber(&((devp)->acc_if)) | 
Return the number of axes of the BaseAccelerometer.
| [in] | devp | pointer to LSM303AGRDriver. | 
Definition at line 667 of file lsm303agr.h.
| #define lsm303agrAccelerometerReadRaw | ( | devp, | |
| axes | |||
| ) | accelerometerReadRaw(&((devp)->acc_if), axes) | 
Retrieves raw data from the BaseAccelerometer.
| [in] | devp | pointer to LSM303AGRDriver.  | 
| [out] | axes | a buffer which would be filled with raw data. | 
| MSG_OK | if the function succeeded. | 
| MSG_RESET | if one or more I2C errors occurred, the errors can be retrieved using i2cGetErrors().  | 
| MSG_TIMEOUT | if a timeout occurred before operation end. | 
Definition at line 688 of file lsm303agr.h.
| #define lsm303agrAccelerometerReadCooked | ( | devp, | |
| axes | |||
| ) | accelerometerReadCooked(&((devp)->acc_if), axes) | 
Retrieves cooked data from the BaseAccelerometer.
| [in] | devp | pointer to LSM303AGRDriver.  | 
| [out] | axes | a buffer which would be filled with cooked data. | 
| MSG_OK | if the function succeeded. | 
| MSG_RESET | if one or more I2C errors occurred, the errors can be retrieved using i2cGetErrors().  | 
| MSG_TIMEOUT | if a timeout occurred before operation end. | 
Definition at line 710 of file lsm303agr.h.
| #define lsm303agrAccelerometerSetBias | ( | devp, | |
| bp | |||
| ) | accelerometerSetBias(&((devp)->acc_if), bp) | 
Set bias values for the BaseAccelerometer.
| [in] | devp | pointer to LSM303AGRDriver.  | 
| [in] | bp | a buffer which contains biases. | 
| MSG_OK | if the function succeeded. | 
Definition at line 727 of file lsm303agr.h.
| #define lsm303agrAccelerometerResetBias | ( | devp | ) | accelerometerResetBias(&((devp)->acc_if)) | 
Reset bias values for the BaseAccelerometer.
| [in] | devp | pointer to LSM303AGRDriver. | 
| MSG_OK | if the function succeeded. | 
Definition at line 742 of file lsm303agr.h.
| #define lsm303agrAccelerometerSetSensitivity | ( | devp, | |
| sp | |||
| ) | accelerometerSetSensitivity(&((devp)->acc_if), sp) | 
Set sensitivity values for the BaseAccelerometer.
| [in] | devp | pointer to LSM303AGRDriver.  | 
| [in] | sp | a buffer which contains sensitivities. | 
| MSG_OK | if the function succeeded. | 
Definition at line 759 of file lsm303agr.h.
| #define lsm303agrAccelerometerResetSensitivity | ( | devp | ) | accelerometerResetSensitivity(&((devp)->acc_if)) | 
Reset sensitivity values for the BaseAccelerometer.
| [in] | devp | pointer to LSM303AGRDriver. | 
| MSG_OK | if the function succeeded. | 
| MSG_RESET | otherwise. | 
Definition at line 774 of file lsm303agr.h.
| #define lsm303agrAccelerometerSetFullScale | ( | devp, | |
| fs | |||
| ) | (devp)->vmt->acc_set_full_scale(devp, fs) | 
Changes the LSM303AGRDriver accelerometer fullscale value.
| [in] | devp | pointer to LSM303AGRDriver.  | 
| [in] | fs | new fullscale value. | 
| MSG_OK | if the function succeeded. | 
| MSG_RESET | otherwise. | 
Definition at line 792 of file lsm303agr.h.
| #define lsm303agrCompassGetAxesNumber | ( | devp | ) | compassGetAxesNumber(&((devp)->comp_if)) | 
Return the number of axes of the BaseCompass.
| [in] | devp | pointer to LSM303AGRDriver. | 
Definition at line 804 of file lsm303agr.h.
| #define lsm303agrCompassReadRaw | ( | devp, | |
| axes | |||
| ) | compassReadRaw(&((devp)->comp_if), axes) | 
Retrieves raw data from the BaseCompass.
| [in] | devp | pointer to BaseCompass interface.  | 
| [out] | axes | a buffer which would be filled with raw data. | 
| MSG_OK | if the function succeeded. | 
| MSG_RESET | if one or more I2C errors occurred, the errors can be retrieved using i2cGetErrors().  | 
| MSG_TIMEOUT | if a timeout occurred before operation end. | 
Definition at line 825 of file lsm303agr.h.
| #define lsm303agrCompassReadCooked | ( | devp, | |
| axes | |||
| ) | compassReadCooked(&((devp)->comp_if), axes) | 
Retrieves cooked data from the BaseCompass.
| [in] | devp | pointer to BaseCompass interface.  | 
| [out] | axes | a buffer which would be filled with cooked data. | 
| MSG_OK | if the function succeeded. | 
| MSG_RESET | if one or more I2C errors occurred, the errors can be retrieved using i2cGetErrors().  | 
| MSG_TIMEOUT | if a timeout occurred before operation end. | 
Definition at line 847 of file lsm303agr.h.
| #define lsm303agrCompassSetBias | ( | devp, | |
| bp | |||
| ) | compassSetBias(&((devp)->comp_if), bp) | 
Set bias values for the BaseCompass.
| [in] | devp | pointer to BaseCompass interface.  | 
| [in] | bp | a buffer which contains biases. | 
| MSG_OK | if the function succeeded. | 
Definition at line 864 of file lsm303agr.h.
| #define lsm303agrCompassResetBias | ( | devp | ) | compassResetBias(&((devp)->comp_if)) | 
Reset bias values for the BaseCompass.
| [in] | devp | pointer to LSM303AGRDriver. | 
| MSG_OK | if the function succeeded. | 
Definition at line 879 of file lsm303agr.h.
| #define lsm303agrCompassSetSensitivity | ( | devp, | |
| sp | |||
| ) | compassSetSensitivity(&((devp)->comp_if), sp) | 
Set sensitivity values for the BaseCompass.
| [in] | devp | pointer to LSM303AGRDriver.  | 
| [in] | sp | a buffer which contains sensitivities. | 
| MSG_OK | if the function succeeded. | 
Definition at line 896 of file lsm303agr.h.
| #define lsm303agrCompassResetSensitivity | ( | devp | ) | compassResetSensitivity(&((devp)->comp_if)) | 
Reset sensitivity values for the BaseCompass.
| [in] | devp | pointer to LSM303AGRDriver. | 
| MSG_OK | if the function succeeded. | 
| MSG_RESET | otherwise. | 
Definition at line 911 of file lsm303agr.h.
| typedef struct LSM303AGRDriver LSM303AGRDriver | 
Structure representing a LSM303AGR driver.
Definition at line 413 of file lsm303agr.h.
| enum lsm303agr_sad_t | 
Accelerometer and Compass Slave Address.
| Enumerator | |
|---|---|
| LSM303AGR_SAD_ACC | 
 SAD for accelerometer.  | 
| LSM303AGR_SAD_COMP | 
 SAD for compass.  | 
Definition at line 48 of file lsm303agr.c.
| enum lsm303agr_acc_fs_t | 
LSM303AGR accelerometer subsystem full scale.
| Enumerator | |
|---|---|
| LSM303AGR_ACC_FS_2G | 
 Full scale ±2g.  | 
| LSM303AGR_ACC_FS_4G | 
 Full scale ±4g.  | 
| LSM303AGR_ACC_FS_8G | 
 Full scale ±8g.  | 
| LSM303AGR_ACC_FS_16G | 
 Full scale ±16g.  | 
Definition at line 418 of file lsm303agr.h.
| enum lsm303agr_acc_odr_t | 
LSM303AGR accelerometer subsystem output data rate.
Definition at line 428 of file lsm303agr.h.
| enum lsm303agr_acc_ae_t | 
LSM303AGR accelerometer subsystem axes enabling.
Definition at line 444 of file lsm303agr.h.
| enum lsm303agr_acc_mode_t | 
LSM303AGR accelerometer subsystem operation mode.
| Enumerator | |
|---|---|
| LSM303AGR_ACC_MODE_NORM | 
 Normal mode.  | 
| LSM303AGR_ACC_MODE_LPOW | 
 Low power mode.  | 
| LSM303AGR_ACC_MODE_HRES | 
 High resolution mode.  | 
Definition at line 458 of file lsm303agr.h.
| enum lsm303agr_acc_bdu_t | 
LSM303AGR accelerometer subsystem block data update.
| Enumerator | |
|---|---|
| LSM303AGR_ACC_BDU_CONT | 
 Continuous update  | 
| LSM303AGR_ACC_BDU_BLOCK | 
 Update blocked  | 
Definition at line 467 of file lsm303agr.h.
| enum lsm303agr_acc_end_t | 
LSM303AGR accelerometer endianness.
| Enumerator | |
|---|---|
| LSM303AGR_ACC_END_LITTLE | 
 Little Endian  | 
| LSM303AGR_ACC_END_BIG | 
 Big Endian  | 
Definition at line 475 of file lsm303agr.h.
| enum lsm303agr_comp_odr_t | 
LSM303AGR compass subsystem output data rate.
| Enumerator | |
|---|---|
| LSM303AGR_COMP_ODR_10HZ | 
 ODR 10 Hz  | 
| LSM303AGR_COMP_ODR_20HZ | 
 ODR 20 Hz  | 
| LSM303AGR_COMP_ODR_50HZ | 
 ODR 50 Hz  | 
| LSM303AGR_COMP_ODR_100HZ | 
 ODR 100 Hz  | 
Definition at line 487 of file lsm303agr.h.
LSM303AGR compass subsystem working mode.
| Enumerator | |
|---|---|
| LSM303AGR_COMP_MODE_NORM | 
 Continuous-Conversion Mode  | 
| LSM303AGR_COMP_MODE_SINGLE | 
 Single-Conversion Mode  | 
| LSM303AGR_COMP_MODE_IDLE | 
 Sleep Mode  | 
Definition at line 497 of file lsm303agr.h.
LSM303AGR compass subsystem working mode.
| Enumerator | |
|---|---|
| LSM303AGR_COMP_LPOW_DIS | 
 High Resolution Mode  | 
| LSM303AGR_COMP_LPOW_EN | 
 Low Power Mode  | 
Definition at line 506 of file lsm303agr.h.
| enum lsm303agr_state_t | 
Driver state machine possible states.
| Enumerator | |
|---|---|
| LSM303AGR_UNINIT | 
 Not initialized.  | 
| LSM303AGR_STOP | 
 Stopped.  | 
| LSM303AGR_READY | 
 Ready.  | 
Definition at line 518 of file lsm303agr.h.
      
  | 
  static | 
Reads registers value using I2C.
| [in] | i2cp | pointer to the I2C interface. | 
| [in] | sad | slave address without R bit. | 
| [in] | reg | first sub-register address. | 
| [in] | rxbuf | receiving buffer. | 
| [in] | n | size of rxbuf. | 
Definition at line 69 of file lsm303agr.c.
References i2cMasterTransmitTimeout(), and TIME_INFINITE.
Referenced by acc_read_raw(), acc_set_full_scale(), and comp_read_raw().

      
  | 
  static | 
Writes a value into a register using I2C.
| [in] | i2cp | pointer to the I2C interface. | 
| [in] | sad | slave address without R bit. | 
| [in] | txbuf | buffer containing sub-address value in first position and values to write. | 
| [in] | n | size of txbuf less one (not considering the first element). | 
Definition at line 89 of file lsm303agr.c.
References i2cMasterTransmitTimeout(), and TIME_INFINITE.
Referenced by acc_set_full_scale(), lsm303agrStart(), and lsm303agrStop().

      
  | 
  static | 
Return the number of axes of the BaseAccelerometer.
| [in] | ip | pointer to BaseAccelerometer interface. | 
Definition at line 104 of file lsm303agr.c.
References LSM303AGR_ACC_NUMBER_OF_AXES.
      
  | 
  static | 
Retrieves raw data from the BaseAccelerometer.
| [in] | ip | pointer to BaseAccelerometer interface.  | 
| [out] | axes | a buffer which would be filled with raw data. | 
| MSG_OK | if the function succeeded. | 
| MSG_RESET | if one or more I2C errors occurred, the errors can be retrieved using i2cGetErrors().  | 
| MSG_TIMEOUT | if a timeout occurred before operation end. | 
Definition at line 126 of file lsm303agr.c.
References I2C_READY, i2cAcquireBus(), i2cReleaseBus(), i2cStart(), LSM303AGR_ACC_NUMBER_OF_AXES, LSM303AGR_READY, LSM303AGR_SAD_ACC, lsm303agrI2CReadRegister(), MSG_OK, objGetInstance, osalDbgAssert, and osalDbgCheck.
Referenced by acc_read_cooked().

      
  | 
  static | 
Retrieves cooked data from the BaseAccelerometer.
| [in] | ip | pointer to BaseAccelerometer interface.  | 
| [out] | axes | a buffer which would be filled with cooked data. | 
| MSG_OK | if the function succeeded. | 
| MSG_RESET | if one or more I2C errors occurred, the errors can be retrieved using i2cGetErrors().  | 
| MSG_TIMEOUT | if a timeout occurred before operation end. | 
Definition at line 181 of file lsm303agr.c.
References acc_read_raw(), LSM303AGR_ACC_NUMBER_OF_AXES, LSM303AGR_READY, objGetInstance, osalDbgAssert, and osalDbgCheck.

      
  | 
  static | 
Set bias values for the BaseAccelerometer.
| [in] | ip | pointer to BaseAccelerometer interface.  | 
| [in] | bp | a buffer which contains biases. | 
| MSG_OK | if the function succeeded. | 
Definition at line 214 of file lsm303agr.c.
References LSM303AGR_ACC_NUMBER_OF_AXES, LSM303AGR_READY, MSG_OK, objGetInstance, osalDbgAssert, and osalDbgCheck.
      
  | 
  static | 
Reset bias values for the BaseAccelerometer.
| [in] | ip | pointer to BaseAccelerometer interface. | 
| MSG_OK | if the function succeeded. | 
Definition at line 243 of file lsm303agr.c.
References LSM303AGR_ACC_NUMBER_OF_AXES, LSM303AGR_READY, MSG_OK, objGetInstance, osalDbgAssert, and osalDbgCheck.
      
  | 
  static | 
Set sensitivity values for the BaseAccelerometer.
| [in] | ip | pointer to BaseAccelerometer interface.  | 
| [in] | sp | a buffer which contains sensitivities. | 
| MSG_OK | if the function succeeded. | 
Definition at line 273 of file lsm303agr.c.
References LSM303AGR_ACC_NUMBER_OF_AXES, LSM303AGR_READY, MSG_OK, objGetInstance, osalDbgAssert, and osalDbgCheck.
      
  | 
  static | 
Reset sensitivity values for the BaseAccelerometer.
| [in] | ip | pointer to BaseAccelerometer interface. | 
| MSG_OK | if the function succeeded. | 
| MSG_RESET | otherwise. | 
Definition at line 302 of file lsm303agr.c.
References FALSE, LSM303AGR_ACC_FS_16G, LSM303AGR_ACC_FS_2G, LSM303AGR_ACC_FS_4G, LSM303AGR_ACC_FS_8G, LSM303AGR_ACC_NUMBER_OF_AXES, LSM303AGR_READY, MSG_OK, MSG_RESET, objGetInstance, osalDbgAssert, and osalDbgCheck.
      
  | 
  static | 
Changes the LSM303AGRDriver accelerometer fullscale value.
| [in] | devp | pointer to LSM303AGRDriver interface.  | 
| [in] | fs | new fullscale value. | 
| MSG_OK | if the function succeeded. | 
| MSG_RESET | otherwise. | 
Definition at line 355 of file lsm303agr.c.
References I2C_READY, i2cAcquireBus(), i2cReleaseBus(), i2cStart(), LSM303AGR_ACC_FS_16G, LSM303AGR_ACC_FS_2G, LSM303AGR_ACC_FS_4G, LSM303AGR_ACC_FS_8G, LSM303AGR_ACC_NUMBER_OF_AXES, LSM303AGR_READY, LSM303AGR_SAD_ACC, lsm303agrI2CReadRegister(), lsm303agrI2CWriteRegister(), MSG_OK, MSG_RESET, osalDbgAssert, and osalDbgCheck.

      
  | 
  static | 
Return the number of axes of the BaseCompass.
| [in] | ip | pointer to BaseCompass interface | 
Definition at line 445 of file lsm303agr.c.
References LSM303AGR_COMP_NUMBER_OF_AXES, and osalDbgCheck.
      
  | 
  static | 
Retrieves raw data from the BaseCompass.
| [in] | ip | pointer to BaseCompass interface.  | 
| [out] | axes | a buffer which would be filled with raw data. | 
| MSG_OK | if the function succeeded. | 
| MSG_RESET | if one or more I2C errors occurred, the errors can be retrieved using i2cGetErrors().  | 
| MSG_TIMEOUT | if a timeout occurred before operation end. | 
Definition at line 467 of file lsm303agr.c.
References I2C_READY, i2cAcquireBus(), i2cReleaseBus(), i2cStart(), LSM303AGR_COMP_NUMBER_OF_AXES, LSM303AGR_READY, LSM303AGR_SAD_COMP, lsm303agrI2CReadRegister(), MSG_OK, objGetInstance, osalDbgAssert, and osalDbgCheck.
Referenced by comp_read_cooked().

      
  | 
  static | 
Retrieves cooked data from the BaseCompass.
| [in] | ip | pointer to BaseCompass interface.  | 
| [out] | axes | a buffer which would be filled with cooked data. | 
| MSG_OK | if the function succeeded. | 
| MSG_RESET | if one or more I2C errors occurred, the errors can be retrieved using i2cGetErrors().  | 
| MSG_TIMEOUT | if a timeout occurred before operation end. | 
Definition at line 521 of file lsm303agr.c.
References comp_read_raw(), LSM303AGR_COMP_NUMBER_OF_AXES, LSM303AGR_READY, objGetInstance, osalDbgAssert, and osalDbgCheck.

      
  | 
  static | 
Set bias values for the BaseCompass.
| [in] | ip | pointer to BaseCompass interface.  | 
| [in] | bp | a buffer which contains biases. | 
| MSG_OK | if the function succeeded. | 
Definition at line 555 of file lsm303agr.c.
References LSM303AGR_COMP_NUMBER_OF_AXES, LSM303AGR_READY, MSG_OK, objGetInstance, osalDbgAssert, and osalDbgCheck.
      
  | 
  static | 
Reset bias values for the BaseCompass.
| [in] | ip | pointer to BaseCompass interface. | 
| MSG_OK | if the function succeeded. | 
Definition at line 584 of file lsm303agr.c.
References LSM303AGR_COMP_NUMBER_OF_AXES, LSM303AGR_READY, MSG_OK, objGetInstance, osalDbgAssert, and osalDbgCheck.
      
  | 
  static | 
Set sensitivity values for the BaseCompass.
| [in] | ip | pointer to BaseCompass interface.  | 
| [in] | sp | a buffer which contains sensitivities. | 
| MSG_OK | if the function succeeded. | 
Definition at line 614 of file lsm303agr.c.
References LSM303AGR_COMP_NUMBER_OF_AXES, LSM303AGR_READY, MSG_OK, objGetInstance, osalDbgAssert, and osalDbgCheck.
      
  | 
  static | 
Reset sensitivity values for the BaseCompass.
| [in] | ip | pointer to BaseCompass interface. | 
| MSG_OK | if the function succeeded. | 
| MSG_RESET | otherwise. | 
Definition at line 643 of file lsm303agr.c.
References LSM303AGR_COMP_NUMBER_OF_AXES, LSM303AGR_READY, MSG_OK, objGetInstance, osalDbgAssert, and osalDbgCheck.
| void lsm303agrObjectInit | ( | LSM303AGRDriver * | devp | ) | 
Initializes an instance.
| [out] | devp | pointer to the LSM303AGRDriver object | 
Definition at line 690 of file lsm303agr.c.
References LSM303AGRDriver::acc_if, LSM303AGRDriver::comp_if, LSM303AGR_ACC_NUMBER_OF_AXES, LSM303AGR_COMP_NUMBER_OF_AXES, LSM303AGR_STOP, BaseAccelerometer::vmt, BaseCompass::vmt, and LSM303AGRDriver::vmt.
| void lsm303agrStart | ( | LSM303AGRDriver * | devp, | 
| const LSM303AGRConfig * | config | ||
| ) | 
Configures and activates LSM303AGR Complex Driver peripheral.
| [in] | devp | pointer to the LSM303AGRDriver object  | 
| [in] | config | pointer to the LSM303AGRConfig object | 
Definition at line 711 of file lsm303agr.c.
References I2CDriver::config, FALSE, i2cAcquireBus(), LSM303AGRConfig::i2cp, i2cReleaseBus(), i2cStart(), LSM303AGR_ACC_AE_XYZ, LSM303AGR_ACC_FS_16G, LSM303AGR_ACC_FS_2G, LSM303AGR_ACC_FS_4G, LSM303AGR_ACC_FS_8G, LSM303AGR_ACC_MODE_HRES, LSM303AGR_ACC_MODE_LPOW, LSM303AGR_ACC_NUMBER_OF_AXES, LSM303AGR_COMP_NUMBER_OF_AXES, LSM303AGR_READY, LSM303AGR_SAD_ACC, LSM303AGR_SAD_COMP, LSM303AGR_STOP, lsm303agrI2CWriteRegister(), osalDbgAssert, osalDbgCheck, and osalThreadSleepMilliseconds.

| void lsm303agrStop | ( | LSM303AGRDriver * | devp | ) | 
Deactivates the LSM303AGR Complex Driver peripheral.
| [in] | devp | pointer to the LSM303AGRDriver object | 
Definition at line 873 of file lsm303agr.c.
References i2cAcquireBus(), i2cReleaseBus(), i2cStart(), i2cStop(), LSM303AGR_ACC_AE_DISABLED, LSM303AGR_ACC_ODR_PD, LSM303AGR_COMP_MODE_IDLE, LSM303AGR_READY, LSM303AGR_SAD_ACC, LSM303AGR_SAD_COMP, LSM303AGR_STOP, lsm303agrI2CWriteRegister(), osalDbgAssert, and osalDbgCheck.
