We have BMI270 Shuttle Board 3.0 where BMM150 Mounted on it. We are getting BMI270 Raw Data but Not getting BMM150 Data. We are using SPI as primary interface for BMI270 data. Same time we configured as Auxilary Interface of BMI270 which enables BMM150 as secondary interface using indirect addressing mode but BMM150 (Mag) Data is not getting. May be configuration issue for BMM150.
Can any one help me on single Arduino driver which gives both BMI270 and BMM150 Raw Data.?
Please go through the attached code. Which I was testing. Present getting only Acc, Gyro Raw data. Though we done indirect addressing mode for BMM150 to get mag data, unable to get that. Please help us to get Mag data.
We are trying in indirect addressing mode. Also we observed that they are high(3v level) but, no data on ASCx, ASDx (I2C) lines which goes to BMM150 while sending or reading.
What else might be the problem.?
We are using Indirect addressing mode to set BMM150 in Setup mode and Data mode. Can you please suggest Any Arduino driver for reading Acc, Gyr, Mag data ?
Now I'm getting Acc, Gyro Data as expected but not getting Mag Data. BMI270 was not set in Data mode to get Mag Data. I have used indirect addressing mode as per BMI270 data sheet to set BMI270 in Auxilary configuration(Setup Mode + Data Mode). Please refer below files & help me to set auxilary configuration for BMI270.
Your code is horribly formatted. The IDE offers support (Ctrl-T) if you're unable to do it yourself.
Remove the routines bmm150_user_i2c_reg_read, bmm150_user_i2c_reg_write and bmm150_interface_selection as they are unused and wrong anyway.
As you do set the manual mode yourself, you should set the corresponding flag (bmi2.aux_man_en = 1) otherwise the bmi2_read_aux_man_mode will return without doing anything. You should check the result codes you get to know what might have gone wrong.