BMM350 Initialization failure after executing bmm350_magnetic_reset_and_wait()

Hi,

We are working on a project that interfaces BMM350 over I2C with STM32WB microcontroller. We have integrated the BMM350-SensorAPI into our project. 

In the sensor init process, init fail observed during bmm350_magnetic_reset_and_wait(). Specifically when attempting to set the BR bit in the PMU_CMD register. 

Where pmu_cmd_stat_0.pmu_cmd_value is: 0x00 instead of the expected: 0x07.

More over  pmu_cmd_stat_0.pmu_cmd_busy is always 1 during bmm350_get_pmu_cmd_status_0. After  executing bmm350_magnetic_reset_and_wait the pmu_cmd_stat_0.cmd_is_illegal is becoming 1.

We are unable to find related to this in the datasheet. If we comment out the error check and continue on with the init process then reading the magnetometer xyz data returns the reset values (0x7F7F7F). bmm350_get_compensated_mag_xyz_temp_data is giving the values: x = -6793.00879, y = -6408.92871, z = -5296.71094, temperature = 8385.75586

We have purchased the sensor from Digi key.

Herewith I attach the schematic, that shows the hardware interface between BMM350 and STM32WB microcontroller. Could you please let me know is there any issue with hardware connections.

Thanks,

J. Chandra Sekhar

BMM350_HW_Interface.jpg
32.94KB
3 replies