Завершились 3.5 месяца бессонных ночей, кучи анальгетиков и пузырька Визина. Надеюсь, что кому-то (кроме меня) это тоже будет полезно! Пишите, если найдутся какие-то баги (а они найдутся)! Да и вообще, пишите! )
автор, три "спасибы" в карму за то что малосведующим разъесняеш что такая огромная платформа это кладесь информации, а информация порой дороже "всякого". мой вам поклон
Неплохо ты заморочился! Как всегда на высшем уровне) напомнило мне детство, когда я спаял свой первый спектрум и пытался писать игрухи - но без матана там было делать нечего, а я был всего лишь в третьем классе 😂
Совершенно с вами согласен и солидарен, по поводу всяческих блокировок данного ресурса, ведь это кладовая знаний для большой численности населения нашей планеты, прежде чем куда либо залезть своим суконным рылом и вставить палку в колесо, нужно было своё что либо создать и развить. Люди которые сутками смотрят зомбоящик, им конечно наплевать, я даже вижу кое где коменты радостные и хлопают в ладошки по этому поводу. Я лично много для себя в знаниях подчерпнул, благодаря Юпуку.
Вот яркий пример тому - Китай. И это несмотря на поистине колоссальные технические возможности т.к. подавляющее производство сосредоточено именно там! Но вот население тамошнее поголовно безграмотны все-таки и только способны делать качественно свою работу. Т.к. оторваны от глобальных знаний всего мира. Там нет Гугля и Ютуб не так распространен - поэтому вот так. Хотя население имеет доступ ко всем (!) техническим новинкам и т.п. А что говорить о др. странах где промышленность и пр. не так развиты - далеко ходить за примерами не надо (Иран, Сев. Корея и большая часть Африки).
@@ajdarseidzade688 Про Китай хочется с вами и согласиться и возразить. С одной стороны вы правы, пропаганда делает свое дело. С другой я не готов назвать китайцев глупыми или безграмотными. Те кто умеют думать прекрасно пользуются и ютубом и гуглом и вообще сами протоколы пишут. Вероятно вы пользуетесь ВПНом. Так вот лучшие протоколы ВПН написаны китайцами, для обхода своего же DPI. ЭТо Shadowsocks и его развитие VLESS, все написано китайцами. Китайцы в некотором смысле с нами имеют гораздо больше общего, чем кажется на первый взгляд. Культуры наши конечно очень сильно отличаются, но они тоже люди выросшие в несвободном обществе и в этом мы с ними очень похожи. В моем окружении примерно 50/50 людей кто верит и не верит пропаганде. В среднем по стране похоже у них это 20% тех кто не верит в пропаганду. Причем деление очень похоже как у нас. Кто постарше, любят твердую руку во власти, кто помоложе с большей вероятностью сторонники свобод.
@@ajdarseidzade688 Мда... ну и бред с порожняком ты нагнал... А еще понравилось как ты определил ВИНУ государств за их недоразвитость, которая является следствием колониальной политики других стран. А что там по развитости западных стран, которым ютуб и всё прекрасное мира сего доступно... где там у них грамотность? Почему грамотность не растет, они же не оторваны от "всего мира".
Не плохо. Тоже есть своя наработка по сжатию картинок. Но все равно многовато памяти 62кБ в два раза меньше, все равно много. Сейчас на многих платках SPI флешка есть, можно без сжатия туды картинок напихать. По поводу ютуба, абсолютно с вами согласен!
Спасибо за ваш коммент про youtube. Автору не все можно говорить, а вот анонимному пользователю попроще. Надеюсь Кремль закончит наконец войну, которую сам же и начал. Блокировки Ютуба и в вообще попытка контролировать что нам смотреть и слушать вырастает из того же самого, когда власти хочется делать то что хочется, а нам позволять узнавать только то, что дозволено. В такой ситуации, ограничение развития страны уходит на второй план, по сравнению с желанием власти сохранить свое теплое местечко.
@@orkoteg09 вот именно, что не молчит, а говорит в меру своих возможностей и рисков. Вероятно вы или живёте за рубежом, или не представляете разницу между анонимным заявлением и публичным на аудиторию. Даже если небольшую аудиторию, риски там возрастают кратно.
Спасибо, интересная тема. Делал нечто подобное для вывода иконок, но RLE способом, результатом доволен, да и скорость декомпрессии (как мне кажется) выше была чем у Вас.
Несколько лет назад делал такое, правда не так фундаментально, нужно было всего-лишь сжать большие шрифты для бегущей строки (ру+англ) и упихнуть в мегу 328, сделал простой RLE кодек, слово 4 бита, очень быстро распаковывал буквы на лету из флешки во время каждого кадра, и сжал шрифт неплохо, почти в два раза. В общем - рабочая технология.
Спасибо за ролик и софтину сжатия! Работа проделана очень большая. Здравая позиция по Ютубу. Сам активно смотрю ролики с каналов Altium Academy, Robert Feranec, Ben Eater и Phil’s Lab. К сожалению, для многих Ютуб это чисто развлекательная платформа. Дать ребенку телефон в транспорте, чтобы не кричал, да посмотреть бессмысленное шоу. Стоит лишь заглянуть в тренды Ютубы, чтобы понять какие киты плавают в этом океане роликов. Управленцы и эффективные манагеры видят только подобный контент, соответственно и вывод о скрепных аналогах приходит сам собой. С другой стороны, хочу подобным людям сказать спасибо за стимул к изучению администрирования VDS серверов. Иметь личный VPN сервер оказалось очень уж полезно.
@@DmitryMuravyev Ihor Hosting (ihor dot online) самый дешёвый тариф за 2600р в год. Принимают рубли без проблем. ЦОД в Финляндии. Канал 200 Мбит, трафик безлимитный. В вечернее время бывает проседает скорость, но жить можно
@@DmitryMuravyev Айхор Хостинг. Самый дешевый тариф за 2600р в год. ЦОД расположен в Хельсинки, канал 200 Мбит/с, безлимитный трафик. В пик нагрузки по вечерам иногда проседает скорость, но жить можно. Пользуюсь уже третий год, стабильность хорошая. Разрывы только по моей вине) Столкнулся лишь с одной особенностью - довольно малый накопитель в 7 Гб. На первое время этого хватает, но потом система начинает качать обновления, накапливает логи с журналами и все это дело очень быстро забивается под завязку. Приходится вручную чистить.
@@DmitryMuravyev Айхор Хостинг. Самый дешевый тариф за 2600р в год. ЦОД расположен в Хельсинки, канал 200 Мбит/с, безлимитный трафик. В пик нагрузки по вечерам иногда проседает скорость, но жить можно. Пользуюсь уже третий год, стабильность хорошая. Разрывы только по моей вине) Столкнулся лишь с одной особенностью - довольно малый накопитель в 7 Гб. На первое время этого хватает, но потом система начинает качать обновления, накапливает логи с журналами и все это дело очень быстро забивается под завязку. Приходится вручную чистить.
@@DmitryMuravyev Айхор Хостинг. Самый дешевый тариф за 2600р в год. ЦОД расположен в Хельсинки, канал 200 Мбит/с, безлимитный трафик. В пик нагрузки по вечерам иногда проседает скорость, но жить можно. Пользуюсь уже третий год, стабильность хорошая. Разрывы только по моей вине) Столкнулся лишь с одной особенностью - довольно малый накопитель в 7 Гб. На первое время этого хватает, но потом система начинает качать обновления, накапливает логи с журналами и все это дело очень быстро забивается под завязку. Приходится вручную чистить.
Это прямой доступ периферии в RAM. Сильно ускоряет обмен: ru.wikipedia.org/wiki/%D0%9F%D1%80%D1%8F%D0%BC%D0%BE%D0%B9_%D0%B4%D0%BE%D1%81%D1%82%D1%83%D0%BF_%D0%BA_%D0%BF%D0%B0%D0%BC%D1%8F%D1%82%D0%B8
Это зависит от платформы (количество и разрядность регистров) и от модификации класса распаковки. Самый тяжёлый вариант использует 54 байта глобальных переменных, а самый лёгкий всего 12 байт. Плюс ещё в процедуре декомпрессии в зависимости от варианта вычисления дельты может динамически выделяться по одному байту на распаковываемый канал (R/G/B). Ну и по локальным переменным это смотря по количеству свободных регистров, которые компилятор сможет выделить. В лучшем случае под локальные переменные вообще память не нужна будет, ну или совсем немного периодически будет в стек пушиться. В общем, порядок величин - десятки байт. Спасибо за замечание!
Зжатие текстур, особенно нормалей одна из анальных болей в построении ААА+ игровых проектов, думал взять поиграть pinephone и pinewatch, но на такую штуку времени нет, но для обучения довольно интересный пример на мой взгляд, однако не все обучение одинакого полезно для растишкафа.
Разве в ПЗУ у ESP32 кроме libc (newlib) нету zlib (miniz)? А с этим miniz можно полноценно использовать png для картинок, даже качая тупо с веба При этом размер прошивки не увеличится на размер этой либы (в одноразовой ПЗУ же хранится)
Вот, кстати, а вы знаете как это работает? Я так понимаю, что в ROM скомпилированы и положены только низкоуровневые функции, а всё остальное через IDF? Но, да, у Espressif мощные камни, так что на них многое можно себе позволить. Я, вот, недавно экспериментировал с SQLite и зашибись работает )) Собственно, потому для ESP32 у меня всего один пример, но не сделать его я не мог )) Возможно имеет смысл когда-нибудь сделать версию под встроенные функции zlib/deflate для ESP32, чтобы работать не с файлами, а со скомпрессированными массивами. Хотя вряд ли такая задача возникнет...
@DmitryMuravyev Я однажды тоже задался этим вопросом - как же это работает: в ROM есть libc, прошивка линкуется тоже к libc, не уже ли в памяти будет 2 одинаковые либы? Оказалось что нет - почти все функции libc, которые используются в IDF (а далее в Arduino даже), описаны как внешние ссылки для линкера и ссылаются на конкретные адреса в ROM. Если интересно, то поищите файлы вида `esp32.rom.ld` в фреймворке, открройте в блокноте и сравните адреса с даташитом - они должны будут ссылаться на область "Internal ROM 0" Другой вариант - скомпилировать что-нибудь и открыть .map файл. Там будет много строк, но если постораться, то увидите сишные функции ссылающиеся на "Internal ROM 0", вместо области "External Flash"
пытаюсь применить с STM32 в кубе, пока не получается. Использую ЧБ изображение, в программе по сжатию выставил 1 канал 1 бит и в градациях серого, получил .h файл. В среде добавил библиотеки, в decompression.h поправил дефайны под настройки программы для ПК. Основная проблема - подружить вывод декомпрессора с отрисовкой. Я так понимаю, что декомпрессор отдает на отрисовку одну строку изображения через указатель currentScreenBuffer*, но в цикле строк получаю практически одни и те же числа. Еще проблема что у меня есть функция отрисовки одной точки, а автор использует в примере функцию отрисовки сразу нескольких точек ( одной линии).Обычно, в графических библиотеках всё сводится к отрисовки одной точки...Разбираюсь
Декомпрессор в вашем случае будет отдавать битовую матрицу (если это ч/б 1 бит). Т.е. 1 байт = 8 пикселей. Чтобы их привести к формату пикселя дисплея надо воспользоваться делегатом: uint16_t colorizePixel(uint16_t frame) { uint16_t pixelColor = (frame == 0) ? 0 : 0xFFFF; return (pixelColor); } Это если у вас RGB565. Всё как в примере: Examples/STM32/F070CB_ST7789_DMA Только раскрашивание будет в 2 цвета, вместо табличного варианта, который в примере. Для применения делегата последний параметр функции decompressNextFrames должен быть true. Декомпрессор отрисовывает в предоставленный буфер. Куда скажете -туда и выведет, а функция ST7789_getPixelBuffer просто возвращает указатель на актуальный буфер в случае двойной буферизации. Выводить по 1-му пикселю, в принципе, можно (хотя и менее эффективно). Но только последовательно и только если вы не используете разбиение на квадраты. Если у вас квадраты, к примеру, 2x2, то тоже можно, но тогда 3-й пиксель будет из 2-й строки изображения. Т.е. надо применять соответствующую логику отрисовки. Доступа к произвольному пикселю сжатой картинки, само-собой нет.
@@DmitryMuravyev спасибо, разобрался! Смысла, получается, нет ставить 1 бит на цвет. Выходит что в 16 битный массив, куда декомпрессируется изображение, пишется единица или ноль, тогда уж пусть выводится в оттенках) Ещё раз спасибо!
@АльбертИванов-й8п ну, всё-таки 1 бит по объёму сжатых данных будет несколько компактнее, но в целом, да, 1 бит больше для каких-нибудь шрифтов подойдёт, чем для иконок.
Тема интересная, изложение толковое. Но применение бесполезное, хранить во внутренней памяти большие данные.. Хм... Обычно ставлю копеечную флешпамять, SPI и вуаля - никаких разумных ограничений.
блокировка ютюба - это не баг, а фича. Знания мешают иди на СВО, завоевывать соседей за три дня, угрожать Прибалтике итд. Спасибо за видос - полезный алгоритм. ПС: ставьте ВПН, ваша целевая аудитория полюбасу тоже будет с ВПН
Сфигали все взяли, что ютуб закроют🤡. Инсту закрыли, ну и че? Все также в нее заходят и пользуются. Так что никакой паники, а вперед искать пути обхода замедлений
Расскажи это когда помешь гломально что это влечет за собой... И запросы вырастут больше чем просмотр порно в 4к. Не пингозависимо. Удобно смотреть поверхностно сидя на диване! Ну да пофигу им пофиг и нам будет пофиг. Посмотрим куда все прийдет. Отключи авторищацию и увидишь трешь туб... но это другая история...
Многие блогеры, чтоб импортный контент не терялся из за лагов Ютуба, делают свой контент на базе импортного и публикуют в рутюбе. А если так как вы автор относиться к рутюбе, то и никогда не будет своей платформы. А Ютюб безумно политизирован и альтернатива должна быть. Не ужели так трудно вам публикуясь на Ютубе дублировать на рутюбе. Я хоть и ещё пользуюсь ютубом, но не умолимо пользу в рутюб. Кстати, я электронщик, и в этом направлении слава богу на рутюбе стали появляться хорошие каналы. Здесь на вас подписываться не буду, но если появитесь на рутюбе, то велкам!!!
Завершились 3.5 месяца бессонных ночей, кучи анальгетиков и пузырька Визина. Надеюсь, что кому-то (кроме меня) это тоже будет полезно! Пишите, если найдутся какие-то баги (а они найдутся)! Да и вообще, пишите! )
И что он делал эти 3.5 месяца? Болел?
А что случилось? ....Здоровья и всего хорошего. Привет из Баку.
@ajdarseidzade688 Годы не те уже...) Тяжело по ночам красноглазить... а проект того требовал)
@@DmitryMuravyev на вопрос отвечай. и лайк мне тоже ставь. или отписка
а, он отвечает только на комплиментарные сервильные сообщения. фу таким быть
Спасибо большое за свой комментарий за UA-cam!
Я с тобой полностью согласен!
И, спасибо за видео!
Круто, очень понравился ваш подход к этой задаче)) все по серьезному и продумано и разжовано до мелочей
автор, три "спасибы" в карму за то что малосведующим разъесняеш что такая огромная платформа это кладесь информации, а информация порой дороже "всякого". мой вам поклон
Вижу видео от
Dmitry Muravyev понимаю, что будет качественно)
Очень интересно и полезно, спасибо! сейчас тоже мучаюсь со всеми этими дисплеями
Спасибо. Вы ценим вас ещё больше!
Неплохо ты заморочился! Как всегда на высшем уровне) напомнило мне детство, когда я спаял свой первый спектрум и пытался писать игрухи - но без матана там было делать нечего, а я был всего лишь в третьем классе 😂
Спасибо, очень полезная тема!
Спасибо за интересный ролик!
12:55 - Роберт Фера́нец
Тоже так подумал) Но он в штатах живёт/работает и сложно сказать к какому он теперь привык произношению.
Совершенно с вами согласен и солидарен, по поводу всяческих блокировок данного ресурса, ведь это кладовая знаний для большой численности населения нашей планеты, прежде чем куда либо залезть своим суконным рылом и вставить палку в колесо, нужно было своё что либо создать и развить. Люди которые сутками смотрят зомбоящик, им конечно наплевать, я даже вижу кое где коменты радостные и хлопают в ладошки по этому поводу. Я лично много для себя в знаниях подчерпнул, благодаря Юпуку.
Вот яркий пример тому - Китай. И это несмотря на поистине колоссальные технические возможности т.к. подавляющее производство сосредоточено именно там! Но вот население тамошнее поголовно безграмотны все-таки и только способны делать качественно свою работу. Т.к. оторваны от глобальных знаний всего мира. Там нет Гугля и Ютуб не так распространен - поэтому вот так. Хотя население имеет доступ ко всем (!) техническим новинкам и т.п. А что говорить о др. странах где промышленность и пр. не так развиты - далеко ходить за примерами не надо (Иран, Сев. Корея и большая часть Африки).
@@ajdarseidzade688 Про Китай хочется с вами и согласиться и возразить.
С одной стороны вы правы, пропаганда делает свое дело.
С другой я не готов назвать китайцев глупыми или безграмотными. Те кто умеют думать прекрасно пользуются и ютубом и гуглом и вообще сами протоколы пишут.
Вероятно вы пользуетесь ВПНом. Так вот лучшие протоколы ВПН написаны китайцами, для обхода своего же DPI.
ЭТо Shadowsocks и его развитие VLESS, все написано китайцами.
Китайцы в некотором смысле с нами имеют гораздо больше общего, чем кажется на первый взгляд. Культуры наши конечно очень сильно отличаются, но они тоже люди выросшие в несвободном обществе и в этом мы с ними очень похожи.
В моем окружении примерно 50/50 людей кто верит и не верит пропаганде.
В среднем по стране похоже у них это 20% тех кто не верит в пропаганду.
Причем деление очень похоже как у нас. Кто постарше, любят твердую руку во власти, кто помоложе с большей вероятностью сторонники свобод.
@@ajdarseidzade688 Мда... ну и бред с порожняком ты нагнал... А еще понравилось как ты определил ВИНУ государств за их недоразвитость, которая является следствием колониальной политики других стран.
А что там по развитости западных стран, которым ютуб и всё прекрасное мира сего доступно... где там у них грамотность? Почему грамотность не растет, они же не оторваны от "всего мира".
Не плохо. Тоже есть своя наработка по сжатию картинок. Но все равно многовато памяти 62кБ в два раза меньше, все равно много. Сейчас на многих платках SPI флешка есть, можно без сжатия туды картинок напихать. По поводу ютуба, абсолютно с вами согласен!
Спасибо за ваш коммент про youtube.
Автору не все можно говорить, а вот анонимному пользователю попроще.
Надеюсь Кремль закончит наконец войну, которую сам же и начал.
Блокировки Ютуба и в вообще попытка контролировать что нам смотреть и слушать вырастает из того же самого, когда власти хочется делать то что хочется, а нам позволять узнавать только то, что дозволено. В такой ситуации, ограничение развития страны уходит на второй план, по сравнению с желанием власти сохранить свое теплое местечко.
вот такое молчание и называется молчаливый соучастник
@@orkoteg09 вот именно, что не молчит, а говорит в меру своих возможностей и рисков.
Вероятно вы или живёте за рубежом, или не представляете разницу между анонимным заявлением и публичным на аудиторию. Даже если небольшую аудиторию, риски там возрастают кратно.
Спасибо, интересная тема.
Делал нечто подобное для вывода иконок, но RLE способом, результатом доволен, да и скорость декомпрессии (как мне кажется) выше была чем у Вас.
У rle выше, конечно) Но компрессия меньше (и не для всяких данных). Как всегда, либо скорость, либо объём))
Собственно, rle это частный случай дельты)
@@DmitryMuravyev Это да, согласен.
Идея отличная.... молодец
яб даже сказал...... очень крутая
Несколько лет назад делал такое, правда не так фундаментально, нужно было всего-лишь сжать большие шрифты для бегущей строки (ру+англ) и упихнуть в мегу 328, сделал простой RLE кодек, слово 4 бита, очень быстро распаковывал буквы на лету из флешки во время каждого кадра, и сжал шрифт неплохо, почти в два раза. В общем - рабочая технология.
"О каком развитии может идти речь, если вы блокируете самый большой источник видео-знаний на планете? Что вы собираетесь развивать?"© Пожалуй распечатаю и повешу на стену у себя на работе эти золотые слова.
Полностью поддерживаю! Ютюбе для нас как Википедия, и ограничение доступа это преступление против развития нашей страны!
Спасибо за ролик и софтину сжатия! Работа проделана очень большая. Здравая позиция по Ютубу. Сам активно смотрю ролики с каналов Altium Academy, Robert Feranec, Ben Eater и Phil’s Lab. К сожалению, для многих Ютуб это чисто развлекательная платформа. Дать ребенку телефон в транспорте, чтобы не кричал, да посмотреть бессмысленное шоу. Стоит лишь заглянуть в тренды Ютубы, чтобы понять какие киты плавают в этом океане роликов. Управленцы и эффективные манагеры видят только подобный контент, соответственно и вывод о скрепных аналогах приходит сам собой. С другой стороны, хочу подобным людям сказать спасибо за стимул к изучению администрирования VDS серверов. Иметь личный VPN сервер оказалось очень уж полезно.
А где поднимали VDS, если не секрет? )
@@DmitryMuravyev Ihor Hosting (ihor dot online) самый дешёвый тариф за 2600р в год. Принимают рубли без проблем.
ЦОД в Финляндии. Канал 200 Мбит, трафик безлимитный. В вечернее время бывает проседает скорость, но жить можно
@@DmitryMuravyev Айхор Хостинг. Самый дешевый тариф за 2600р в год. ЦОД расположен в Хельсинки, канал 200 Мбит/с, безлимитный трафик. В пик нагрузки по вечерам иногда проседает скорость, но жить можно. Пользуюсь уже третий год, стабильность хорошая. Разрывы только по моей вине) Столкнулся лишь с одной особенностью - довольно малый накопитель в 7 Гб. На первое время этого хватает, но потом система начинает качать обновления, накапливает логи с журналами и все это дело очень быстро забивается под завязку. Приходится вручную чистить.
@@DmitryMuravyev Айхор Хостинг. Самый дешевый тариф за 2600р в год. ЦОД расположен в Хельсинки, канал 200 Мбит/с, безлимитный трафик. В пик нагрузки по вечерам иногда проседает скорость, но жить можно. Пользуюсь уже третий год, стабильность хорошая. Разрывы только по моей вине) Столкнулся лишь с одной особенностью - довольно малый накопитель в 7 Гб. На первое время этого хватает, но потом система начинает качать обновления, накапливает логи с журналами и все это дело очень быстро забивается под завязку. Приходится вручную чистить.
@@DmitryMuravyev Айхор Хостинг. Самый дешевый тариф за 2600р в год. ЦОД расположен в Хельсинки, канал 200 Мбит/с, безлимитный трафик. В пик нагрузки по вечерам иногда проседает скорость, но жить можно. Пользуюсь уже третий год, стабильность хорошая. Разрывы только по моей вине) Столкнулся лишь с одной особенностью - довольно малый накопитель в 7 Гб. На первое время этого хватает, но потом система начинает качать обновления, накапливает логи с журналами и все это дело очень быстро забивается под завязку. Приходится вручную чистить.
Супер инфа! Спасибо. А можно подробнее про ДМА? Что за зверь, с чем едят?
Это прямой доступ периферии в RAM. Сильно ускоряет обмен: ru.wikipedia.org/wiki/%D0%9F%D1%80%D1%8F%D0%BC%D0%BE%D0%B9_%D0%B4%D0%BE%D1%81%D1%82%D1%83%D0%BF_%D0%BA_%D0%BF%D0%B0%D0%BC%D1%8F%D1%82%D0%B8
Было бы неплохо обозначить расход оперативки, а не только экономию флеша. В остальном - глубокий респект
Это зависит от платформы (количество и разрядность регистров) и от модификации класса распаковки. Самый тяжёлый вариант использует 54 байта глобальных переменных, а самый лёгкий всего 12 байт. Плюс ещё в процедуре декомпрессии в зависимости от варианта вычисления дельты может динамически выделяться по одному байту на распаковываемый канал (R/G/B). Ну и по локальным переменным это смотря по количеству свободных регистров, которые компилятор сможет выделить. В лучшем случае под локальные переменные вообще память не нужна будет, ну или совсем немного периодически будет в стек пушиться. В общем, порядок величин - десятки байт. Спасибо за замечание!
@@DmitryMuravyev при использовании DMA очевидно нужен буфер для отправки на дисплей
@DIY-hv2hv Да и без ДМА, если квадратами распаковывать, то буфер нужен. Но его размер на усмотрение разработчика (от одного квадрата пикселей).
Зжатие текстур, особенно нормалей одна из анальных болей в построении ААА+ игровых проектов, думал взять поиграть pinephone и pinewatch, но на такую штуку времени нет, но для обучения довольно интересный пример на мой взгляд, однако не все обучение одинакого полезно для растишкафа.
Спасибо, интересная тема! А шрифты для уменьшения занимаемой ими памяти вы тоже сжимаете?
Бинарные, да, можно сжать. Надо только данные подготовить.
Планируется видео про согласование волновых сопротивлений? Спасибо)
По плану через два ролика. А по датам сейчас сложно что-то прогнозировать...
Крутой архиватор! UA-cam блокировать нельзя. Те, кто пытается заблокировать - не понимают последствий для страны и граждан
не просто нельзя, а категорически НУЖНО!
царю не нужны неподконтрольные источники информации - только цензура!
Как к микроконтроллеру прикрутить сторонний флешь 👍
Интересно
👍👍👍👍👍👍❗
Разве в ПЗУ у ESP32 кроме libc (newlib) нету zlib (miniz)?
А с этим miniz можно полноценно использовать png для картинок, даже качая тупо с веба
При этом размер прошивки не увеличится на размер этой либы (в одноразовой ПЗУ же хранится)
Вот, кстати, а вы знаете как это работает? Я так понимаю, что в ROM скомпилированы и положены только низкоуровневые функции, а всё остальное через IDF?
Но, да, у Espressif мощные камни, так что на них многое можно себе позволить. Я, вот, недавно экспериментировал с SQLite и зашибись работает ))
Собственно, потому для ESP32 у меня всего один пример, но не сделать его я не мог ))
Возможно имеет смысл когда-нибудь сделать версию под встроенные функции zlib/deflate для ESP32, чтобы работать не с файлами, а со скомпрессированными массивами. Хотя вряд ли такая задача возникнет...
@DmitryMuravyev Я однажды тоже задался этим вопросом - как же это работает: в ROM есть libc, прошивка линкуется тоже к libc, не уже ли в памяти будет 2 одинаковые либы? Оказалось что нет - почти все функции libc, которые используются в IDF (а далее в Arduino даже), описаны как внешние ссылки для линкера и ссылаются на конкретные адреса в ROM.
Если интересно, то поищите файлы вида `esp32.rom.ld` в фреймворке, открройте в блокноте и сравните адреса с даташитом - они должны будут ссылаться на область "Internal ROM 0"
Другой вариант - скомпилировать что-нибудь и открыть .map файл. Там будет много строк, но если постораться, то увидите сишные функции ссылающиеся на "Internal ROM 0", вместо области "External Flash"
Ага, понял, спасибо!
пытаюсь применить с STM32 в кубе, пока не получается. Использую ЧБ изображение, в программе по сжатию выставил 1 канал 1 бит и в градациях серого, получил .h файл. В среде добавил библиотеки, в decompression.h поправил дефайны под настройки программы для ПК. Основная проблема - подружить вывод декомпрессора с отрисовкой. Я так понимаю, что декомпрессор отдает на отрисовку одну строку изображения через указатель currentScreenBuffer*, но в цикле строк получаю практически одни и те же числа. Еще проблема что у меня есть функция отрисовки одной точки, а автор использует в примере функцию отрисовки сразу нескольких точек ( одной линии).Обычно, в графических библиотеках всё сводится к отрисовки одной точки...Разбираюсь
Декомпрессор в вашем случае будет отдавать битовую матрицу (если это ч/б 1 бит). Т.е. 1 байт = 8 пикселей. Чтобы их привести к формату пикселя дисплея надо воспользоваться делегатом:
uint16_t colorizePixel(uint16_t frame) {
uint16_t pixelColor = (frame == 0) ? 0 : 0xFFFF;
return (pixelColor);
}
Это если у вас RGB565. Всё как в примере: Examples/STM32/F070CB_ST7789_DMA
Только раскрашивание будет в 2 цвета, вместо табличного варианта, который в примере. Для применения делегата последний параметр функции decompressNextFrames должен быть true.
Декомпрессор отрисовывает в предоставленный буфер. Куда скажете -туда и выведет, а функция ST7789_getPixelBuffer просто возвращает указатель на актуальный буфер в случае двойной буферизации.
Выводить по 1-му пикселю, в принципе, можно (хотя и менее эффективно). Но только последовательно и только если вы не используете разбиение на квадраты. Если у вас квадраты, к примеру, 2x2, то тоже можно, но тогда 3-й пиксель будет из 2-й строки изображения. Т.е. надо применять соответствующую логику отрисовки. Доступа к произвольному пикселю сжатой картинки, само-собой нет.
@@DmitryMuravyev спасибо, разобрался! Смысла, получается, нет ставить 1 бит на цвет. Выходит что в 16 битный массив, куда декомпрессируется изображение, пишется единица или ноль, тогда уж пусть выводится в оттенках) Ещё раз спасибо!
@АльбертИванов-й8п ну, всё-таки 1 бит по объёму сжатых данных будет несколько компактнее, но в целом, да, 1 бит больше для каких-нибудь шрифтов подойдёт, чем для иконок.
Интересно посмотреть! Ютуб рулит!
Я удивлен и слов мне не хватает
Раскроем тему (. )( .)
peertube🤗
надо было софтину назвать pied piper
Ееее! Вспоминал их, конечно же, по ходу проекта )))
@@DmitryMuravyev еее, 15 минут слишком мало для инструкции, и интерфейс слишком легкий =))
@@roma2k Начну с малого, а там, глядишь, расширим и углУбим )
Проект по 6-канальному реобасу забросили?
Нет. Следующее видео по нему должно быть)
Стрелять себе в ногу - эта наша давняя традиция и забава .
политика у нас тормозная. а так гудбай дипиай скачиваешь и всё летит.. на любой лом найдётся болгарка
Никто никуда не переедет. Твёрдо и чётко. Да и посещаемость платформы, вроде, выросла. Так что, всё ок.
Тема интересная, изложение толковое. Но применение бесполезное, хранить во внутренней памяти большие данные.. Хм... Обычно ставлю копеечную флешпамять, SPI и вуаля - никаких разумных ограничений.
Понятное дело! Но лучше всё-таки когда способ есть, чем когда его нет) imho
блокировка ютюба - это не баг, а фича. Знания мешают иди на СВО, завоевывать соседей за три дня, угрожать Прибалтике итд.
Спасибо за видос - полезный алгоритм.
ПС: ставьте ВПН, ваша целевая аудитория полюбасу тоже будет с ВПН
2:10 Так ты украл или сам написал?
Всё своё, с огорода!
@@DmitryMuravyev А сам огород свой? 🤣
@@DmitryMuravyev Просто из твоего рассказа вышло, что тебя обвинили в воровстве, а ты это просто так съел.
Всякие разборки случались... Но по таким мелочам никто обычно в деканат не ходил) Вот, если бы пару влепили, тогда да...
Сфигали все взяли, что ютуб закроют🤡. Инсту закрыли, ну и че? Все также в нее заходят и пользуются. Так что никакой паники, а вперед искать пути обхода замедлений
Расскажи это когда помешь гломально что это влечет за собой... И запросы вырастут больше чем просмотр порно в 4к. Не пингозависимо. Удобно смотреть поверхностно сидя на диване! Ну да пофигу им пофиг и нам будет пофиг. Посмотрим куда все прийдет. Отключи авторищацию и увидишь трешь туб... но это другая история...
@@Empty_Vima пути обхода найти не?
@@AntONafinogenOFF Для чего... Для п***о? Полно... Да пофигу...Время раставит все по местам.
@@Empty_Vima лично я в ютубе смотрю мастеров самоделкиных. Если Вы смотрите порно, не думайте, что так делают все
Инстаграм это фото и короткие видео обычно сжатые (как шакалы). А тут Ютуб с кучей видео в высоком качестве.
Умен, черт!
Многие блогеры, чтоб импортный контент не терялся из за лагов Ютуба, делают свой контент на базе импортного и публикуют в рутюбе. А если так как вы автор относиться к рутюбе, то и никогда не будет своей платформы. А Ютюб безумно политизирован и альтернатива должна быть.
Не ужели так трудно вам публикуясь на Ютубе дублировать на рутюбе. Я хоть и ещё пользуюсь ютубом, но не умолимо пользу в рутюб. Кстати, я электронщик, и в этом направлении слава богу на рутюбе стали появляться хорошие каналы.
Здесь на вас подписываться не буду, но если появитесь на рутюбе, то велкам!!!
может не думать как переезжать на другие платформы а решить корневую проблему, ту из-за которой ютюб закрывают!
а всё решено VPN или GoodbyeDPI И НИКАКИХ ПРОБЛЕМ С ЮТУБОМ...
А не знают они такой проблемы...
@@1skanderHtt Вот именно. Зачем решать проблемы, если их нам за нас решают?
Иногда проще подрубить модуль SD карты чем так трахаться с оптимизацией.
Очень крутая работа