1 .. SPDX-License-Identifier: GPL-2.0 1 .. SPDX-License-Identifier: GPL-2.0 2 2 3 ============================== 3 ============================== 4 BNO055 driver 4 BNO055 driver 5 ============================== 5 ============================== 6 6 7 1. Overview 7 1. Overview 8 =========== 8 =========== 9 9 10 This driver supports Bosch BNO055 IMUs (on bot 10 This driver supports Bosch BNO055 IMUs (on both serial and I2C busses). 11 11 12 Accelerometer, magnetometer and gyroscope meas 12 Accelerometer, magnetometer and gyroscope measures are always provided. 13 When "fusion_enable" sysfs attribute is set to 13 When "fusion_enable" sysfs attribute is set to 1, orientation (both Euler 14 angles and quaternion), linear velocity and gr 14 angles and quaternion), linear velocity and gravity vector are also 15 provided, but some sensor settings (e.g. low p 15 provided, but some sensor settings (e.g. low pass filtering and range) 16 became locked (the IMU firmware controls them) 16 became locked (the IMU firmware controls them). 17 17 18 This driver supports also IIO buffers. 18 This driver supports also IIO buffers. 19 19 20 2. Calibration 20 2. Calibration 21 ============== 21 ============== 22 22 23 The IMU continuously performs an autocalibrati 23 The IMU continuously performs an autocalibration procedure if (and only if) 24 operating in fusion mode. The magnetometer aut 24 operating in fusion mode. The magnetometer autocalibration can however be 25 disabled writing 0 in the sysfs in_magn_calibr 25 disabled writing 0 in the sysfs in_magn_calibration_fast_enable attribute. 26 26 27 The driver provides access to autocalibration 27 The driver provides access to autocalibration flags (i.e. you can known if 28 the IMU has successfully autocalibrated) and t 28 the IMU has successfully autocalibrated) and to the calibration data blob. 29 29 30 The user can save this blob in a firmware file 30 The user can save this blob in a firmware file (i.e. in /lib/firmware) that 31 the driver looks for at probe time. If found, 31 the driver looks for at probe time. If found, then the IMU is initialized 32 with this calibration data. This saves the use 32 with this calibration data. This saves the user from performing the 33 calibration procedure every time (which consis 33 calibration procedure every time (which consist of moving the IMU in 34 various way). 34 various way). 35 35 36 The driver looks for calibration data file usi 36 The driver looks for calibration data file using two different names: first 37 a file whose name is suffixed with the IMU uni 37 a file whose name is suffixed with the IMU unique ID (exposed in sysfs as 38 serial_number) is searched for; this is useful 38 serial_number) is searched for; this is useful when there is more than one 39 IMU instance. If this file is not found, then 39 IMU instance. If this file is not found, then a "generic" calibration file 40 is searched for (which can be used when only o 40 is searched for (which can be used when only one IMU is present, without 41 struggling with fancy names, that change on ea 41 struggling with fancy names, that change on each device). 42 42 43 Valid calibration file names would be e.g. 43 Valid calibration file names would be e.g. 44 bno055-caldata-0e7c26a33541515120204a35342b04 44 bno055-caldata-0e7c26a33541515120204a35342b04ff.dat 45 bno055-caldata.dat 45 bno055-caldata.dat 46 46 47 In non-fusion mode the IIO 'offset' attributes 47 In non-fusion mode the IIO 'offset' attributes provide access to the 48 offsets from calibration data (if any), so tha 48 offsets from calibration data (if any), so that the user can apply them to 49 the accel, angvel and magn IIO attributes. In 49 the accel, angvel and magn IIO attributes. In fusion mode they are not 50 needed (the IMU firmware internally applies th 50 needed (the IMU firmware internally applies those corrections) and they 51 read as zero. 51 read as zero.
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.