I recently purchased the 3-Axis compass module. I tested on Raspberry Pi 3, works without a fault.
After that I tried to use it on the Nvidia Jetson TX2 but keep getting:
RuntimeError: UPM Runtime Error: BMM150: bmm150_init() failed
Seems it keeps failing on the line in the example code:
sensor = sensorObj.BMM150(1, 0x13)
In I2C detect I can see the compass being on 1 bus and 13 address.
Checked the source library, but to no avail. Didn’t find the real issue. Tried different values and formatting.
Any tips or hints or such on how should this be tackled?
When I do I2Cread, I get value like 0xff and some other codes just give array of 255.
I can see in i2cdetect that the module is on board 1, 0x13.
The compass library can be also seen at: https://iotdk.intel.com/docs/master/upm/python/_modules/pyupm_bmm150.html
Grove sample code can be accessed at: http://wiki.seeedstudio.com/Grove-3-Axis_Digitial_Compass_v2.0/
I also have different modules, that connect directly to the BMM150, but with Grove just had a direct connection. Can change module if needed, ofcourse, but I like the BMM150 (Accuracy, reliability, etc). More simple I2C devices work.
It could be some simple error on my part, but I’m not sure.
Thank You in advance!