New interpreter error: FIFO_FULL

Тема в разделе "Iskra JS, Espruino, Йодо", создана пользователем ostrov, 5 июн 2018.

  1. ostrov

    ostrov Гуру

    Выскакивает практически после второго нажатия кнопки. Код:
    Код (Javascript):
    setWatch(function() { digitalPulse(D23, 1, 100); }, D22, {edge: 'falling'}, {debounce: 100});
    Как этого избежать?
     
  2. ИгорьК

    ИгорьК Давно здесь

    Читать первоисточник.
     
  3. ostrov

    ostrov Гуру

    То есть оно работает таки не параллельно?
     
  4. ИгорьК

    ИгорьК Давно здесь

    Как оно там (по факту) работает - хз, но к вылету FIFO_FULL имеет отношение то, что 100 - это не несколько миллисекунд.
     
  5. ostrov

    ostrov Гуру

    Вот как заменить это таймаутом? Сначала включить сд, потом запустить таймаут на выключение? Изящней как?
     
  6. ostrov

    ostrov Гуру

    Сделал не изящно, но та же ошибка вылетает когда сразу, а когда через 2-3 нажатия.
    Код (C++):
    setWatch(function() {digitalWrite(D23, 1); setTimeout(function() {digitalWrite(D23,0);},100);},
                         D22, {edge: 'falling'}, {debounce: 100});
     
  7. ostrov

    ostrov Гуру

    А закончилось все вот этим, на любую программу, даже заведомо исправную:
    Код (C++):
    WARNING: --- gap_setScan 0
    WARNING: Scan stop failed
    WARNING: set rssi scan not implemeted yet
    WARNING: has central connection not implemented yet
    >
     
  8. ИгорьК

    ИгорьК Давно здесь

    Ты же не хочешь Lua... Lua чисто под ESP-8266 пишется. Давай затирай память и шей Еспруино заново.
     
  9. ostrov

    ostrov Гуру

    Я понял, что память забилась. И нет другого способа почистить кроме как прошивать целиком? И так теперь каждый раз будет?
     
  10. ИгорьК

    ИгорьК Давно здесь

    Я бы анонимную функцию попробовал на на callback поменять.
     
  11. ИгорьК

    ИгорьК Давно здесь

    Не знаю. Я не сталкивался. Хотя опыт esp - Espruino небольшой, но проблем такого характера не было.
    Вообще, если надеешься JS на реалтайм натягивать - забей. JS не для этого.
     
  12. ostrov

    ostrov Гуру

    Причем, та же самая ошибка выскакивает на другой такой же плате, которую я вообще ничем пока не грузил. Как так?
     
  13. ostrov

    ostrov Гуру

    Не знаю что это значит, мне нужно запускать на ней высокоуровневые и резурсоемкие задачи, которые тяжело запускать на Ардуино. Такие как веб морда например, графика и прочее и прочее. Но пока не могу заставить реагировать на кнопку.
     
  14. ИгорьК

    ИгорьК Давно здесь

    Кроме того - esp не родная плата под Espruino, возможны глюки. Все таки ее нужно юзать с теми ide, что именно для нее пишутся. Иначе смиряться с такими фокусами.
     
  15. ИгорьК

    ИгорьК Давно здесь

    Хз. Прошивка проблемная.
     
    Последнее редактирование: 5 июн 2018
  16. ИгорьК

    ИгорьК Давно здесь

    Это как раз можно, а вот вытягивать из нее прерывания да пульсы - не стоит. Пиши сразу вебморду.
     
  17. ИгорьК

    ИгорьК Давно здесь

    Вообще, она просто пишет, что ты ей даешь команду, которую еще не реализовали, а только обозначили.
     
  18. ИгорьК

    ИгорьК Давно здесь

    Поэтому все нормально.
     
  19. ostrov

    ostrov Гуру

    Почистил с десятого раза при помощи reset(), save() и такой то матери. Но осадок остался. Странный подход, при записи новой программы оставлять куски старой. Пока не могу понять смысла в этом. И почему нельзя по человечи работать с кнопками и прочими привычными вещами для меня тоже загадка.
     
  20. ИгорьК

    ИгорьК Давно здесь

    На счет чистки - я тут согласен.
    А все остальное там по человечьи.
    Просто ардуинщики привыкли не по-человечьи до степени "должно быть так".
     
    arkadyf нравится это.