Библиотека позволяет работать с Trema-модулем IMU 9 DOF, как со всеми его датчиками сразу, так и с каждым датчиком по отдельности. В библиотеке имеются функции аппаратного самотестирования и калибровки датчиков, есть возможность выбора диапазонов измерений, частоты обновлений и единиц измерений выводимых данных. В библиотеку интегрированы фильтры Маджвика (по умолчанию) и Махони (можно выбрать).
Данная библиотека может использовать как аппаратную, так и программную реализацию шины I2C.
О том как выбрать тип шины I2C рассказано в статье Wiki - расширенные возможности библиотек iarduino для шины I2C.
Подробное описание работы с библиотекой, находится в разделе Wiki - Trema-модуль IMU 9 DOF.
#include <iarduino_Position_BMX055.h> // Подключаем библиотеку.
iarduino_Position_BMX055 ОБЪЕКТ( ДАТЧИК ); // Создаём объект указывая с каким датчиком модуля ему работать.
Функция begin( [&ШИНА] [,КАЛИБРОВКА] ); // Инициализация работы.
Функция test(); // Выполнение аппаратного самотестирования.
Функция read( [ ЕДИНИЦЫ_ИЗМЕРЕНИЯ ] ); // Чтение показаний.
Функция setScale( ДИАПАЗОН ); // Установка диапазона измерений.
Функция setBandwidths( ЧАСТОТА ); // Установка полосы пропускания.
Функция setFastOffset( [ ДАТЧИК ] ); // Калибровка датчика.
Функция getFastOffset( МАССИВ ); // Получение результата калибровки магнитометра.
Функция getFilter(); // Вывод названия фильтра вычисляющего кватернионы.
Переменная axisX // (float) содержит показания для оси X или угол «тангаж».
Переменная axisY // (float) содержит показания для оси Y или угол «крен».
Переменная axisZ // (float) содержит показания для оси Z или угол «курс».
Переменная temp // (float) содержит температуру в °С.
Переменные q1, q2, q3, q4 // (float) содержат кватернионы.