2016-05-18 13 views
0

Я нашел публичную скрипку, которую я пытаюсь изменить для своих целей. Он считывает аналоговые значения из BeagleBone и отображает их на экране. Он работает хорошо и обновляет значения, когда я запускаю его из скрипки оригинального автора. Но когда я развожу скрипку и получаю ее от моей приборной панели, она, похоже, не работает. Значения не обновляются.JsFiddle Bonescript Fail After Fork

Я подтвердил, что он работает от моего beaglebone, так как он перестает обновляться, когда я удаляю питание. Я также подумал, что это может быть конфликт в порту или что-то в этом роде, две скрипки, борющиеся за доступ, но это, похоже, не так. Я опроверг это, открыв несколько экземпляров скрипта оригинального автора, и все они обновляются в унисон, я даже могу их изменить, не вызывая проблемы, но ничего не работает, когда сохраняется на моей панели инструментов.

... Я не понимаю, возникает ли какое-то странное изменение настроек, когда я форк-файл?

HTML:

<h1>BoneScript Analog Value Monitor</h1> 

<p>AIN0 = <span id="ain0"></span> </p> 
<p>AIN1 = <span id="ain1"></span> </p> 
<p>AIN2 = <span id="ain2"></span> </p> 
<p>AIN3 = <span id="ain3"></span> </p> 
<p>AIN4 = <span id="ain4"></span> </p> 
<p>AIN5 = <span id="ain5"></span> </p> 
<p>AIN6 = <span id="ain6"></span> </p> 

Javascript:

setTargetAddress('beaglebone.local', { 
initialized: run 
}); 
setTargetAddress('192.168.7.2', { 
    initialized: run 
}); 

// The demo BoneScript application within the 'run()' function 
function run() { 
    /* 
    * Setup 
    */ 
    var b = require('bonescript'); 
    var ain = []; 

    for (var j = 0; j <= 6; j++) { 
     for (var i = 0; i < b.bone.pinIndex.length; i++) { 
      if (b.bone.pinIndex[i].name == 'AIN' + j) { 
       ain[j] = b.bone.pinIndex[i].key; 
      } 
     } 
    } 

    var index = 0; 
    doRead(); 

    function doRead() { 
     b.analogRead(ain[index], onRead); 
    } 

    function onRead(x) { 
     try { 
      $('#ain' + index).html(x.value.toFixed(3)); 
     } catch (ex) { 
      $('#ain' + index).html('XXXXX'); 
     } 
     index++; 
     if (index > 6) { 
      index = 0; 
      setTimeout(doRead, 100); 
     } else { 
      doRead(); 
     } 
    } 
} 

Автора Оригинала Fiddle: http://jsfiddle.net/jkridner/gC6um/

Мой раздвоенный Fiddle: https://jsfiddle.net/Kjorkis/97002L1m/

ответ

0

Так что я подпрыгнул мое лицо со стола сезам стол начал жаловаться.

Тогда я заметил что-то странное. Оказывается, JSFiddle.net будет использовать защищенное соединение при доступе к вашим СОБСТВЕННЫМ скриптам, но не к другим ... это означает, что для моей скрипты URL был «https: //» вместо «http: //».

Чтение прикрепленной ссылки объясняет временную задержку для соединений HTTPS, и, учитывая, что beaglebone отправляет несколько небольших пакетов данных, из JSFiddle и обратно, он не играет хорошо.

HTTP vs HTTPS: HTTP vs HTTPS performance

 Смежные вопросы

  • Нет связанных вопросов^_^