Releases: vortigont/FireLamp_JeeUI
Rel v4.0.1
Обновлены вся базовая среда и окружение
Arduino Core 3.1x
ESP IDF 5.3
new toolchain and GCC
EmbUI 4.x with new API
ArduinoJson 7.x
именованные пресеты для модулей
пресеты получили имена, выбор пресета осуществляется через выпадающий список с именами
пресеты можно переименовывать
настройки текущего пресета можно клонировать в другой пресет
Полностью переписан код работы со списом эффектов, индекс используемых эффектов и пр.
Полностью переработана схема контролов для эффектов.
Используется отдельный манифест файл определяющий схему контролов для каждого эффекта.
Объект контрола основан на использовании скалированных значений где размерность "ручек" контрола может отличаться от диапазона
выдаваемых значений для объекта эффекта. Подобная схема уже используется для яркости.
Объекты определяющие вид контролов для вебморды отвязан от кода контроллера и задаётся в джейсон файле подгружаемых данных
Возможно создание контролов в виде выпадающих списков, радио и пр.
Переписаны некторые эффекты, переработан код контролов, адаптированы под масштаб панелей
Пресеты настроек для эффектов, каждый эффект может иметь множество конфигураций
удален код генерации разных джейсонов для разных списов
Удалены некрасивые/неподдерживаемый/лишние эффекты со старыми типами контролов
Удален код работы микрофона, нет ресурсов на поддержку старого кода
What's Changed
experimental support for Arduino core 3 with Huidu boards by @vortigont in https://github.com/vortigont/FireLamp_JeeUI/pull/129
remove deprecated code by @vortigont in https://github.com/vortigont/FireLamp_JeeUI/pull/132
именованные пресеты для модулей by @vortigont in https://github.com/vortigont/FireLamp_JeeUI/pull/133
fix for controls being reset to 128 by @vortigont in https://github.com/vortigont/FireLamp_JeeUI/pull/134
Контролы эффектов by @vortigont in https://github.com/vortigont/FireLamp_JeeUI/pull/136
Switch to Arduino Core 3.1 and IDF 5.3 toolchain by @vortigont in https://github.com/vortigont/FireLamp_JeeUI/pull/137
Effect picasso by @vortigont in https://github.com/vortigont/FireLamp_JeeUI/pull/139
v 4.0 Rel by @vortigont in https://github.com/vortigont/FireLamp_JeeUI/pull/140
Full Changelog: v3.8.1...v4.0.1
Bugfixes
v3.7.2
What's Changed
- change some default values for I2S
- fix garbage on profiles changes
- fix crashes on clock profiles switching
- some improvements for "Magma" effect
- some fixes in clock widget
- часы: дополнительные параметры наложения
- в профиле часов теперь сохраняется номер эффекта оптимальный для профиля
- в профиле часов доступен выбор алгоритма наложения
- алгоритм наложения "Цветовая маска"
- исправлены ошибки в реализации прозрачности
- weather city code is handled as integer instead of string
- Add profile and configs for Huidu HD‐WF2 board by @vortigont in #116
- set 8MHz as default for HUB75 I2S clock rate by @vortigont in #119
- add release builder scritps for HD-WF2 boards by @vortigont in #121
Full Changelog: v3.7.1...v3.7.2
v3.7.1
What's Changed
- добавлены шрифты для часов разных размеров
- настраиваемые размеры области под слои с часами/датой/строкой
- размеры слоя для часов/строки задаются из UI,
- можно задать область больше/меньше текста
- дополнительно задается смещение курсора внутри области для формирования отступа/полей при необходимости для шрифтов с завитками/выступами
- Профили конфигураций для виджетов
- объект виджета может использовать несколько профилей конфигурации
- по-умолчанию доступно 10 ячеек для сохранения конфигураций
- переключение профиля из WebUI
- подгрузка последнего сохраненного профиля при старте
-
Модифицированны эффекты "Огонь 2021", "Огонь 2012", ось У перевернута в соответсвии с ориентацией печати шрифтами
-
Effect Magma - invert Y axis
- invert Y axis to match with GFX lib
- make leapers bounce random a bit
-
Огонь 2012 передлека
- эффект доведен состояния максимально приближенного к оригиналу от Mark Kriegsman
- убрана излишняя "магия", ползунки регулируют вероятность искр и степень их затухания
-
bump to Tasmota core 2.0.18
- fix NTP servers setup under EmbUI
-
fix some bugs in widgets
- Виджет бегущей строки мог завершиться с ошибкой при деактивации
- последующий интервал обновления погоды мог неверно устанавливаться при запуске виджета
-
Модифицированны эффекты "Огонь 2021", "Огонь 2012", "Магма" by @vortigont in #112
-
Профили конфигураций для виджетов by @vortigont in #113
-
настраиваемые размеры области под слой by @vortigont in #114
Full Changelog: v3.7.0...v3.7.1
Release v3.7.0
What's Changed
- значительно сокращен размер образа прошивки
- use hacked HTTPClient lib that does not need mbedTLS and related code
- Форматирование даты макросами std::strftime
- Реализован стек слоёв для наложения на холст с использованием альфа-каналов
- Часы/дата переделаны с использованием прозрачности в слоях
- Реализована бегущая строка в слое для отображения погоды через сервис OpenWeather
- Пайплайны для автосборки релизов и публикации бинарников на ГитХаб статик
- правки в кукушке
- правки ссылок на странице управления
- Telegram Bot message notifications by @vortigont in #104
- Переход на облегченное ардуино ядро от Tasmota by @vortigont in #106
- Прозрачность в слоях наложения, бегущая строка by @vortigont in #107
- Форматирование даты макросами std::strftime by @vortigont in #109
Full Changelog: v3.6.2...v3.7.0
v3.6.2
What's Changed
- No3xnums by @vortigont in #97
- Функция "рассвет"/"закат" by @vortigont in #99
- реорганизованы настроки "другие" by @vortigont in #102
- Release v3.6.2 by @vortigont in #103
Full Changelog: v3.6.1...v3.6.2
Hotfix Rel 3.6.1
- fix demo time save/restore
- fix displaying MP3 volume on TM1637 display
- Remove LinkedList dependency
- minor cleanup, readme update, links, etc...
Release v3.6.0
- Factory firmware builds
- on-demandfactory images builder CI pipeline
- post_buildfactory.py based on Tasmota's builder will create full factory images
- OTA images will also be collected and uploaded to artifacts
- Microphone
- force ADC resolution to 10 bit
- move microphone gpio configuration to WebUI
- block all mike operation if mike pin is undefined
- PCNT HW accelerated Encoder
библиотека энкодера заменена на ESP32Encoder с поддержкой аппаратного квадратурного декодра на PCNT движке esp32
обработка энкодера полностью переписана и интегрированна с шиной сообщений в связке с "кнопкой"
параметры энкодера настраиваются в живом режиме, поддерживаются 1х, 2х, 4х энкодеры
переработата схема переключения эффектов с затуханием, работа фейдера отслеживается через шину событий
оптимизированна схема переключения яркости при смене эффектов
доработан экран тм для отображения громкости звука плеера и номера переключаемого эффекта
WebUI settings for Encoder - Implement button lock checkbox
- Most of the lamp's configuration variables moved to NVS
- avoid useless config rewrites
- Tabulated LOGs
- Widgets manager that will handle creating/destructing widgets on-demand
- Alarm clock
Four alarms by default are availabe
Each alarm could one of those types- one time
- daily
- workday
- weekend
Melody could be set per alarm
- Cockoo/Talking clock
- hour/half/quater notifications
- selectable tunes for each notification interval
- silent hours for Talking clock
- simplify fading, rework options saving
- fader will be engaged only when panel's brightness is > FADE_LOWBRTFRACT
- optimize lamp's flags save/restore to avoid useless rewrites on start
- Fix effect controls
- Fix and simplify control selections
- Removed dublicated speedFactor variables from effects controls
- flatten mike flag options
- workaround race conditions in TaskScheduler
- Demo mode rework
- simplify demo switching/saving, remove old enums for lamp normal/unnormal modes, etc...
- rework timer control
- avoid extra config rewrites on on power on
- Effects
- EffectPuzzles - wrong row size calculation #70
- EffectPuzzles add locking for resize
- add locking for EffectCube2d
- testris clock fix am/pm letters fall
- fix TetrisClock crash in 12h mode
- Oscillator run in demo mode when mike is disabled
- Clock widget
- flickerless refresh using segmented area updates
- other fonts, 3x5 font
- chop off leading zero on small font
- DFPlayer adapter
- fix various problems with start/stop tracks
- Other fixes
- LEDDisplay fix crash when starting with blank configs
- removed that Control 7 hack for enabling/disabling mike per effect
- remove obsolete DS18B20 code
- fix wrong value being published for power switch
- remove "sort" from effects configuration
What's Changed
- Mp3fixes by @vortigont in #64
- Overlay Clock by @vortigont in #65
- Alarm feature by @vortigont in #66
- Smalltasks by @vortigont in #77
- PCNT HW accelerated Encoder by @vortigont in #81
- Puzzlesfix by @vortigont in #83
- Cube2 dfix by @vortigont in #82
- Schfix by @vortigont in #85
Full Changelog: v3.5.0...v3.6.0
Inroducing Even loop BUS
This release implements Event loop bus and decoupling componets from calling each other via class methods and operate via event bus
- implement run-time configuration for address leds RGB color order option for WS2812, Closes #54
- update windows batch installer
- add font Awesome icons to UI buttons
- reworked LOG macros, updated macro will allow to set severity level and component tag
- DFPlayer adapter
- use forked DFMiniMp3 lib
- keep cfg in json file
- add effect track loop function
- Button - reimplement button control
- use new ESPAsyncButton library for button handling
- implement event-based button<>lamp communication
- implement UI configuration for button, gpio, logic level, etc...
- implement UI configuration for button events, i.e. mapping actions to button events
- implement UI configuration for button timings
- Effects
- removed rudiment "individual brightness" from effect configs
- EffectFlags add control to randomly switch flags
- fix TetrisClock orientation
- исправлен эффект "Узоры" на широких экранах
- fix fireworks running on large screens. Closes #47
- TM1637 rework
- tm's options are kept in a display.json file
- modified 1637 driver to handle appended messages
- TMDisplay class now handles events from a message bus
- show IP on WiFi connect
- show power On/Off
- show Brightness change
- tm display track brightness control from button events
- Lamp class refactoring
- replace EFFSWITCH enum with enum class effswitch_t
- rename Lamp::effects member to Lamp::effwrkr
- remove long obsolete sync_parameters()
- rename overloaded Lamp::switcheffect to private Lamp::_switcheffect
- add IPC to EmbUI.feeders event publisher
- Implement ESP32 event loop bus for exchangind control messages between lamp's componets
- control matrix MOSFET via event bus
- power on/off events via event loop bus
- brightness control events
- effect switch events
- remove obsolete code
- RTC module related libs and code
- DS temp sensor related
- E131 related code
- remove MP3PLAYER define
- remove obsolete ESP_USE_BUTTON define and related code
- убрана кнопка "калибровка микрофона"
- remove button actions from interfaces.cpp
- remove old tm methood calls from encoder and rtc
- alarm
- events
- gauge
- some webui related code
- code related to pending/current effect switching from EffectWorker
- Other
- восстанавливать статус активности микрофона после перезагрузки. Closes #19
- removed build_time define MIC_EFFECTS
Feat. HUB75
- Update EmbUI resources
- Update Builder scripts
- refactoring MQTT/HTTP API
- make API for MQTT/HTTP compatible with WebSocket data messages format.
- Integrate message exchange between APIs.
- Removed obsolete code, i.e. sync_parameters(), http callback actions etc...
- refactoring code related to EmbUI API changes
- deprecate old-style weak functions, replaced with assignable action handlers
- sting literals refactoring to match EmbUI api change
- major refactoring for interface function names, const literals, etc...
- avoid reboot on led stripe reconfig, when saving matrix config if gpio has not changed then avoid useless reboot
- external devices
- removed TM1637_CLOCK define from config files, tm1637 suport is built-in by default, module is enabled if it's pins are defined through webui config
- WebUI
- implement WebUI configuration page for HUB75 parameters setup
- add tiled configuration setup for ws2812 matrixes
- run-time switch between ws2812 and HUB75 panel output
- hide obsolete functionality "Text", "Events"
- removed "Кол-во файлов в папке MP3" setting from UI
- HUB75 panels output
- implement HUB75 backend engine for HUB75 panels via HUB75-I2S-DMA lib
- hub75 configuration via API
- add NO_CIE1931 option for HUB75 I2S lib
- LedFB libarary
- implement LEDDisplay class
output device access is now hidden behind LEDDisplay class,
which provides methods to access canvas/overlay as memory-backed buffers.
Output device specific implementation and overlay mixing is of no dependency on other components. - OverlayEngine class that manages canvas buffer binding to end device and overlay operations such as allocation, blending, back-buffering
- introduce 'persistence' flag for effect indicating that it uses canvas buffer as pixel data storage and it should persist on ovelay operations (using back-buffer for this)
- add support for LedTiles transformations.
- Led matrixes or stripes of same topology could be combined into tiles
- same kind of topology transformations supported for tiles as for Led stripe
- implement LEDDisplay class
- reworkied "Drawing" feature using OverlayEngine, simplified packet data structures for pixel data
- segregate effect calculation into sepparate Taks
- a Task is created on-demand to run effect calculations and render result via OverlayEngine
- Effects fixes
- Noise3dMap::fillNoise was using wrong x,y mapping
- refactoring for EffectRadialFire, make it dimension agnostic
- removed old "Clock Effect"
- EffectPacific removed static vars, fixed color application
- EffectSinusoid3 clear buffer on load
- EffectBBalls limit num of balls to panel width
- 3DNoise effect running on non-square panels
- EffectComet runnning on non sq pane
- EffectRingsLock - fix crashing when running on panel, some internal restructuring
- EffectNoise crash on non rectangular canvas
- EffectMaze was crashing on non-rect canvas
- EffectBBalls changing number of balls could crash some times
- refine EffectSmokeballs
- максимальное число огней оганиченно ширина/4
- огни бегают по всей ширине широкоформатной матрицы
- добавлен контрол высоты огней
- мелкие оптимизации
- EffectLiquidLamp fix sporadic crashes on filter change
- platformio.ini - update libs definitions, set SemVers for known external libs