From e039eac7d3901b2330958de208fcd59fa82a41e6 Mon Sep 17 00:00:00 2001 From: aeraterta Date: Mon, 20 Jan 2025 19:07:31 +0800 Subject: [PATCH] modified setup --- src/adxl345.c | 21 ++++++++++++++++++++- src/adxl345.h | 4 +++- 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/src/adxl345.c b/src/adxl345.c index 1756bf1..dbbc39b 100644 --- a/src/adxl345.c +++ b/src/adxl345.c @@ -74,6 +74,25 @@ int8_t adxl345_setup(adxl345_dev *dev, adxl345_init_param adxl345_params) { return ADXL345_STATUS_INIT_ERR; } + dev->power_mode = adxl345_params.power_mode; + dev->odr = adxl345_params.odr; + dev->resolution = adxl345_params.resolution; + dev->scale = adxl345_params.scale; + + ret |= adxl345_set_measure_mode(&dev, ADXL345_STANDBY_MODE); + ret |= adxl345_set_power_mode(&dev, dev->power_mode); + ret |= adxl345_set_odr(&dev, dev->odr); + ret |= adxl345_set_scale(&dev, dev->scale); + ret |= adxl345_set_resolution(&dev, dev->resolution); + ret |= adxl345_set_measure_mode(&dev, ADXL345_MEASURE_MODE); + + if (ret == ADXL345_STATUS_SUCCESS) { + dev->is_Setup = true; + } + else { + dev->is_Setup = false; + } + return ret; } @@ -474,7 +493,7 @@ int8_t adxl345_get_activity_tap_status(adxl345_dev *device) { } // ADD DOXYGEN -int8_t adxl345_set_interrupt_status(adxl345_dev *device, uint8_t interrupt, +int8_t adxl345_set_interrupt_enable(adxl345_dev *device, uint8_t interrupt, int enable) { uint8_t val = 0x00; if (i2c_read_byte(ADXL345_I2C_ADDRESS, ADXL345_REG_INT_ENABLE, &val) != diff --git a/src/adxl345.h b/src/adxl345.h index 91c21c9..fe0deb2 100644 --- a/src/adxl345.h +++ b/src/adxl345.h @@ -291,12 +291,14 @@ int8_t adxl345_set_freefall_timeout(adxl345_dev *device, int8_t timeout); int8_t adxl345_get_activity_tap_status(adxl345_dev *device); -int8_t adxl345_set_interrupt_status(adxl345_dev *device, uint8_t interrupt, +int8_t adxl345_set_interrupt_enable(adxl345_dev *device, uint8_t interrupt, int enable); int8_t adxl345_set_interrupt_map(adxl345_dev *device, uint8_t interrupt, int map); +int8_t adxl345_get_interrupt_status(adxl345_dev *device); + int8_t adxl345_get_axes_data_x(adxl345_dev *device, adxl345_axes_data *data); int8_t adxl345_get_axes_data_y(adxl345_dev *device, adxl345_axes_data *data);