Я рискнул выложить все изменения из экспериментальной ветки в основную.
Вроде бы недельная проверка не обнаружила каких либо поломок / нерабочих ситуаций. Те что были тут обнаружены - я пофиксил.
В новой версии проведена серьезная работа по оптимизации расходуемой памяти - теперь остается больше свободной - прошивка не должна падать на 8266 при пользовании Web-интерфейсом. Если найдутся какие-то проблемы - заявляйте, будем исследовать и исправлять.
В некоторых эффектах исправлено неосвобождение памяти, промахивание мимо индекса в массивов что могло теоретически приводить к перезагрузке контроллера. Исправлены другие заявленные ошибки.
Из нововведений - кто-то просил сделать 12/24 часовой формат отображения времени и температуру в Фаренгейтах. Сделано.
Вроде бы сделана поддержка микроконтроллеров ESP32 из семейства S2/S3/С3.
Я проверял на обычной ESP32-WROOM-32 (30-32-38 пинов) + mini и на ESP32-S2 mini. Остальных карт у меня пока нет - придут со временем, проверю на том, что имеется в наличии. Теоретически - должно работать, возможно сейчас не самое оптимальное распределение пинов по устройствам - позже исправлю.
Кстати S2-mini розовая по форм-фактору отлично сопрягается с SD-card shield от Wemos d1 mini. То же для обычной ESP32 mini.
Добавлено управление реле / мосфетом по отдельной линии - кто-то хотел включать елку по расписанию. Управляется как по "Режимам по времени", так и включение/выключение вручную с кнопки на страничке.
Похожее - линия управления реле / мосфетом при срабатывании будильника. Не знаю зачем, но пусть будет. В других прошивках это давно есть.
Из (относительно) неприятного. Под будущие наработки пришлось сдвинуть карту параметров эффектов в EEPROM на другие адреса. То есть настраивать их придется заново. При обновлении файловой системы, содержащей файлы Web-странички - файловая система микроконтроллера переформатируется. При этом теряются ранее сохраненные в backup настройки и тексты бегущей строки - они хранятся в файловой системе.
На будущее - рекомендуется собирать устройство с SD-картой - на нее можно сохранять backup текущих настроек и текстов бегущей строки, после обновления файловой системы - восстанавливать из бэкапа с SD-карты
После обновления обязательно очистить кэш браузера и/или обновить страницу в браузере используя комбинации клавиш Ctrl-F5 /Ctrl-Shift-R. Это нужно, чтобы браузер брал файлы и скрипты не из кэша на компьютере / телефона, а загрузил новые версии файлов непосредственно из микроконтроллера.
Вот, все что вспомнил...
PS: писание текстов для wiki и рисование картинок - дело долгое и нудное. Сделаю со временем, но пока информация в некоторых разделах Wiki слегка устарела...
Для установки библиотеки брать из папки проекта libraries, скопировать их в "Мои документы/Arduino/libraries". Лучше это сделать, поскольку могли измениться версии библиотек, даже если они (папка библиотеки) называются одинаково - содержимое может быть разным. К тому же часть библиотек модифицирована.