07-05-2024 02:45 PM
Hello! I have App board 3.0 with BMI088 shuttle board
I'm trying to run BMI08x_SensorAPI/examples/bmi08x/read_sensor_data example from GitHub
App log:
Shuttle ID is 0x66
I2C Interface
Accel chip_id: 0x1e
bmi08g_init Error [-2] : Communication failure
init_bmi08 Error [-2] : Communication failure
bmi08g_set_int_config Error [-2] : Communication failure
bmi08g_get_regs Error [-2] : Communication failure
enable_bmi08_interrupt Error [-2] : Communication failure
bmi08g_set_int_config Error [-2] : Communication failure
disable_bmi08_interrupt Error [-2] : Communication failure
I did some digging with gdb and found that the initial error code is -10 and comes from:
dev->intf_rslt = dev->read(reg_addr, reg_data, len, dev->intf_ptr_gyro);
from static int8_t get_regs(uint8_t reg_addr, uint8_t *reg_data, uint32_t len, struct bmi08_dev *dev)
from bmi08g.c
How to solve this issue?
Regards, Greg
07-08-2024 08:30 AM
Hey there,
If you want to resolve this issue, you first need to make sure you check:
Ensure all wires are securely connected.
Verify the I2C address in your code matches the BMI088's.
Power Supply: Make sure the board is properly powered.
Check if the I2C lines have the correct pull-up resistors.
Double-check the sensor initialization sequence in your code.
07-08-2024 12:03 PM
Thank you for your reply. Here's an update on my progress:
I am using an Application Board 3.0 with a Shuttle Board 3.0 and I believe that the wiring is correct, and all resistors are in the right places.
The sample code I am using can be found here:
I have tested both the primary and secondary I2C addresses without success. Only the accelerometer responds, as I mentioned before ("Accel chip_id: 0x1e" in a log).
I suspect that the issue is not with the hardware or wiring, but with the initialization sequence. I hope someone can provide me with guidance towards a solution.
Regards, Greg
07-21-2024 03:37 PM
Hi Greg_,
Thanks for your inquiry.
You can capture I2C waveform by logic analyzer and see what what happened on the bus?