Comments (4)
Hi Matthias,
Bosch is very tight-lipped about their products. I asked for info about the BMX-055 and they sent me their API. From that I was able to figure out how to do the temperature-compensated magnetic field construction from the sensor data. They would not discuss the actual formula not give me any additional info about the magnetometer. I would suggest you contact Bosch with your request, but don’t get your hopes up. Of course, you are welcome to use my code as you like.
I’m not sure what you mean by “any data stored in the registers’ changing with time. Certainly the sensor data will change with time, and the magnetic fields calculated in software are not stored in the device registers. Please explain.
Kris
From: moonjumper
Sent: Friday, November 28, 2014 5:13 AM
To: kriswiner/BMX-055
Subject: [BMX-055] Magnetometer temperature compensation (#2)
I'm required to use the BMA-055 in a project as a compass module. I tried to figure out how the temperature compensation of its magnetometer works, but couldn’t find any official documentation about it.
In your code line 802 starting with // calculate temperature compensated 16-bit magnetic fields your performing it somehow. Can you give me a hint, were I can get further information.
Do you know if any of the data stored in the registers will change during time?
Regards,
Matthias
—
Reply to this email directly or view it on GitHub.
from bmx-055.
Hi Kris,
thanks for your quick response. I was referring to the registers 0x5D - 0x71. Your named them Trim Extended Registers
and the data sheet describes them only as "reserved".
In case this registers contain only constant calibration data, my biggest problem is to explain/understand there functionality. If the stored data change (e.g. due to temperature changes) between different measurements, it would make my data management more complex. My program is a pure post-processing tool, which is not able to communicate with the sensor directly. Therefore all changing data has to be transmitted and stored.
P.S. The temperature variations in my use case are high (approx. -40 - +10°C)
Regards,
Matthias
from bmx-055.
AFAIK, the data in these reserved registers are constants that allow the sensor data to be converted into temperature-compensated magnetic field output. The temperature compensation info is embedded in the Hall resistance measurement, which is an input to the temperature compensation algorithm. In my program, I read these reserved registers once, and then use the constants to get magnetic field. Since Bosch won’t say any more to me, this is all I know about how the magnetometer works. I just used the Bosch API as a guide and this is what they do to.
You may look at the formula for construction of the temperature-compensated magnetic fields in the Bosch API or my code and infer what the functionality is. I can’t really understand what is happening there and Bosch won’t tell me.
Kris
From: moonjumper
Sent: Sunday, November 30, 2014 1:23 PM
To: kriswiner/BMX-055
Cc: Kris Winer
Subject: Re: [BMX-055] Magnetometer temperature compensation (#2)
Hi Kris,
thanks for your quick response. I was referring to the registers 0x5D - 0x71. Your named them Trim Extended Registers and the data sheet describes them only as "reserved".
In case this registers contain only constant calibration data, my biggest problem is to explain/understand there functionality. If the stored data change (e.g. due to temperature changes) between different measurements, it would make my data management more complex. My program is a pure post-processing tool, which is not able to communicate with the sensor directly. Therefore all changing data has to be transmitted and stored.
P.S. The temperature variations in my use case are high (approx. -40 - +10°C)
Regards,
Matthias
—
Reply to this email directly or view it on GitHub.
from bmx-055.
Thanks again, you was a great support.
Regards,
Matthias
from bmx-055.
Related Issues (5)
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from bmx-055.