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
206
ЗДЕСЬ ОБСУЖДАЕМ ТОЛЬКО ДАННУЮ ПРОШИВКУ
ВСЕ ЧТО НЕ ПО СИЯ ТЕМЕ И ПРОШИВКЕ, ВСЕ СНОСИТСЯ НА@@@!

Очень просим не делать репост "ЦИТИРОВАНИЕ" сообщений! Делать только в КРАЙНЕЙ необходимости, удаляя лишний текст (у нас не ЧАТ)!
Иначе опять будет 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, проблема с загрузкой скетча
Читайте (ЧИТАЙТЕ! Не пишите!) эти темы, там уже есть решение вашей проблемы.
Здесь подобные вопросы считаются оффтопом и молча удаляются, а авторы получают баллы нарушений.
 
Изменено:

KACTET_MC

✩✩✩✩✩✩✩
18 Дек 2021
3
1
@SlingMaster, Прошу прощения за задержку, оживлял ноуты от залития и перегрева.
Параметры.jpg

В дополнение написанному: отключить рандом 10сек могу только 4-х кратным тапом. Но после отключения питания она снова рандомит.
 
Изменено:

SlingMaster

★★★✩✩✩✩
22 Апр 2021
220
144
Kharkiv, Ukraine
project.png
Версия 3.0 | 100 эффектов ===================

* поскольку исходники писались разными людьми код был приведен к одному стилю,
(на сколько хватило терпения)
изменений очень много, поэтому сменил резко номер версии и создал новый репозиторий.
------------------------------------------------------------------------------

1. Изменен принцип вызова эффектов и упрощен код.
2. Упорядочено назначение файлов в прошивке, Gif Data вынесена в отдельный файл, исправлены мелкие ошибки и наверное добавлены новые.
3. Почищен код и приведен к одному стилю.
4. Список эффектов для сторонних приложений убран из прошивки и подгружается прямо из файловой системы, что позволило освободить память и уменьшить размер скетча.
5. Исправлена ошибка загрузки списка эффектов когда лампа находится в режиме точки доступа
• требуется обновление программ под Windows и Android.
6. Упрощена web страница настроек лампы (остались только настройки подключения, чтобы не дублировать код)
• все остальное можно настроить непосредственно с прилагаемых приложений.
7. Исправлена ошибка с интервалом смены эффектов в режиме цикл.
8. Добавлен новый эффект (три в одном) «Строб, Хаос, Дифузия» ( регулировки ступенчатые скорость: 3, масштаб: 4).
9. Обновлена документация.

*все ссылки в шапке
для тех кто в теме подробно о новом принципе вызова эффектов смотрите в файлах effectTicker.ino и Constants.h
 

kDn

★★★★★✩✩
18 Ноя 2019
1,103
437
@SlingMaster, перешли на функторы))), знакомо. Помнится я с того же начинал, до того как понял, что проще переписать, чем реанимировать имеющееся.

Но вообще ваши изменения могу только приветствовать. Хорошо, что занялись. :), плохо только что эта хрень:
C++:
    if (ONflag && (millis() - effTimer >= ((currentMode >= EFF_MATRIX ) ? 256U - modes[currentMode].Speed : (currentMode <= EFF_OCEAN ) ? 50 : 15))) {
как была, так и остаётся... А я про нее много раз высказывался ранее, когда ещё было желание что-то объяснять.
 

SlingMaster

★★★✩✩✩✩
22 Апр 2021
220
144
Kharkiv, Ukraine
kDn
я практически ничего нового не изобретаю, я оптимизирую то что написано до меня
ну и мне никто ничего не обьяснял;)
 

kDn

★★★★★✩✩
18 Ноя 2019
1,103
437
ну и мне никто ничего не обьяснял;)
Объяснял я пару лет назад, можно поискать поиском по теме. Но это естественно при желании. Я считаю данный механизм встроенным пороком всех ганнер-подобных прошивок. Оставите ли вы его как есть или приведете в порядок - дело в общем-то ваше, мне без разницы :).
 

Сотнег

★★★★★★★
15 Янв 2020
4,346
1,492
@SlingMaster,
в функции void updateSets() можно обновлять текущий FPS в зависимости от типа эффекта.

Типа такого, или в реестре эффектов ещё и FPS для каждого хранить отдельно:
C-like:
void updateSets()
{
      currentFPS = ((currentMode >= EFF_MATRIX ) ? 256U - modes[currentMode].Speed : (currentMode <= EFF_OCEAN ) ? 50 : 15); // новая глобальная переменная типа uint8_t
Соответственно тиккер перестанет пересчитывать FPS:
C-like:
    if (ONflag && (millis() - effTimer >= currentFPS))
Только вынося эти полтора условия из тиккера в updateSets()
становится сложнее контролировать/администрировать список эффектов.
А хранение значения FPS в реестре эффектов раздувает реестр.

Я так и не придумал, нафиг оно надо. Поэтому не трогал.
 

SlingMaster

★★★✩✩✩✩
22 Апр 2021
220
144
Kharkiv, Ukraine
Так может имет смысл в конфиг эффектов добавить функцию SetFps которая будет устанавливать
currentFPS для текущего эффекта, и тогда не нужно будет хранить в реестре?
Я так и не придумал, нафиг оно надо. Поэтому не трогал.
смысл только в том что пофигу как расположены эффекты, ну и возможно для какихто эффектов более гибко можно подобрать FPS
 
  • Лойс +1
Реакции: Сотнег

Сотнег

★★★★★★★
15 Янв 2020
4,346
1,492
@SlingMaster,
"конфиг эффектов" - это что?
Чем от реестра отличается?

Можно в updateSets() выставлять дефолтный FPS,
а в код половины эффектов добавить выставление уникального при первом запуске.
 

Сотнег

★★★★★★★
15 Янв 2020
4,346
1,492
@SlingMaster,
ну вы у себя уже всё равно переколбасили файл effects.ino,
поэтому проблема взаимозаменяемости между сборками не станет новой.

Кстати, в нём у вас после кода эффекта Мерцание идёт следующий эффект, подписанный снова Мерцание.
И поиск по названию не работает, потому что английские буквы "Mep...".
 
  • Лойс +1
Реакции: SlingMaster

alvikskor

★★★✩✩✩✩
18 Янв 2021
388
130
Днепр. Украина
@Сотнег,
Можно в массив static const uint8_t defaultSettings[][3] 4м столбцом добавить принадлежность к соответствующей группе эффектов ( до матрицы=1, между матрицей и океаном=2, после океана=4). Тогда эффекты можно будет располагать в любом порядке. Например, в алфавитном. Это намного упростит поиск эффекта в выпадающем меню приложения или веб интерфейса. А массив этот всё равно в памяти программ расположен ( которой у нас предостаточно, пока) и дефицитное ОЗУ не кушает.
 

Сотнег

★★★★★★★
15 Янв 2020
4,346
1,492
@alvikskor,
лучше тот, который регулируется бегунком Скорость.
Так будет меньше вопросов у людей, пытающихся добавить новый эффект в прошивку.
Да таких эффектов и больше.
 

SlingMaster

★★★✩✩✩✩
22 Апр 2021
220
144
Kharkiv, Ukraine
нет смысла добавлять их в defaultSettings[][3]
это по сути константы которые меняться не будут, просто инициализировать переменную при старте еффекта и все
подскажите лучше где инициализируется будильник, хирург разошелся ненароком обрезал :ROFLMAO:
 

SlingMaster

★★★✩✩✩✩
22 Апр 2021
220
144
Kharkiv, Ukraine
alvikskor
в твоей прошивке достаточно запустить handle_alarm (), чтобы работал будильник или еще чтото нужно?
 
Изменено:

Сотнег

★★★★★★★
15 Янв 2020
4,346
1,492
@SlingMaster, будильник имеет приоритет над всеми процессами, обращающимися к матрице (эффекты, время бегущей строкой и т.п ).
Хотя, Котейка мог свой режим Рисование сделать ещё главнее. Я не проверял.

В общем, проверки на сработавший будильник и остановленный пользователем будильник были в прошивке в самых неожиданных местах.
Если туда влезть, придётся заново весь алгоритм продумывать.
 

Сотнег

★★★★★★★
15 Янв 2020
4,346
1,492
@SlingMaster,
не было там инициализации.
Будильник - это проверка, наступило ли время сработки, не закончилось ли время сработки и не было ли оно прервано вручную.
 

SlingMaster

★★★✩✩✩✩
22 Апр 2021
220
144
Kharkiv, Ukraine
у меня
alarms[k].State
alarms[k].Time
девственный, он гдето должен заполняться
наверное при редактировании будильника