ESP, IoT WiFi лампа-будильник. Обсуждение прошивки от GUNNER47

ЗДЕСЬ ОБСУЖДАЕМ ТОЛЬКО ДАННУЮ ПРОШИВКУ
ВСЕ ЧТО НЕ ПО СИЯ ТЕМЕ И ПРОШИВКЕ, ВСЕ СНОСИТСЯ НА@@@!

Очень просим не делать репост "ЦИТИРОВАНИЕ" сообщений! Делать только в КРАЙНЕЙ необходимости, удаляя лишний текст (у нас не ЧАТ)!
Иначе опять будет 160 страниц и 0 пользы ....

Для ответа КОНКРЕТНОМУ пользователю, достаточно нажать " ОТВЕТ"

При описании проблемы обязательно, как можно подробнее, описывайте ход своих действий до ее возникновения. Телепатов (как я думаю) среди участников нет. Потом 20 постов будет только для того, чтобы Вас понять.
Если Вы считаете ваше сообщение важным и его нужно поднять в шапку, пишите мне в личку с пометкой "Сообщение в шапку"


ПО ВОПРОСАМ РАБОТЫ ПРИЛОЖЕНИЯ ОТ KOTEYKA ИДЕМ В ЭТУ ТЕМУ

Голосовое управление лампой Гайвера, через Яндекс Алису (прошивка Gunner47).

Яндекс диск Файл ПДФ. Актуально на 27.01.2020г
наш сервер НЕ ОБНОВЛЯЕТСЯ, от 27.01.2020г
Прошивка gunner47 v.2 "86 эффектов в 1" или уже больше - разработку ведет @Сотнег
Прошивка gunner47 v.2.X_web : веб-интерфейс (без необходимости перепрошивки) - разработку ведет @alvikskor
Прошивка от Shaitan с поддержкой mp3 и пульта (тут не обсуждается. Обсуждается в теме прошивки)
Прошивка FireLamp with Remote Control - разработку ведет @SlingMaster

Для тех у кого умный дом Home Assistant есть отличный компонент

ВНИМАНИЕ! Если у вас не компилируется или не загружается скетч - значит вы сделали что-то неправильно. Специально для вас созданы две темы:
ESP8266, проблема с компиляцией скетча
ESP8266, проблема с загрузкой скетча
Читайте (ЧИТАЙТЕ! Не пишите!) эти темы, там уже есть решение вашей проблемы.
Здесь подобные вопросы считаются оффтопом и молча удаляются, а авторы получают баллы нарушений.
 
Изменено:

Комментарии

mechanic

★★★★✩✩✩
Команда форума
31 Июл 2018
403
202
ЗДЕСЬ ОБСУЖДАЕМ ТОЛЬКО ДАННУЮ ПРОШИВКУ
ВСЕ ЧТО НЕ ПО СИЯ ТЕМЕ И ПРОШИВКЕ, ВСЕ СНОСИТСЯ НА@@@!

Очень просим не делать репост "ЦИТИРОВАНИЕ" сообщений! Делать только в КРАЙНЕЙ необходимости, удаляя лишний текст (у нас не ЧАТ)!
Иначе опять будет 160 страниц и 0 пользы ....

Для ответа КОНКРЕТНОМУ пользователю, достаточно нажать " ОТВЕТ"

При описании проблемы обязательно, как можно подробнее, описывайте ход своих действий до ее возникновения. Телепатов (как я думаю) среди участников нет. Потом 20 постов будет только для того, чтобы Вас понять.
Если Вы считаете ваше сообщение важным и его нужно поднять в шапку, пишите мне в личку с пометкой "Сообщение в шапку"


ПО ВОПРОСАМ РАБОТЫ ПРИЛОЖЕНИЯ ОТ KOTEYKA ИДЕМ В ЭТУ ТЕМУ

Голосовое управление лампой Гайвера, через Яндекс Алису (прошивка Gunner47).

Яндекс диск Файл ПДФ. Актуально на 27.01.2020г
наш сервер НЕ ОБНОВЛЯЕТСЯ, от 27.01.2020г
Прошивка gunner47 v.2 "86 эффектов в 1" или уже больше - разработку ведет @Сотнег
Прошивка gunner47 v.2.X_web : веб-интерфейс (без необходимости перепрошивки) - разработку ведет @alvikskor
Прошивка от Shaitan с поддержкой mp3 и пульта (тут не обсуждается. Обсуждается в теме прошивки)
Прошивка FireLamp with Remote Control - разработку ведет @SlingMaster

Для тех у кого умный дом Home Assistant есть отличный компонент

ВНИМАНИЕ! Если у вас не компилируется или не загружается скетч - значит вы сделали что-то неправильно. Специально для вас созданы две темы:
ESP8266, проблема с компиляцией скетча
ESP8266, проблема с загрузкой скетча
Читайте (ЧИТАЙТЕ! Не пишите!) эти темы, там уже есть решение вашей проблемы.
Здесь подобные вопросы считаются оффтопом и молча удаляются, а авторы получают баллы нарушений.
 
Изменено:

Сотнег

★★★★★★★
15 Янв 2020
4,121
1,438
@Bombeiro, если только запрос списка эффектов добавить, то совместимость останется.
 

George

★★✩✩✩✩✩
25 Дек 2019
372
58
@George, там нет таймингов. Все вращается в одном цикле. Задержку на отображение кадров делает регулятор скорости - от 1 до 255 мс
среднее время обработки 1 кадра 3-4мс (эффект огонь моей модификации)
7,7 мс занимает вывод информации на матрицу 16х16 (800000 / 24 / 256) ~ 130fps
Тайминги контроллеров 2811 и 2812 неодинаковые. У нас в скетче использована библиотека 2811 (если я правильно понимаю) и насколько это корректно не очень ясно. Там, где у одного юзера матрица уже всё обработала, у другого ещё нет, на одних и тех же параметрах настроек (скорость, масштаб).
Был бы измерительный скетч, стало бы ясно, что у кого использовано.
Так понятно?
Кадр, как я понял, это состояние (статическое) всей матрицы в единицу времени.
Сброс матрицы - длительность 50 микросекунд, но Алекс утверждает, что - 30мкс. Просто, у меня нет матрицы. И Я не хочу верить, а хочу проверить, т.к Алекс во многом ошибается, несмотря на свой талант и энтузиазм.
timing2812.png
 

Bombeiro

✩✩✩✩✩✩✩
6 Янв 2020
2
0
@Сотнег, Там идет запрос на передачу списка данных, и на основе этого списка формируется список ефектов в приложении
 

Palpalych

★★★★★✩✩
24 Дек 2019
765
404
@George, я этим не заморачивался, если честно. Всю работу по по обслуживанию матрицы выполняет FastLed, и по опыту, и расчетам показал, что матрица отрабатывает быстро.
Ну а то, что регулятор скорости кривой стоит в лампе - ну это детские болезни. Либо смириться, либо договариваться всем как обходить данное недоразумение. По большей части это зависит от разработчиков внешних приложений, ибо от них в первую очередь зависит функционал. Я задавал этот вопрос неоднократно, но пока никто не проявил интереса, значит будем мириться.

1,25мкс вроде как 800кГц, не?
 
Изменено:

tolyan23

✩✩✩✩✩✩✩
2 Янв 2020
21
8
Тайминги контроллеров 2811 и 2812 неодинаковые. У нас в скетче использована библиотека 2811 (если я правильно понимаю) и насколько это корректно не очень ясно. Там, где у одного юзера матрица уже всё обработала, у другого ещё нет, на одних и тех же параметрах настроек (скорость, масштаб).
Был бы измерительный скетч, стало бы ясно, что у кого использовано.
Не понимаю как вы собираетесь измерять отработала матрица или нет? Это тупая матрица без обратной связи, или вы хотите снять сигнал с конца матрицы? Если тайминги разные и мы подаем на слишком высокой частоте то матрица просто не отработает и будет "глючить" (некоторые пиксели будет не того цвета или после некоторого пикселя все цвета поплывут из-за потери бит) либо картинки не будет вообще.
Короче если бы с таймингами были проблемы думаю мы бы увидели это.
по документации тайминг 0,35+-0,15 у ws2812 и 0,5+-0,15 у ws2811, с учетом допуска от 0,35 до 0,5 имеем рабочее значение у обоих чипов
Сброс матрицы - длительность 50 микросекунд, но Алекс утверждает, что - 30мкс. Просто, у меня нет матрицы. И Я не хочу верить, а хочу проверить, т.к Алекс во многом ошибается, несмотря на свой талант и энтузиазм.
А в чем смысл? Хотите сэкономить 20мкс на кадр? Это что-то решает? Хотите боле 100 кадров в секунду выводить? Матрице запуливается последовательность бит, каждый пиксель берет себе 24 бита, а потом выдержка 50микросекунд и тогда как я понял пикселы применяют новый цвет.
 
Изменено:

Palpalych

★★★★★✩✩
24 Дек 2019
765
404
@tolyan23, Тайминги бываю разные. У матрицы тайминги - какие нада тайминги! Вопрос в другом, почему регулятор скорости в лампе работает с задержкой от 1 до 255 мс, что в реальных условиях равносильно от 4 до 66 кадров в секунду. Отсюда все дергается!

А вообще, я переделывая последний эффект, написал программу интерполяции координат пикселя, вот ее можно применить для сглаживания эффектов при достаточных 16-30 кадрах в секунду.
 

tolyan23

✩✩✩✩✩✩✩
2 Янв 2020
21
8
@tolyan23,
А вообще, я переделывая последний эффект, написал программу интерполяции координат пикселя, вот ее можно применить для сглаживания эффектов при достаточных 16-30 кадрах в секунду.
По моему нужно не костыли делать в виде интерполяции а сразу в математике это закладывать. Т.е. берем 50fps и делаем все (кроме табличных) эффекты на этой частоте. А скорость меняем в математике эффекта. 50fps это 20мс на кадр. В худшем случае на отображение тратится 32*32*24*2,5=61440мкс+(50мкс сброса)=62мс, это 16fps значит на больших матрицах могут быть проблемы с такой частотой, но можно удвоить скорость получится 32fps. Но у нас тут как правило мелкие матрицы, если же берем мелкую матрицу уже 15мс на кадр это уже 60Fps без напряга
@tolyan23, Тайминги бываю разные. У матрицы тайминги - какие нада тайминги! Вопрос в другом, почему регулятор скорости в лампе работает с задержкой от 1 до 255 мс, что в реальных условиях равносильно от 4 до 66 кадров в секунду. Отсюда все дергается!
Как код написали так он и работает, в чем вопрос то? Если при выводе кадра процессор ничего не считает то с матрицей 16*16
при 1мс задержке частота 1000/(16+1)=59FPS
при задержке 255мс частота 1000/(16+255)=3,69FPS
А если минимальная задержка все-таки ноль то получится от 66 до 4 кадров как вы и написали
 
Изменено:

Palpalych

★★★★★✩✩
24 Дек 2019
765
404
@tolyan23, Все это известно уже давно... И что далее предлагаете? Кто будет вести прошивку? Кто будет писать интерфейсы для эффектов и дорабатывать внешние приложения?
 

Сотнег

★★★★★★★
15 Янв 2020
4,121
1,438
Поясните мне пожалуйста, из-за какого конкретно эффекта (один пример требуется) такие претензии к таймингу?

Или претензии не к таймингу, а к тому, что регулятор скорости должен для разных эффектов разный масштаб иметь?
(типа, начинать отсчёт не от 1 мс, а от 30 и с шагом 3 мс, а не 1)
 

tolyan23

✩✩✩✩✩✩✩
2 Янв 2020
21
8
Поясните мне пожалуйста, из-за какого конкретно эффекта (один пример требуется) такие претензии к таймингу?
Претензии к тому что почти все дергается при большинстве скоростей. Например метель на скорости 140
кто то догадался в прошивке у диагональной радуге изменение цвета в 2 раза увеличить поэтому она смотрится отвратительно. Кстати диагональная радуга у меня почему то по скорости не регулируется (хотя конечно может и сам сломал пока над другими эфектами экспериментировал)
@Palpalych, ну метель и звездопад я осилю. Приложение будет писать тот кто текущее писал или будем пользоваться тем что есть. В принципе если плавность сделаем этого для меня будет уже достаточно.
 
Изменено:

Сотнег

★★★★★★★
15 Янв 2020
4,121
1,438
Претензии к тому что почти все дергается при большинстве скоростей. Например метель на скорости 140
Так он не дёргается, а тормозит.
Вы предлагаете запретить выставлять ему "задержку" выше 100?
Речь ведь про задержку в 140 мс, а не про "скорость 140".
 

Сотнег

★★★★★★★
15 Янв 2020
4,121
1,438
Я нашёл приличный такой баг в оригинальной прошивке @gunner47
и, вероятно, в производных от неё данный баг тоже присутствует.

Речь о прошивке, которая лежит в папке "GyverLamp_v1.4"
в архиве https://github.com/gunner47/GyverLamp/archive/master.zip

Процедура запуска эффектов в файле effectTicker.ino работает с таким условием:
C-like:
if (ONflag && (millis() - effTimer >= ((currentMode < 5 || currentMode > 13) ? modes[currentMode].Speed : 50)))
Автор имел в виду, что для эффектов с порядковыми номерами с 5 по 13й
регулятор "Скорость" не делает задержку на выбранное количество миллисекунд,
потому что в этих эффектах регулятор "Скорость" обрабатывается иначе.

Вот только автор забыл, что по сравнению с версией прошивки "GyverLamp_v1.3"
он изменил порядковые номера эффектов и добавил новые эффекты.

Смысл программы нарушился для следующих эффектов...

У этих двух отвалилась регулировка скорости:
C-like:
#define EFF_RAINBOW_DIAG (5U) // Радуга диагональная
#define EFF_COLORS (6U) // Смена цвета

У этих регулятор "Скорость" со значениями выше 50 начал дополнительно затормаживать эффект:
C-like:
#define EFF_FOREST (14U) // Лес 3D
#define EFF_OCEAN (15U) // Океан 3D
Возможно, кстати, каким-то эффектам баг на пользу пошёл.

Правильная строчка для запуска эффектов:
C-like:
if (ONflag && (millis() - effTimer >= ((currentMode < 7 || currentMode > 15) ? modes[currentMode].Speed : 50)))
 
Изменено:

qwertz

✩✩✩✩✩✩✩
22 Фев 2020
2
0
@Palpalych, а какая версия вашего огня сейчас последняя? Ту, что нашел от 25.02 ругается "conflicting declaration 'uint8_t matrixValue [11][16]'" при компиляции на оригинальной от gunner47, хотя переменная больше нигде не объявляется.
 

George

★★✩✩✩✩✩
25 Дек 2019
372
58
@George

1,25мкс вроде как 800кГц, не?
Да.
но недо путать с 800kbps - это скорость передачи == 100 Кбайт в сек
(для сравнения 750 кбит/с — видео YouTube с разрешением 360p с кодированием H.264)
30 кадров/сек (fps) не более чем на 1024 пикселя (в матрице 16*16 = 768 пикселей)
data.png
 

Palpalych

★★★★★✩✩
24 Дек 2019
765
404
@George, естественно... а 50мкс - это интервал при котором разрывается последовательная передача и матрица готова заново наполнятся.
 

George

★★✩✩✩✩✩
25 Дек 2019
372
58
А в чем смысл? Хотите сэкономить 20мкс на кадр? Это что-то решает? Хотите боле 100 кадров в секунду выводить? Матрице запуливается последовательность бит, каждый пиксель берет себе 24 бита, а потом выдержка 50микросекунд и тогда как я понял пикселы применяют новый цвет.
Хочу понять кто врёт Алекс или Даташит! Сброс - это гашение пикселов и приём по новой. Сигнал-то последовательный, пока до всех не дойдёт.
 

Palpalych

★★★★★✩✩
24 Дек 2019
765
404
@George, не гашение, а старт наполнения "цепочки" по новой... Гашение- это наполнение черным "цветом"