====== @amperka/barometer ======
Библиотека для управления датчиком давления на модулях [[amp>product/troyka-barometer|барометра]] и [[amp>product/troyka-imu-10-dof|IMU-сенсора]] использующих микросхему ''LPS331'' на I²C шине.
I2C1.setup({sda: SDA, scl: SCL, bitrate: 400000});
var baro = require('@amperka/barometer').connect({i2c: I2C1});
baro.init();
print(baro.read());
print(baro.read('Pa'));
print(baro.read('mmHg'));
print(baro.temperature());
print(baro.temperature('C'));
===== Функции и объекты модуля =====
func:: connect([opts]);
Возвращает новый объект ''LPS331'' для взаимодействия с барометром. В качестве параметра ''opts'', можно передать объект со следующими свойствами:
* ''i2c'' — объект I²C. По умолчанию используется PrimaryI2C (I2C1);
* ''address'' — адрес устройства на шине I2C. По умолчанию используется ''0x5C''.
Не забудьте, что модуль изначально находится в спящем режиме.
// Настраиваем I2C2
I2C1.setup({sda: SDA, scl: SCL, bitrate: 400000});
// Создаем новый экземпляр, который работает с I2C2 и имеет адрес 0x5D
var baro = require('@amperka/barometer').connect({
i2c: I2C1,
address: 0x5D
});
class:: LPS331
Класс для взаимодействия с барометром. Для создания нового объекта, используйте функцию ''connect''.
meth:: LPS331.init()
Включает сенсор.
meth:: LPS331.read([units])
Возвращает давление. Если параметр ''units'' не задан — во внутренних единицах модуля. Можно указать следующие единицы измерения: ''mmHg'' — миллиметры ртутного столба, ''mBar'' — миллибары, ''Pa'' — паскали.
baro.read(); // вернёт давление во внутренних единицах
baro.read('Pa'); // вернёт давление в паскалях
baro.read('mmHg'); // вернёт давление в миллиметрах ртутного столба
meth:: LPS331.temperature([units])
Возвращает температуру. Если параметр ''units'' не задан — во внутренних единицах модуля. Или можно указать следующие единицы измерения: ''C'' — градусы Цельсия, ''K'' — градусы Кельвина, ''F'' — градусы Фаренгейта.
print(baro.temperature()); // вернёт температуру во внутренних единицах
print(baro.temperature('K')); // вернёт температуру в градусах Кельвина
print(baro.temperature('C')); // вернёт температуру в градусах Цельсия
print(baro.temperature('F')); // вернёт температуру в градусах Фаренгейта
meth:: LPS331.whoAmI()
Возвращает идентификатор устройства
meth:: LPS331.write(register, data)
Записывает данные, начиная с регистра ''register''. Данные передаются в параметре ''data'' в виде байта или массива байт.
meth:: LPS331.read(register, length)
Читает данные, начиная с регистра ''register''. Считывается количество байт, указанное в параметре ''length''. Если параметр не указан — считывается один байт.