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

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

Метки:
  1. serg3295

    serg3295 Гуру

    Выпущена версия 4.1.0

    • Минимальная версия nodejs > 18.18.0;
    • Исправлена ошибка при выгрузке на ESP файла размером, кратным 254 байта;
    • Добавлены команды:
    - Upload Folder to device выгружает все файлы, находящиеся в папке, на устройство. К началу имени файла, записанного на устройство будет добавлено имя папки с разделителем '/'
    Например:
    Папка на хосте
    http
    !── main.css
    имя файла на ESP будет http/main.css

    - [ALT] Upload files under folder to device выгружает все файлы, находящиеся в папке, на устройство. Имя файла, записанного на устройство, остаётся без изменений.

    В данный момент расширение версии 4.1.0 доступно в виде .vsix для скачивания с github'a из раздела releases.
    Через некоторое время эта версия расширения будет опубликована на marketplace.visualstudio.com и доступна к установке стандартным способом.
    Если вам понравилось данное расширение, и вы зарегистрированы на Github'e, не стесняйтесь поставить звезду репозиторию этого расширения.
     
    Последнее редактирование: 14 фев 2024
    ИгорьК нравится это.
  2. parovoZZ

    parovoZZ Гуру

    А расширение на чём написано? На TS?
     
  3. serg3295

    serg3295 Гуру

    В приложении к данному сообщению предрелизная версия расширения nodemcu-tools. Версия полностью рабочая, но требует тестирования.
     

    Вложения:

    ИгорьК нравится это.
  4. ИгорьК

    ИгорьК Гуру

    Приступаю :)

    upload_2024-5-22_19-28-17.png
     
  5. ИгорьК

    ИгорьК Гуру

    Ну вот:

    upload_2024-5-22_19-35-53.png

    А ESP32C6 опять осталась на даче :(
     
    serg3295 нравится это.
  6. ИгорьК

    ИгорьК Гуру

    Пока проблема:

    00001.jpg

    LFS файл не заходит. Да и любые другие.

    Если сделать дисконнект и потом попробовать сконектиться снова - не соединяется. Подключение только после отключения модуля от компа.

    Это все на новой прошивке. Сейчас верну прошивку старую.

    На старой все ОК.

    Windows 11.
     
  7. serg3295

    serg3295 Гуру

    В новой версии по умолчанию должны быть line endings lf/lf
    В старой crlf/cr
     
    ИгорьК нравится это.
  8. ИгорьК

    ИгорьК Гуру

    Что надо в связи с этим сделать? Не представляю о чем это.
     
  9. serg3295

    serg3295 Гуру

    Определимся с понятиями.

    - "новая прошивка" - прошивка для esp32, собранная на самом последнем (на данный момент) коммите Actually honour Kconfig line-endings settings. 918f75310e98aea2ea908f9256c435f1be50de53
    - "старая прошивка" - прошивка для esp32, собранная на любом коммите до коммита Initial support for ESP32-C6 and ESP32-H2, plus assorted fixes & improvements (#3646) 4cdebe71915a20531fbefe315556a34017a2845b

    Коммиты посерединке между вышеуказанными содержат ошибку. Собирать на них бессмысленно.

    При смене цели, происходит установка значений по умолчанию для всех параметров, которые находятся в файле sdkconfig. Команда make menuconfig позволяет менять все эти параметры. Например, UART или CDC для вывода на консоль.
    Также на работу внешних утилит влияют параметры
    22-05-24_20-46.png

    Для "новой прошивки" они должны быть lf/lf. Для "старой прошивки" и для esp8266 - crlf/cr

    Эти значения устанавливаются по умолчанию. Менять их не надо (нельзя).
     
    Последнее редактирование: 22 май 2024
    ИгорьК нравится это.
  10. ИгорьК

    ИгорьК Гуру

    Это работает:
    upload_2024-5-22_23-7-39.png

    Завтра потестирую больше.
     
    serg3295 нравится это.
  11. ИгорьК

    ИгорьК Гуру

    Таки потестировал - проблем не заметил. Кроме маленькой - кнопка автоскролл не фиксируется, как только данные выходят за пределы окна - их не видно (в прошлой тоже временами было, в этой всегда)

    Вылезла проблема другого рода, в связи с прошивкой. Код рабочий на прошлой прошивке на этой вылетает таким образом:
    Код ( (Unknown Language)):
    > dofile('__init.lua')
    Try Run     _setuser.lua
    > Client:    nil
    No DS18b20!
    E (36190) task_wdt: Task watchdog got triggered. The following tasks/users did not reset the watchdog in time:
    E (36190) task_wdt:  - IDLE0 (CPU 0)
    E (36190) task_wdt: Tasks currently running:
    E (36190) task_wdt: CPU 0: main
    E (36190) task_wdt: CPU 1: IDLE1
    E (36190) task_wdt: Aborting.
    E (36190) task_wdt: Print CPU 0 (current core) backtrace




    Backtrace: 0x40100837:0x3ffbbfd0 0x400faa14:0x3ffbc000 0x400faae2:0x3ffbc020 0x400fab5b:0x3ffbc040 0x400e7f13:0x3ffbc080 0x400d9af5:0x3ffbc0a0 0x400eb80f:0x3ffbc0c0 0x400f2889:0x3ffbc0f0 0x400eb9a5:0x3ffbc140 0x400eb9c5:0x3ffbc160 0x400e868d:0x3ffbc180 0x400eb387:0x3ffbc1a0 0x400ebb3a:0x3ffbc220 0x400e9265:0x3ffbc250 0x400ea77d:0x3ffbc290 0x400dc12b:0x3ffbc2b0 0x400fae2d:0x3ffbc2d0 0x400d7f71:0x3ffbc300 0x4019bc06:0x3ffbc350




    ELF file SHA256: d959a885de0477c4

    Rebooting...
    ets Jun  8 2016 00:22:57

    rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
    configsip: 0, SPIWP:0xee
    clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
    mode:DIO, clock div:2
    load:0x3fff0030,len:5156
    load:0x40078000,len:15116
    load:0x40080400,len:4
    load:0x40080404,len:3176
    entry 0x400805b8

    E (650) mmap: esp_mmu_paddr_to_vaddr(752): paddr isn't mapped
    LFS image loaded

    NodeMCU ESP32 build unspecified powered by Lua 5.3.5 [5.3-int32-singlefp] on IDF v5.1.3
    cannot open init.lua: No such file or directory

    И что интересно, на другом модуле вчера он же нормально работал (картинка выше).

    Вывод не показывает в чем проблема :(
     
  12. serg3295

    serg3295 Гуру

    Вот так должна работать кнопка Autoscroll. Видео записано в линуксе.
    Peek 2024-05-23 10-02.gif

    Код надо посмотреть. Если можно его кинуть в личку, то я гляну.
     
    ИгорьК нравится это.
  13. serg3295

    serg3295 Гуру

    И сразу добавлю. Если в коде есть операции с uart.on( и тут callback) , то теперь (в новой прошивке) надо обязательно делать uart.start(0) uart.stop(0) даже для консоли. Подробнее тут (github)

    EDIT. Или другой вариант:
    ```
    uart.start(0)
    какой-то код со всякими uart'ами и коллбэками внутри них
    uart.stop(0)
    ```
     
    Последнее редактирование: 23 май 2024
    ИгорьК нравится это.
  14. ИгорьК

    ИгорьК Гуру

    UPD. Реакция из предыдущего поста вызвана отсутствующим файлом для вызова. Странная реакция.
    Перешил прошивку еще раз - все заработало. Вывод показал ошибку, что файл отсутствует, (но я и сам догадался перед этим).

    По скролу. Раньше все время шел автоскрол, если не остановить его кнопкой. Теперь все как на видео, если я правильно его понимаю. То есть данные уходят за пределы окна и чтобы их увидеть, надо нажать кнопку. Но следующие данные опять будут не видны - опять нажимать кнопку. Это не очень удобно.

    ЗЫ. Хотя иногда и автоскролит. Может я что-то не понимаю.
     
    Последнее редактирование: 23 май 2024
    serg3295 нравится это.
  15. ИгорьК

    ИгорьК Гуру

    У меня UART все время "на страже" - данные с датчика идут постоянно, сами. Его надо постоянно включать/выключать? В чем смысл?
     
  16. serg3295

    serg3295 Гуру

    Логика работы кнопки Autoscroll не менялась. Как автор расширения задумал, так и осталось. Почему так себя кнопка вела в Windows, я не знаю, просто не замечал.

    По идее, когда я полез наверх экрана что-то посмотреть в логе, кнопка активировалась. То есть, вновь приходящие данные (а они могут ведь приходить сами по себе) не сбрасывают меня в последнюю принятую строку, а выводятся в хвост терминала. И я спокойно смотрю в логе то, что мне надо. Когда посмотрел, нажал кнопку Autoscroll, посмотрел - что там наприходило, и снова приходящие в терминал строки стали прокручивать экран.
     
    ИгорьК нравится это.
  17. ИгорьК

    ИгорьК Гуру

    Сейчас вроде так и работает. Может ему нужно время "размяться" :) Только что было не так. Ладно, это не проблема.

    Вроде бы сейчас все что касается прошивки и nodemcu-tool работоспособно.

    Что теперь напрягает. Красная надпись при перезагрузке и много ошибок при установке LFS (что вроде на работоспособности не сказывается).
     
  18. serg3295

    serg3295 Гуру

    Включать\выключать постоянно не надо. Если коллбэков в uart.on() нету, то тоже всё будет работать как раньше.
    Можно включить один раз в начале модуля. Если надо, потом выключить. Эти операции кроме всего прочего выделяют\освобождают память под буфера.
     
    ИгорьК нравится это.
  19. serg3295

    serg3295 Гуру

    Да, это я всё видел, надо будет поразбираться.
     
    ИгорьК нравится это.
  20. ИгорьК

    ИгорьК Гуру

    ESP32 имеет много дури... :) Пока не видел у нее нехватки памяти.