| 
    ChibiOS 21.11.4
    
   | 
 

Version identification | |
| #define | EX_ADXL355_VERSION "1.1.0" | 
| ADXL355 driver version string.   | |
| #define | EX_ADXL355_MAJOR 1 | 
| ADXL355 driver version major number.   | |
| #define | EX_ADXL355_MINOR 1 | 
| ADXL355 driver version minor number.   | |
| #define | EX_ADXL355_PATCH 0 | 
| ADXL355 driver version patch number.   | |
| #define | ADXL355_ACC_NUMBER_OF_AXES 3U | 
| ADXL355 accelerometer subsystem characteristics.   | |
| #define | ADXL355_ACC_2G 2.048f | 
| #define | ADXL355_ACC_4G 4.096f | 
| #define | ADXL355_ACC_8G 8.0192f | 
| #define | ADXL355_ACC_SENS_2G 0.003906f | 
| #define | ADXL355_ACC_SENS_4G 0.007813f | 
| #define | ADXL355_ACC_SENS_8G 0.015625f | 
| #define | ADXL355_ACC_BIAS 0.0f | 
ADXL355 communication interfaces related bit masks | |
| #define | ADXL355_DI_MASK 0xFF | 
| #define | ADXL355_DI(n) | 
| #define | ADXL355_AD_MASK 0xFE | 
| #define | ADXL355_RW (1 << 0) | 
| #define | ADXL355_AD(n) | 
ADXL355 Device Identifier | |
| #define | ADXL355_DEVID_MST 0x1D | 
ADXL355_FILTER register bits definitions | |
| #define | ADXL355_FILTER_MASK 0x7F | 
| #define | ADXL355_FILTER_ORD_LPF_0 (1 << 0) | 
| #define | ADXL355_FILTER_ORD_LPF_1 (1 << 1) | 
| #define | ADXL355_FILTER_ORD_LPF_2 (1 << 2) | 
| #define | ADXL355_FILTER_ORD_LPF_3 (1 << 3) | 
| #define | ADXL355_FILTER_HPF_CORNER_0 (1 << 4) | 
| #define | ADXL355_FILTER_HPF_CORNER_1 (1 << 5) | 
| #define | ADXL355_FILTER_HPF_CORNER_2 (1 << 6) | 
ADXL355_FIFO_SAMPLES register bits definitions | |
| #define | ADXL355_FIFO_SAMPLES_MASK 0x7F | 
| #define | ADXL355_FIFO_SAMPLES_BIT_0 (1 << 0) | 
| #define | ADXL355_FIFO_SAMPLES_BIT_1 (1 << 1) | 
| #define | ADXL355_FIFO_SAMPLES_BIT_2 (1 << 2) | 
| #define | ADXL355_FIFO_SAMPLES_BIT_3 (1 << 3) | 
| #define | ADXL355_FIFO_SAMPLES_BIT_4 (1 << 4) | 
| #define | ADXL355_FIFO_SAMPLES_BIT_5 (1 << 5) | 
| #define | ADXL355_FIFO_SAMPLES_BIT_6 (1 << 6) | 
ADXL355_INT_MAP register bits definitions | |
| #define | ADXL355_INT_MAP_MASK 0xFF | 
| #define | ADXL355_INT_MAP_RDY_EN1 (1 << 0) | 
| #define | ADXL355_INT_MAP_FULL_EN1 (1 << 1) | 
| #define | ADXL355_INT_MAP_OVR_EN1 (1 << 2) | 
| #define | ADXL355_INT_MAP_ACT_EN1 (1 << 3) | 
| #define | ADXL355_INT_MAP_RDY_EN2 (1 << 4) | 
| #define | ADXL355_INT_MAP_FULL_EN2 (1 << 5) | 
| #define | ADXL355_INT_MAP_OVR_EN2 (1 << 6) | 
| #define | ADXL355_INT_MAP_ACT_EN2 (1 << 7) | 
ADXL355_SYNC register bits definitions | |
| #define | ADXL355_SYNC_MASK 0x07 | 
| #define | ADXL355_SYNC_EXT_SYNC_0 (1 << 0) | 
| #define | ADXL355_SYNC_EXT_SYNC_1 (1 << 1) | 
| #define | ADXL355_SYNC_EXT_CLK (1 << 2) | 
ADXL355_RANGE register bits definitions | |
| #define | ADXL355_RANGE_MASK 0xC3 | 
| #define | ADXL355_RANGE_RANGE_MASK 0x03 | 
| #define | ADXL355_RANGE_RANGE_1 (1 << 1) | 
| #define | ADXL355_RANGE_RANGE_1 (1 << 1) | 
| #define | ADXL355_RANGE_RANGE_0 (1 << 0) | 
| #define | ADXL355_RANGE_INT_POL (1 << 6) | 
| #define | ADXL355_RANGE_I2C_HS (1 << 7) | 
ADXL355_POWER_CTL register bits definitions | |
| #define | ADXL355_POWER_CTL_MASK 0x07 | 
| #define | ADXL355_POWER_CTL_STANDBY (1 << 0) | 
| #define | ADXL355_POWER_CTL_TEMP_OFF (1 << 1) | 
| #define | ADXL355_POWER_CTL_DRDY_OFF (1 << 2) | 
ADXL355_SELT_TEST register bits definitions | |
| #define | ADXL355_SELF_TEST_MASK 0x03 | 
| #define | ADXL355_SELF_TEST_ST1 (1 << 0) | 
| #define | ADXL355_SELF_TEST_ST2 (1 << 1) | 
Configuration options | |
| #define | ADXL355_USE_SPI TRUE | 
| ADXL355 SPI interface switch.   | |
| #define | ADXL355_SHARED_SPI FALSE | 
| ADXL355 shared SPI switch.   | |
| #define | ADXL355_USE_I2C FALSE | 
| ADXL355 I2C interface switch.   | |
| #define | ADXL355_SHARED_I2C FALSE | 
| ADXL355 shared I2C switch.   | |
| #define | ADXL355_USE_ADVANCED FALSE | 
| ADXL355 advanced configurations switch.   | |
| #define | ADXL355_COMM_BUFF_SIZE 32 | 
| ADXL355 internal communication buffer sizes.   | |
Data Structures | |
| struct | ADXL355Config | 
| ADXL355 configuration structure.  More... | |
| struct | ADXL355VMT | 
ADXL355 virtual methods table.  More... | |
| struct | ADXL355Driver | 
| ADXL355 3-axis accelerometer class.  More... | |
Macros | |
| #define | adxl355AccelerometerGetAxesNumber(devp) | 
| Return the number of axes of the BaseAccelerometer.   | |
| #define | adxl355AccelerometerReadRaw(devp, axes) | 
| Retrieves raw data from the BaseAccelerometer.   | |
| #define | adxl355AccelerometerReadCooked(devp, axes) | 
| Retrieves cooked data from the BaseAccelerometer.   | |
| #define | adxl355AccelerometerSetBias(devp, bp) | 
| Set bias values for the BaseAccelerometer.   | |
| #define | adxl355AccelerometerResetBias(devp) | 
| Reset bias values for the BaseAccelerometer.   | |
| #define | adxl355AccelerometerSetSensitivity(devp, sp) | 
| Set sensitivity values for the BaseAccelerometer.   | |
| #define | adxl355AccelerometerResetSensitivity(devp) | 
| Reset sensitivity values for the BaseAccelerometer.   | |
| #define | adxl355AccelerometerSetFullScale(devp, fs) | 
| Changes the ADXL355Driver accelerometer fullscale value.   | |
Functions | |
| 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.   | |
| static msg_t | acc_set_full_scale (ADXL355Driver *devp, adxl355_acc_fs_t fs) | 
| Changes the ADXL355Driver accelerometer fullscale value.   | |
| void | adxl355SPIReadRegister (ADXL355Driver *devp, uint8_t reg, size_t n, uint8_t *b) | 
| Reads a generic register value using SPI.   | |
| void | adxl355SPIWriteRegister (ADXL355Driver *devp, uint8_t reg, size_t n, uint8_t *b) | 
| Writes a value into a generic register using SPI.   | |
| void | adxl355ObjectInit (ADXL355Driver *devp, uint8_t *txbp, uint8_t *rxbp) | 
| Initializes an instance.   | |
| void | adxl355Start (ADXL355Driver *devp, const ADXL355Config *config) | 
| Configures and activates ADXL355 Complex Driver peripheral.   | |
| void | adxl355Stop (ADXL355Driver *devp) | 
| Deactivates the ADXL355 Complex Driver peripheral.   | |
Variables | |
| static const struct ADXL355VMT | vmt_device | 
| static const struct BaseAccelerometerVMT | vmt_accelerometer | 
| #define EX_ADXL355_VERSION "1.1.0" | 
| #define EX_ADXL355_MAJOR 1 | 
| #define EX_ADXL355_MINOR 1 | 
| #define EX_ADXL355_PATCH 0 | 
| #define ADXL355_ACC_NUMBER_OF_AXES 3U | 
ADXL355 accelerometer subsystem characteristics.
Definition at line 72 of file adxl355.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(), adxl355ObjectInit(), and adxl355Start().
| #define ADXL355_ACC_2G 2.048f | 
Definition at line 74 of file adxl355.h.
Referenced by acc_set_full_scale(), and adxl355Start().
| #define ADXL355_ACC_4G 4.096f | 
Definition at line 75 of file adxl355.h.
Referenced by acc_set_full_scale(), and adxl355Start().
| #define ADXL355_ACC_8G 8.0192f | 
Definition at line 76 of file adxl355.h.
Referenced by acc_set_full_scale(), and adxl355Start().
| #define ADXL355_ACC_SENS_2G 0.003906f | 
Definition at line 78 of file adxl355.h.
Referenced by acc_reset_sensivity(), and adxl355Start().
| #define ADXL355_ACC_SENS_4G 0.007813f | 
Definition at line 79 of file adxl355.h.
Referenced by acc_reset_sensivity(), and adxl355Start().
| #define ADXL355_ACC_SENS_8G 0.015625f | 
Definition at line 80 of file adxl355.h.
Referenced by acc_reset_sensivity(), and adxl355Start().
| #define ADXL355_ACC_BIAS 0.0f | 
Definition at line 82 of file adxl355.h.
Referenced by acc_reset_bias(), and adxl355Start().
| #define ADXL355_RW (1 << 0) | 
Definition at line 92 of file adxl355.h.
Referenced by adxl355SPIReadRegister().
| #define ADXL355_AD_DEVID_MST 0x01 | 
Definition at line 101 of file adxl355.h.
Referenced by adxl355Start().
| #define ADXL355_AD_XDATA3 0x08 | 
Definition at line 108 of file adxl355.h.
Referenced by acc_read_raw().
| #define ADXL355_AD_FILTER 0x28 | 
Definition at line 128 of file adxl355.h.
Referenced by adxl355Start().
| #define ADXL355_AD_RANGE 0x2C | 
Definition at line 132 of file adxl355.h.
Referenced by acc_set_full_scale(), and adxl355Start().
| #define ADXL355_AD_POWER_CTL 0x2D | 
Definition at line 133 of file adxl355.h.
Referenced by adxl355Start(), and adxl355Stop().
| #define ADXL355_DEVID_MST 0x1D | 
Definition at line 142 of file adxl355.h.
Referenced by adxl355Start().
| #define ADXL355_RANGE_RANGE_MASK 0x03 | 
Definition at line 203 of file adxl355.h.
Referenced by acc_set_full_scale().
| #define ADXL355_RANGE_I2C_HS (1 << 7) | 
Definition at line 208 of file adxl355.h.
Referenced by adxl355Start().
| #define ADXL355_USE_SPI TRUE | 
| #define ADXL355_SHARED_SPI FALSE | 
| #define ADXL355_USE_I2C FALSE | 
| #define ADXL355_SHARED_I2C FALSE | 
| #define ADXL355_USE_ADVANCED FALSE | 
| #define ADXL355_COMM_BUFF_SIZE 32 | 
ADXL355 internal communication buffer sizes.
Definition at line 289 of file adxl355.h.
Referenced by adxl355SPIReadRegister(), and adxl355SPIWriteRegister().
| #define _adxl355_methods_alone | 
ADXL355 specific methods. 
| #define _adxl355_methods | 
| #define _adxl355_data | 
ADXL355Driver specific data. 
| #define adxl355AccelerometerGetAxesNumber | ( | devp | ) | 
Return the number of axes of the BaseAccelerometer.
| [in] | devp | pointer to ADXL355Driver. | 
| #define adxl355AccelerometerReadRaw | ( | devp, | |
| axes ) | 
Retrieves raw data from the BaseAccelerometer.
| [in] | devp | pointer to ADXL355Driver.  | 
| [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 adxl355AccelerometerReadCooked | ( | devp, | |
| axes ) | 
Retrieves cooked data from the BaseAccelerometer.
| [in] | devp | pointer to ADXL355Driver.  | 
| [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. | 
| #define adxl355AccelerometerSetBias | ( | devp, | |
| bp ) | 
Set bias values for the BaseAccelerometer.
| [in] | devp | pointer to ADXL355Driver.  | 
| [in] | bp | a buffer which contains biases. | 
| MSG_OK | if the function succeeded. | 
| #define adxl355AccelerometerResetBias | ( | devp | ) | 
Reset bias values for the BaseAccelerometer.
| [in] | devp | pointer to ADXL355Driver. | 
| MSG_OK | if the function succeeded. | 
| #define adxl355AccelerometerSetSensitivity | ( | devp, | |
| sp ) | 
Set sensitivity values for the BaseAccelerometer.
| [in] | devp | pointer to ADXL355Driver.  | 
| [in] | sp | a buffer which contains sensitivities. | 
| MSG_OK | if the function succeeded. | 
| #define adxl355AccelerometerResetSensitivity | ( | devp | ) | 
Reset sensitivity values for the BaseAccelerometer.
| [in] | devp | pointer to ADXL355Driver. | 
| MSG_OK | if the function succeeded. | 
| MSG_RESET | otherwise. | 
| #define adxl355AccelerometerSetFullScale | ( | devp, | |
| fs ) | 
Changes the ADXL355Driver accelerometer fullscale value.
| [in] | devp | pointer to ADXL355Driver.  | 
| [in] | fs | new fullscale value. | 
| MSG_OK | if the function succeeded. | 
| MSG_RESET | otherwise. | 
| typedef struct ADXL355Driver ADXL355Driver | 
| enum adxl355_acc_fs_t | 
| enum adxl355_acc_odr_t | 
ADXL355 output data rate.
| enum adxl355_acc_hp_t | 
ADXL355 HP filter.
| enum adxl355_state_t | 
      
  | 
  static | 
Return the number of axes of the BaseAccelerometer.
| [in] | ip | pointer to BaseAccelerometer interface. | 
Definition at line 57 of file adxl355.c.
References ADXL355_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 79 of file adxl355.c.
References ADXL355_ACC_NUMBER_OF_AXES, ADXL355_AD_XDATA3, ADXL355_READY, adxl355SPIReadRegister(), MSG_OK, objGetInstance, osalDbgAssert, osalDbgCheck, SPI_READY, spiAcquireBus(), spiReleaseBus(), and spiStart().
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 137 of file adxl355.c.
References acc_read_raw(), ADXL355_ACC_NUMBER_OF_AXES, ADXL355_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 170 of file adxl355.c.
References ADXL355_ACC_NUMBER_OF_AXES, ADXL355_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 199 of file adxl355.c.
References ADXL355_ACC_BIAS, ADXL355_ACC_NUMBER_OF_AXES, ADXL355_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 229 of file adxl355.c.
References ADXL355_ACC_NUMBER_OF_AXES, ADXL355_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 258 of file adxl355.c.
References ADXL355_ACC_FS_2G, ADXL355_ACC_FS_4G, ADXL355_ACC_FS_8G, ADXL355_ACC_NUMBER_OF_AXES, ADXL355_ACC_SENS_2G, ADXL355_ACC_SENS_4G, ADXL355_ACC_SENS_8G, ADXL355_READY, FALSE, MSG_OK, MSG_RESET, objGetInstance, osalDbgAssert, and osalDbgCheck.
      
  | 
  static | 
Changes the ADXL355Driver accelerometer fullscale value.
| [in] | devp | pointer to ADXL355Driver interface.  | 
| [in] | fs | new fullscale value. | 
| MSG_OK | if the function succeeded. | 
| MSG_RESET | otherwise. | 
Definition at line 301 of file adxl355.c.
References ADXL355_ACC_2G, ADXL355_ACC_4G, ADXL355_ACC_8G, ADXL355_ACC_FS_2G, ADXL355_ACC_FS_4G, ADXL355_ACC_FS_8G, ADXL355_ACC_NUMBER_OF_AXES, ADXL355_AD_RANGE, ADXL355_RANGE_RANGE_MASK, ADXL355_READY, adxl355SPIReadRegister(), adxl355SPIWriteRegister(), MSG_OK, MSG_RESET, osalDbgAssert, osalDbgCheck, SPI_READY, spiAcquireBus(), spiReleaseBus(), and spiStart().

| void adxl355SPIReadRegister | ( | ADXL355Driver * | devp, | 
| uint8_t | reg, | ||
| size_t | n, | ||
| uint8_t * | b ) | 
Reads a generic register value using SPI.
| [in] | devp | pointer to ADXL355Driver interface.  | 
| [in] | reg | starting register address | 
| [in] | n | number of consecutive registers to read | 
| [in] | b | pointer to an output buffer. | 
Definition at line 403 of file adxl355.c.
References ADXL355_COMM_BUFF_SIZE, ADXL355_RW, osalDbgCheck, spiReceive(), spiSelect(), spiSend(), and spiUnselect().
Referenced by acc_read_raw(), acc_set_full_scale(), and adxl355Start().

| void adxl355SPIWriteRegister | ( | ADXL355Driver * | devp, | 
| uint8_t | reg, | ||
| size_t | n, | ||
| uint8_t * | b ) | 
Writes a value into a generic register using SPI.
| [in] | devp | pointer to ADXL355Driver interface.  | 
| [in] | reg | starting register address | 
| [in] | n | number of adjacent registers to write | 
| [in] | b | pointer to a buffer of values. | 
Definition at line 432 of file adxl355.c.
References ADXL355_COMM_BUFF_SIZE, osalDbgCheck, spiSelect(), spiSend(), and spiUnselect().
Referenced by acc_set_full_scale(), adxl355Start(), and adxl355Stop().

| void adxl355ObjectInit | ( | ADXL355Driver * | devp, | 
| uint8_t * | txbp, | ||
| uint8_t * | rxbp ) | 
Initializes an instance.
The buffer should be at least large ADXL355_COMM_BUFF_SIZE. 
| [out] | devp | pointer to the ADXL355Driver 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 463 of file adxl355.c.
References ADXL355Driver::acc_if, ADXL355_ACC_NUMBER_OF_AXES, ADXL355_STOP, ADXL355Driver::vmt, BaseAccelerometer::vmt, vmt_accelerometer, and vmt_device.
| void adxl355Start | ( | ADXL355Driver * | devp, | 
| const ADXL355Config * | config ) | 
Configures and activates ADXL355 Complex Driver peripheral.
| [in] | devp | pointer to the ADXL355Driver object  | 
| [in] | config | pointer to the ADXL355Config object | 
Definition at line 484 of file adxl355.c.
References ADXL355_ACC_2G, ADXL355_ACC_4G, ADXL355_ACC_8G, ADXL355_ACC_BIAS, ADXL355_ACC_FS_2G, ADXL355_ACC_FS_4G, ADXL355_ACC_FS_8G, ADXL355_ACC_NUMBER_OF_AXES, ADXL355_ACC_SENS_2G, ADXL355_ACC_SENS_4G, ADXL355_ACC_SENS_8G, ADXL355_AD_DEVID_MST, ADXL355_AD_FILTER, ADXL355_AD_POWER_CTL, ADXL355_AD_RANGE, ADXL355_DEVID_MST, ADXL355_RANGE_I2C_HS, ADXL355_READY, ADXL355_STOP, adxl355SPIReadRegister(), adxl355SPIWriteRegister(), FALSE, osalDbgAssert, osalDbgCheck, osalThreadSleepMilliseconds, spiAcquireBus(), spiReleaseBus(), and spiStart().

| void adxl355Stop | ( | ADXL355Driver * | devp | ) | 
Deactivates the ADXL355 Complex Driver peripheral.
| [in] | devp | pointer to the ADXL355Driver object | 
Definition at line 618 of file adxl355.c.
References ADXL355_AD_POWER_CTL, ADXL355_READY, ADXL355_STOP, adxl355SPIWriteRegister(), osalDbgAssert, osalDbgCheck, spiAcquireBus(), spiReleaseBus(), spiStart(), and spiStop().

      
  | 
  static | 
      
  | 
  static |