ESP, IoT WiFi лампа/гирлянда/информер ws2812/HUB75 - Обсуждение прошивки FireLamp_EmbUI

FireLamp_EmbUI - деполитизированный форк проекта "огненной" лампы (исходный проект FireLamp_EmbUI)

Проект был пересобран из старых форков и архивов репозитория пользователей и участников разработки. В исходном проекте был полностью выпилен русский язык, задним числом переписана история разработки в Git и удалена соотвествующая тема форума. Данный форк это не срез исходного репозитория, хотя сохранил часть общей истории до определенного момента.

Проект эволюционировал от "лампы" в гибридную прошивку для адресных лент / HUB75 RGB панелей.

Эволюцию проекта и смежные вопросы (архив) в теме универсальный информер/часы/лампа/гирлянда

Примеры работы проекта:



Внимание!
Актуальное описание и документацию можно найти на странице проекта в GitHub, шапка обновляется редко.
Вопросы сообществу можно задать в группе телеграм - LampDevs
Документация доступна в WiKi проекта,.

Концепт
Исходный проект был значительно переписан и реструктурирован. В разработке основное внимание уделяется структуре кода, декомпозиции и объектоориентированности даже в ущерб функциональнсти и "фичам". Основная идея развития - вся конфигурация и управление периферией должна быть максимально доступна во время работы кода без необходимости пересборки всего проекта. Параметры в конфигурационных файлах и опции сборки сводятся к минимуму, упраздняются и заменяются настройками через WebUI.

ESP8266 vs ESP32

Разработка ведется только под контроллеры семейства esp32. ESP8266 морально устарел, было принято решение не тратить время на поддержку совместимости и уделить больше времени и ресурсов актуальной платформе. Последний стабильно работающий на контроллерах 8266 выпуск проекта - версия v3.1.1, используйте на свое усмотрение, корректная сборка с обновлёнными библиотеками не гарантируется.

Бинарные сборки
Самый простой способ залить прошивку это воспользоваться веб-прошивальщиком из браузера. Прошивка работает из Chrome, Opera, MS Edge. Перейдите на страницу ESPWebFlasher и следуйте описаным инструкциям.
Проект можно прошить в чистую плату используя готовые сборки со страницы выпусков. Бинарные образы подготавливаются и прикрепеляются к выпускам начиная с v3.6.0. В списке Assets можно нати архивы factory_images_XX.zip и firmware_images_v3.6.0.zip. Factory - полный образ прошивки готовый для заливки в чистую плату, содержит в себе полный набор компонентов включая образ файловой системы с веб-ресурсами. Firmware - образы для обновления предыдущей версии прошивки, пригодные для заливки по воздуху через WebUI (OTA).


Как собрать проект
Для Windows понадобится установить git, python, platformio, проще всего это сделать с помощью скрипта. Подробнее можно прочесть в WiKi

Легкий способ:
для пользователей Windows OS можно использовать builder скрипт. Билдер был изначально написан @kostyamat (за что ему спасибо), адаптирован под форк текущей комадой (@andy040670).
Запускаете билдер и последовательно проходите шаги установки питона, гит, платформио, клонирование репозитория и сборку требуемого варианта прошивки.

Правильный способ:
Проект собирается с помощью Platformio
Для сборки проекта понадобится следующее:
Установить IDE Visual Studio Code, и, в качестве плагина к ней, установить Platformio. О том как это сделать можно найти массу роликов на youtube, например этот.

Желательно еще установить Git, обновлять проект будет значительно проще

Как скачать/обновлять проект

Актуальный срез проекта всегда можно скачать в виде zip-архива по ссылке, рекоммендуется скачивать последний выпуск со страницы релизов. Для желающих принять участие в тестировании можно поддерживать клон репозитория и подтягивать свежие обновления перед каждой новой сборкой. Открываем Git-bash, клонируем репозиторий в тукущую папку командой git clone --depth 1 --no-single-branch https://github.com/vortigont/FireLamp_JeeUI.git В дальнейшем для того чтобы обновить репозиторий достаточно перейти в папку проекта и выполнить команду 'git pull'.
Рекомендуется периодически обновлять зависимые библиотеки после обновления репозитория, обновление выполняется командой pio pkg update.

После того как вы скопировали проект (в виде zip архива или через git clone), необходимо в папке include скопировать файл user_config.h.default под новым именем user_config.h и в нем настроить сборку под свои параметры матрицы, номеров выводов и требуемых функций.

заметки по установке ПО под windows от @dina
дляпроверки того что всё ПО было установленн корректно в консоли в папке с проектом должны успешно выпоняться следующие команды:
git --version
git pull обновление репозитария
git status
pio --version
pio pkg update - обновление библиотек
pio run -e esp32 -t upload - прошивка
pio run -e esp32 -t uploadfs - прошивка Фс
git switch master - переключение на ветку мастер
git switch feat переключение на ветку feat


Сборка

  • Открываем папку проекта в VSCode
  • Что бы собрать прошивку, можно воспользоваться кнопками в нижней статусной строке:
    • PlatformIO:Build - собрать прошивку
    • PlatformIO:Upload - загрузить прошивку через USB в плату.

Platformio сам скачает необходимые библиотеки для сборки проекта.

Также можно открыть терминал с помощью клавиш Ctrl+Shit+` и воспользоваться расширенными командами для сборки проекта.

  • pio run -t upload - собрать и записать в контроллер проект по умолчанию под платформу esp32
  • pio run -e esp32debug -t upload - собрать и записать версию esp32 с отладкой, будет собрана прошивка под esp32 c выводом отладочных сообщений через serial интерфейс
  • pio deviсe monitor - запустить serial-монитор для просмотра сообщений, выдаваемых контроллером


Для работы лампы нужно сформировать и залить в контроллер образ файловой системы. Выполняется это командой аналогично записи прошивки, но с параметром -t uploadfs, к примеру
  • pio run -t uploadfs - записать в контроллер образ ФС под платформу esp32

После первой прошивки дальнейшие обновления можно заливать в контроллер по воздуху. Для этого нужно зайти браузером на контроллер по URL вида http://embui-xxxx/update, где xxxx это ID контроллера, нажать на кномку 'Firmware', выбрать файл с прошивкой и загрузить его в контроллер. Файл с прошивкой Platformio кладет в подпапки проекта:

  • .pio/build/esp32/firmware.bin - версия под esp32

В случае каких-либо проблем со сборкой, перво наперво нужно полностью очистить рабочий каталог платформио и попробовать пересобрать прошивку (платфомио заново выкачает актуальные версии зависимых библиотек).
Для очистки рабочего каталога нужно удалить из папки прокта каталог .pio

О том как настроить обновление по воздуху (OTA) для своей лампы см страницу проекта на Гитхабе.


Озвучка для мп3 плеера
набор звуковых файлов для MP3 плеера можно скачать по ссылке из WiKi

Говорящие часы / кукушка
- настраиваема озвучка времени почасовая / пол часа / четверть часа
- тихие часы для отключения озвучки по ночам

Будильник
- 4 независимых будильника со своей мелодией у каждого
- каждый будильник может иметь один из режимов на выбор
- однократное срабатывание
- ежедневное срабатывание
- по будним дням
- по выходным дням

Управление
Лампа управляется через WEB-интерфейс или через мобильное приложение WLED-Native-Android, WLED-Native-iOS, старый WLED


Device API описан на странице в WiKi
 
Изменено:

Комментарии

Константин 271

★★★✩✩✩✩
12 Июл 2020
950
105
Я вашу систему не знаю
а я не знаю логику работы билдера, поэтому и спросил.
весь нужный софт у вас уже стоит
vscode удалён, после установки platformio, а так всё остальное да, есть.

скачать зип, распаковать и из этой же папки просто собрать прошивку билдером
В старом моём конфиге есть строка
#define OTA // Обновление по ОТА
- в вашем нет, она нужна?

В общем, по вашей версии - переименовал файл user_config.h не меняя в нём ничего, попробовал собрать прошивку, в середине выкинуло пару красных строк и билдер вылетел вообще. Окно закрылось.
1675672545295.png

Собирал по пункту 5.

ps Кстати, сейчас отсюда github.com/vortigont/FireLamp_JeeUI скачивается около 2 Мб, а ранее было около 4.
 

vortigont

★★★★★★✩
24 Апр 2020
1,022
541
Saint-Petersburg, Russia
#define OTA // Обновление по ОТА
- в вашем нет, она нужна?
это ардуино апдейт, я выкинул этот функционал, строка ни на что не влияет.

в середине выкинуло пару красных строк и билдер вылетел вообще. Окно закрылось.
да, видел, нейчайно поломал сборку под 8266. Исправил, перекачайте.

ps Кстати, сейчас отсюда github.com/vortigont/FireLamp_JeeUI скачивается около 2 Мб, а ранее было около 4.
я выкинул из репа кучу хлама без которого вполне можно обойтись - всякие левые бинарники, сторонние либы и пр.
 

andy040670

★★★✩✩✩✩
13 Ноя 2019
353
109
54
vscode удалён, после установки platformio, а так всё остальное да, есть.
Вам надо запустить install.bat пункт 4, будет создан локальный репо, от туда и запускайте билдер.
билдер вылетел вообще. Окно закрылось.
Да окно схлопывается, проблема с кодировкой, преоброзую в 1251, с крякозябрами но отрабатывает.
Пока использую свой.
Можете временно воспользоваться моим билдером.
В старом моём конфиге есть строка
#define OTA // Обновление по ОТА
- в вашем нет, она нужна?
OTA нет.
Используйте конфиг из проекта, там есть изменения.
P/s
С вчерашнего дня перестало собираться есп32 с мп3 плеером, причём 8266 собирается нормально.
Что то поменялось на стороне?
Код:
.pio/build/esp32debug/lib0f3/libEspSoftwareSerial.a(SoftwareSerial.cpp.o): in function `std::function<void ()>::operator()() const':
c:\users\andy0\.platformio\packages\toolchain-xtensa-esp32\xtensa-esp32-elf\include\c++\8.4.0\bits/std_function.h:686:(.iram1.66[_ZNK8delegate6detail12DelegateImplIPvvEclEv]+0x24): dangerous relocation: l32r: literal placed after use: .literal._ZNK8delegate6detail12DelegateImplIPvvEclEv
collect2.exe: error: ld returned 1 exit status
*** [.pio\build\esp32debug\firmware.elf] Error 1
================================ [FAILED] Took 48.11 seconds ================================

Environment    Status    Duration
-------------  --------  ------------
esp32debug     FAILED    00:00:48.108
=========================== 1 failed, 0 succeeded in 00:00:48.108 ===========================
P/ss
В билдере, в строке 104 задвоена команда, вообщем вот это лишнее:
Bash:
if "%choice%"=="D" (start %workdir%\SerialMonitor.cmd)
На 8266 эффекты появились, но не в списке, выбрать их нельзя, но в демо и в последовательном листании они есть без названия. Все возможные действия предпринимал, вплоть до удаления джейсонов по фтп, чистил кэш браузера.
На есп32 вроде всё нормально кроме одного, не отображаются значки микрофона в списке на обоих платах.
 

Вложения

Изменено:

vortigont

★★★★★★✩
24 Апр 2020
1,022
541
Saint-Petersburg, Russia
С вчерашнего дня перестало собираться есп32 с мп3 плеером, причём 8266 собирается нормально.
Что то поменялось на стороне?
да, похоже на либу sotfserial, не знаю зачем она для есп32, но т.к. плеера у меня нет оставлю как есть. Выставил жестко конкретную версии либы в зависимость, теперь собиарется.

В билдере, в строке 104 задвоена команда, вообщем вот это лишнее:
поправил.

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

На есп32 вроде всё нормально кроме одного, не отображаются значки микрофона в списке на обоих платах.
что такое значёк микрофона я не знаю :) Оставлю на "потом"
 
  • Лойс +1
Реакции: andy040670

andy040670

★★★✩✩✩✩
13 Ноя 2019
353
109
54
,
Может сможете из консоли браузера глянуть ошибки? Там где-то должен быть запрос на джейсон со списоком эффектов, интересно что в ответ прилетает.
Ошибок нет.
В инфо вот это:
Bash:
Sending message: {pkg: 'post', data: {…}}
embui.js:454 Received message: {pkg: 'interface', final: false, section: 'root884813968', block: Array(1)}
embui.js:454 Received message: {section: 'root884813968', idx: 0, block: Array(1), final: true}
embui.js:469 Received packet: {pkg: 'interface', final: 'true', section: 'root884813968', block: Array(1), idx: '0'}
embui.js:454 Received message: {pkg: 'value', final: true, section: 'root884868449', block: Array(1)}
embui.js:469 Received packet: {pkg: 'value', final: 'true', section: 'root884868449', block: Array(1)}
embui.js:454 Received message: {pkg: 'value', final: true, section: 'root890493918', block: Array(5)}
embui.js:469 Received packet: {pkg: 'value', final: 'true', section: 'root890493918', block: Array(5)}
что такое значёк микрофона я не знаю :) Оставлю на "потом"
1.png
2.png
Ещё в Platformio.ini добавить бы:
Python:
[env:esp8266@160dev]
extends = env:esp8266
; set frequency to 160MHz
board_build.f_cpu = 160000000L
build_flags =
    ${extra.build_flags}
    -DLAMP_DEBUG=1
    -DEMBUI_DEBUG
да, похоже на либу sotfserial, не знаю зачем она для есп32, но т.к. плеера у меня нет оставлю как есть. Выставил жестко конкретную версии либы в зависимость, теперь собиарется.
Да собирается, и символы микрофона появились с мп3 плеером. Какая связь?
Прошил по новой и 8266, и там символы появились. Чудеса.
P/s
На 8266 теперь полный список эффектов!!!
 
Изменено:

vortigont

★★★★★★✩
24 Апр 2020
1,022
541
Saint-Petersburg, Russia
Ещё в Platformio.ini добавить бы:
[env:esp8266@160dev]
это можно добавить себе в user_env.ini, 160 нестандартная частота, плохо разведенные платы могут странно глючить. Да и, КМК, лучше сразу уходить на есп32 чем заниматься разгоном.

На 8266 теперь полный список эффектов!!!
добро!
 

andy040670

★★★✩✩✩✩
13 Ноя 2019
353
109
54
Прикрутил на 8266 мп3 (на есп32 нет гребёнки, паять надо), полёт нормальный, 2 часа аптайма на обоих платах в режиме демо, вылетов нет.
Прошивку можно подымать в шапку, кто бы этим занялся?
160 нестандартная частота, плохо разведенные платы могут странно глючить.
По опыту прошлого форума, никто в принципе и не шился на 80MHz (говорили что фризит или что то такое), 160MHz это не разгон, а тоже базовая частота, стабильно работает.
 
Изменено:
  • Лойс +1
Реакции: vortigont

vortigont

★★★★★★✩
24 Апр 2020
1,022
541
Saint-Petersburg, Russia
Прикрутил на 8266 мп3 (на есп32 нет гребёнки, паять надо), полёт нормальный, 2 часа аптайма на обоих платах в режиме демо, вылетов нет.
Да кто топик-стартер - ему и пилить. Новую тему начинать смысла нет опять.
160 добавлю следующим заходом, по мелочи еще подправлю кое что
 
  • Лойс +1
Реакции: andy040670

andy040670

★★★✩✩✩✩
13 Ноя 2019
353
109
54
Сегодня перестала собираться под 8266.
Опять на стороне что то изменилось?
Bash:
C:\Users\andy0\.platformio\packages\framework-arduinoespressif8266\libraries\ESP8266mDNS\src/LEAmDNS.h:950:9: error: 'polledTimeout' in namespace 'esp8266' does not name a type
С фреймворком дев собралось.:rolleyes:
Код:
https://github.com/vortigont/EmbUI_int.git#dev
 
Изменено:

andy040670

★★★✩✩✩✩
13 Ноя 2019
353
109
54
поправил, спаисбо. В каждой дырке вылезает какая-то несовместимость с 8266, отвык я уже от нее
Может есть смысл разделить есп32 и 8266? Собирать с разными фреймворками, головняка будет меньше, а возможностей больше. Делать что то универсальное полноценно врядли получится. ИМХО

Теперь с мастер фреймворком собирается, но не работает!!! Мигает светодиод на модуле. Думал еспшка сдохла, на всякий случай прошил пустым бланком, не помогло. Достал другую, таже песня, тут отлегло.
Прошил с дев фреймворком, всё завелось. Такие вот дела.
 

vortigont

★★★★★★✩
24 Апр 2020
1,022
541
Saint-Petersburg, Russia
Может есть смысл разделить есп32 и 8266? Собирать с разными фреймворками, головняка будет меньше, а возможностей больше.
Поддерживать 2 разные версии очень затратно по времени. Я прикинул чего будет стоить адаптировать код к моему фреймворку и что-то мне взгрустнулось. Здесь всё основано на стрингах - числа, булеаны, флоаты, всё перегоняется в ардуино строки и даже бинарные сравнения идут со строкой. Тронь что-то и все посыпется, тут нужно Золушку что бы просеять весь код построчно. В общем возни немерянно.
Пока оставлю как есть на копии исходного фреймворка, а там видно будет.

еперь с мастер фреймворком собирается, но не работает!!!
ну вот я тронул и оно сломалось :) сборка прошла норм, но вылез нулевой указатель где-то. Я сейчас стараюсь провести декомпозицию и выкинуть из репа и кода все сторонние вещи, которые могут быть включены библиотеками или заменены радными компонентами.
Поправил. Надо, наверное, оставить как есть в рабочем виде пока кто-нибудь на живой матрице не проверит.
 
  • Лойс +1
Реакции: andy040670

ustinych

✩✩✩✩✩✩✩
19 Янв 2023
1
0
Добрый день!
При компитляции под esp32 получаю ошибку
C++:
Library Manager: [email protected]+sha.56d19bf has been installed!
Library Manager: Installing git+https://github.com/vortigont/EmbUI_int.git
git version 2.38.1
Cloning into '/Users/user/.platformio/.cache/tmp/pkg-installing-e91t_m86'...
remote: Enumerating objects: 109, done.
remote: Counting objects: 100% (109/109), done.
remote: Compressing objects: 100% (92/92), done.
remote: Total 109 (delta 20), reused 73 (delta 14), pack-reused 0
Receiving objects: 100% (109/109), 399.11 KiB | 2.63 MiB/s, done.
Resolving deltas: 100% (20/20), done.
Library Manager: [email protected]+sha.f6ce61c has been installed!
Library Manager: Resolving dependencies...
Library Manager: Installing bblanchon/ArduinoJson @ *
Unpacking  [####################################]  100%
Library Manager: [email protected] has been installed!
Library Manager: Installing git+https://github.com/vortigont/ESPAsyncWebServer#hotfixes
git version 2.38.1
Cloning into '/Users/user/.platformio/.cache/tmp/pkg-installing-t4cjyvyo'...
remote: Enumerating objects: 62, done.
remote: Counting objects: 100% (62/62), done.
remote: Compressing objects: 100% (55/55), done.
remote: Total 62 (delta 3), reused 36 (delta 0), pack-reused 0
Receiving objects: 100% (62/62), 271.61 KiB | 2.06 MiB/s, done.
Resolving deltas: 100% (3/3), done.
Library Manager: [email protected]+sha.55ebf03 has been installed!
Library Manager: Resolving dependencies...
Library Manager: Installing me-no-dev/AsyncTCP @ ^1.1.1
Unpacking  [####################################]  100%
Library Manager: [email protected] has been installed!
Library Manager: Installing marvinroger/AsyncMqttClient @ *
Unpacking  [####################################]  100%
Library Manager: [email protected] has been installed!
Library Manager: Resolving dependencies...
Library Manager: Installing arkhipenko/TaskScheduler @ *
Unpacking  [####################################]  100%
Library Manager: [email protected] has been installed!
Library Manager: Installing ESP32SSDP @ *
Unpacking  [####################################]  100%
Library Manager: [email protected] has been installed!
Library Manager: Installing git+https://github.com/charno/FTPClientServer
git version 2.38.1
Cloning into '/Users/user/.platformio/.cache/tmp/pkg-installing-6rdti78d'...
remote: Enumerating objects: 22, done.
remote: Counting objects: 100% (22/22), done.
remote: Compressing objects: 100% (18/18), done.
remote: Total 22 (delta 2), reused 8 (delta 0), pack-reused 0
Receiving objects: 100% (22/22), 32.94 KiB | 1.10 MiB/s, done.
Resolving deltas: 100% (2/2), done.
Library Manager: [email protected]+sha.f3521ff has been installed!
Library Manager: Installing git+https://github.com/vortigont/LinkedList
git version 2.38.1
Cloning into '/Users/user/.platformio/.cache/tmp/pkg-installing-_o6acct3'...
remote: Enumerating objects: 25, done.
remote: Counting objects: 100% (25/25), done.
remote: Compressing objects: 100% (20/20), done.
remote: Total 25 (delta 0), reused 14 (delta 0), pack-reused 0
Receiving objects: 100% (25/25), 14.96 KiB | 1.36 MiB/s, done.
Library Manager: [email protected]+sha.9945584 has been installed!
Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/espressif32/wemos_d1_mini32.html
PLATFORM: Espressif 32 (3.5.0) > WeMos D1 MINI ESP32
HARDWARE: ESP32 240MHz, 320KB RAM, 4MB Flash
DEBUG: Current (esp-prog) External (esp-prog, iot-bus-jtag, jlink, minimodule, olimex-arm-usb-ocd, olimex-arm-usb-ocd-h, olimex-arm-usb-tiny-h, olimex-jtag-tiny, tumpa)
PACKAGES:
- framework-arduinoespressif32 @ 3.10006.210326 (1.0.6)
- tool-esptoolpy @ 1.30100.210531 (3.1.0)
- toolchain-xtensa32 @ 2.50200.97 (5.2.0)
LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 47 compatible libraries
Scanning dependencies...
Dependency Graph
|-- DFRobotDFPlayerMini @ 1.0.5+sha.bc15936
|-- microDS18B20 @ 3.10.0+sha.333011c
|-- GyverButton @ 3.8.0+sha.9b161d4
|-- FastLED @ 3.5.0+sha.3d2ab78
|   |-- EspSoftwareSerial @ 7.0.0+sha.56d19bf
|   |-- SPI @ 1.0
|-- EspSoftwareSerial @ 7.0.0+sha.56d19bf
|-- EmbUI @ 2.7.0+sha.f6ce61c
|   |-- ArduinoJson @ 6.20.1
|   |-- AsyncMqttClient @ 0.9.0
|   |   |-- AsyncTCP @ 1.1.1
|   |-- TaskScheduler @ 3.7.0
|   |-- ESP32SSDP @ 1.2.1
|   |   |-- ESP32 Async UDP @ 1.0.0
|   |   |-- WiFi @ 1.0
|   |-- ESP32 Async UDP @ 1.0.0
|   |-- LinkedList @ 1.5.0+sha.9945584
|   |-- AsyncTCP @ 1.1.1
|   |-- ESP Async WebServer @ 1.2.3+sha.55ebf03
|   |   |-- AsyncTCP @ 1.1.1
|   |   |-- FS @ 1.0
|   |   |-- WiFi @ 1.0
|   |-- ESPmDNS @ 1.0
|   |   |-- WiFi @ 1.0
|   |-- FS @ 1.0
|   |-- FTP @ 0.0.0+sha.f3521ff
|   |   |-- WiFi @ 1.0
|   |   |-- FS @ 1.0
|   |-- Update @ 1.0
|   |-- HTTPClient @ 1.2
|   |   |-- WiFi @ 1.0
|   |   |-- WiFiClientSecure @ 1.0
|   |   |   |-- WiFi @ 1.0
|   |-- WiFi @ 1.0
|-- EncButton
|-- LinkedList @ 1.5.0+sha.9945584
|-- TM1637 Driver @ 2.1.0
|-- ESP Async WebServer @ 1.2.3+sha.55ebf03
|   |-- AsyncTCP @ 1.1.1
|   |-- FS @ 1.0
|   |-- WiFi @ 1.0
|-- ArduinoJson @ 6.20.1
|-- iarduino RTC (часы реального времени) @ 1.3.4
|   |-- Wire @ 1.0.1
|-- ESPAsyncE131-wled
|   |-- ESP32 Async UDP @ 1.0.0
|   |-- WiFi @ 1.0
|-- arduinoFFT @ 1.9.1
Building in release mode
Compiling .pio/build/esp32/libfa7/FastLED/FastLED.cpp.o
Compiling .pio/build/esp32/libfa7/FastLED/bitswap.cpp.o
Compiling .pio/build/esp32/libfa7/FastLED/colorpalettes.cpp.o
Compiling .pio/build/esp32/libfa7/FastLED/colorutils.cpp.o
Compiling .pio/build/esp32/libfa7/FastLED/hsv2rgb.cpp.o
Compiling .pio/build/esp32/libfa7/FastLED/lib8tion.cpp.o
Compiling .pio/build/esp32/libfa7/FastLED/noise.cpp.o
Compiling .pio/build/esp32/libfa7/FastLED/platforms.cpp.o
Compiling .pio/build/esp32/libfa7/FastLED/platforms/esp/32/clockless_rmt_esp32.cpp.o
Compiling .pio/build/esp32/libfa7/FastLED/power_mgt.cpp.o
Compiling .pio/build/esp32/libfa7/FastLED/wiring.cpp.o
Compiling .pio/build/esp32/src/DS18B20.cpp.o
Compiling .pio/build/esp32/src/buttons.cpp.o
Compiling .pio/build/esp32/src/color_palette.cpp.o
Compiling .pio/build/esp32/src/effects.cpp.o
Compiling .pio/build/esp32/src/effectsmath.cpp.o
Compiling .pio/build/esp32/src/effectworker.cpp.o
Compiling .pio/build/esp32/src/enc.cpp.o
Compiling .pio/build/esp32/src/events.cpp.o
In file included from include/main.h:45:0,
                 from src/buttons.cpp:1:
.pio/libdeps/esp32/EmbUI/src/EmbUI.h:19:24: fatal error: LITTLEFS.h: No such file or directory

******************************************************************
* Looking for LITTLEFS.h dependency? Check our library registry!
*
* CLI  > platformio lib search "header:LITTLEFS.h"
* Web  > https://registry.platformio.org/search?q=header:LITTLEFS.h
*
******************************************************************

compilation terminated.
*** [.pio/build/esp32/src/buttons.cpp.o] Error 1
In file included from include/lamp.h:43:0,
                 from src/effects.cpp:38:
include/effectworker.h:45:22: fatal error: LittleFS.h: No such file or directory

******************************************************************
* Looking for LittleFS.h dependency? Check our library registry!
*
* CLI  > platformio lib search "header:LittleFS.h"
* Web  > https://registry.platformio.org/search?q=header:LittleFS.h
*
******************************************************************

compilation terminated.
*** [.pio/build/esp32/src/effects.cpp.o] Error 1
In file included from src/effectworker.cpp:37:0:
include/effectworker.h:45:22: fatal error: LittleFS.h: No such file or directory

******************************************************************
* Looking for LittleFS.h dependency? Check our library registry!
*
* CLI  > platformio lib search "header:LittleFS.h"
* Web  > https://registry.platformio.org/search?q=header:LittleFS.h
*
******************************************************************

compilation terminated.
*** [.pio/build/esp32/src/effectworker.cpp.o] Error 1
In file included from include/lamp.h:43:0,
                 from src/effectsmath.cpp:38:
include/effectworker.h:45:22: fatal error: LittleFS.h: No such file or directory

******************************************************************
* Looking for LittleFS.h dependency? Check our library registry!
*
* CLI  > platformio lib search "header:LittleFS.h"
* Web  > https://registry.platformio.org/search?q=header:LittleFS.h
*
******************************************************************

compilation terminated.
*** [.pio/build/esp32/src/effectsmath.cpp.o] Error 1
src/events.cpp:3:22: fatal error: LittleFS.h: No such file or directory

******************************************************************
* Looking for LittleFS.h dependency? Check our library registry!
*
* CLI  > platformio lib search "header:LittleFS.h"
* Web  > https://registry.platformio.org/search?q=header:LittleFS.h
*
******************************************************************

compilation terminated.
*** [.pio/build/esp32/src/events.cpp.o] Error 1
In file included from .pio/libdeps/esp32/FastLED/src/FastLED.h:75:0,
                 from include/color_palette.h:8,
                 from src/color_palette.cpp:1:
.pio/libdeps/esp32/FastLED/src/fastspi.h:157:23: note: #pragma message: No hardware SPI pins defined.  All SPI access will default to bitbanged output
#      pragma message "No hardware SPI pins defined.  All SPI access will default to bitbanged output"
                       ^
========================================================================= [FAILED] Took 42.30 seconds =========================================================================

Environment    Status    Duration
-------------  --------  ------------
esp32          FAILED    00:00:42.304
==================================================================== 1 failed, 0 succeeded in 00:00:42.304 ====================================================================
В чем может быть причина?
Исходники брал с https://github.com/vortigont/FireLamp_JeeUI.git, ветка master.

Под esp8266 все компилируется без ошибок.
 

andy040670

★★★✩✩✩✩
13 Ноя 2019
353
109
54
Погоняв прошивку на 8266 в режиме демо 30 сек на эффект, заметил что после ~ 2-3 часов плата ребутится, как правило на эффекте "Метошары", исключение этого эффекта из Демо не помогает, ребутится на следующем (проверил раз 10). Так же заметил, что память тает на глазах, в критический момент она составляет всего 9568b, после следует ребут. На есп32 таких проблем нет.
Так же не адекватное поведение контролов в управлении эффектов, и с нулевым эффектом на обоих платах. Объяснить объективно трудно, лучше пощупать.
 
  • Лойс +1
Реакции: vortigont

vortigont

★★★★★★✩
24 Апр 2020
1,022
541
Saint-Petersburg, Russia
на есп32 тоже контролы глючат? С памятью на 8266 печаль. Особо дебажить мне не на чем, оставлю есп32 бегать, может что всплывет.
А с какой периферией собрано ПО, всякие там плееры, дисплеи может выкинуть если не нужны?
 

andy040670

★★★✩✩✩✩
13 Ноя 2019
353
109
54
А с какой периферией собрано ПО, всякие там плееры, дисплеи может выкинуть если не нужны?
Без разницы, периферии нет (откуда ей взяться, даже матрицы нет), эффекты хавают память как в не себя, круг проходит (память не освобождается), на втором круге затык на метошарах и далее (эффекты 71-72 сильно напрягают память) в оригинале от ( 2022, 02. __), то там память не падает (проверил, есть у меня, не плата, а голый модуль, прошитая с тех времён) голая еспешка 8266), проседает до 17036 на тяжёлых эффектах (71-72), далее восстанавливается.
на есп32 тоже контролы глючат?
Как писал выше, на обоих платах.
У Вас же есть есп32, проверьте, описывать баг нет смысла, как писал ранее.
PS
@vortigont
Мой репо 5 января был испорчен, так как я пытался смержить дев с мастером из веб интерфейса гитхаба, что не рекомендуется, но под рукой не было моего компа, было куча конфликтов, не разрешимых...Удалил эту салянку, залил из бэкапа (опять же через веб) с облака дев, мастер продублировал, но потом проверил, дев собирается, проверил со временем на плате, точка доступа отваливается каждые ~ 10-15 секунд. Короче я не знаю что там получилось. Это уже не клон, имейте в виду.
 
Изменено:

vortigont

★★★★★★✩
24 Апр 2020
1,022
541
Saint-Petersburg, Russia
Без разницы, периферии нет (откуда ей взяться, даже матрицы нет)
я имел ввиду как прошивка собрана в полной версии с плеерами, микрофонами и прочим барахлом или базовая? Не важно подключено что-то или нет, важно используются ли сторонние либы в коде или нет. Утечка памяти может быть и в коде обвязки.
Попробую купить 8266 сегодня в местечковых лабазах, погляжу.

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

проверил со временем на плате, точка доступа отваливается каждые ~ 10-15 секунд. Короче я не знаю что там получилось. Это уже не клон, имейте в виду.
у меня тоже отваливалась постоянно на есп32, не успевал логин/пароль ввести от роутера. Вчера поправил в фреймворке, вроде стало получше.
 

Константин 271

★★★✩✩✩✩
12 Июл 2020
950
105
А в украинской версии эти все проблемы есть? Я без перевода не могу проверить

ps у меня "вылет" лампы - только на Неопалимой Купине, матрица ~730 диодов
На меташарах и лавовой лампе - минимум 13400 байт памяти показывает, в основном на всех около 19-20к
 
Изменено:

andy040670

★★★✩✩✩✩
13 Ноя 2019
353
109
54
я имел ввиду как прошивка собрана в полной версии с плеерами, микрофонами и прочим барахлом или базовая? Не важно подключено что-то или нет, важно используются ли сторонние либы в коде или нет. Утечка памяти может быть и в коде обвязки.
Пробывал с мп3 и без.
есп32 есть, ползунки ползают, чекрыжики перекидываются, выпадающие списки выпадают, в консоли события от элементов обрабатываются. Я не понял что вы имеете ввиду под этим багом - скриншот хоть покажите чтоли.
Чикрыжики перекидываются, но не соответствуют состоянию лампы, то есть если нумерация списка бла включена (с первого раза тоже не включишь), стоит отключить, то чикрыхик в состоянии выкл., а нумерация как была так и осталась, так и с вторым чикрыжиком.
Нулевой эффект, тоже не возможно включить, не попадает в список. Это на обоих платах.
 
Изменено:

vortigont

★★★★★★✩
24 Апр 2020
1,022
541
Saint-Petersburg, Russia
А в украинской версии эти все проблемы есть?
ps у меня "вылет" лампы - только на Неопалимой Купине, матрица ~730 диодов
Украинскую я не сморел даже, у меня все равно матрицы нет. 730 диодов у вас на 8266? Странно что вообще работает ))) Я когда-то давно гонял 512 диодов, с памятью уже было туго, но работало. А вот цпу по скорости обсчета сложных эффектов местами не хватало.

@andy040670,
нашел 8266, поставил крутиться в дему. Честно говоря не оч хочется в ней вообще копаться, ну ладно... может в узких местах какие другие баги общие с есп32 удастся поправить заодно.

С чекрыжиками вы очень запутанно объясняете, уж извините... что такое "второй чекрыжик"?
0й эффект я не знаю что такое, КДН любил какие-то "особые" эффекты создавать со скрытым смыслом, может его и не должно быть видно? А что должно произойти на 0м эффекте?
С нумерацией эффектов какая-то пробелема есть, да. Я вижу что на фс меняются джейсон файлы, но их там несколько slowlist/quicklist - иногда изменяются оба, иногда в одном меняется нумерация, в другом нет. В остальном содержимое одинаково. Зачем 2 сущности одного и того же - я не знаю, надо лезть в код и разгребать эти авгиевы конюшни.
 

andy040670

★★★✩✩✩✩
13 Ноя 2019
353
109
54
С чекрыжиками вы очень запутанно объясняете, уж извините... что такое "второй чекрыжик"?
Символ микрофона в списке.
0й эффект я не знаю что такое, КДН любил какие-то "особые" эффекты создавать со скрытым смыслом, может его и не должно быть видно? А что должно произойти на 0м эффекте?
Пустой эффект, используется для рисования и не только, он всегда должен быть виден в "Управлении списком эффектов" с включённой нумерацией. Без нумерации, просто пустая строка в списке.57.png
 
Изменено:

andy040670

★★★✩✩✩✩
13 Ноя 2019
353
109
54
А в украинской версии эти все проблемы есть? Я без перевода не могу проверить
Есть.
Залил для пробы в 8266.
Лампа падает в аналогичных условиях, но хаотично. Может проработать 1 минуту, а может два круга в демо пройти (30 сек эффект, без 0, 250, 254, 255 эффектов), хотя память держится.
P/s
При попытке обновления по воздуху: UPDATE FAILED
 
Изменено: