Дельта-кодирование. Спринт 5. РЕЛИЗ!
Выпустил рабочую версию на гитхаб: https://github.com/DmitryMuravyev/Delta-Compression
Релиз всё ещё может содержать (и конечно же содержит) какие-то баги, но, тем не менее я его изрядно со всех сторон протестировал пока делал примеры применения, которых тут целых 8 штук под разные задачи и платформы. Помимо тестового железа, примеры отличаются ещё и тем, что в них работают разные модификации кода декомпрессии:
• Полный код, максимально функциональный, но медленный. Под него есть пример на ATMega2560 + TFT дисплей ILI9486 480x320.
• Версия с меньшей разрядностью переменных и большей производительностью с примером на тех же ATMega2560 + ILI9486.
• Вариант с поддержкой пиксельного буфера и раскрашивания пикселей прямо во время распаковки. Примеры:
▪ Arduino Nano + IPS дисплей ST7789 240x240,
▪ ESP32 DEVKIT board + ST7789 240x240,
▪ STM32F070CB chip + ST7789,
▪ STM32F407ZGT6 DevEBox board + большой и мощный дисплей на NT35510 800x480.
• Версия 8-бит. Максимально быстрая, но обладающая значительно меньшими возможностями в плане обрабатываемых размеров/объёмов. Примеры:
▪ Arduino Nano + ST7789 240x240,
▪ ATtiny85 chip + SPI output.
Да! Даже на ATtiny можно пользоваться декомпрессором! Конечно же для микроконтроллерных систем более высокого уровня можно пользоваться чем-то вроде LZO/lzop, но для сегментов нижнего и среднего уровня найдётся не так много решений по работе со сжатыми данными.
В ближайшее время я планирую выпустить ролик по теме использования библиотеки, так что будьте на связи!
P.S. Финальный ролик по проекту можно посмотреть тут: https://youtu.be/ywL50YZ6wRk