From the data sheet, it can be found that each of the six output channels of MPU9250
has 2 bytes and 16 bits resolution. I was wondering about the 16 bits binary values, are they in the format of two's complement? Or when the sensor is stationary, say acceleration along x-axis is zero, then the 2 bytes in combination gives 2^16/2
, namely, half way of the max possible number? (assuming there is no offset)
MPU9250 IMU Accelerometer and Gyro Data Format
1.2k Views Asked by zj_yyzr At
1
There are 1 best solutions below
Related Questions in LINUX
- Nant build issue: Failed to initialize the Microsoft .NET compact framework
- Change Wix Product version number using NANT XmlPoke
- How to call a target when another target fails in NAnt?
- Nant script - How to check if it runs on a server or on a dev machine?
- Automate Build script from Batch to MSBUILD/NANT
- NAnt stops working when I try to run it
- How to set a NAnt project's basedir to the current directory?
- Is it possible to exclude a target from a NAnt build?
- nant: Custom messages for separate unit tests in single nant nunit2 target
- NAnt: How to get target name that was specified on command line
Related Questions in HARDWARE
- Nant build issue: Failed to initialize the Microsoft .NET compact framework
- Change Wix Product version number using NANT XmlPoke
- How to call a target when another target fails in NAnt?
- Nant script - How to check if it runs on a server or on a dev machine?
- Automate Build script from Batch to MSBUILD/NANT
- NAnt stops working when I try to run it
- How to set a NAnt project's basedir to the current directory?
- Is it possible to exclude a target from a NAnt build?
- nant: Custom messages for separate unit tests in single nant nunit2 target
- NAnt: How to get target name that was specified on command line
Related Questions in IMU
- Nant build issue: Failed to initialize the Microsoft .NET compact framework
- Change Wix Product version number using NANT XmlPoke
- How to call a target when another target fails in NAnt?
- Nant script - How to check if it runs on a server or on a dev machine?
- Automate Build script from Batch to MSBUILD/NANT
- NAnt stops working when I try to run it
- How to set a NAnt project's basedir to the current directory?
- Is it possible to exclude a target from a NAnt build?
- nant: Custom messages for separate unit tests in single nant nunit2 target
- NAnt: How to get target name that was specified on command line
Related Questions in MEMS
- Nant build issue: Failed to initialize the Microsoft .NET compact framework
- Change Wix Product version number using NANT XmlPoke
- How to call a target when another target fails in NAnt?
- Nant script - How to check if it runs on a server or on a dev machine?
- Automate Build script from Batch to MSBUILD/NANT
- NAnt stops working when I try to run it
- How to set a NAnt project's basedir to the current directory?
- Is it possible to exclude a target from a NAnt build?
- nant: Custom messages for separate unit tests in single nant nunit2 target
- NAnt: How to get target name that was specified on command line
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular # Hahtags
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Yes, two's complement.
You can see this in 3.2 Accelerometer Specifications in the datasheet!
After reading the 14 bytes (using I2C) I use: (((short)raw[4])<<8)|raw[5] to get a signed 16 bit value for accel z-axis for example. The accel and gyro have the MSB first (in the raw array), but for the magnetometer the LSB comes first.
If the sensor were unbiased, stationary, and perfectly level, you should get 0,0,1g for the accel, and 0,0,0 for the gyro. Actually the Earth is rotating at 360°/day, so to be precise, you might have to take that into consideration, but that would depend on the sensor's orientation, and even your latitude.