====== @amperka/i2c-hub ======
Библиотека для работы с [[amp>product/troyka-i2c-hub|Расширитель портов I²C (Troyka-модуль)]].
// настраиваем шину I²C
PrimaryI2C.setup({sda: SDA, scl: SCL, bitrate: 400000});
// подключаем модуль работы с расширителем портов I²C
var splitter = require('@amperka/i2c-hub').connect({
i2c: PrimaryI2C, // выбор I²C, на которой установлен модуль расширителя портов I²C
address: 0x70 // адрес модуля расширителя портов I²C
});
// альтернативный вариант подключения
var splitter = require('@amperka/i2c-hub').connect();
// переводим расширитель портов I²C на канал 2
splitter.setBusChannel(2);
// выводим в консоль номер канала
// на который сейчас переведён расширитель портов I²C
console.log(splitter.getBusChannel());
===== Функции и объекты модуля =====
func:: connect([opts]);
Создаёт новый объект ''TroykaI2CHub''. Объект ''opts'' может содержать поля:
* ''i2c'' — I2C, к которому подключён модуль, например ''I2C1''.
* ''address'' — адрес модуля на шине I2C.
Если объект ''opts'' не передан, по умолчанию используется ''PrimaryI2C'' и адрес ''0x70''.
class:: TroykaI2CHub
Класс для взаимодействия с расширитель портов I²C модулями. Для создания нового объекта, используйте функцию ''connect''.
meth:: TroykaI2CHub.setBusChannel(channel)
Переключает расширитель портов I²C на канал ''channel'', доступные каналы в диапазоне 0–7. По умолчанию включаем шину I²C на канал ''0''.
// настраиваем шину I²C
PrimaryI2C.setup({sda: SDA, scl: SCL, bitrate: 400000});
// подключаем модуль работы с расширителем портов I²C
var splitter = require('@amperka/i2c-hub').connect();
var i = 0;
// последовательно переводим расширитель портов I²C на канал от 0 до 7
setInterval(() => {
if (i == 8) {
i = 0;
}
splitter.setBusChannel(i);
i++;
}, 100);
meth:: TroykaI2CHub.getBusChannel()
Возвращает текущий номер канала на который переключен расширитель портов I²C.
// настраиваем шину I²C
PrimaryI2C.setup({sda: SDA, scl: SCL, bitrate: 400000});
// подключаем модуль работы с расширителем портов I²C
var splitter = require('@amperka/i2c-hub').connect();
var i = 0;
// последовательно переводим расширитель портов I²C на канал от 0 до 7
// и выводим номер текущего канала в лог
setInterval(() => {
if (i == 8) {
i = 0;
}
splitter.setBusChannel(i);
console.log(splitter.getBusChannel());
i++;
}, 100);