Hi, We are using an STM32 and downloaded drivers from the Bosch website for the BMA456 accelerometer. We are using I2C with address 0x18 for the device. Using the function in the API "bma4_perform_accel_selftest" returns the error code "BMA4_SELFTEST_DIFF_X_Y_AND_Z_AXIS_FAILED" when we use it, while reading from the accelerometer fifo during regular device operation gives us reasonable values indicating that things are working.. Before calling this function, we execute the following to initialize: uint8_t addr = BMA4_I2C_ADDR_PRIMARY; dev->intf_ptr = &addr; dev->intf = BMA4_I2C_INTF; dev->bus_read = user_i2c_read; dev->bus_write = user_i2c_write; dev->delay_us = user_delay_us; dev->chip_id = BMA456_CHIP_ID; dev->variant = BMA45X_VARIANT; dev->resolution = BMA4_16_BIT_RESOLUTION; int8_t rslt; bma456_init(dev); // Then call self test like so: bma4_perform_accel_selftest(&rslt, dev); bma4_soft_reset(dev); ------------------------------------------------------------------------------------------------------------- Is there something we are doing incorrect in the procedure to run the test? We have not been able to figure out how to run a successful self test and all the connections to the device are good. Thanks, Alex P
... View more