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

vortigont

★★★★★★✩
24 Апр 2020
1,020
543
Saint-Petersburg, Russia
@andy040670, на выходных отдыхал так что особо ничего инетресного нет пока )
перевернул матрицу с шумом, посмотрите на "огонь" должен стать похож на нормальный. Так же могли измениться поведение эффектов "кометы", но я не смотрел. Переписал еще "Фейрверки" чисто интуитивно, что вышло - не знаю.
Надо, наверное, бросать колупать эти эффекты пока стенд не соберу.
 

andy040670

★★★✩✩✩✩
13 Ноя 2019
353
109
55
посмотрите на "огонь" должен стать похож на нормальный.
Теперь огонь вращается (движется справа на лево) как будто ветром сдувает.
Так же могли измениться поведение эффектов "кометы", но я не смотрел.
С кометами ничего ни произошло, парящие огни как не работали, так и не работают.
Переписал еще "Фейрверки" чисто интуитивно, что вышло - не знаю.
Вроде работает нормально, опять же без сравнения, более точно сказать не могу.
 
  • Лойс +1
Реакции: vortigont

vortigont

★★★★★★✩
24 Апр 2020
1,020
543
Saint-Petersburg, Russia
Теперь огонь вращается (движется справа на лево) как будто ветром сдувает.
норм, значит еще один вектор развернуть надо.
@andy040670, так, я перекрутил в эмуляторе все комбинации, у меня получается огонь сейчас верно ориентирован если считать что матрица расположена как обычные координатные оси - 0,0 в нижнем левом углу, 16,16 в правом верхнем. У вас матрица точно верно настроена, в смысле как реально она есть, а не как эффекты выглядят "правильно"?
 
Изменено:

vortigont

★★★★★★✩
24 Апр 2020
1,020
543
Saint-Petersburg, Russia
Поправил эффект "Светлячки" и его наследников - "матрицу" и "звездопад", поглядите.
Дабы было на что ориентироваться на 68й пустой эффект вставил настроечные фигурки.
Нормально ориентированная матрица должна выглядить как-то так.

1682427413896.png
 

andy040670

★★★✩✩✩✩
13 Ноя 2019
353
109
55
Поправил эффект "Светлячки" и его наследников - "матрицу" и "звездопад", поглядите.
9. Светлячки со шлейфом: - изменений не заметил.
7. New Матрица: - изменений не заметил.
6. Метель, Звездопад, Метеоры: - Сейчас это один эффект (похож на матрицу), а переключение эффектов внутри эффекта, приводит только к смене палитры. Переключение варианта, переводит движение с вертикального в горизонтальное и под небольшим углом, при этом примерно 2/3 матрицы с низу не используется.
 

vortigont

★★★★★★✩
24 Апр 2020
1,020
543
Saint-Petersburg, Russia
ну если не заметили, значит норм :) как-то так и должно было быть. Ну т.е. матрица как и положенно падает вниз? А огонь при этом у вас так и горит в бок?

про 6, навероное оно тоже так и должно быть. Судя по коду да, там просто меняется палитра.
 

andy040670

★★★✩✩✩✩
13 Ноя 2019
353
109
55
про 6, навероное оно тоже так и должно быть. Судя по коду да, там просто меняется палитра.
В оригинале вариант 1: движение сверху под углом 45гр. слева на право, шлейф длинный с размытием.
Вариант 2: Движение сверху, меняя направления, меняя угол, шлейф длинный с размытием.
матрица как и положенно падает вниз?
Вниз, но меньше используется верхняя 1/3 матрицы, опять же в сравнении с оригиналом.
А огонь при этом у вас так и горит в бок?
Да, сдувает его справа на лево, если рядом поставить вентилятор, то будет смотреться довольно реалистично )))
 

vortigont

★★★★★★✩
24 Апр 2020
1,020
543
Saint-Petersburg, Russia
@andy040670,
звездопад поправил, теперь в косую падает, вроде так должно быть.

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

С огнем, я не понимаю почему у вас он в бок дует :) Запустите 68й эффект и посмотрите как матрица ориентирована. Зеленые огни должны быть справа, красные слева и уголки внизу (как на картинке выше). Если не совпадает, будем думать где трансляция неверная.

+ довел до ума "комету" с вложенными эффектами, выкинул оттуда огромный промежуточный буфер. Вроде все нормально теперь крутится.
 

andy040670

★★★✩✩✩✩
13 Ноя 2019
353
109
55
звездопад поправил, теперь в косую падает, вроде так должно быть.
Да, теперь поведение правильное.
+ довел до ума "комету" с вложенными эффектами, выкинул оттуда огромный промежуточный буфер. Вроде все нормально теперь крутится.
Теперь похоже на то как должно быть, но присутствуют искажения и как бы схлопывание картинки.
Запустите 68й эффект и посмотрите как матрица ориентирована. Зеленые огни должны быть справа, красные слева и уголки внизу (как на картинке выше). Если не совпадает, будем думать где трансляция неверная.
Всё совпадает, но 68й эффект накладывается нам предыдущий, приходится его запускать после 0го.
Пламя не перевёрнуто, а просто горит и двигается по матрице справа на лево.
 

andy040670

★★★✩✩✩✩
13 Ноя 2019
353
109
55
мож так и оставить?
Куцый он какой-то, да и без вентилятора рядом не смотрится.)))
поправил "пазлы" и "лабиринт"
Пазлы, они же пятнашки как буксовали на одном месте, так и буксуют.
С лабиринтом вроде всё в порядке.
 

vortigont

★★★★★★✩
24 Апр 2020
1,020
543
Saint-Petersburg, Russia
Куцый он какой-то, да и без вентилятора рядом не смотрится.)))
поправил, там один параметр, можете сами покрутить по вкусу.

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

1682702343828.png
 

andy040670

★★★✩✩✩✩
13 Ноя 2019
353
109
55
поправил, там один параметр, можете сами покрутить по вкусу.
Сейчас лучше, даже временами останавливается, горит строго вертикально, а когда сдвигается то не так быстро.
Можно так оставить.
поправил, там один параметр, можете сами покрутить по вкусу.
Я поставил 3, так ещё лучьше.
C++:
i.e_y = 3 * millis() * _speed;
А у меня ползают вроде в случайном порядке. А как буксует, одна строка все время двигается?
У меня тоже вроде пошли, а так да, одна строка елозила туда-сюда.
p/s
А нет, опять буксует)))
Сделал софт резет, опять пошли. Чудеса!
 
Изменено:

vortigont

★★★★★★✩
24 Апр 2020
1,020
543
Saint-Petersburg, Russia
есть 2 новости - хорошая и плохая, начну с маленькой, но хорошей )
подрихтовал еще парочку эффектов "Куб2д" и "аквариум"

теперь плохая ) - в недавно обновленном фреймворке под esp32 поломали совместимость с макросами для флеш-строк под 8266, версия под есп32 сейчас не собирается. В целом это решаемо, но тут вопрос на перспективку - долго ли еще мучаться с этой дохлой лошадью 8266? Или отправить ее наконец на пенсию и забить на обратную совместимость.
 
  • Лойс +1
Реакции: Дрон

shax

✩✩✩✩✩✩✩
6 Мар 2023
4
3
@vortigont,
Лошадей таких много на руках. Они даже неплохо работают. Жаль будет.
Но если трудоёмко.. то смиренно согласимся :)
 
  • Лойс +1
Реакции: Дрон

andy040670

★★★✩✩✩✩
13 Ноя 2019
353
109
55
Лошадей таких много на руках. Они даже неплохо работают.
Для лампы больше и не надо, тем более в есп32 RTOS отъедает значительную часть флеша, прошивка еле впихивается, от полноценного ота уже пришлось отказаться.
Нее, конечно можно и raspberry pi как лампу использовать...)))
Мигать диодами, это прямое назначение есп 8266.
подрихтовал еще парочку эффектов "Куб2д" и "аквариум"
Аквариум это что? Эффект 8. Акварель?
 
Изменено:

vortigont

★★★★★★✩
24 Апр 2020
1,020
543
Saint-Petersburg, Russia
в лампе под 8266 сейчас используется сильно предыдущая версия ардуино ядра 2.6.3 и какая-то фиксированная версия либы фастлед. Т.е. оно уже само по себе всё устарело, либы обновляют под акутальные версии фреймфорка и несовместимости будут только нарастать. Почему до сих пор так и починили ли проблемы в актуальных версиях фастлед/ядра - я не знаю ибо проверить негде. Скоро должны придти матрицы и обвязка, соберу стенд, тогда хоть будет что-то видно живьём. Но в любом случае эта лошадь тащит за собой кучу проблем, с есп32 они уже слишком разошлись. Нужно бросать либо одно, либо другое, либо нацеливаться на тройную работу - писать компоненты под 2 платформы отдельно и еще какую-то абстрактную обвязку, которая реализует общие методы. Ну либо продолжать плодить огород #ifdef как сделанно сейчас, что далеко не всегда спасает.
РТОС, кстати, может дать очень много возможностей - планировщик, события. Там есть готовая шина сообщений для межпроцессного взаимодействия. Если посадить на нее компоненты, то можно выкинуть кучу кривого кода с флагами, ссылками экземпляров классов друг на друга и прочий набор откровенных костылей. Это архитектурно совсем другой подход и тут либо отказываться от более продвинутых вещей в пользу лошади, либо таки пристрелить :)
В любом случае это не на 1 день делов, но мысли бродят.

Аквариум это что? Эффект 8. Акварель?
EffectAquarium, черт его знает, акварель он или нет :))))
 
  • Лойс +1
Реакции: shax

shax

✩✩✩✩✩✩✩
6 Мар 2023
4
3
Добавлю ещё такой немаловажный момент, как интерес разработчика к своему детищу. Это сильный стимул, который может сыграть как в одну так и в другую сторону. Увеличивать нелюбовь рискованно.
Зафиксировать бы только 8266 на каком-то стабильно рабочем варианте и уж потом покрыть забвением.
 
  • Лойс +1
Реакции: sts и vortigont

vortigont

★★★★★★✩
24 Апр 2020
1,020
543
Saint-Petersburg, Russia
Поправил сборку под есп32. Пока каких-то несовместимых изменений нет, там еще код эффектов перебрать надо. Дел хватит.
 
  • Лойс +1
Реакции: andy040670

vortigont

★★★★★★✩
24 Апр 2020
1,020
543
Saint-Petersburg, Russia
залил очередную пачку изменений. Перебрал почти все эффекты, убрал глобальные константы WIDTH, HEIGHT из кода, переписал статические массивы на векторы, в целом привел более менее в порядок код эффектов и мат-функции. @andy040670 поглядите, если явных проблем не найдете - солью накопленные изменения в мастер ветку.
Под есп32 немного поменял размер разделов чтобы ОТА влезала.
 

andy040670

★★★✩✩✩✩
13 Ноя 2019
353
109
55
поглядите, если явных проблем не найдете - солью накопленные изменения в мастер ветку.
Не собирается.
C++:
src\effects.cpp:7784:31: error: 'TOP' was not declared in this scope
       peak[band] = min((float)TOP, barHeight);
                               ^
src\effects.cpp: In member function 'void EffectVU::horizontalColoredBars(uint8_t, float, uint8_t, uint8_t)':
src\effects.cpp:7860:20: error: 'TOP' was not declared in this scope
     for (float y = TOP; y >= (float)TOP - barHeight; y-= 0.5) {
                    ^
src\effects.cpp: In member function 'void EffectVU::paletteBars(uint8_t, float, CRGBPalette16&, uint8_t)':
src\effects.cpp:7886:20: error: 'TOP' was not declared in this scope
     for (float y = TOP; y >= (float)TOP - barHeight; y-= 0.5) {
                    ^
src\effects.cpp: In member function 'void EffectVU::verticalColoredBars(uint8_t, float, uint8_t, uint8_t)':
src\effects.cpp:7896:20: error: 'TOP' was not declared in this scope
     for (float y = TOP; y >= (float)TOP - barHeight; y-= 0.5) {
                    ^
src\effects.cpp: In member function 'void EffectVU::whitePeak(uint8_t)':
src\effects.cpp:7934:29: error: 'TOP' was not declared in this scope
   float peakHeight = (float)TOP - peak[band] - 1;
                             ^
src\effects.cpp: In member function 'void EffectVU::outrunPeak(uint8_t, CRGBPalette16&, uint8_t)':
src\effects.cpp:7943:29: error: 'TOP' was not declared in this scope
   float peakHeight = (float)TOP - peak[band] - 1;
                             ^
src\effects.cpp: In member function 'void EffectWcolor::Blot::reset(int, int)':
src\effects.cpp:8571:30: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for (int i{0}; i!=x.size(); ++i) {
                              ^
Compiling .pio\build\esp8266@160\src\filehelpers.cpp.o
*** [.pio\build\esp8266@160\src\effects.cpp.o] Error 1
*** [.pio\build\esp8266@160\src\effectworker.cpp.o] Error 1
 

dina

★★✩✩✩✩✩
3 Окт 2021
369
94
50
Эффект Цветение ,пустой экран. И Лавовая Лампа не то ,как то.
 
Изменено:

vortigont

★★★★★★✩
24 Апр 2020
1,020
543
Saint-Petersburg, Russia
@andy040670, опс... сборку с микрофоном не проверил. Поправил...

@dina, это в мастер-ветке, да. ТАм нет кода на этот эффект. Добавил в тестовую ветку, появится когда солью с основной.

P.S. благодаря добрым людям, обзавелся таки матрицей, теперь могу посмотреть глазами на то как оно работает вообще :)
 
  • Лойс +1
Реакции: Al12313 и andy040670

andy040670

★★★✩✩✩✩
13 Ноя 2019
353
109
55
Беглый тест выявил:
4. Конфети: Эффект стартует, но яркость падает в ноль, то есть ничего не светится.
13. Неопалимая купина: эффект стоит на месте, нет движения.
28. Кометы...: поломан напрочь, трудно описать.
29. Бульбулятор: Работает, но странно, все круги появляются и исчезают одновременно, вроде так не должно быть.
39. Бенгальские огни: работает в одну строку под 45 градусов, с нижнего левого угла в правый верхний.
40. Шары: не работает совсем, валит лампу.
51. Звёзды: есть артефакты
59. Узоры: только вертикальные полосы.
62. Притяжение: проблема с палитрами.
63. Змейки: не работает, валит лампу.
65. Лабиринт: статичные артефакты от предыдущего эффекта, больше ничего.
74. Дым: Просто горит и меняет градиент с лева на право и обратно, то есть не работает.
Плюс на многих эффектах остаются артефакты от предыдущих эффектов.
При смене или изменения яркости проскакивают вспышки артефактов, но об этом я уже сообщал.
 

vortigont

★★★★★★✩
24 Апр 2020
1,020
543
Saint-Petersburg, Russia
О, пасиб за отзыв. Я тоже смотрю понемногу. Но у меня как-то отличается. У вас на 8266 лампа?
Какие фичи включены в сборку?

4. Конфети: Эффект стартует, но яркость падает в ноль, то есть ничего не светится.
да, тут какая-то проблема с угасанием

13. Неопалимая купина: эффект стоит на месте, нет движения.
у меня работает, похож на огонь из середины матрицы

28. Кометы...: поломан напрочь, трудно описать.
да вроде тоже все работают, бегают огоньки. Как оно было - не знаю, попробую сравнить с версией из мастера.

29. Бульбулятор: Работает, но странно, все круги появляются и исчезают одновременно, вроде так не должно быть.
хм... а вроде я смотрел было норм, значит сломал что-то совсем недавно, перепроверю

59. Узоры: только вертикальные полосы.
у меня какие-то текстурки бегают если скорость отличную от 0 выставить

62. Притяжение: проблема с палитрами.
в смысле что на некоторых значениях ничего не выводится? так вроде цвета меняются.

74. Дым: Просто горит и меняет градиент с лева на право и обратно, то есть не работает.
хм... не знаю как должно быть здесь, но какой-то дым бежит... тоже, наверное сравнить надо.

Плюс на многих эффектах остаются артефакты от предыдущих эффектов.
артефактов вроде не замечал в режиме "демо", но посмотрю еще

При смене или изменения яркости проскакивают вспышки артефактов, но об этом я уже сообщал.
ну, кстати, тоже на есп32 с этим проблем я незаметил, затухает нормально. Единственное что при смене эффекта иногда видимо угасает не до конца и если следующий эффект яркий, то выглядит не очень...

у меня есть одна плата на 8266, но у нее не распаяны ножки, прикрячить к ней матрицу будет не так просто, но попробую если время будет, сравнить с есп32 на предмет артефактов.

По остальным что вы написали, похожие проблемы наблюдаю. ОК, будем править!