Прошивка для esp32 nodemcu lua на базе последней idf4.4

Тема в разделе "ESP8266, ESP32", создана пользователем serg3295, 11 июл 2022.

  1. ИгорьК

    ИгорьК Гуру

    Здесь как раз все в порядке.

    upload_2024-5-6_10-2-32.png


    Это не срабатывает в Workspace

    upload_2024-5-6_10-3-14.png
     
  2. ИгорьК

    ИгорьК Гуру

    UPD. Если эти параметры перенести в settings.json, глобальный - оно работает.

    upload_2024-5-6_10-11-16.png

    Но в первом компьютере эти параметры находились в локальном workspace - они же относятся к конкретному проекту.


    Кстати :)

    upload_2024-5-6_10-13-55.png
     
  3. serg3295

    serg3295 Гуру

    /library в хвост добавить.

    Общие рекомендации:

    в глобальном settings.json указать общий путь
    Код (Javascript):

    // "Lua.format.enable": false,
    "[lua]": {
    // "editor.formatOnSave": true,
    "editor.defaultFormatter": "sumneko.lua"
    // "editor.defaultFormatter": "JohnnyMorganz.stylua"
    },
    "Lua.workspace.userThirdParty": [
    "/home/serg/Projects/lua/definitions/nodeMCU-emmylua"
    ],
     
    после этого в локальном workspace в каком-нибудь .lua файле набрать ---@esp32 <enter>

    должно автоматически сгенерироваться что-то вроде этого:
    Код (Javascript):
    {
      "Lua.runtime.version": "Lua 5.3",
      "Lua.runtime.builtin": {
        "utf8": "disable",
        "math": "disable",
        "bit32": "disable",
        "os": "disable",
        "bit": "disable"
      },
      "Lua.runtime.plugin": "/home/serg/Projects/lua/definitions/nodeMCU-emmylua/esp32/plugin.lua",
      "Lua.workspace.library": [
        "/home/serg/Projects/lua/definitions/nodeMCU-emmylua/esp32/library"
      ],
    }
     
    Все приколы с доверием к плагинам и workspace это к $MSoft
    Я тут ничего поделать не могу.
     
    Последнее редактирование: 6 май 2024
    ИгорьК нравится это.
  4. serg3295

    serg3295 Гуру

    И всё-таки. Вот я выключил локально расширение Lua в workspace. Сразу в локальном settings стали серыми строчки с параметрами этого расширения.
    06-05-24_10-48.png
     
    ИгорьК нравится это.
  5. serg3295

    serg3295 Гуру

    Я таки запустил esp32s2 в nodemcu Lua. Собрано на последнем коммите.
    Код (Text):

    --- esp-idf-monitor 1.4.0 on /dev/ttyACM0 115200 ---
    --- Quit: Ctrl+] | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H ---
    I (36) boot: ESP-IDF v5.1.3 2nd stage bootloader
    I (36) boot: compile time May  6 2024 10:35:04
    I (36) boot: chip revision: v0.0
    I (36) boot.esp32s2: SPI Speed      : 80MHz
    I (36) boot.esp32s2: SPI Mode       : DIO
    I (37) boot.esp32s2: SPI Flash Size : 4MB
    I (37) boot: Enabling RNG early entropy source...
    I (37) boot: Partition Table:
    I (37) boot: ## Label            Usage          Type ST Offset   Length
    I (38) boot:  0 nvs              WiFi data        01 02 00009000 00006000
    I (39) boot:  1 phy_init         RF data          01 01 0000f000 00001000
    I (40) boot:  2 factory          factory app      00 00 00010000 00180000
    I (42) boot:  3 lfs              unknown          c2 01 00190000 00010000
    I (43) boot:  4 storage          Unknown data     01 82 001a0000 00070000
    I (44) boot: End of partition table
    I (44) esp_image: segment 0: paddr=00010020 vaddr=3f000020 size=29d5ch (171356) map
    I (79) esp_image: segment 1: paddr=00039d84 vaddr=3ff9e02c size=00004h (     4) load
    I (80) esp_image: segment 2: paddr=00039d90 vaddr=3ffc9b50 size=03520h ( 13600) load
    I (84) esp_image: segment 3: paddr=0003d2b8 vaddr=40024000 size=02d60h ( 11616) load
    I (87) esp_image: segment 4: paddr=00040020 vaddr=40080020 size=b95e4h (759268) map
    I (238) esp_image: segment 5: paddr=000f960c vaddr=40026d60 size=12de8h ( 77288) load
    I (258) esp_image: segment 6: paddr=0010c3fc vaddr=40070000 size=0002ch (    44) load
    I (270) boot: Loaded app from partition at offset 0x10000
    I (272) boot: Disabling RNG early entropy source...

    E (330) mmap: esp_mmu_paddr_to_vaddr(752): paddr isn't mapped

    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
    > tmr.create():alarm(1000, tmr.ALARM_SINGLE, function (t) print("tmmm") end)
    > tmmm

    > print(node.heap())
    112380
    >
     

    Правда, странно как-то работает. Половина функций в node отсутствует.
    Работают все, просто node.chipid() применимо только к esp32. Это ломает также и работу консольной утилиты nodemcu-tool. Надо думать как обходить проблему.

    Но зато есть надежда, что esp32c6 тоже прошьётся и заработает.
     
    Последнее редактирование: 6 май 2024
    ИгорьК нравится это.
  6. ИгорьК

    ИгорьК Гуру

    Указано.

    upload_2024-5-6_15-6-40.png


    upload_2024-5-6_15-4-35.png


    Не происходит это.

    upload_2024-5-6_15-7-11.png
     
  7. serg3295

    serg3295 Гуру

    С ключевыми словами я немного ошибся. Собачка лишняя. Должно быть ---esp32 или ---esp8266
    Но их писать не обязательно. Архитектура определится автоматически на основании анализа имеющегося в директории кода Lua.

    Возможно, LuaLS поменял настройки по умолчанию и надо в workspace settings.json вписать
    "Lua.workspace.checkThirdParty": true

    Предложит
    06-05-24_16-21.png

    При "Apply ..." автоматически заполнится settings.json

    В user settings.json оставить только "Lua.workspace.userThirdParty":
     
    ИгорьК нравится это.
  8. ИгорьК

    ИгорьК Гуру

    Заработала!

    upload_2024-5-6_16-30-39.png

    Правда что-то задвоилось, но это не страшно :)

    upload_2024-5-6_16-32-56.png


    Позже попытаюсь разобраться.
     
  9. KindMan

    KindMan Гуру

    Игорь, а какую модель заказали?
     
  10. ИгорьК

    ИгорьК Гуру

    SPS30 после прочтения этой заметки.

    Сейчас SDS011, но, как оказалось, у него ресурс 8000 часов. Буду включать его на 10 секунд каждый полчаса. Или чаще, если будет резко меняться PM2.5

    upload_2024-5-8_13-31-44.png
     
    Последнее редактирование: 8 май 2024
    KindMan нравится это.
  11. ИгорьК

    ИгорьК Гуру

    Некст, так сказать. ESP32. Собираю LSF.

    Образ сейчас собирается через Terminal => Run Task. Ничего не изменилось?

    Собираю для 5.1. Собрал. Загружаю и устанавливаю:

    upload_2024-5-8_12-49-14.png

    Все работает как надо (с красным даже веселее) . :)

    upload_2024-5-8_12-52-22.png

    С Lua 5.3 не получается (естественно, меняю luacross):

    upload_2024-5-8_13-1-8.png


    Были ли изменения в изготовлении LFS за последнее время?

    РыСы. Все сложнее становится NodeMCU, все выше порог входа, не каждый готов его перешагивать :(
     

    Вложения:

    Последнее редактирование: 8 май 2024
  12. KindMan

    KindMan Гуру

    Я вообще не понимаю, как вам удается столько времени творить с lua :)
    Для меня гораздо проще Ардуино фреймворк. А уж на 32 с Free RTOS в ардуино вообще круть.
    Хотя несколько лет назад, после прочтения вашей темы про lua на этом форуме, пытался въехать в тему на 8266. Но видно не моё.
     
    ИгорьК нравится это.
  13. ИгорьК

    ИгорьК Гуру

    Lua очень прост. В нем по умолчанию решаются те проблемы, которые Си решает вектором, корутинами, etc. - то есть развитием языка от соответствующих готов.

    Это я плохо объяснял, думаю.
     
  14. serg3295

    serg3295 Гуру

    У меня только 5.3, я 5.1 вообще не использую. Изменений в сборке LFS вроде не было. У меня всё работает.
    Попробуйте убрать _init.lua из lfs, оставив в lfs только один файл main.lua с содержимым print"from lfs".
    Затем попробовать загнать в чип. И проверить, набрав в терминале node.LFS.main()

    Edit. Ещё проверить, что прошивка с версией Lua совпадает со скомпилированным образом.
    То есть, не заливается ли образ от 5.3 в прошивку 5.1

    И ещё. Компиляторов четыре штуки. Под разные int64, float и т.д.
    Тоже надо проверить, что компилятор совпадает с прошивкой.
     
    Последнее редактирование: 8 май 2024
    ИгорьК нравится это.
  15. ИгорьК

    ИгорьК Гуру

    У меня только два под ESP32. Под ESP8266 есть четыре. Где посмотреть весь комплект?
     
  16. serg3295

    serg3295 Гуру

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

    ИгорьК Гуру

    В том беда :) знаю что вы давали - а где сейчас искать... Надо было конечно на вашем гитхабе посмотреть.
     
    serg3295 нравится это.
  18. ИгорьК

    ИгорьК Гуру

    Не заработало. Все собирается и тд:
    upload_2024-5-9_13-53-45.png


    Но после прошивки на порту модуля ничего не происходит. Путти соединяется, но даже на попытку ресета через кнопку просто вылетает.
     
  19. serg3295

    serg3295 Гуру

    По умолчанию вывод идёт в UART0. Надо в make menuconfig поменять вывод на USB CDC
    (Top) → Component config → ESP System Settings → Channel for console output
    ( ) Default: UART0
    (X) USB CDC
    ( ) Custom UART
    ( ) None

    Или подключиться конвертером usb-com на ножки uart'a
     
    ИгорьК нравится это.
  20. ИгорьК

    ИгорьК Гуру

    получилась:
    upload_2024-5-9_14-55-46.png


    > node.restart()
    ESP-ROM:esp32c6-20220919
    Build:Sep 19 2022
    rst:0xc (SW_CPU),boot:0xd (SPI_FAST_FLASH_BOOT)
    Saved PC:0x4001975a
    SPIWP:0xee
    mode:DIO, clock div:2
    load:0x4086c410,len:0xd10
    load:0x4086e610,len:0x2d08
    load:0x40875728,len:0x17d0
    entry 0x4086c410
    I (22) boot: ESP-IDF v5.1.3 2nd stage bootloader
    I (22) boot: compile time May 9 2024 14:32:42
    I (24) boot: chip revision: v0.0
    I (25) boot.esp32c6: SPI Speed : 80MHz
    I (29) boot.esp32c6: SPI Mode : DIO
    I (34) boot.esp32c6: SPI Flash Size : 4MB
    I (39) boot: Enabling RNG early entropy source...
    I (44) boot: Partition Table:
    I (48) boot: ## Label Usage Type ST Offset Length
    I (55) boot: 0 nvs WiFi data 01 02 00009000 00006000
    I (63) boot: 1 phy_init RF data 01 01 0000f000 00001000
    I (70) boot: 2 factory factory app 00 00 00010000 00180000
    I (78) boot: 3 lfs unknown c2 01 00190000 00010000
    I (85) boot: 4 storage Unknown data 01 82 001a0000 00070000
    I (93) boot: End of partition table
    I (97) esp_image: segment 0: paddr=00010020 vaddr=420d0020 size=2f390h (193424) map
    I (183) esp_image: segment 1: paddr=0003f3b8 vaddr=40800000 size=00c60h ( 3168) load
    I (186) esp_image: segment 2: paddr=00040020 vaddr=42000020 size=cf614h (849428) map
    I (529) esp_image: segment 3: paddr=0010f63c vaddr=40800c60 size=16188h ( 90504) load
    I (572) esp_image: segment 4: paddr=001257cc vaddr=40816df0 size=034a0h ( 13472) load
    I (580) esp_image: segment 5: paddr=00128c74 vaddr=50000000 size=00048h ( 72) load
    I (592) boot: Loaded app from partition at offset 0x10000
    I (593) boot: Disabling RNG early entropy source...
    I (594) cpu_start: Unicore app
    I (596) cpu_start: Pro cpu up.
    W (611) clk: esp_perip_clk_init() has not been implemented yet
    I (612) cpu_start: Pro cpu start user code
    I (612) cpu_start: cpu freq: 160000000 Hz
    I (616) cpu_start: Application information:
    I (621) cpu_start: Project name: nodemcu
    I (626) cpu_start: App version: 1.4.0-master_20151229-896-g6036
    I (633) cpu_start: Compile time: May 9 2024 14:33:08
    I (639) cpu_start: ELF file SHA256: 712cdf4f15dcb8dd...
    I (645) cpu_start: ESP-IDF: v5.1.3
    I (650) cpu_start: Min chip rev: v0.0
    I (655) cpu_start: Max chip rev: v0.99
    I (659) cpu_start: Chip rev: v0.0
    I (664) heap_init: Initializing. RAM available for dynamic allocation:
    I (671) heap_init: At 4081F810 len 0005CE00 (371 KiB): D/IRAM
    I (678) heap_init: At 4087C610 len 00002F54 (11 KiB): STACK/DIRAM
    I (685) heap_init: At 50000048 len 00003FA0 (15 KiB): RTCRAM
    I (691) spi_flash: detected chip: generic
    I (696) spi_flash: flash io: dio
    W (700) rmt(legacy): legacy driver is deprecated, please migrate to `driver/rmt_ tx.h` and/or `driver/rmt_rx.h`
    W (710) ADC: legacy driver is deprecated, please migrate to `esp_adc/adc_oneshot .h`
    I (719) sleep: Configure to isolate all GPIO pins in sleep state
    I (725) sleep: Enable automatic switching of GPIO sleep configuration
    I (732) coexist: coex firmware version: 77cd7f8
    I (733) coexist: coexist rom version 5b8dcfa
    I (733) app_start: Starting scheduler on CPU0
    I (737) main_task: Started on CPU0
    I (737) main_task: Calling app_main()

    E (757) mmap: esp_mmu_paddr_to_vaddr(752): paddr isn't mapped
    I (757) pp: pp rom version: 5b8dcfa
    I (757) net80211: net80211 rom version: 5b8dcfa
    I (767) wifi:wifi driver task: 4082c69c, prio:23, stack:6656, core=0
    I (767) wifi:wifi firmware version: 0016c4d
    I (767) wifi:wifi certification version: v7.0
    I (767) wifi:config NVS flash: enabled
    I (767) wifi:config nano formating: disabled
    I (767) wifi:mac_version:HAL_MAC_ESP32AX_761,ut_version:N
    I (767) wifi:Init data frame dynamic rx buffer num: 32
    I (767) wifi:Init static rx mgmt buffer num: 5
    I (767) wifi:Init management short buffer num: 32
    I (767) wifi:Init dynamic tx buffer num: 32
    I (767) wifi:Init static tx FG buffer num: 2
    I (767) wifi:Init static rx buffer size: 1700
    I (767) wifi:Init static rx buffer num: 10
    I (767) wifi:Init dynamic rx buffer num: 32
    I (767) wifi_init: rx ba win: 6
    I (767) wifi_init: tcpip mbox: 32
    I (767) wifi_init: udp mbox: 6
    I (767) wifi_init: tcp mbox: 6
    I (767) wifi_init: tcp tx win: 5760
    I (767) wifi_init: tcp rx win: 5760
    I (767) wifi_init: tcp mss: 1440
    I (767) wifi_init: WiFi IRAM OP enabled
    I (767) wifi_init: WiFi RX IRAM OP enabled

    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


    upload_2024-5-9_15-0-5.png
     
    serg3295 нравится это.