#node.js #serial-communication #node-serialport
#node.js #последовательная связь #узел-serialport
Вопрос:
Мне нужно получить значения для набора команд, которые будут выполняться через регулярные промежутки времени, например
Количество команд Set 1: 10
Количество команд из набора 2: 4
Проблема в том, что команды Set 1 выдадут 2 байта, а команды Set 2 предоставят 4 байта данных, которые являются независимыми шестнадцатеричными значениями, и мне нужно выполнить отдельные вычисления для ответа обоих наборов команд. Эти команды также будут отправляться через регулярные промежутки времени. Я использую анализатор, предоставляемый в библиотеке node 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 не сохраняет данные постоянными, как всякий раз, когда происходит событие data, оно загружается во входящий буфер и начинается объединение.
- Правильный ли подход?
- Как выбрать переменную длину байта, поскольку существует только один глобальный анализатор и экземпляр последовательного порта
- Хорошо ли подходит setInterval для этой ситуации