02-01-2023 12:11 PM
Hello all,
we want to use the BME680 sensor. We use our own board with an TI AM3354 processor. We took the software from: https://github.com/BoschSensortec/BME68x-Sensor-API. From there (examples) we tried firstly the "fored_mode" which always displayed out the same results. So we tried the "self_test" which ended with "API name [bme68x_selftest_check] Error [-5] : Self test error". So I looked a bit deeper. In function "bme68x_selftest_check" in file bme68x.c line 770 comes:
if ((data[0].idac != 0x00) && (data[0].idac != 0xFF) &&
(data[0].status & BME68X_GASM_VALID_MSK))
{
rslt = BME68X_OK;
}
else
{
rslt = BME68X_E_SELF_TEST;
}
Looking in line 767 to see where the "data[0].*" come from I found out that "data[0].idac" is 0x0 and "date[0].status" is 0x80 which leads with bitwise "AND" BME68X_GASM_VALID_MSK (0x20) to zero. That means I got two conditions which implicated "rslt = BME68X_E_SELF_TEST;".
So the self_test failed but why. Before "bme68x_selftest_check" failed, "bme68x_interface_init" and "bme68x_init" returned "BME68X_OK". Has anybody an idea?
Rolo
06-20-2023 11:01 AM
Hi Rolo,
I have encountered the same problem and self-test error as you, may I ask if you have solved this problem?
07-10-2023 05:10 PM
Hi all,
BME68x self-test example code work well when I used application board 3.0 + BME680 shuttle board 3.0 or STM32F4 board + BME680 shuttle board 3.0. I can't reproduce your issue, please ensure you trictly refer to official example code first, and what is about your hardware?