Здравствуйте!Помогите пожалуйста нубу... Через 40 секунд после работы в консоль прилетает: ERROR: Out of Memory! WARNING: Out of memory while appending to array ERROR: Ctrl-C while processing interval - removing it. Execution Interrupted during event processing. at line 1 col 631 ...ut")))},C.MAX_ROUNDTRIP_MS),digitalPulse(c._trigPin,1,.01),t... ^ in function "ping" called from line 11 col 10 },'mm'); ^ in function called from system ERROR: Ctrl-C while processing interval - removing it. Execution Interrupted during event processing. at line 2 col 20 serERROR: Ctrl-C while processing interval - removing it. Execution Interrupted during event processing. at line 3 col 4 }); ^ in func> Код: Код (Javascript): var servo = require('@amperka/servo') .connect(P13); var ultrasonic = require('@amperka/ultrasonic') .connect({trigPin: P10, echoPin: P11}); var button = require('@amperka/button').connect(P3); var pot = require('@amperka/pot') .connect(A0); var sonic = require('@amperka/ultrasonic') .connect({trigPin: P10, echoPin: P11}); var ir = require('@amperka/ir-receiver').connect(P7); var led = require('@amperka/led') .connect(P1) .turnOn(); var buzzer = require('@amperka/buzzer') .connect(P5); var sensor = require('@amperka/light-sensor') .connect(A2); var mes = true; var lx = sensor.read('lx').toFixed(0); setInterval(function() { ir.on ('receive', function () { mes = !mes; }); if (mes) { sonic.ping(function (err,val) { if (err) { console.log(err.msg); } else { console.log(val.toFixed(0),'mm'); } },'mm'); } },100); setInterval(function() { ir.on ('receive', function () { mes = !mes; }); if (!mes) { sonic.ping(function (err,val) { if (err) { console.log(err.msg); } else { console.log(lx,'lx'); } },'lx'); } },100); setInterval(function() { var angle = 180 * pot.read(); servo.write(angle); }, 10);
Советую Вам самим еще раз внимательно просмотреть свой код от начала и до конца. Ибо видна каша недокорректированного копипаста... А лучше всего если Вы вооружившись карандашом попробуете воспроизвести алгоритм на бумаге... ir.on() уберите из интервальных циклов и сделайте его одним отдельным обработчиком. Ну коль начал, то... Два интервала объедините в один...