Расширение для vs code, обеспечивающее работу с nodemcu lua

Тема в разделе "ESP8266, ESP32", создана пользователем serg3295, 2 апр 2023.

Метки:
  1. serg3295

    serg3295 Гуру

    Выпущена версия 3.5.5
    • Добавлена команда Compile and upload to device.
    Команда становится активной при наличии установленного соединения с устройством. Для выполнения команды необходимо щёлкнуть правой клавишей мыши на файле с расширением .lua. В появившемся контекстном меню выбрать пункт Compile and upload to device.
    • Исправлена ошибка при которой на устройство ошибочно выгружался файл результата последней успешной компиляции.
    Результаты компиляции файла, или сборки образа LFS помещаются в папку из опции outDir, если она указана. Если компиляция прошла успешно, то полученный артефакт будет выгружен на устройство, а затем к его имени будет добавлено расширение .old. В случае, если компиляция завершилась с ошибкой, файл с расширением .img, или .lc не будет сгенерирован компилятором, и на устройство ничего выгружено не будет. При этом в папке останется файл с расширением .old, полученный в результате последней успешной работы компилятора.
    • Команда Build LFS and upload to device добавлена в группу Build.
    Теперь можно вызывать эту команду стандартной комбинацией клавиш Ctrl+Shift+B

    Хозяйке на заметку.
    В последних версиях VS Code можно вызывать меню запуска задач из контекстного меню терминала.

    runtask.png
     
    ИгорьК нравится это.
  2. ИгорьК

    ИгорьК Гуру

    1. Таки у меня добавилась в меню но не добавилась в работу на Вынь10. При вызове, в консоли указывает, что:
    Код (Bash):

    Uploading Error: ENOENT: no such file or directory, stat 'c:\Users\remoteadmin\Nextcloud\AllFiles\esp\MAX7219_Clock\src23_26_Novi_Sad_LFS\.output\_test_Lux.lc'
    То есть в выходной папке ничего не появляется.

    2. В чем смысл этой команды? Уже есть "Upload to device and compile". В результате ее работы на железке появляется файл lc, файл lua не появляется.

    Для уменьшения количества папок сделал такой файл конфигурации:

    Код (Bash):
    {
      "compilerExecutable": "c:\\luacross\\luac.cross.exe",
      "include": [
        "_lfs/*.lua"
      ],
      "outDir": "./.output"
    }
    Как предложение. В окне файлов на устройстве RUN файла вызывается из контекстного меню. Удобнее, полагаю, сделать его вызов по щелчку левой кнопки мыши.
     
    Последнее редактирование: 2 май 2023
  3. serg3295

    serg3295 Гуру

    1. А ошибок при компиляции при этом не выдаётся? И попробуйте сделать обновление списка задач, перед вызовом этой команды из меню.
    2. Компиляция - это ресурсоёмкая операция. Если файл большой, то при компиляции на устройстве может просто не хватить памяти. Поэтому ввёл команду 'скомпилировать на хосте'.
    3. Про предложение. Я тут немного не понял. Если я выберу файл левой клавишей мыши, чтобы его стереть, то он что, должен выполниться?
     
  4. ИгорьК

    ИгорьК Гуру

    Нет, только то, что файла нет в выходной папке. В выходной папке luacross.log есть, но пустой.

    Это как?

    Затупил. При двойном щелчке мыши.
     
  5. serg3295

    serg3295 Гуру

    Это все признаки того, что компиляция завершилась с ошибкой.

    Обновить спискок задач, и, заодно, перечитать конфиг файл можно нажав ShowAllTasks... или NodeMCU.

    run2.png

    Может для запуска я попробую приделать всплывающий треугольник при наведении мыши на файл? Вот так примерно:

    run1.png
     
    ИгорьК нравится это.
  6. ИгорьК

    ИгорьК Гуру

    Не взлетела...

    Гуд!
     
  7. serg3295

    serg3295 Гуру

    Выпущена версия 3.5.6
    • Добавлена команда для сборки LFS без выгрузки на устройство. Build LFS on host machine. Полученный файл lfs.img может быть использован далее в конвейере выполнения задач пользователя. Команда доступна из меню задач;
    • Добавлена команда компиляции файла без выгрузки на устройство. Compile on host machine. Команда доступна в альтернативном контекстном меню Esplorer'a. То есть, для вызова этого меню необходимо встать на файл .lua, нажать клавишу Alt (в Линуксе - Shift) и правую клавишу мыши;
    • Добавлена возможность запуска на исполнение файла, находящегося на устройстве, без вызова контекстного меню. Для запуска надо нажать на пиктограмму Run в виде треугольничка, которая появляется справа от имени файла. Запуск на выполнение будет возможен только для файлов с расширениями .lua и .lc;
    • Убрано переименование файлов с добавлением к ним расширения .old. Теперь при неудачной компиляции в папке outDir остаётся файл от последней удачной компиляции со своим "нормальным" именем. Выгрузка на устройство не производится;
    • Убран ряд избыточных диагностических сообщений.
     
    Последнее редактирование: 3 май 2023
    ИгорьК нравится это.
  8. serg3295

    serg3295 Гуру

    А можно взглянуть на строку терминала при выполнении этой команды.
    run3.png
     
  9. ИгорьК

    ИгорьК Гуру

    В прошлой версии было мало вывода информации, а в этой - пожалуйста:

    upload_2023-5-3_9-42-36.png

    Та же картина:
    upload_2023-5-3_9-44-33.png


    Вот просто здорово как удобно! :)

    "Правильным путем..." :)
     
    serg3295 нравится это.
  10. serg3295

    serg3295 Гуру

    Выпущена версия 3.5.7
    • Исправлена ошибка при выполнении команд Compile и Compile and upload to device.
     
    ИгорьК нравится это.
  11. ИгорьК

    ИгорьК Гуру

    Ну да, исправлена! :)
     
    serg3295 нравится это.
  12. ИгорьК

    ИгорьК Гуру

    ... но есть одна странная проблема, сформулировать которую пока не могу:



    То есть, плагин не хочет коннектиться с одной железкой, а с другой - запросто. Обе железки физически одинаковые. Прошивки там, полагаю, немного различаются, но обе на базе последней ESP8266. Буду исследовать.
    Вынь11. На Вынь10 тоже были проблемы, но в конце концов плата подключилась.
     
    Последнее редактирование: 4 май 2023
  13. ИгорьК

    ИгорьК Гуру

    Вот перезагрузка той что коннектится:

    upload_2023-5-4_9-0-52.png

    Вот той, что не хочет:

    upload_2023-5-4_9-0-11.png
     
  14. serg3295

    serg3295 Гуру

    В процессе исследований может помочь встроенный инструментарий VS Code. Надо нажать Ctrl+Shift+P -> Developer: Toggle Developer Tools.
    Для удобства, можно в настройках этого окна попросить его выделиться в отдельное окошко, выбрав Dock side.
    ext1.png

    Теперь в открывшемся окне можно наблюдать поток команд, относящихся к расширению.
    ext2.png
     
    ИгорьК нравится это.
  15. ИгорьК

    ИгорьК Гуру

    По прошивкам вижу что первую брал на их сайте а вторую компилировал сам.

    Все, надо заниматься другими делами :-(
     
  16. serg3295

    serg3295 Гуру

    Ещё разница в наличии\отсутствии ssl.
     
  17. ИгорьК

    ИгорьК Гуру

    Продолжение (без окончания).
    Разница не в прошивке. Закатал такую же прошивку на модуль - коннектится.
    Что не коннекстится? Часы с МАХ7219, DS18b20 и фоторезистором на А0.
    Отключил МАХ и DS18b20 - не коннектятся все равно.
    Остался фоторезистор, но его можно только отпаять. Ломать часы желания нет, как и паяльника здесь.
    Исследования продолжаются...
     
  18. serg3295

    serg3295 Гуру

    Я бы взглянул на логи из окна developer tools. В частности, интересуют команды обмена с устройством.
    Паять пока рано:)
    Вот так вот начинается обмен с устройством:
    Код (Text):
    [Extension Host] Trying serialport-v10.0.1-linux-x64.node
    console.ts:137 [Extension Host] C: uart.write(0,tostring(node.chipid()).."\r\n")
    console.ts:137 [Extension Host] CR: uart.write(0,tostring(node.chipid()).."\r\n")
    console.ts:137 [Extension Host] CR: 8552280
    console.ts:137 [Extension Host] C: local l=file.list()local s=";"for k,v in pairs(l)do s=s..k..":"..v..";"end;uart.write(0,s.."\r\n")
    console.ts:137 [Extension Host] CR: > local l=file.list()local s=";"for k,v in pairs(l)do s=s..k..":"..v..";"end;uart.write(0,s.."\r\n")
    console.ts:137 [Extension Host] CR: ;lfs.img:1942;main.lua:211;
    console.ts:137 [Extension Host] C: uart.write(0,tostring(node.heap()).."\r\n")
    console.ts:137 [Extension Host] CR: > uart.write(0,tostring(node.heap()).."\r\n")
    console.ts:137 [Extension Host] CR: 42808
     
  19. ИгорьК

    ИгорьК Гуру

  20. ИгорьК

    ИгорьК Гуру

    upload_2023-5-4_18-50-25.png

    Там где error - попытка конектиться к неконнету. Между ним - коннект к тому что коннектится.