Новый прототип модуля контроля аварийных ситуаций. Как создавать собственные шрифты.
Vložit
- čas přidán 14. 05. 2021
- Небольшой экскурс в создаваемый нами модуль контроля возникновения аварийных ситуаций связанных с разливами жидкостей. И в новом прототипе необходимо создать экранные шрифты.
Статьи с обзорами шрифтов:
habr.com/ru/post/226637/
www.manhunter.ru/software/971...
Программа для преобразования шрифтов:
sourceforge.net/projects/tft-...
------------------------------------------
Канал в телеграмм - t.me/vladimir_medintsev
Канал Яндекс.Дзен - zen.yandex.ru/vladimir_medintsev
Канал на RuTube - rutube.ru/channel/1797552/
Канал на CZcams - / vladimirmedintsev
------------------------------------------
Если вы хотите поддержать автора канала номер карты Сбер:
2202-2023-2480-4008
------------------------------------------ - Věda a technologie
Сколько времени искал толковый генератор с алгоритмом отрисовки, а счастье было так близко) Спасибо, пойду пробовать)
Спасибо жизни, что есть такие как Вы - люди, не жалеющие сил и времени, чтобы рассказать и, главное, показать, как нужно делать далеко не самые тривиальные вещи (как они могут показаться профессионала) в электронике. Это очень важно для увлеченных, начинающих людей, которые может быть и не смогли или ещё не связали свою профессию с электроникой, но внутренне стремятся к этом всей душой (естеством).
Спасибо Вам огромное за Ваше видео!
Ваши ролики не только оьучают, но и дают пищу к размышлению. Спасибо!
Так меня и греет мысль, что в подписчиках хорошие, думающие люди.
Спасибо Владимир как всегда - взял на вооружение. Работаю с TFT 3.5 480 x 320. За программу шрифтов - отдельная благодарность.
True путь получения шрифтов следующий. Взять тетрадь в клетку, и на каждой странице отрисовать каждый символ. Дальше посмотреть какие числа соответствуют каждому символу, сначала для удобства записывать в двоичном коде, потом в шестнадцатиричный перевести(калькулятор запрещен, всё самому) Ну и в конце концов вписать полученные числа в массив и пользоваться.
В работе аналогичный дисплейчик от fridalcd. Вначале проекта тоже возились со шрифтами. В итоге решили, что удобнее взять готовый немоноширный шрифт, тогда количество информации выводимой в видимую область увеличивается. А сделать моноширинными часть символов типа цифр, решетка, ну то что в рамках текущего юзабилити лучше иметь одинаковой ширины. Все остальное, кроме цифр показалось лучше выравнивать более высокоуровневыми элементами - лайаутб таблица, грид и т.д. Коллега написал похожую на показанную в ролике прогу, которая берет шрифт из операционки, дает редактировать символы и кодит итог. Для данного размера экранчика из опыта оставили Calibri 26pt, что дает вывести хидер окна и 5-7 строк. Правда камень STM32H7, поэтому выч. ресурсов хватает.
ваши прототипы очень эститичны, отличный ролик и крутейшее развитие ваших идей и проектов
Спасибо.
Делал 2 года назад похожее по назначению устройство СДКУ(система дистанционного контроля уровня), могу порекомендовать вам добавить в свой проект СД карту для хранения информации и логов и сим800 в качестве ГСМ оповещалки. Все зависит от рода поставленной задачи, но в моем случае не обошлось без СД карты и СИМ модуля. Устройство получилось очень удобное и практичное, но не серийное. Работа с ГСМ у нас в Казахстане требует лицензии. Спасибо, как всегда крутой ролик ! Если интересно, использовать пьезометрические датчики давления, общаются они по токовой петле.
Спасибо. Приятно когда люди своим опытом делятся.
Основная проблема сим800 и других GSM модулей это абонентская плата раньше хоть были нормальные тарифы без абонентской платы. И главное не встраивать GSM в один прибор лучше сделать отдельный корпус и уже использовать как модем для нескольких устройств по интерфейсу.
Спасибо за полезную подборку
Спасибо за полезный контент! Желаю крепкого здоровья и творческих успехов! 🤝
Спасибо большое.
За программку спасибо. Давно искал.
Спасибо за информацию. Как всегда все точно, быстро, полезно
И вам спасибо.
Владимир, спасибо, умнею на глазах
Спасибо. Как всегда очень полезно, пользуюсь такими массивами со шрифтами, но не знал откуда они берутся). Про меню можно сделать хайповое видео, ардуинщики набегут)
Спасибо!
Попробовал шрифты. СПАСИБО ОГРОМНОЕ !!!
Всегда пожалуйста. Рад.
Если будут вопросы по дизайну корпуса, если планируете свою пресс-форму открывать, пишите, имеется опыт.
молодец дядька!
Спасибо за Ваш канал. Ну очень полезная информация. Давно собирался заняться, сейчас потихоньку начал. Художественные фильмы больше не смотрю, не интересно😁
Большое спасибо за программку - с полгода назад делал себе шрифты - потратил целый месяц, перебрал штук 5 программ, но ничего толкового не нашел - ни одна из них не позволяла установить заказной размер шрифта, а эта может. Мне понадобился "свой" размер шрифта ибо я не вывожу текст по пикселям, а по строкам - высоту в пикселях делю на нужное кол-во строк и получаю размер шрифта - а дальше дело техники.
О блин, интересная идея. Я тоже попробую.
@@VladimirMedintsev более того если н-р у вас 8 строк и шрифт 8х8 и 4 строки для шрифта 16х16, но иногда надо крупным шрифтом немного "не попасть" на нужную строку - достаточно параметр "номер строки" сделать float и передавать н-р 1.5 - это значит что рисовать не ровно на 1- 1 строке, а на уровне 1.5 строки.
Очень интересно!
Единственное, соглашусь с Вами, шрифт нужен "потоньше".
Спасибо за информацию. Расскажите, пожалуйста, как организовать _быстрый_ вывод на дисплей (через DMA), если нет возможности выделить в оперативке буфер под полный экран. (дисплей 320*240, 16 бит цвета на пиксель, итого - 153600 байт). Скорость SPI может достигать 16-18 МБит/с, но из-за программного формирования символов вывод на дисплей очень медленный.
В RAM выделяется буфер, НЕ под весь экран. В него, с учётом параметров width*height*uint16, выводится изображение строки. На дисплее настраивается окно вывода. По SPI с DMA выдаётся буфер.
6:55 партизаны))
Вопрос по 485му интерфейсу. Развязываете через оптроны? Чем лучше ?У меня было несколько проектов с RS485 - я не задумываясь везде ставлю ADM2484E с трансформаторной развязкой.
Через две оптопары развязано.
За отдельные разъёмы для программирования и обмена данными: я обычно их совмещаю используя usb uart и встроенный загрузчик контроллера. Это даёт иногда бесценную возможность обновления по с пользовательской программы для работы с устройством.
Разьем программирования дает уникальную возможность отладки кода. А загрузчик можно поставить независимо от того есть разьем программирования или нет. Можно и через USB на mass storage залить прошивку и пусть само обновляется
тем кому интересно есть mcu font generator... очень неплохая софтинка, и импортировать может шрифты, и импортированные шрифты потом редактировать... и не только моноширинку делает (и выгружает)... в общем я ее использую
8Кб на шрифт - это очень много. Рекомендую lcd-image-converter.riuson.com/en/about/ . Там можно настроить для картинок/букв банальную компрессию по алгоритму ru.wikipedia.org/wiki/Кодирование_длин_серий . Место экономит хорошо, а декомпрессия ничего не стоит, практически такой же попиксельный вывод получается.
И сочтите за code review: 15:59 зачем копировать байты буквы из одного места памяти в другой? Найдите указатель на нужные 36 байт и испольйте его напрямую, без копирования.
И кстати сама функция DrawChar_16x18 не страдает универсализмом. Завтра вы захотите другой шрифт, а он 16 на 22, или 17 на 17. И че, будете каждый раз код править? Лучше хранить информацию о размере шрифта вместе с шрифтом в структурке Font, а функция DrawChar_universal будет подхватывать размер шрифта из этой структурки.
А,ну вам уже что-то подобное в комментариях предложили
Помимо rle, можно кодировать только прямоугольник с используемыми пикселами. Не так значимо, но всё-таки ещё немного снижает объём.
@@leharuso ну а-ля хранить только релевантные пиксели, да.
@@Beatleman91, да. Там такое недавно появилось.
Спасибо! Постоянно щ не лезет)
Добрый день. Владимир, это очень всё интересно. Как раз уже двое суток занимаюсь шрифтами для F030F4 P6 ))) Зачем не знаю но их есть у меня. Очень интересно, жду продолжение ))) кстати, ссылка на манхунтер не работает, конечно это может только у меня?!?!?
Не работающую ссылку в комментариях уже отмечали. Скорее всего наплыв зрителей на сайт был больше одобренного тарифным планом хостинга. Ну собственно странно.
👍
Расскажите пожалуйста за организацию меню на дисплее.. за шрифты огромное спасибо!
Да, как закончу, обязательно расскажу.
Ну вообще для более-менее нормального меню нужно кнопок 4-6, лучше 6. И в идеале засунуть их на прерывания. А там уже видов меню полно, начиная от банальной несколько страничной менюшки, заканчивая деревом, где есть подстраницы и подподстраницы. Честно, тут чисто идёт ограничение по фантазии, на что мозгов хватит
@@bul2012 Мануал бы какой нить) Как на программом уровне реализовать)
Есть хорошая библиотека, микроменю называется, сделана на основе связанных списков. Библиотека представляет из себя пару функций и набор макросов для создания меню... правда без понимая указателей, лучше с ней не связываться...
@@stepanovvictor9307 спасибо. покурю)
Я тоже раньше подобным образом делал. Потом забил и написал себе пару скриптов преобразований(на пхп, но тут уж кто как хочет). Теперь главное подготовить шрифт в виде картинки( 5.101.107.156/Medintsev/oled_fonts_courier_7x9.png ), которую можно редактировать в обычном Пэйнте или в чем угодно, потом натравливаем скрипт, он сам разбирается с форматом(определяет размерность и отсекает рамки) и генерит демонстрационный вывод( 5.101.107.156/Medintsev/oled_fonts_courier_7x9_out.png ) в увеличенном для удобства просмотра виде, чтоб проверить, что все ок. А так же генерит нужный массив данных( 5.101.107.156/Medintsev/oled_fonts_courier_7x9.c.html ). Но это просто пример одного шрифта. Так же сразу умеет генерить файлы заголовков и си-кода сразу по всему, что есть в исходной папке. ну типа накидал картинок, запустил, оно сгенерило сразу все, что надо и пообзывало внутри массивы именами файлов.
А вот для формирования исходной сырой картинки можно юзать и программы типа приведенной, и тот же ГуглФонтс( fonts.google.com ) использовать и что угодно еще. Главно смотреть за лицензиями и либо купить, либо спросить у автора разрешение на использование.
Недостаток такого способа в том, что тут нет халявы типа нажал кнопку и оно все сделало(только непонятно что и непонятно как), в начале есть некоторое количество работы по копипасте графики в граф.редакторе.
Удобство же в том, что во-первых - сам все контролируешь от начала до конца, в т.ч. алгоритмику преобразований(редактировать можно при желании даже без граф.редактора, например вот в таком текстововм виде: 5.101.107.156/Medintsev/oled_fonts_courier_7x9.txt ) и формат данных, а во-вторых - исходники шрифтов хранишь в виде четких, понятных и удобных картинок. Ну и кроссплатформенность использования тоже.
P.S. и в вашей функции рисования не понятно, зачем вы в буфер символ копируете. абсолютно лишнее действие. сделайте что-то типа:
const uint8_t *buffer=(uint8_t *)&Djv1[((c-32)*36)+5];
и юзайте дальше указатель на buffer так же(т.е. больше ничего не меняйте в коде ниже), совершенно незачем выделять под него память и в него копировать ненужное.
ужс, это сколько же возни...
@@leharuso ну так я и не ардуинщик. это там принято пробежаться по гиту, натырить чужих библиотек побырику, тяп-ляп слепить это все, не особо разбираясь в его работе и потом весь проект состоит из тонны маленьких черных ящиков, где если что ломается, автор в душе не отсекает, чего с этим делать.
а так-то тут есть некоторое количество одноразовой возни. это да.
@@dsdcorp, я тоже не ардуинщик, поэтому написал тулзу для автоматизации вот этого всего и даже больше.
И представить, что вдруг ваш процесс придётся выполнять многократно (итерации никто не отменял), страшно...
@@leharuso эмм... а вы точно поняли алгоритм вышеописанного? не кажется ли вам объем этих работ больше, чем есть на самом деле? а то сдается мне, вы себе что-то напридумывали )))
и "вдруг ваш процесс придётся выполнять многократно" - это вы о чем? вы точно внимательно читали?
@@dsdcorp, внимательно, внимательно. Зайти туда, настрой, скопипасти в paint, поправь, сохрани сюда, скорми скрипту... Много ручной работы.
А аппарат ваш где можно купить?
Прибор вот тут - leakcontrol.etex.pro/
Ну хоть проще по сборке сделали, а то первый экземпляр явно не серийный. Давно использую корпус d4mg с двумя плитами между собой соединяю шлейфом с разъёмами вн10. Удобно обжимать и быстро без всякой пайки при большом количестве устройств от 300шт.
Когда начинаешь выпускать серии даже от 50шт. сразу приходят идеи как упростить конструкцию.
На этом же контроллере, но дисплей 1.54 дюйма шрифты рисуются зеркально по горизонтали!)) У вас есть функция при инициализации для ориентации, но в ней не работает зеркальное отражение(((
В этой программке шрифтов автоопределение размера - зло! Очень много свободного пространства оставляет и не смотря на большой размер выделенного места для символа, он получается очень маленький, так что лучше ручками вбивать размер и подгонять размер шрифта при его выборе
Владимир, спасибо за очередной ролик, как всегда познавательно!!
А по просьбам радиослуш... т.е. подписчиков :))) может подумаете снять ролик про библиотеку LVGL применительно к STM32
На мой взгляд очень интересная библиотека
Так я же это, я же из практики в основном снимаю. Что текущее делаю, если есть минутка то какую-то часть в съёмку. А так уж получилось, что я эту LVGL ну не использую вообще.
@@VladimirMedintsev ну я так, мало ли будет вечерок свободный самому разобраться и нам рассказать, может и будет что полезное и для вашей работы.
Я сам пробовал разобраться, но что то подтупливаю, особенно что касается где брать и как подключать драйвера для конкретных дисплеев
Ок, расскажу, только я лучше библиотеку знаю. От Segger.
@@VladimirMedintsev Спасибо, будем ждать!!
@@VladimirMedintsev а у Segger разве она не платная?
Владимир, Вы изготовление плат в Китае заказываете?
Да. Потому, что в России производителей ПП нету.
А Резонит!?
@Андрей Еднерал Ну нашли что упомянуть. Теперь целый день икать от ужаса буду. По моему мнению:
1. Резонит далеко не все платы производит сам, часто заказывает в Китае и везёт экспресс почтой.
2. Цена настолько неадекватно высокая, что в большинстве проектов сопоставима с ценой впаиваемых компонентов.
3. Качество не выше среднего Китая. Надеюсь не надо объяснять почему.
Так что Резонит это только для военной промышлености и организаций возглавляемых Чубайсом.
И да, я заказывал в Резоните. Видел и их брак и неадекватность людей принимающих заказы. Ну короче все прелести этой организации.
@@VladimirMedintsev Есть еще ps-electro в Новосибирске. Качество хорошее так как делают на оборонку. Цена вменяемая если заказывать платы в количестве на одну технологическую заготовку.
Тоесть теперь этим прибором можно будет искать и место повреждения кабельных линий? Такой положительный побочный эффект)
Нет, в случае повреждения мы просто сообщим об ошибке сенсорного элемента.
Да
А в чем смысл вывода текста через DrawPixel? Очевидно, смысл есть когда делаем надписи на картинках, чтобы не затирать полностью изображение текстом. Я такую процедуру написал:
void ST7789_WriteChar(uint16_t x, uint16_t y, char ch, FontDef font, uint16_t txcolor, uint16_t bgcolor)
{
uint32_t i, j;
uint16_t data[font.height*font.width], *d;
ch = ch < font.firstcode || ch > font.lastcode ? 0: ch - font.firstcode;
const uint16_t *b = &font.data[ch * font.height];
d = data;
for (i = 0; i < font.height; i++) {
for (j = 0; j < font.width; j++) {
*d++ = ((*b
Да, кстати, очень хорошая идея. Должно работать гораздо быстрее. Спасибо.
При попытке зайти на www.manhunter.ru/software/971_monoshirinnie_shrifti_s_kirillicey_dlya_programmirovaniya.html выдает, что нет прав на просмотр страницы.
И вы предлагаете мне ее починить? Это не моя страница. И сейчас вот и на момент публикации видео она открывается нормально.
@@VladimirMedintsev - да не - она не открывается по причине не авторизации - вы на другой страничке авторизовались, а мы поэтому и попасть не можем.
@@user-rx4rp5yb5j Да я вроде туда попал через поиск яндекса. Хотя может они от наплыва посетителей прикрыли страничку типа борьба с ботами. Такое тоже может быть.
@@VladimirMedintsev там 403 ошибка... так что ссылка кривая
@@vitgo Ошибка 403 говорит о том, что доступ к запрашиваемой странице запрещён или у пользователя нет прав на просмотр контента. Причинами такой ошибки, чаще всего, являются неправильные настройки сайта, которые может решить только создатель ресурса.
Чем больше разъемов и шлейфов между модулями тем хуже в эксплуатации, происходит нехорошие вещи с контактами это уже проходили в промышленной технике особенно полукустарного производства
Один шлейф не приговор. Более того, предыдущие версии этого устройства уже 6 лет в эксплуатации. По причине шлейфов ни одного выхода из строя. Так что...
@@VladimirMedintsev Как раз из-за одного шлейфа выкинули на помойку штук 50 преобразователей температуры.
По поводу дисплеев - есть какие-то соображения по подобным вариантам с установкой прямо на плату? aliexpress.ru/item/1005001901968939.html
Старый нокиевский дисплей. Низкое разрешение, плохо регулируемая контрастность, громоздкий и главное никто не знает как долго его еще будут выпускать. Так что мое личное мнение забыть. Хотя есть на канале очень много видео где я показывал дисплеи на плате. Тоже нокиевские, но более аккуратные.
Меня больше волнует Zebra Connector - будет ли он надёжно контачить с платой или это гарантированный геморрой с отбраковкой, замачиванием в ацетоне и мольбами тёмным богам, чтобы не отвалился у клиента.
А так-то да, доступность конкретно этого дисплея сомнительная. Про контраст ничего особо сказать не могу - он не настолько плох, как у старых 1602, и регулируется программно.
Вся сложность что все это уже давно не оригинал. И из-за этого от партии к партии все сильно разнится.
Сколько стоит это устройство?
Это прототип он не продается. Его еще надо оттестировать и найти все ошибки. 2 штуки сегодня уже найдено. А потом мы переделаем платы и уже пойдем сертифицировать и уже позже это пойдет к диллерам. Прямых продаж скорее всего не будет.
Вот этот фонт дизайнер www.mikroe.com/glcd-font-creator позволяет прецизионно настроить нужный фонт.
Спасибо огромное. Очень полезно.
Это ж на сколько Ваше устройство сейчас тянет stm32 на экран и еще один на обработку данных, при сегодняшних ценах на чипы stm32.
Вы ж начали работу с can шиной, может стоить развить идею отдельно модуль тфт на рейку (кстати экраны на чипе ili9486 - (аналог вашего) обычно по больше 3.5 - 4 дюйма и стоят стока же).
а модуль протечки и т.д. отдельно.. и управлять ими всеми через модуль с экраном побольше.
А кто вам сказал что я покупаю микроконтроллеры по драконовским ценам? L4 которые на управлении экраном были в начале мая куплены по 440 рублей.
@@VladimirMedintsev STM32L4x3 какой нибудь поставили? (а не много для такого экрана) )), а так они быстро заканчиваются ..а даты поставки все отдаляются...
Но я про другое о разделение - управляющего блока ( тфт монитора) и датчиков ..
Как по мне вы себе ограничиваете )) вы можете предложить разные блоки управления, а также подвязывать разные датчики.. не тока протечки, например датчики углекислого газа также актуальны.(чем больше привлечете своих клиентов).
просто слишком маленькие экранчики в блоках как по мне не очень удобны, минимум 3.5 на нем хоть можно разместить читаемый текст и сделать удобное меню..
Но возможно Вам лучше знать.)))
Нет, не много. На этом контроллере и modbus и взаимодействие с измерителем и хранение логов. Собственно и выбирать особо не пришлось. Была свободная партия чипов. Если бы мы не забрали, забрал бы кто-нибудь другой.
@@VladimirMedintsev В этом то и дело , я тоже взял небольшую партию stm32 с CAN недорого, а сейчас они 5 раз дороже..
Дополню..
Модуль управления может быть и без экрана, например wifi и блютуз модуль на рейку, а он считывает и управляет блоками реле, датчиками по can, а вся информация и меню выводится на экран телефона.все таки экран там получше. ))
Как по мне блоки стоит разделять , они будут проще и будут стоить дешевле, чем будут более привлекательны для клиентов, система становится универсальной, клиент купивший у Вас блок протечки, купит и другие блоки..
@@ukrfoil Я давно хотел снять видео про маркетинговую составляющую подобных проектов. И честно говоря мне хотелось бы чтобы все мои конкуренты думали бы так как вы. Но блин к сожалению они профи. Мое мнение так делать нельзя.
Наше устройство не для ванной комнаты. Это промышленное решение. А значит экранчики на телефоне под категорическим запретом. В промышленности все должно управляться локально. Также все должно быть надежно. Много блоков разнесенных без явной цели смысла не имеют и надежность от этого разделения сильно падает.
Зачем больший экран. Пользователь подошел, увидел место и факт затопления и реагирует. Ему не нужен большой экран.
Ну и последнее, зачем CAN если тут уже по спецификации есть modbus? Ну тогда и соединять через нее. Лишний интерфейс - лишнее время на программирование - лишние деньги - лишние ошибки.
Возможно я не понял глубины вашей идеи, но вот на мой взгляд предложенное не имеет ни какой коммерческой перспективы.
Мэнхантер закрыт.
Да, это уже обсуждали в комментах.
Идея, как избавиться от лишнего копирования буфера и 288 операций умножения при выводе символа
// ST7789_DrawChar_16x18
uint8_t i,ys;
uint8_t *buffer;
buffer = &Djv1[(c-32)*36+5];
for(ys = 0; ys < 18; ys++)
{
for(i=0; i
О, спасибо огромное.
А если ещё немного поправить, то и работает с любым шрифтом
uint8_t i,ys;
uint8_t *buffer;
uint8_t ym=Djv1[2]; //высота символов
uint8_t xm=Djv1[1]; //ширина символов
// 3 элемент начальный символ 4 количество символов
if ( (c < Djv1[3]) || (c > (Djv1[3]+Djv1[4])) ) return 0; //проверка на вшивость
buffer = &Djv1[ (c-Djv1[3]) *ym*(xm/8+1) +5];
for(ys = 0; ys < ym; ys++)
{
for(i=0; i
Вообще это примитив.
Много места и ни какого толка, тем более для таких дисплеев.
Давно есть программы типа lcd-image-converter и творите что угодно.
Давно есть построение вектора.
В общем на вкус и цвет...
К сожалению программа гавно. Элементарщицы не хватает: покрутить базовую линию, чтобы символы типа "у" и "g" не обрезались. 30 лет назад я рисовал шрифы просто пикселями в битмапах. Под 95-й виндой пробовал рендерить, как и тут, грифы из TTF. Кто думал, что мне это понадобится снова, а инструментарий останется все на том же уровне.
Это корявая жуть, с таким экраном только TrueType.
Запелите видео по RS485 MODBAS
Правильно MODBUS.
А что там сложного?)
@@iwh1te340 Когда я осваивал modbus мне казалось что сложностей много. По факту оказалось что сложность только одна - найти адекватный софт на компьютер для сервера, чтобы комфортно и удобно тестировать. Ибо через несколько часов возни в терминале начинаешь беситься.
@@VladimirMedintsev основная сложность, это правильное количество байт в посылке.
Например, в терминале MODBUS, все работает, в скаде все работает, а подключаешь к ПЛК и не чего не работает. А ошибка крылась, в одном лишнем байте после контрольной суммы...
Для тестирования, можно накидать свой софт, с одной кнопкой, для чтения или записи в регистр, используя какой-нить, c# и либу easy modbus.
@@iwh1te340 да вот в том и дело, все, абсолютно все пользуются модбас. Тысячи устройств и нет нормального софта. Каждый делает как хочет. Жуть. Этот ПЛК тебя видит, этот не видит. Жуть одним словом. И посреди всего этого лежит Овно, которое совместимо только с самим собой...
@@VladimirMedintsev вот по поводу овна соглашусь, как раз и была проблема.
Как оказалось, в их реализации, строго отслеживается количество байт...