| 
    ChibiOS 21.11.4
    
   | 
 

Version identification | |
| #define | EX_ADXL317_VERSION "1.0.0" | 
| ADXL317 driver version string.   | |
| #define | EX_ADXL317_MAJOR 1 | 
| ADXL317 driver version major number.   | |
| #define | EX_ADXL317_MINOR 0 | 
| ADXL317 driver version minor number.   | |
| #define | EX_ADXL317_PATCH 0 | 
| ADXL317 driver version patch number.   | |
| #define | ADXL317_ACC_NUMBER_OF_AXES 3U | 
| ADXL317 accelerometer subsystem characteristics.   | |
| #define | ADXL317_ACC_SENS 2.0f | 
| #define | ADXL317_ACC_BIAS 0.0f | 
ADXL317 register addresses | |
| #define | ADXL317_AD_DEVID_0 0x00 | 
| #define | ADXL317_AD_DEVID_1 0x01 | 
| #define | ADXL317_AD_USER_REG_KEY 0x80 | 
| #define | ADXL317_AD_I2C_CFGO 0x81 | 
| #define | ADXL317_AD_I2C_CFG1 0x82 | 
| #define | ADXL317_AD_CLK_RATE 0x83 | 
| #define | ADXL317_AD_X_ST 0x84 | 
| #define | ADXL317_AD_X_FILT 0x85 | 
| #define | ADXL317_AD_Y_ST 0x86 | 
| #define | ADXL317_AD_Y_FILT 0x87 | 
| #define | ADXL317_AD_Z_ST 0x88 | 
| #define | ADXL317_AD_Z_FILT 0x89 | 
| #define | ADXL317_AD_X_DATA_LO 0x8A | 
| #define | ADXL317_AD_X_DATA_HI 0x8B | 
| #define | ADXL317_AD_Y_DATA_LO 0x8C | 
| #define | ADXL317_AD_Y_DATA_HI 0x8D | 
| #define | ADXL317_AD_Z_DATA_LO 0x8E | 
| #define | ADXL317_AD_Z_DATA_HI 0x8F | 
ADXL317 Device Identifier | |
| #define | ADXL317_DEVID_0 0x22 | 
ADXL317 Device User Reg Key for Register Write Enable | |
| #define | ADXL317_USER_REG_KEY_0 0xBC | 
| #define | ADXL317_USER_REG_KEY_1 0x43 | 
ADXL317 Default filter | |
LP (CIC and IIR cascade) with cut off at 4kHz HP disabled  | |
| #define | ADXL317_DEFAULT_FILTER 0x40 | 
ADXL317_I2S_CFG0 register bits definitions | |
| #define | ADXL317_I2S_CFG0_MASK 0xF3 | 
| #define | ADXL317_I2S_CFG0_TDMMODE_0 (1 << 0) | 
| #define | ADXL317_I2S_CFG0_TDMMODE_1 (1 << 1) | 
| #define | ADXL317_I2S_CFG0_TDMSS (1 << 4) | 
| #define | ADXL317_I2S_CFG0_ALT (1 << 5) | 
| #define | ADXL317_I2S_CFG0_EARLY (1 << 6) | 
| #define | ADXL317_I2S_CFG0_INV (1 << 7) | 
ADXL317_I2S_CFG1 register bits definitions | |
| #define | ADXL317_I2S_CFG1_MASK 0x07 | 
| #define | ADXL317_I2S_CFG1_TX0EN (1 << 0) | 
| #define | ADXL317_I2S_CFG1_TX1EN (1 << 1) | 
| #define | ADXL317_I2S_CFG1_TXBCLKINV (1 << 3) | 
ADXL317_CLOCK_RATE register bits definitions | |
| #define | ADXL317_CLOCK_RATE_MASK 0x07 | 
| #define | ADXL317_CLOCK_RATE_A2B_CLK_RATE_0 (1 << 0) | 
| #define | ADXL317_CLOCK_RATE_A2B_CLK_RATE_1 (1 << 1) | 
| #define | ADXL317_CLOCK_RATE_A2B_CLK_RATE_2 (1 << 3) | 
Configuration options | |
| #define | ADXL317_USE_I2C TRUE | 
| ADXL317 I2C interface switch.   | |
| #define | ADXL317_SHARED_I2C FALSE | 
| ADXL317 shared I2C switch.   | |
| #define | ADXL317_USE_ADVANCED FALSE | 
| ADXL317 advanced configurations switch.   | |
| #define | ADXL317_MAX_BUFF_SIZE 6 | 
| ADXL317 internal maximum communication buffer sizes.   | |
Data Structures | |
| struct | adxl317_acc_lp_t | 
| ADXL317 LP filter configuration.  More... | |
| struct | adxl317_acc_hp_t | 
| ADXL317 HP filter configuration.  More... | |
| struct | ADXL317Config | 
| ADXL317 configuration structure.  More... | |
| struct | ADXL317VMT | 
ADXL317 virtual methods table.  More... | |
| struct | ADXL317Driver | 
| ADXL317 3-axis accelerometer class.  More... | |
Macros | |
| #define | adxl317AccelerometerGetAxesNumber(devp) | 
| Return the number of axes of the BaseAccelerometer.   | |
| #define | adxl317AccelerometerReadRaw(devp, axes) | 
| Retrieves raw data from the BaseAccelerometer.   | |
| #define | adxl317AccelerometerReadCooked(devp, axes) | 
| Retrieves cooked data from the BaseAccelerometer.   | |
Functions | |
| static msg_t | adxl317I2CReadRegister (ADXL317Driver *devp, uint8_t reg, uint8_t *b, size_t n) | 
| Reads a generic register value using I2C.   | |
| static msg_t | adxl317I2CWriteRegister (ADXL317Driver *devp, uint8_t reg, uint8_t *b, size_t n) | 
| Writes a value into a generic register using I2C.   | |
| static size_t | acc_get_axes_number (void *ip) | 
| Return the number of axes of the BaseAccelerometer.   | |
| static msg_t | acc_read_raw (void *ip, int32_t axes[]) | 
| Retrieves raw data from the BaseAccelerometer.   | |
| static msg_t | acc_read_cooked (void *ip, float axes[]) | 
| Retrieves cooked data from the BaseAccelerometer.   | |
| static msg_t | acc_set_bias (void *ip, float *bp) | 
| Set bias values for the BaseAccelerometer.   | |
| static msg_t | acc_reset_bias (void *ip) | 
| Reset bias values for the BaseAccelerometer.   | |
| static msg_t | acc_set_sensivity (void *ip, float *sp) | 
| Set sensitivity values for the BaseAccelerometer.   | |
| static msg_t | acc_reset_sensivity (void *ip) | 
| Reset sensitivity values for the BaseAccelerometer.   | |
| void | adxl317ObjectInit (ADXL317Driver *devp, uint8_t *txbp, uint8_t *rxbp) | 
| Initializes an instance.   | |
| msg_t | adxl317Start (ADXL317Driver *devp, const ADXL317Config *config) | 
| Configures and activates ADXL317 Complex Driver peripheral.   | |
| void | adxl317Stop (ADXL317Driver *devp) | 
| Deactivates the ADXL317 Complex Driver peripheral.   | |
Variables | |
| static const struct ADXL317VMT | vmt_device | 
| static const struct BaseAccelerometerVMT | vmt_accelerometer | 
| #define EX_ADXL317_VERSION "1.0.0" | 
| #define EX_ADXL317_MAJOR 1 | 
| #define EX_ADXL317_MINOR 0 | 
| #define EX_ADXL317_PATCH 0 | 
| #define ADXL317_ACC_NUMBER_OF_AXES 3U | 
ADXL317 accelerometer subsystem characteristics.
Definition at line 72 of file adxl317.h.
Referenced by acc_get_axes_number(), acc_read_cooked(), acc_read_raw(), acc_reset_bias(), acc_reset_sensivity(), acc_set_bias(), acc_set_sensivity(), adxl317ObjectInit(), and adxl317Start().
| #define ADXL317_ACC_SENS 2.0f | 
Definition at line 75 of file adxl317.h.
Referenced by acc_reset_sensivity(), and adxl317Start().
| #define ADXL317_ACC_BIAS 0.0f | 
Definition at line 76 of file adxl317.h.
Referenced by acc_reset_bias(), and adxl317Start().
| #define ADXL317_AD_DEVID_0 0x00 | 
Definition at line 84 of file adxl317.h.
Referenced by adxl317Start().
| #define ADXL317_AD_USER_REG_KEY 0x80 | 
Definition at line 86 of file adxl317.h.
Referenced by adxl317Start().
| #define ADXL317_AD_X_FILT 0x85 | 
Definition at line 91 of file adxl317.h.
Referenced by adxl317Start().
| #define ADXL317_AD_Y_FILT 0x87 | 
Definition at line 93 of file adxl317.h.
Referenced by adxl317Start().
| #define ADXL317_AD_Z_FILT 0x89 | 
Definition at line 95 of file adxl317.h.
Referenced by adxl317Start().
| #define ADXL317_AD_X_DATA_LO 0x8A | 
Definition at line 96 of file adxl317.h.
Referenced by acc_read_raw().
| #define ADXL317_DEVID_0 0x22 | 
Definition at line 108 of file adxl317.h.
Referenced by adxl317Start().
| #define ADXL317_USER_REG_KEY_0 0xBC | 
Definition at line 115 of file adxl317.h.
Referenced by adxl317Start().
| #define ADXL317_USER_REG_KEY_1 0x43 | 
Definition at line 116 of file adxl317.h.
Referenced by adxl317Start().
| #define ADXL317_DEFAULT_FILTER 0x40 | 
Definition at line 125 of file adxl317.h.
Referenced by adxl317Start().
| #define ADXL317_USE_I2C TRUE | 
| #define ADXL317_SHARED_I2C FALSE | 
| #define ADXL317_USE_ADVANCED FALSE | 
| #define ADXL317_MAX_BUFF_SIZE 6 | 
ADXL317 internal maximum communication buffer sizes.
Definition at line 201 of file adxl317.h.
Referenced by adxl317I2CWriteRegister().
| #define _adxl317_methods | 
| #define _adxl317_data | 
ADXL317Driver specific data. 
| #define adxl317AccelerometerGetAxesNumber | ( | devp | ) | 
Return the number of axes of the BaseAccelerometer.
| [in] | devp | pointer to ADXL317Driver. | 
| #define adxl317AccelerometerReadRaw | ( | devp, | |
| axes ) | 
Retrieves raw data from the BaseAccelerometer.
| [in] | devp | pointer to ADXL317Driver.  | 
| [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. | 
| #define adxl317AccelerometerReadCooked | ( | devp, | |
| axes ) | 
Retrieves cooked data from the BaseAccelerometer.
| [in] | devp | pointer to ADXL317Driver.  | 
| [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. | 
| typedef struct ADXL317Driver ADXL317Driver | 
| enum adxl317_sad_t | 
| enum adxl317_state_t | 
| enum adxl317_acc_x_lp_t | 
ADXL317 X LP filter.
The X LP filter is a cascade of the 2 LP filters: CIC, always enabled, and IIR, that can be disabled.
| enum adxl317_acc_y_lp_t | 
ADXL317 Y LP filter.
The Y LP filter is a cascade of the 2 LP filters: CIC, always enabled, and IIR, that can be disabled.
| enum adxl317_acc_z_lp_t | 
ADXL317 Z LP filter.
The Z LP filter is a cascade of the 2 LP filters: CIC, always enabled, and IIR, that can be disabled.
| enum adxl317_acc_x_hp_t | 
ADXL317 X HP filter.
The X HP filter is HPF filter.
| enum adxl317_acc_y_hp_t | 
ADXL317 Y HP filter.
The Y HP filter is HPF filter.
| enum adxl317_acc_z_hp_t | 
ADXL317 Z HP filter.
The Z HP filter is HPF filter.
      
  | 
  static | 
Reads a generic register value using I2C.
| [in] | devp | pointer to ADXL317Driver interface.  | 
| [in] | reg | starting register address | 
| [in] | b | pointer to an output buffer | 
| [in] | n | number of consecutive registers to read. | 
| MSG_OK | if the function succeeded. | 
| MSG_RESET | if one or more errors occurred. | 
| MSG_TIMEOUT | if a timeout occurred before operation end. | 
Definition at line 64 of file adxl317.c.
References ADXL317_SAD_GND, i2cMasterTransmitTimeout(), and TIME_INFINITE.
Referenced by acc_read_raw(), and adxl317Start().

      
  | 
  static | 
Writes a value into a generic register using I2C.
| [in] | devp | pointer to ADXL317Driver interface.  | 
| [in] | reg | starting register address | 
| [in] | b | pointer to a buffer of values | 
| [in] | n | number of adjacent registers to write. | 
| MSG_OK | if the function succeeded. | 
| MSG_RESET | if one or more errors occurred. | 
| MSG_TIMEOUT | if a timeout occurred before operation end. | 
Definition at line 86 of file adxl317.c.
References ADXL317_MAX_BUFF_SIZE, ADXL317_SAD_GND, i2cMasterTransmitTimeout(), MSG_OK, and TIME_INFINITE.
Referenced by adxl317Start().

      
  | 
  static | 
Return the number of axes of the BaseAccelerometer.
| [in] | ip | pointer to BaseAccelerometer interface. | 
Definition at line 115 of file adxl317.c.
References ADXL317_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 137 of file adxl317.c.
References ADXL317_ACC_NUMBER_OF_AXES, ADXL317_AD_X_DATA_LO, ADXL317_READY, adxl317I2CReadRegister(), 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 185 of file adxl317.c.
References acc_read_raw(), ADXL317_ACC_NUMBER_OF_AXES, ADXL317_READY, MSG_OK, 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 222 of file adxl317.c.
References ADXL317_ACC_NUMBER_OF_AXES, ADXL317_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 251 of file adxl317.c.
References ADXL317_ACC_BIAS, ADXL317_ACC_NUMBER_OF_AXES, ADXL317_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 281 of file adxl317.c.
References ADXL317_ACC_NUMBER_OF_AXES, ADXL317_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 310 of file adxl317.c.
References ADXL317_ACC_NUMBER_OF_AXES, ADXL317_ACC_SENS, ADXL317_READY, MSG_OK, objGetInstance, osalDbgAssert, and osalDbgCheck.
| void adxl317ObjectInit | ( | ADXL317Driver * | devp, | 
| uint8_t * | txbp, | ||
| uint8_t * | rxbp ) | 
Initializes an instance.
The buffer should be at least large ADXL317_COMM_BUFF_SIZE. 
| [out] | devp | pointer to the ADXL317Driver object  | 
| [in] | txbp | pointer to a buffer used as communication tx buffer | 
| [in] | rxbp | pointer to a buffer used as communication rx buffer | 
Definition at line 353 of file adxl317.c.
References ADXL317Driver::acc_if, ADXL317_ACC_NUMBER_OF_AXES, ADXL317_STOP, ADXL317Driver::vmt, BaseAccelerometer::vmt, vmt_accelerometer, and vmt_device.
| msg_t adxl317Start | ( | ADXL317Driver * | devp, | 
| const ADXL317Config * | config ) | 
Configures and activates ADXL317 Complex Driver peripheral.
| [in] | devp | pointer to the ADXL317Driver object  | 
| [in] | config | pointer to the ADXL317Config object | 
Definition at line 374 of file adxl317.c.
References ADXL317_ACC_BIAS, ADXL317_ACC_NUMBER_OF_AXES, ADXL317_ACC_SENS, ADXL317_AD_DEVID_0, ADXL317_AD_USER_REG_KEY, ADXL317_AD_X_FILT, ADXL317_AD_Y_FILT, ADXL317_AD_Z_FILT, ADXL317_DEFAULT_FILTER, ADXL317_DEVID_0, ADXL317_READY, ADXL317_STOP, ADXL317_USER_REG_KEY_0, ADXL317_USER_REG_KEY_1, adxl317I2CReadRegister(), adxl317I2CWriteRegister(), i2cStart(), MSG_OK, osalDbgAssert, osalDbgCheck, and osalThreadSleepMilliseconds.

| void adxl317Stop | ( | ADXL317Driver * | devp | ) | 
Deactivates the ADXL317 Complex Driver peripheral.
| [in] | devp | pointer to the ADXL317Driver object | 
Definition at line 474 of file adxl317.c.
References ADXL317_READY, ADXL317_STOP, i2cStop(), osalDbgAssert, and osalDbgCheck.

      
  | 
  static | 
Definition at line 328 of file adxl317.c.
Referenced by adxl317ObjectInit(), adxl355ObjectInit(), hts221ObjectInit(), l3gd20ObjectInit(), lis302dlObjectInit(), lis3dshObjectInit(), lis3mdlObjectInit(), lps22hbObjectInit(), lps25hObjectInit(), lsm303agrObjectInit(), lsm303dlhcObjectInit(), lsm6ds0ObjectInit(), and lsm6dslObjectInit().
      
  | 
  static | 
Definition at line 332 of file adxl317.c.
Referenced by adxl317ObjectInit(), adxl355ObjectInit(), lis302dlObjectInit(), lis3dshObjectInit(), lsm303agrObjectInit(), lsm303dlhcObjectInit(), lsm6ds0ObjectInit(), and lsm6dslObjectInit().