0
\$\begingroup\$

The manual for the bno 055 (link below) has an attribute for the sensor labelled radius on page 33.

The radius takes up 2 bytes of memory, the msb and lsb.

This already confuses me, as the msb and lsb are bits, but each register is for a whole byte.

Continuing, the radius of the sensor has a property called the range of the radius. The range is supposedly unitless, and is equal to +/- 1000 × LSB. I have searched both the document and the internet, yielding nothing but data from proximity sensors.

What is a sensor's radius , and what do the msb and lsb represent on it? Why do the SBs take up entire bytes? What does the datasheet mean when it says +/- 1000 lsb for the value of the radius's range?

Sheet:
https://ae-bst.resource.bosch.com/media/_tech/media/datasheets/BST_BNO055_DS000_14.pdf

\$\endgroup\$
4
  • \$\begingroup\$ LSB=least significant byte. MSB=most significant byte. Note that word: byte. You use two eight bit byes to convey a value larger than one byte can hold. LSB is the lower 8 bits, MSB is the upper 8 bits. \$\endgroup\$
    – JRE
    Jun 24, 2017 at 19:09
  • \$\begingroup\$ Radius for the accelerometer can be from -1000 to 1000. For the magnetometer, the radius can be from -960 to 960. Representing those numbers takes more than eight bits, so you use two eight bits registers to hold the values. \$\endgroup\$
    – JRE
    Jun 24, 2017 at 19:16
  • \$\begingroup\$ @JRE so It's equivalent to a uint16_t from c++? \$\endgroup\$
    – tuskiomi
    Jun 24, 2017 at 19:27
  • 1
    \$\begingroup\$ More like int. It has a sign. \$\endgroup\$
    – JRE
    Jun 24, 2017 at 19:48

1 Answer 1

2
\$\begingroup\$

MSB means either 'most significant bit' or 'most significant byte' depending on context. Where the range is given as +/- 1000 LSB, it obviously means least significant bits. Where the bytes of memory are being identified, it means bytes.

The radius calibration is the distance between the axis of rotation, and the active point of the sensor. See US3470730 for a calibration method. The range, +/- 1000, are the max and min values that this parameter can be set to, or be interpretted correctly, notwithstanding that 2 bytes can hold numbers from -32768 to +32767.

\$\endgroup\$
2
  • \$\begingroup\$ but wait, above, it mentions that 1 mG is 1lsb, but below, it has a unitless range where ? is 1000 LSBs per... something? \$\endgroup\$
    – tuskiomi
    Jun 24, 2017 at 20:07
  • \$\begingroup\$ there are two radii, magnetometer and accelerometer (IIRC, I'm not going to open the data sheet again). mG sounds plausible for the magnetomoeter (though \$\mu T\$ would be preferred these days). Anything can be made unitless by dividing by an implicit unit. Don't forget, data sheets are written by faillible humans, these details by the guys that write the code who don't understand the physics, then published by peeps who don't understand anything. If it's a self cal, then whether they've got the units wrong shouldn't matter, take a guess and see whether it works, probably furlongs/s^2 ;-) \$\endgroup\$
    – Neil_UK
    Jun 25, 2017 at 5:16

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.