====== @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);