ADXL345

This is an overview of the ADXL345 and the OSS-ECAL offering for the ADXL345. The ADXL345 is a 3-axis acceleration sensor for industrial use manufactured by Analog Devices.
MCU interface : I2C, SPI

CAUTION:Please be sure to refer to the latest version of the Datasheet prior to actual design.

ADXL345

Overview

The ADXL345 is a small, thin, ultralow power, 3-axis accelerometer with high resolution (13-bit) measurement at up to ±16 g. Digital output data is formatted as 16-bit twos complement and is accessible through either a SPI (3- or 4-wire) or I2C digital interface.

The ADXL345 is well suited for mobile device applications. It measures the static acceleration of gravity in tilt-sensing applications, as well as dynamic acceleration resulting from motion or shock. Its high resolution (3.9 mg/LSB) enables measurement of inclination changes less than 1.0°.

Several special sensing functions are provided. Activity and inactivity sensing detect the presence or lack of motion by comparing the acceleration on any axis with user-set thresholds. Tap sensing detects single and double taps in any direction. Free-fall sensing detects if the device is falling. These functions can be mapped individually to either of two interrupt output pins. An integrated memory management system with a 32-level first in, first out (FIFO) buffer can be used to store data to minimize host processor activity and lower overall system power consumption.

Low power modes enable intelligent motion-based power management with threshold sensing and active acceleration measurement at extremely low power dissipation.

The ADXL345 is supplied in a small, thin, 3 mm × 5 mm × 1 mm, 14-lead, plastic package.

The ADXL345-EP supports defense and aerospace applications (AQEC).

Feature

  • Ultralow power: as low as 23 μA in measurement mode and 0.1 μA in standby mode at VS = 2.5 V (typical)
  • Power consumption scales automatically with bandwidth
  • User-selectable resolution
    Fixed 10-bit resolution
    Full resolution, where resolution increases with g range, up to 13bit
    resolution at ±16 g (maintaining 4 mg/LSB scale factor in all g ranges)
  • Embedded memory management system with FIFO technology minimizes host processor load
  • Single tap/double tap detection
  • Activity/inactivity monitoring
  • Free-fall detection
  • Supply voltage range: 2.0 V to 3.6 V
  • I/O voltage range: 1.7 V to VS
  • SPI (3- and 4-wire) and I2C digital interfaces
  • Flexible interrupt modes mappable to either interrupt pin
  • Measurement ranges selectable via serial command
  • Bandwidth selectable via serial command
  • Wide temperature range (−40°C to +85°C)
  • 10,000 g shock survival
  • Pb free/RoHS compliant
  • Small and thin: 3 mm × 5 mm × 1 mm LGA package

Application

  • Handsets
  • Medical instrumentation

OSS-ECAL specification

API Function

OSS-ECAL API functions are basically assumed to be function calls from a periodic Thread (TASK).

etSTS oADXL345_INIT ( void )

The oADXL345_INIT function is a function to perform the following initial settings of ADXL345 and shift to the measurement mode. Please set the register initial values in user_setting.h in the table below.

– Step1 Data Format Setting
– Step2 Data rate and power mode control Setting
– Step3 Offset-X, Offset-Y, Offset-Z compensation Setting
– Step4 Activity Detection Setting
– Step5 Inactivity Detection Setting
– Step6 Single Tap Setting
– Step7 Double Tap Setting
– Step8 Free-Fall Setting
– Step9 FIFO Setting Setting
– Step10 Interrupt Enable and Mapping Setting
– Step11 Measurement Mode Enable

Label NameRegisterTemporary initial value
DATA_FORMAT_INIDATA_FORMATbit7: SELF_TEST_EN = 0
bit6: SPI_MODE = 0
bit5: INT_INVERT = 0
bit4: RESERVED_BIT = 0
bit3: FULL_RES = 1
bit2: JUSTIFY_MODE = 0
bit1: RANGE_SEL1 = 1
bit0: RANGE_SEL0 = 0
BW_RATE_INIBW_RATEbit4: LOW_POWER_EN = 0
bit3: RATE_SEL3 = 1
bit2: RATE_SEL2 = 0
bit1: RATE_SEL1 = 1
bit0: RATE_SEL0 = 0
OFSX_INIOFSX [15.6 mg/LSB]0.0
OFSY_INIOFSY [15.6 mg/LSB]0.0
OFSZ_INIOFSZ [15.6 mg/LSB]0.0
THRESH_ACT_INITHRESH_ACT [62.5 mg/LSB]0.5
ACT_INACT_CTL_INIACT_INACT_CTLbit7: ACT_MODE = 0
bit6: ACT_X_EN = 1
bit5: ACT_Y_EN = 1
bit4: ACT_Z_EN = 1
bit3: INACT_MODE = 0
bit2: INACT_X_EN = 1
bit1: INACT_Y_EN = 1
bit0: INACT_Z_EN = 1
THRESH_INACT_INITHRESH_INACT [62.5 mg/LSB]0.2
TIME_INACT_INITIME_INACT [1 sec/LSB]5.0
THRESH_TAP_INITHRESH_TAP [62.5 mg/LSB]1.5
DUR_INIDUR [625 us/LSB]10.0
TAP_AXES_INITAP_AXESbit3: SUPPRESS_EN = 0
bit2: TAP_X_EN = 1
bit1: TAP_Y_EN = 1
bit0: TAP_Z_EN = 1
Latent_INILatent [1.25 ms/LSB]20.0
Window_INIWindow [1.25 ms/LSB]80.0
THRESH_FF_INITHRESH_FF [62.5 mg/LSB]0.375
TIME_FF_INITIME_FF [5 ms/LSB]300.0
FIFO_MODEFIFO_CTL bit7-bit6
Select from the following values
iFIFO_BYPASS, iFIFO_FIFO, iFIFO_STREAM, iFIFO_TRIGGER
iFIFO_STREAM
FIFO_TRIGGERFIFO_CTL bit50
FIFO_SAMPLEFIFO_CTL bit4-bit016
INT_ENABLE_INIINT_ENABLEbit7: DATA_READY_EN = 1
bit6: SINGLE_TAP_EN = 0
bit5: DOUBLE_TAP_EN = 0
bit4: Activity_EN = 0
bit3: Inactivity_EN = 0
bit2: FREE_FALL_EN = 0
bit1: WATER_MARK_EN = 1
bit0: OVER_RUN_EN = 0
INT_MAP_INIINT_MAPbit7: DATA_READY_INT = 0
bit6: SINGLE_TAP_INT = 0
bit5: DOUBLE_TAP_INT = 0
bit4: Activity_INT = 0
bit3: Inactivity_INT = 0
bit2: FREE_FALL_INT = 0
bit1: WATER_MARK_INT = 0
bit0: OVER_RUN_INT = 0
MEASURE_MODEPOWER_CTL
Select from the following values
iMEASURE, iSLEEP, iAUTO_SLEEP, iSTANDBY
iMEASURE
WAKEUP_FREQPOWER_CTL
Select from the following values
1 = 1 Hz, 2 = 2 Hz, 4 = 4 Hz, 8 = 8 Hz
8
Return valueetSTSOSS-ECAL status code
eSTS_FINCompleted successfully
eSTS_ERR_I2C_OBJECTI2C object selection error
eSTS_ERR_HAL_OTHERS_RUNOther application is running HAL
eSTS_ERR_HAL_I2CHAL I2C error
eSTS_ERR_PARAMETERIf the following values are out of range.
-2.0 g ≦ OFSX_INI ≦ 2.0 g
-2.0 g ≦ OFSY_INI ≦ 2.0 g
-2.0 g ≦ OFSZ_INI ≦ 2.0 g
0.0 g ≦ THRESH_ACT_INI ≦ 16 g
0.0 g ≦ THRESH_INACT_INI ≦ 16 g
0 sec ≦ TIME_INACT_INI ≦ 255 sec
0.0 g ≦ THRESH_TAP_INI ≦ 16 g
0 ms ≦ DUR_INI ≦ 159.375 ms
0 ms ≦ Latent_INI ≦ 318.75 ms
0 ms ≦ Window_INI ≦ 318.75 ms
0.0 g ≦ THRESH_FF_INI ≦ 16 g
0 ms ≦ TIME_FF_INI ≦ 1275 ms
1 ≦ FIFO_SAMPLE ≦ 31

FIFO_MODE value other than iFIFO_BYPASS, iFIFO_FIFO, iFIFO_STREAM, or iFIFO_TRIGGER.

MEASURE_MODE value other than iMEASURE, iSLEEP, iAUTO_SLEEP, or iSTANDBY.

WAKEUP_FREQ value other than 1, 2, 4, or 8.
etSTS oADXL345_WRITE_ACT( float32 thresh_act_g, uint8 act_ctl )

The oADXL345_WRITE_ACT function is an API function that sets the threshold and action to detect the active state of the ADXL345 accelerometer.

Return valueetSTSOSS-ECAL status code
eSTS_FINCompleted successfully
eSTS_ERR_I2C_OBJECTI2C object selection error
eSTS_ERR_HAL_OTHERS_RUNOther application is running HAL
eSTS_ERR_HAL_I2CHAL I2C error
eSTS_ERR_PARAMETERIf the following values are out of range.
0.0 g ≦ thresh_act_g ≦ 16 g
Parameter INfloat32 thresh_act_gRegister THRESH_ACT set value[62.5 mg/LSB]
uint8 act_ctlRegister ACT_INACT_CTL set valuebit7 ACT ac/dc
bit6 ACT_X enable
bit5 ACT_Y enable
bit4 ACT_Z enable
bit3 INACT ac/dc
bit2 INACT_X enable
bit1 INACT_Y enable
bit0 INACT_Z enable
etSTS oADXL345_WRITE_INACT( float32 thresh_inact_g, float32 time_inact_s, uint8 inact_ctl )

The oADXL345_WRITE_INACT function is an API function that sets the threshold, time, and action to detect inactivity of the ADXL345 accelerometer.

Return valueetSTSOSS-ECAL status code
eSTS_FINCompleted successfully
eSTS_ERR_I2C_OBJECTI2C object selection error
eSTS_ERR_HAL_OTHERS_RUNOther application is running HAL
eSTS_ERR_HAL_I2CHAL I2C error
eSTS_ERR_PARAMETERIf the following values are out of range.
0.0 g ≦ thresh_inact_g ≦ 16 g
0 sec ≦ time_inact_s ≦ 255 sec
Parameter INfloat32 thresh_inact_gRegister THRESH_INACT set value[62.5 mg/LSB]
float32 time_inact_sRegister TIME_INACT set value[1 sec/LSB]
uint8 inact_ctlRegister ACT_INACT_CTL set valuebit7 ACT ac/dc
bit6 ACT_X enable
bit5 ACT_Y enable
bit4 ACT_Z enable
bit3 INACT ac/dc
bit2 INACT_X enable
bit1 INACT_Y enable
bit0 INACT_Z enable
etSTS oADXL345_WRITE_ST( float32 thresh_g, float32 duration_ms, uint8 axis )

The oADXL345_WRITE_ST function is an API function to set the ADXL345 single-tap detection function.

Return valueetSTSOSS-ECAL status code
eSTS_FINCompleted successfully
eSTS_ERR_I2C_OBJECTI2C object selection error
eSTS_ERR_HAL_OTHERS_RUNOther application is running HAL
eSTS_ERR_HAL_I2CHAL I2C error
eSTS_ERR_PARAMETERIf the following values are out of range.
0.0 g ≦ thresh_g ≦ 16 g
0 ms ≦ duration_ms ≦ 159.375 ms
Parameter INfloat32 thresh_gRegister THRESH_TAP set value[62.5 mg/LSB]
float32 duration_msRegister DUR set value[625 us/LSB]
uint8 axisRegister TAP_AXES set valuebit3 Suppress
bit2 TAP_X enable
bit1 TAP_Y enable
bit0 TAP_Z enable
etSTS oADXL345_WRITE_DT( float32 thresh_g, float32 duration_ms, float32 latent_ms, float32 window_ms, uint8 axis )

The oADXL345_WRITE_DT function is an API function to set the ADXL345 double-tap detection function.

Return valueetSTSOSS-ECAL status code
eSTS_FINCompleted successfully
eSTS_ERR_I2C_OBJECTI2C object selection error
eSTS_ERR_HAL_OTHERS_RUNOther application is running HAL
eSTS_ERR_HAL_I2CHAL I2C error
eSTS_ERR_PARAMETERIf the following values are out of range.
0.0 g ≦ thresh_g ≦ 16 g
0 ms ≦ duration_ms ≦ 159.375 ms
0 ms ≦ latent_ms ≦ 318.75 ms
0 ms ≦ window_ms ≦ 318.75 ms
Parameter INfloat32 thresh_gRegister THRESH_TAP set value[62.5 mg/LSB]
float32 duration_msRegister DUR set value[625 us/LSB]
float32 latent_msRegister Latent set value[1.25 ms/LSB]
float32 window_msRegister Window set value[1.25 ms/LSB]
uint8 axisRegister TAP_AXES set valuebit3 Suppress
bit2 TAP_X enable
bit1 TAP_Y enable
bit0 TAP_Z enable
etSTS oADXL345_WRITE_FF( float32 thresh_mg, float32 time_ms )

The oADXL345_WRITE_FF function is an API function to set the ADXL345 free fall detection function.

Return valueetSTSOSS-ECAL status code
eSTS_FINCompleted successfully
eSTS_ERR_I2C_OBJECTI2C object selection error
eSTS_ERR_HAL_OTHERS_RUNOther application is running HAL
eSTS_ERR_HAL_I2CHAL I2C error
eSTS_ERR_PARAMETERIf the following values are out of range.
0.0 g ≦ thresh_g ≦ 16 g
0 ms ≦ time_ms ≦ 1275 ms
Parameter INfloat32 thresh_gRegister THRESH_FF set value[62.5 mg/LSB]
float32 time_msRegister TIME_FF set value[5 ms/LSB]
etSTS oADXL345_WRITE_OFFSET( float32 offset_x_g, float32 offset_y_g, float32 offset_z_g )

The oADXL345_WRITE_OFFSET function is an API function that sets the offset of the ADXL345 acceleration X-axis-X, Y-axis and Z-axis.

Return valueetSTSOSS-ECAL status code
eSTS_FINCompleted successfully
eSTS_ERR_I2C_OBJECTI2C object selection error
eSTS_ERR_HAL_OTHERS_RUNOther application is running HAL
eSTS_ERR_HAL_I2CHAL I2C error
eSTS_ERR_PARAMETERIf the following values are out of range.
-2.0 g ≦ offset_x_g ≦ 2.0 g
-2.0 g ≦ offset_y_g ≦ 2.0 g
-2.0 g ≦ offset_z_g ≦ 2.0 g
Parameter OUTfloat32 offset_x_gRegister OFSX set value[15.6 mg/LSB]
float32 offset_y_gRegister OFSY set value[15.6 mg/LSB]
float32 offset_z_gRegister OFSZ set value[15.6 mg/LSB]
etSTS oADXL345_WRITE_INT( uint8 int_enable_mask, uint8 int_map )

The oADXL345_WRITE_INT function is an API function to set ADXL345 interrupt.

Return valueetSTSOSS-ECAL status code
eSTS_FINCompleted successfully
eSTS_ERR_I2C_OBJECTI2C object selection error
eSTS_ERR_HAL_OTHERS_RUNOther application is running HAL
eSTS_ERR_HAL_I2CHAL I2C error
Parameter INuint8 int_enable_maskRegister INT_ENABLE set valuebit7 DATA_READY
bit6 SINGLE_TAP
bit5 DOUBLE_TAP
bit4 Activity
bit3 Inactivity
bit2 FREE_FALL
bit1 Watermark
bit0 Overrun
uint8 int_mapRegister INT_MAP set valuebit7 DATA_READY
bit6 SINGLE_TAP
bit5 DOUBLE_TAP
bit4 Activity
bit3 Inactivity
bit2 FREE_FALL
bit1 Watermark
bit0 Overrun
etSTS oADXL345_WRITE_FIFO( uint8 fifo, uint8 samples, uint8 int_map )

The oADXL345_WRITE_FIFO function is an API function to set ADXL345 FIFO.

Return valueetSTSOSS-ECAL status code
eSTS_FINCompleted successfully
eSTS_ERR_I2C_OBJECTI2C object selection error
eSTS_ERR_HAL_OTHERS_RUNOther application is running HAL
eSTS_ERR_HAL_I2CHAL I2C error
eSTS_ERR_PARAMETERIf the following values are out of range.
1 ≦ samples≦ 31

fifo value other than iFIFO_BYPASS, iFIFO_FIFO, iFIFO_STREAM, or iFIFO_TRIGGER.
Parameter INuint8 fifoRegister FIFO_CTL set valuebit7-bit6 FIFO_MODE
Select from the following values.
iFIFO_BYPASS、iFIFO_FIFO、iFIFO_STREAM、iFIFO_TRIGGER

uint8 samples
Register FIFO_CTL set valuebit4-bit0 Samples 1 to 31
uint8 int_mapRegister INT_MAP set valuebit7 DATA_READY
bit6 SINGLE_TAP
bit5 DOUBLE_TAP
bit4 Activity
bit3 Inactivity
bit2 FREE_FALL
bit1 Watermark
bit0 Overrun
etSTS oADXL345_WRITE_MODE( uint8 mode, uint8 wakeup )

The oADXL345_WRITE_MODE function is an API function to switch between the measurement mode, sleep mode, auto sleep mode, and standby mode of the ADXL345 operation mode.

Return valueetSTSOSS-ECAL status code
eSTS_FINCompleted successfully
eSTS_ERR_I2C_OBJECTI2C object selection error
eSTS_ERR_HAL_OTHERS_RUNOther application is running HAL
eSTS_ERR_HAL_I2CHAL I2C error
eSTS_ERR_PARAMETERmode value other than iMEASURE, iSLEEP, iAUTO_SLEEP, or iSTANDBY.

wakeup value other than 1, 2, 4, or 8.
Parameter INuint8 modeRegister POWER_CTL set valuebit4-bit2 Power mode
Select from the following values.
iAUTO_SLEEP, iMEASURE, iSLEEP, iSTANDBY

uint8 wakeup
Register POWER_CTL set valuebit1-bit0 Wakeup
Select from the following values.
1, 2, 4, 8
etSTS oADXL345_READ_REG( uint8 adr, uint8* val )

The oADXL345_READ_REG function is an API function that reads the value of Register by specifying the ADXL345 Register address and stores the read value in val.

Return valueetSTSOSS-ECAL status code
eSTS_FINCompleted successfully
eSTS_ERR_I2C_OBJECTI2C object selection error
eSTS_ERR_HAL_OTHERS_RUNOther application is running HAL
eSTS_ERR_HAL_I2CHAL I2C error
Parameter INuint8 adrRegister address to be read
Parameter OUTuint8* valSave the read Register value to val
etSTS oADXL345_READ_ACC( stACC* axis )

The oADXL345_READ_ACC function first reads the value of the DATA_FORMAT register, then retrieves the values from the DATAX0:DATAX1, DATAY0:DATAY1, and DATAZ0:DATAZ1 registers. Based on the range setting in DATA_FORMAT, it stores the X-axis value in axis.acc_x, the Y-axis value in axis.acc_y, and the Z-axis value in axis.acc_z.

Return valueetSTSOSS-ECAL status code
eSTS_FINCompleted successfully
eSTS_ERR_I2C_OBJECTI2C object selection error
eSTS_ERR_HAL_OTHERS_RUNOther application is running HAL
eSTS_ERR_HAL_I2CHAL I2C error
Parameter OUTstACC* axisDATAX0:DATAX1 is converted by Range and saved in axis.acc_x
DATAY0:DATAY1 is converted by Range and saved in axis.acc_y
DATAZ0:DATAZ1 is converted by Range and saved in axis.acc_z
[mg]
etSTS oADXL345_READ_ACC_FIFO( stACC* axis )

The oADXL345_READ_ACC_FIFO function first reads the value of the DATA_FORMAT register, then retrieves the values from the DATAX0:DATAX1, DATAY0:DATAY1, and DATAZ0:DATAZ1 registers based on the FIFO settings. It then stores the X-axis value in axis.acc_x, the Y-axis value in axis.acc_y, and the Z-axis value in axis.acc_z, according to the range setting in DATA_FORMAT.

Return valueetSTSOSS-ECAL status code
eSTS_FINCompleted successfully
eSTS_ERR_I2C_OBJECTI2C object selection error
eSTS_ERR_HAL_OTHERS_RUNOther application is running HAL
eSTS_ERR_HAL_I2CHAL I2C error
eSTS_ERR_DATA_STALEIf Register FIFO_STATUS Entries > 32.
Parameter OUTstACC* axisDATAX0:DATAX1 is converted by Range and saved in axis.acc_x
DATAY0:DATAY1 is converted by Range and saved in axis.acc_y
DATAZ0:DATAZ1 is converted by Range and saved in axis.acc_z
[mg]
etSTS oADXL345_SELF_TEST_MODE( uint8 sw )

The oADXL345_SELF_TEST_MODE function is an API function to enable/disable the ADXL345 self-test mode.

Return valueetSTSOSS-ECAL status code
eSTS_FINCompleted successfully
eSTS_ERR_I2C_OBJECTI2C object selection error
eSTS_ERR_HAL_OTHERS_RUNOther application is running HAL
eSTS_ERR_HAL_I2CHAL I2C error
Parameter INuint8 swSet value of SELF_TEST bit in Register DATA_FORMATsw = iON: Enable self-test mode
sw = iOFF: Disable self-test mode

Sample application

OSS-ECAL contains sample applications in the sample folder. Here is an overview of the application. Please use it as a reference material when incorporating OSS-ECAL into your product programs.

StatevgADXL345_COMMANDstate transition conditionProcess OverviewAPI Function
InitializeiADXL345_INITIALIZE1. First timeInitial Settings for ADXL345oADXL345_INIT
MeasureiADXL345_MEASUREMENT1. Initialize completed
2. vgADXL345_COMMAND=iADXL345_MEASUREMENT
-axis acceleration measurementoADXL345_READ_REG
Self-testiADXL345_SELF_TEST1. vgADXL345_COMMAND=iADXL345_SELF_TESTSelf-TestoADXL345_SELF_TEST_MODE
CalibrationiADXL345_CALIBRATION1. vgADXL345_COMMAND=iADXL345_CALIBRATIONCalibrationoADXL345_WRITE_OFFSET
oADXL345_WRITE_ST
oADXL345_WRITE_DT
oADXL345_WRITE_ACT
oADXL345_WRITE_INACT
oADXL345_WRITE_FF
Auto-SleepiADXL345_AUTO_SLEEP1. vgADXL345_COMMAND=iADXL345_AUTO_SLEEPAuto Sleep
ErroriADXL345_ERROR1. vgADXL345_COMMAND=iADXL345_ERRORError処理*-*

* Please address this in your product program.

HAL Support List

OSS-ECAL’s HAL support is as follows. (The list is being expanded sequentially.) Please note that even if the same HAL is used, different versions, MCUs, and development environments may not work together.

ManufacturerSDK/IDE ToolHAL NameVerHALNAMESupport
ArduinoArduino IDEArduino1.8.6ARDUINOX
ArmKeil MDK v6Mbed OS6.17.0MBEDX
DebianGNU/Linux10.3LinuxX
InfineonModusToolboxmtb-hal-cat12.4.3ModusToolboxX
NXPMCUXpresso SDKSDK_2.x_EVKB-IMXRT10502.16iMXRT1051B1052BX
NXPPlatformSDK_S32K1_2022_02AUTOSAR MCAL4.4MCAL
RenesasSynergy Software PackageHAL2.6.0SSPX
STMicroelectronicsSTM32CubeSTM32CubeF4V1.28.1STM32F4X
Development environment

The MCU and development environment during OSS-ECAL development are as follows.

HAL NameManufacturerBoardMCUIDE
ARDUINOArduino1.Mega 2560 Rev3
2.Arduino Pro Mini 3.3V
ATmega2560
ATmega328P
Arduino IDE 2.3.3
MBEDSTMicroelectronicsSTM32 Nucleo-64 boardsSTM32F401RETxArm Keil Studio Cloud
LinuxBeagleBoardBeagleBone BlackTI AM335x
ModusToolboxInfineonCY8CPROTO-063-BLE PSoC 6 BLE Prototyping KitCYBLE-416045-02ModusToolbox
iMXRT1051B1052BNXPIMXRT1050-EVKBi.MX RT1050MCUXpresso IDE
MCALSTMicroelectronicsS32K144EVB-Q100S32K144S32 Design Studio for S32 Platform
SSPRenesasS7G2 SKR7FS7G27H3A01CFCe² studio for Renesas Synergy
STM32F4STMicroelectronicsSTM32 Nucleo-64 boardsSTM32F401RETxSTM32CubeIDE

File Structure

Folder*FileSummary
ADXL345_HALNAME_010000/samplesample.c (.cpp)Sample application program
sample.hSample application header
ADXL345_HALNAME_010000oADXL345.c (.cpp)OSS-ECAL program for ADXL345
oADXL345.hOSS-ECAL header for ADXL345
oss_ecal.hOSS-ECAL common header
ADXL345_ARDUINO.inoSample application programs for Arduino
user_setting.c (.cpp)User configured constants and tables
user_setting.hUser configuration Header
oHAL_i2c_stm32f4.cHAL Program for STM32Cube FW_F4
oHAL_i2c_stm32f4.hHAL Header for STM32Cube FW_F4
readme.mdReadme
OSS-ECAL Terms of Use.txtOSS-ECAL Terms of Use

* For HALNAME, please refer to HAL Support.

OSS-ECAL Download Contact

Please login before contacting us for downloads.
To register as a new user, click here.

Built-in How to

How to incorporate OSS-ECAL into user programs

How to incorporate multiple OSS-ECALs in a user program (same MCU function)

How to incorporate multiple OSS-ECALs in a user program (different MCU function)

How to incorporate multiple identical electronic components into a user program

How to reduce the impact on user programs by replacing electronic components

CAUTION

The sample version of OSS-ECAL is not intended to be used with Threads (Tasks) or interrupts of different priority. Please do not use it as in the example below.

Example: If each sensor is assigned to the same ADC group and the OSS-ECAL API is executed in processes with different priorities, correct values may not be obtained.
ADC Gr0 Ch0 Temperature sensor AD22100A 100ms cycle Thread (low priority) to take in temperature
ADC Gr0 Ch1 Pressure sensor   MPX5999D Event interrupts (high priority) to take pressure

OSS-ECAL English
error: Content is protected !!