====== @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(); // выключаем все выходы, на всех модулях