Мне нужно получить значения для набора команд, которые будут выполняться через равные промежутки времени, например
Количество команд Set 1: 10
Количество команд Set 2: 4
Проблема в том, что Установить 1 Команды будут выдавать 2 байта и Установить 2 Команды предоставят 4 байта данных, которые независимые значения HEX, и мне нужно выполнить отдельные вычисления на ответ обоих наборов команд. Эти команды также будут отправляться через равные промежутки времени. Я использую синтаксический анализатор, предоставленный в библиотеке serialport узла
const ByteLength = require('@serialport/parser-byte-length');
parser = myPort.pipe(new ByteLength({ length: 2})); // pipe the serial stream to the parser
parser.on('data', console.log);
Длина байта при изменении с 2 на 4 не сохраняет данные постоянными, как всякий раз, когда происходит событие данных, он выбрасывает во входящий буфер и начинает конкатенацию.
- Правильный ли подход?
- Как выбрать переменную ByteLength, поскольку существует только один глобальный анализатор и экземпляр последовательного порта
- Является ли SetInterval подходящим для этой ситуации