Здравствуйте. Поясните, пожалуйста, что не так в следующем коде: Код (Javascript): var flowsensor = require('FuelFlow'); // модуль датчика расхода с сайта https://github.com/amperka/espruino-modcat/blob/master/modules/%40amperka/water-flow.js var flowsensor1= flowsensor.connect (P13); var flowsensor2= flowsensor.connect (P9); var flowSensorTimer = null; flowSensorTimer = setInterval(function(speed1, speed2) { speed1 = flowsensor1.speed('l/min'); speed2 = flowsensor2.speed('l/min'); var q = speed1 - speed2; console.log (speed1.toFixed(2), speed2.toFixed(2), q.toFixed(2)); }, 200); Хочу рассчитать разницу расходов в двух магистралях (прямой и обратной). Но загвоздка в том, что при поступлении сигнала на оба датчика одновременно - показывает только один из них (первый) и разница q равная показаниям первого. Если сигнал поступает со второго датчика, а с первого нет, то показания первого остаются нулевыми, а разница - показаниям второго датчика со знаком минуса. Может все дело в flowSensorTimer?
Привет! А по отдельности датчики работают? вроде бы все правильно (0 - х = -х). Или вы другое хотите получить? PS: Почему вы не используете require('@amperka/water-flow'); вместо require('FuelFlow');?
По отдельности датчики работают. Когда данные приходят одновременно, и со второго и с первого - показания второго равны нулю. А что касается модуля он один в один, я просто его переименовал. Не могу понять почему игнорируются показания второго датчика?
Разобрался. Если у датчиков сильно разнятся характеристики или один из них глючит - получается такая песня. Подсоединил их к одной магистрали - заработали оба, но в показаниях чушь. Видимо надо под каждый датчик заводить свой модуль, где вводить свои калибровочные значения. Спасибо.