====== @amperka/x-fet ====== Библиотека для работы с [[amp>product/troyka-wi-fi|Сборкой силовых ключей(Zelo-модуль)]] по протоколу SPI. // инициализируем SPI2 SPI2.setup({baud:3200000, mosi:B15, sck:B13, miso:B14}); // подключаем модуль работы со сборкой силовых ключей var mosfet = require('@amperka/x-fet').connect({ cs: A0, // пин cs нужен для обращения к ключам spi: SPI2, // интерфейс SPI к которому подключены ключи qtyMod: 3 // количество модулей в цепочке }); mosfet.turnOn(1); // включаем выход 1 (по умолчанию на модуле 0) mosfet.turnOn(2,1); // включаем выход 2 на модуле 1 mosfet.turnOn([3,4,5]); // включаем выход 3, 4, 5 (по умолчанию на модуле 0) mosfet.turnOn([6,7],2); // включаем выход 6, 7 на модуле 2 mosfet.toggle(2); // переключаем выход 2 (по умолчанию на модуле 0) mosfet.toggle(2,2); // переключаем выход 2 на модуле 2 mosfet.toggle([3,4,5]); // переключаем выход 3, 4, 5 (по умолчанию на модуле 0) mosfet.toggle([6,7],0); // переключаем выход 6, 7 на модуле 0 mosfet.blink(1,0,1,1); // мигаем выходом 1 на модуле 0 с интервалами 1 сек вкл и 1 сек выкл mosfet.blink([2,3],2,0.5,2);// мигаем выходами 2,3 на модуле 2 с интервалами 0.5 сек вкл и 2 сек выкл mosfet.turnAllOn(0); // включаем все выходы на модуле 0 mosfet.turnAllOff([0,1]); // выключаем все выходы на модуле 0 и 1 mosfet.turnAllOn([0,1,2]); // включаем все выходы на модуле 0,1 и 2 mosfet.turnAllOff(); // выключаем все выходы на всех доступных модулях ===== Функции и объекты модуля ===== func:: connect({cs, spi, qtyMod}); Возвращает новый объект ''X_fet'' для взаимодействия с модулем. В качестве параметра ''cs'' принимается пин подключенный к контакту CS на модуле. Параметр ''spi'' передает интерфейс SPI к которому подключен модуль. А параметр ''qtyMod'' передаёт количество модулей в цепи. func:: connect(cs); Можно использовать и сокращённую форму.Указываем пин ''cs'' , а по умолчанию ''spi = SPI2'' и ''qtyMod = 1''. class:: X-fet Класс для взаимодействия с ''P-fet'' или ''N-fet'' модулями. Для создания нового объекта, используйте функцию ''connect''. meth:: X_fet.turnOn(pin || [pins],numMod) Включает выход ''pin'' или несколько выходов переданных массивом ''[pins]'' на модуле ''numMod''. По умолчанию включаем выходы на ''модуле 0'' var X_fet = require('@amperka/X-fet').connect({ cs: A0, spi: SPI2, qtyMod: 2 }); X_fet.turnOn(1); // включаем выход 1 (по умолчанию на модуле 0) X_fet.turnOn(2,1);// включаем выход 2 на модуле 1 X_fet.turnOn([3,4,5]); // включаем выход 3, 4, 5 (по умолчанию на модуле 0) X_fet.turnOn([6,7],2); // включаем выход 6, 7 на модуле 2 meth:: X_fet.turnOff(pin || [pins], numMod) Отключает выход ''pin'' или несколько выходов переданных массивом ''[pins]'' на модуле ''numMod''. По умолчанию включаем выходы на ''модуле 0'' var X_fet = require('@amperka/X-fet').connect({ cs: A0, spi: SPI2, qtyMod: 2 }); X_fet.turnOff(1); // отключаем выход 1 (по умолчанию на модуле 0) X_fet.turnOff(2,1);// отключаем выход 2 на модуле 1 X_fet.turnOff([3,4,5]); // отключаем выход 3, 4, 5 (по умолчанию на модуле 0) X_fet.turnOff([6,7],2); // отключаем выход 6, 7 на модуле 2 meth:: X_fet.toggle(pin || [pins], numMod) Меняет состояние выхода ''pin'' или несколько выходов переданных массивом ''[pins]'' на противоположное, на модуле ''numMod''. По умолчанию включаем выходы на ''модуле 0'' var X_fet = require('@amperka/X-fet').connect({ cs: A0, spi: SPI2, qtyMod: 2 }); X_fet.toggle(1); // переключаем выход 1 (по умолчанию на модуле 0) X_fet.toggle(2,1); // переключаем выход 2 на модуле 1 X_fet.toggle([3,4,5]); // переключаем выход 3, 4, 5 (по умолчанию на модуле 0) X_fet.toggle([6,7],2); // переключаем выход 6, 7 на модуле 2 meth:: X_fet.blink(pin||[pins],numMod,onTime,offTime) Заставляет мигать выход pin или несколько выходов переданных массивом [pins] на модуле numMod. С заданными интервалами // инициализируем SPI2 SPI2.setup({baud:3200000, mosi:B15, sck:B13, miso:B14}); //Подключаем модуль работы со сборкой силовых ключей N-fet var X_fet = require('@amperka/X-fet').connect({ cs: A0, // пин Чип-селект нужен для обращения к ключам spi: SPI2, // интерфейс SPI к которому подключены ключи qtyMod:3 // количество модулей в цепочке }); // мигаем выходом 1 на модуле 0 с интервалами 1 сек вкл и 1 сек выкл X_fet.blink(1,0,1,1); // мигаем выходами 2,3 на модуле 2 с интервалами 0.5 сек вкл и 2 сек выкл X_fet.blink([2,3],2,0.5,2); meth:: X_fet.turnAllOn({}||numMod||[numMods]) Включает все выходы на модуле ''numMod'' или на модулях заданных массивом ''[numMods]'', по умолчанию (без параметров) включает выходы на всех доступных модулях // инициализируем SPI2 SPI2.setup({baud:3200000, mosi:B15, sck:B13, miso:B14}); //Подключаем модуль работы со сборкой силовых ключей N-fet var X_fet = require('@amperka/X-fet').connect({ cs: A0, // пин Чип-селект нужен для обращения к ключам spi: SPI2, // интерфейс SPI к которому подключены ключи qtyMod:3 // количество модулей в цепочке }); X_fet.turnAllOn(0); // включаем все выходы на модуле 0 X_fet.turnAllOn([1,2]); // включаем все выходы на модуле 1 и 2 X_fet.turnAllOn(); // включаем все выходы, на всех модулях meth:: X_fet.turnAllOff({}||numMod||[numMods]) Выключает все выходы на модуле ''numMod'' или на модулях заданных массивом ''[numMods]'', по умолчанию (без параметров) выключает выходы на всех доступных модулях // инициализируем SPI2 SPI2.setup({baud:3200000, mosi:B15, sck:B13, miso:B14}); //Подключаем модуль работы со сборкой силовых ключей N-fet var X_fet = require('@amperka/X-fet').connect({ cs: A0, // пин Чип-селект нужен для обращения к ключам spi: SPI2, // интерфейс SPI к которому подключены ключи qtyMod:3 // количество модулей в цепочке }); X_fet.turnAllOff(0); // выключаем все выходы на модуле 0 X_fet.turnAllOff([1,2]); // выключаем все выходы на модуле 1 и 2 X_fet.turnAllOff(); // выключаем все выходы, на всех модулях