Инструменты пользователя

Инструменты сайта


@amperka/quaddisplay2

Библиотека для работы с четырёхразрядным индикатором (v2).

// Подключаем индикатор к SPI2. Пин P9 — chip select
var quad2 = require('@amperka/quaddisplay2').connect(P9);
// Выводим на индикатор дробное число 12.34
quad2.display('12.34');
 
// Через 3 секунды после начала программы, запускаем бегущую строку
// с периодом кадров 300 миллисекунд
setTimeout(function() {
  quad2.marquee('0123456789', 300);
}, 3000);

Функции модуля

connect(opts)

Создаёт новый объект QuadDisplay. Объект opts должен состоять из двух полей:

  • spi — SPI, к которому подключён модуль, например SPI1;
  • cs — пин chip select.

Если вы подключаете индикатор к SPI2, в качестве opts можно передать только номер пина chip select, функция самостоятельно инициализирует SPI2. Это особенно удобно при работе с Troyka Slot Shield.

var quad2 = require('@amperka/quaddisplay2').connect(P9);
SPI2.setup({mosi: B15, miso: B14, sck: B13});
var quad2 = require('@amperka/quaddisplay2').connect({spi: SPI2, cs: P9});

QuadDisplay

Класс для работы с модулем QuadDisplay. Для создания экземпляра используйте функцию connect.

QuadDisplay.display(text[, alignRight])

Функция принимает строку или число text и выводит на индикатор. Параметр alignRight, равный true, установит выравнивание строки по правому краю индикатора.

var quad2 = require('@amperka/quaddisplay2').connect(P9);
quad2.display('1.2'); // выравнивание по левому краю: [1.][2 ][  ][  ]
quad2.display('1.2', true); // по правому краю:       [  ][  ][1.][2 ]

QuadDisplay.marquee(text[, period])

Функция запускает бегущую строку с текстом text. «Кадры» обновляются с периодом period, по умолчанию 300 миллисекунд.

var quad2 = require('@amperka/quaddisplay2').connect(P9);
quad2.marquee('1234567890', 400);

QuadDisplay.frame(shift)

Функция «сдвигает» текст из функции display на shift разрядов от нулевого.

…
quad2.display('1234567890'); //    [1234]567890
quad2.frame(1);              //   1[2345]67890
quad2.frame(3);              // 123[4567]890