123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- .. SPDX-License-Identifier: GPL-2.0
- ==============================
- BNO055 driver
- ==============================
- 1. Overview
- ===========
- This driver supports Bosch BNO055 IMUs (on both serial and I2C busses).
- Accelerometer, magnetometer and gyroscope measures are always provided.
- When "fusion_enable" sysfs attribute is set to 1, orientation (both Euler
- angles and quaternion), linear velocity and gravity vector are also
- provided, but some sensor settings (e.g. low pass filtering and range)
- became locked (the IMU firmware controls them).
- This driver supports also IIO buffers.
- 2. Calibration
- ==============
- The IMU continuously performs an autocalibration procedure if (and only if)
- operating in fusion mode. The magnetometer autocalibration can however be
- disabled writing 0 in the sysfs in_magn_calibration_fast_enable attribute.
- The driver provides access to autocalibration flags (i.e. you can known if
- the IMU has successfully autocalibrated) and to the calibration data blob.
- The user can save this blob in a firmware file (i.e. in /lib/firmware) that
- the driver looks for at probe time. If found, then the IMU is initialized
- with this calibration data. This saves the user from performing the
- calibration procedure every time (which consist of moving the IMU in
- various way).
- The driver looks for calibration data file using two different names: first
- a file whose name is suffixed with the IMU unique ID (exposed in sysfs as
- serial_number) is searched for; this is useful when there is more than one
- IMU instance. If this file is not found, then a "generic" calibration file
- is searched for (which can be used when only one IMU is present, without
- struggling with fancy names, that change on each device).
- Valid calibration file names would be e.g.
- bno055-caldata-0e7c26a33541515120204a35342b04ff.dat
- bno055-caldata.dat
- In non-fusion mode the IIO 'offset' attributes provide access to the
- offsets from calibration data (if any), so that the user can apply them to
- the accel, angvel and magn IIO attributes. In fusion mode they are not
- needed (the IMU firmware internally applies those corrections) and they
- read as zero.
|