Wiki

This version is outdated by a newer approved version.DiffThis version (13 Feb 2018 10:52) is a draft.
Approvals: 0/1

This is an old revision of the document!


ADXL372 - No-OS Driver

Supported Devices

Evaluation Boards

Overview

The ADXL372 is an ultralow power, 3-axis, ±200 g MEMS accelerometer that consumes 22 μA at a 3200 Hz output data rate (ODR). The ADXL372does not power cycle its front end to achieve its low power operation and therefore does not run the risk of aliasing the output of the sensor.

The ADXL372 provides 12-bit output data at 100 mg/LSB scale factor. The user can access configuration and data registers via the serial peripheral interface (SPI) or limited I2C protocol. The ADXL372 operates over a wide supply voltage range and is available in a 3 mm × 3.25 mm × 1.06 mm package.

In addition to its ultralow power consumption, the ADXL372 has many features to enable impact detection while providing system level power reduction. The device includes a deep multimode output first in, first out (FIFO), several activity detection modes, and a method for capturing only the peak acceleration of over threshold events.

The ADXL372 operates on a wide 1.6 V to 3.5 V supply range. ADXL372 is available in a 3 mm × 3.25 mm × 1.06 mm package.

Applications

  • Impact and shock detection
  • Asset health assessment
  • Portable Internet of Things (IoT) edge nodes
  • Concussion and head trauma detection

No-OS Driver Description

Functions Declarations

Function Description
int32_t adxl372_init(adxl372_dev **device, adxl372_init_param init_param)
Initialize the device.
int32_t adxl372_get_accel_data(adxl372_dev *dev, adxl372_xyz_accel_data *accel_data)
Retrieve 3-axis acceleration data.
int32_t adxl372_get_highest_peak_data(adxl372_dev *dev, adxl372_xyz_accel_data *max_peak)
Retrieve the highest magnitude (x, y, z) sample recorded since the last read of the MAXPEAK registers.
int32_t adxl372_get_fifo_xyz_data(adxl372_dev *dev, adxl372_xyz_accel_data *samples, uint16_t cnt)
Get the data stored in FIFO.
int32_t adxl_service_fifo_ev(adxl372_dev *dev, adxl372_xyz_accel_data *fifo_data, uint16_t *fifo_entries)
Retrieve data stored in FIFO. Can be used in polling mode, but works best when interrupts are used.
int32_t adxl372_configure_fifo(adxl372_dev *dev, adxl372_fifo_mode mode, adxl372_fifo_format format, uint16_t fifo_samples)
Configure the operating parameters for the FIFO.
int32_t adxl372_reset(adxl372_dev *dev)
Software reset.
int32_t adxl372_get_status(adxl372_dev *dev, uint8_t *status1, uint8_t *status2, uint16_t *fifo_entries)
Get the STATUS, STATUS2, FIFO_ENTRIES and FIFO_ENTRIES2 registers data.
resources/tools-software/uc-drivers/adxl372.1518515574.txt.gz · Last modified: 13 Feb 2018 10:52 by Stefan Popa