05-15-2024 05:31 AM
I'm integrating the BMM350 API into a project with a custom board and host MCU.
The result of otp_dump_after_boot(dev) results in -12(BMM350_E_OTP_SIGN). Looking at the documentation, there's no elaboration on what the "Sign error" is or what causes it. Any supporting info would be helpful.
Solved! Go to Solution.
05-15-2024 07:37 PM
Hi,
Thanks for your inquiry.
Please let us know a little more about the custom board and BMM350 API? Is the custom board Bosch BMM350 shuttle board or your own board or other breakout board? Did you get the latest BMM350 API from Github?
Thanks.
05-16-2024 07:15 AM
We're updating a custom board that used the BMM150 to use the BMM350. Ahead of hardware availability, we've hacked the BMM350 shuttle board to the custom host board. We've connected the eval kit to available test points and fortunately used a dedicated I2C bus and MCU peripheral. The host is the nrf5340. The original implementation uses a recent version of Zephyr packaged by Nordic.
We've used the latest BMM350 API from GitHub and wrote a wrapper to leverage the BMM I2C and sensor interfaces - similar to what was done for the BMM150. In the bmm350_init() function, we get the above "Sign Error" as a result of the "otp_dump_after_boot()" function call.
05-20-2024 07:52 PM
Hi,
In the bmm350_init(), have you got the correct BMM350 chip before you got the "Sign Error" message? Could you please show us the source code of the wrapper you wrote?
Thanks.
05-31-2024 06:00 PM
We did get the correct Chip ID. And most of the source code for the wrapper at this point is moot, since we're only in the init function.
We got the custom hardware in, and things are working as expected - I'm going to chalk it up as an error hacking the devkit to old hardware. However, it still would be helpful to have more documentation about the Sign Error flag in the status register and what that means.