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

vortigont

★★★★★★✩
24 Апр 2020
1,020
543
Saint-Petersburg, Russia
@dina, по-моему так оно никогда не работало. Сам по себе пин под транзистор при включении/выключении не меняется. Надо настраивать "события", синтаксис я не знаю.

@andy040670, я отписал автору в тему будет ли он заинтересован в совместной разработке. Детально код я не смотрел, но, думаю, особых проблем нет, там все довольно прямолинейно, в основном хардкод.
 
  • Лойс +1
Реакции: andy040670

dina

★★✩✩✩✩✩
3 Окт 2021
369
94
50
@vortigont, При вкл. на пине высокий уровень ,при выкл. низкий, или наоборот в зависимости ,что поставишь. Так на всех лампах.
 

vortigont

★★★★★★✩
24 Апр 2020
1,020
543
Saint-Petersburg, Russia
@dina, посмотрел по коду, проверил светодиодом - пин МОПа так и работает, при гашении матрицы выключается транзистор. Еще пин задействован в коде "будильника", но детально что он там делает не смотрел.
 

dina

★★✩✩✩✩✩
3 Окт 2021
369
94
50
На пин будильника , какое либо исполнительное устройство вешаеться. Типа автоматизация.
 

vortigont

★★★★★★✩
24 Апр 2020
1,020
543
Saint-Petersburg, Russia
В общем пин МОПа работает, мультиметром тоже проверил - @dina проверяйте свою коммутацию.
Тиснул в мастер немного измененную распиновку по-умолчанию, таблицу добавил в конфиг для наглядности.
Наверное оформлю следующую версию из текущего мастера и втащу в feat ветку свежих наработок.
 

dina

★★✩✩✩✩✩
3 Окт 2021
369
94
50
@vortigont, Я пин G35 выбрал,для транзистора,может не подошел? Завтра проверю.
 

vortigont

★★★★★★✩
24 Апр 2020
1,020
543
Saint-Petersburg, Russia
@dina, 35 нельзя, это пин только на вход. Берите пины меньше 34.
Поправил работу дисплея TM1637, обновитесь с мастер-ветки.
 

dina

★★✩✩✩✩✩
3 Окт 2021
369
94
50
Эффект огонь 2018 ,ерунда какая то и прыгаюшие мячики ,если кольца и 1 мячик ,то половинка мячика прыгает. Я кдн лампу собрал.2.5.0

Пин транзистора работает. Тм1637 работает (только время показывает) при вкл. лампе. Должен время показывать и при выкл. лампе. Не значающий ноль работает. Яркость не регулируеться. И ещё при подаче питания на лампу ,на дисплей выводиться текущий ип адрес подключения. Ищу энкодер ,поставлю.Ещё на дисплей должны будут выводиться команды энкодером. У микрофона вечная калибровка, запустил и ....
 
Изменено:

vortigont

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

dina

★★✩✩✩✩✩
3 Окт 2021
369
94
50
Огонь 2018 в этом проекте, кдн лампа рядом сравниваю.На гит в Ваш проект зашел,где писать не знаю. Нуб.
 

dina

★★✩✩✩✩✩
3 Окт 2021
369
94
50
Энкодер подключил ,работает.Кнопка отрабатывает, крутилка яркости регулирует. На дисплее и на матрице пишет режимы. В регулировки эффектов (скорость,масштаб итд.заходит) ,но когда в эффекте регулируешь энкодером, скорость итд. лампа перезагружаеться. Вообщем только кнопка и глобальная яркость на энкодере работает нормально.Я Вас тогда не буду донимать ,макетка будет собрана лежать (без мп3),если надо подключу. Как команду дадите проверять,буду проверять.
 
  • Лойс +1
Реакции: vortigont

vortigont

★★★★★★✩
24 Апр 2020
1,020
543
Saint-Petersburg, Russia
@dina, спасибо за тесты! оч полезно, ибо у меня ресурсов на всё не хватит :)
По энкодеру проблемы можно закинуть в долгие хотелки, Я мельком смотрел этот код пару месяцев назад, там довольно костыльно всё реализовано. Оч много небезопасных операций в прерываниях и пр. Исправлять это желания нет совсем, проще с нуля переписать эту часть как руки дойдут. Под есп32 есть аппаратный квадратурный декодер для энкодеров, можно глянуть в эту сторону, но для начала надо причесать общую архитектуру.
Собственно сейчас этим и занимаюсь - ревизией общих и частных проблем и что и в каком порядке подлежит сделать.
 
  • Лойс +1
Реакции: dina и andy040670

dina

★★✩✩✩✩✩
3 Окт 2021
369
94
50
@vortigont, Эту лампу надо сделать лучше ,чем была.Тем немение на 8266 кдн лампа ,все крутит стабильно у меня сейчас.Vsc ,очень многих отпугивает ,да и кдн остатки распугал рявканьем.Что ни говори энкодер ,очень удобен.
 
Изменено:
  • Лойс +1
Реакции: Dhorohiy

vortigont

★★★★★★✩
24 Апр 2020
1,020
543
Saint-Petersburg, Russia
Выпуск v3.1.0 (2023-05-16)
  • исправлены проблемы сборки под обновленный фреймворк есп32 и платформу есп32 v6.1.7
  • введен класс кадрового CRGB буфера абстрагирующий топологию и тип устройства вывода
- буфер допускает привязку/отвязку от FastLED, копирование, атомарный обмен и общие операции над RGB массивом
- методы обращения к буферу и транляции под топологию матрицы из EffectMath упразднены в пользу работы через LedFB
- буфера лампы под слои текста/рисовалки переведены на использование экземпляров LedFB, часть операций копирования заменена атомарной заменой
- убраны флаги зеркалирования из объекта лампы, топология определяеся конфигурацией буфера
- изменения в коде эффектов
- множество эффектов переработанно с использованием структур сущностей и стандартных контейнеров
- оптимизация использования памяти для эффектов
- для части эффектов убраны излишние буфера и промежуточное копирование
- эффекты с переменным числом объектов, вместе с изменением числа сущностей растет/уменьшается их контейнер вместо использования фиксированных массивов
- промежуточные двумерные массивы для эффектов унифицированы в абстрактный шаблон Vector2D
- переработаны эффекты на основе Noise3D Map
- Noise3D Map выделен в отдельный класс с собственным буфером
- унифицирован метод регенерации шума
- переработан класс Boid и зависимые от него эффекты, убраны зависимость от статических макросов WIDTH/HEIGHT, добавлен контейнер для объектов стаи
- все эффекты переведены на работу через фреймбуфер
- убраны зависимости от макросов WIDTH/HEIGHT
- убраны зависимости от статических констант/макросов производных WIDTH/HEIGHT
- убраны все прямые обращения к глобальному экземпляру класса FastLED
- весь код кроме объекта LedFB избавлен от зависимости на статические макросы WIDTH/HEIGHT и их производные
 

vortigont

★★★★★★✩
24 Апр 2020
1,020
543
Saint-Petersburg, Russia
@dina, энкодер я гляну что там с перезагрузками, если не сильно большие изменения потребуются поправлю.
VSC вообще необязателен для сборки проекта. Если бы не размер образа под ОТА можно было бы большинсво компонентов включать по-умолчанию и настраивать уже из прошивки. Но это так, на перспективу...
 
  • Лойс +1
Реакции: dina

Dhorohiy

★✩✩✩✩✩✩
30 Июл 2020
55
12
@vortigont, Эту лампу надо сделать лучше ,чем была.Тем немение на 8266 кдн лампа ,все крутит стабильно у меня сейчас.Vsc ,очень многих отпугивает ,да и кдн остатки распугал рявканьем.Что ни говори энкодер ,очень удобен.
А можете выложить прошивку и схему подключения с энкодером) Давно искал, и хочу попробовать)
 

dina

★★✩✩✩✩✩
3 Окт 2021
369
94
50
@Dhorohiy,К этой прикручивай ,надеюсь скоро энкодер и дисплей поправят. И Тм1637 ставь.
 

Вложения

  • Красота! +2
Реакции: Dhorohiy

vortigont

★★★★★★✩
24 Апр 2020
1,020
543
Saint-Petersburg, Russia
@dina, чет я не разобрал как энкодером управлять. Потыркал туда-сюда, пару раз, словил падение по вотчдогу в прерывании. Напишите как им управлять - добавлю в описание.
 

dina

★★✩✩✩✩✩
3 Окт 2021
369
94
50
@vortigont, Кнопка как обычная кнопка работает (со всей азбукой морзе). На вкл. лампе кручение ,рег. яркости. На вкл. лампе длительное удержание ,попадаешь в рег. текущего эффекта ,дальше короткими нажатиями ,переключаешь (скорость итд.) ну и соответственно в каждом режиме крутишь. На дисплее все эти циферки бегают.И на матрице бег. строкой дублируеться. Как то так.
 
  • Лойс +1
Реакции: vortigont

andy040670

★★★✩✩✩✩
13 Ноя 2019
353
110
55
@vortigont,
Что то я не вижу в юзерконфиге блок:
C++:
#ifdef MP3PLAYER
  #define MP3_TX_PIN            (D5)                        // TX mp3 player RX (D5)
  #define MP3_RX_PIN            (D6)                        // RX mp3 player TX (D6)
  #define MP3_SERIAL_TIMEOUT    (300U)                      // 300мс по умолчанию, диапазон 200...1000, подбирается экспериментально, не желательно сильно повышать
  #define DFPALYER_START_DELAY  (500U)                      // 500мс по умолчанию, диапазон 10...1000, подбирается экспериментально, не желательно сильно повышать, безусловная задержка до инициализации
#endif
Пины предопределены в config.h? менять их нельзя?
С есп32 понятно, аппаратный uart 2, а с 8266?
В общем добавил блок для 8266, мп3 завёлся)))
 

vortigont

★★★★★★✩
24 Апр 2020
1,020
543
Saint-Petersburg, Russia
@andy040670, да это был выборочный комит из другой ветки, случайно удалился кусок. Для мастера все эти опции пока актуальны. В feat ветку слил другие наработки, там уже не актуально.
feat преехала на мою версию фреймворка и там много чего поменялось. Порты плеера там настраиваются из вебморды и для 8266 и для есп32.
Для 8266 также используется SoftSerial, для есп32 аппаратный порт.
В вебморде кое-что поменялось местами, но не принципиально. В целом какой-то функционал наверняка поломался, пока еще это сыровато, но уже можно щупать. Из кода выкинуты тонны строковых литералов и оберток, при прошивке нужно целиком перезалить файловую систему. Старый системный конфиг с этим фреймворком не совместим. Конфиги эффектов можно сохранить, они не менялись (пока).
 
  • Лойс +1
Реакции: andy040670

vortigont

★★★★★★✩
24 Апр 2020
1,020
543
Saint-Petersburg, Russia
Подрихтовал кувалдой код энкодера, менее корявым он от этого не стал, но вроде теперь не падает или если и падает то сильно реже. Потыкал несколько эффектов и контролов, не падал. @dina, можете потестировать.
 

dina

★★✩✩✩✩✩
3 Окт 2021
369
94
50
@vortigont,Мп3 из конфиг.файла пропал. Энкодер вроде ,работает. Тм1637 только в выкл.состоянии время показывает,во вкл.только моргает переодически. И на матрице все в красном ,работает,зеленого и синего нет.Прошивку беру на 1 странице ,стираю флэш тулом ,всегда ставлю начисто.
 
Изменено: