Ок :)
Шрифты - то есть, только не выводятся на экран.
Кстати, эта прошивка несколько раз неприятно подвисла...
И регулировка громкости (хотя и не нужна) не найдена, переключаются каналы (что лучше, сам хотел переделать).
Ещё маленькая заметочка, почему-то все прошивки с правкой шрифтов имеют привычку чаще вылетать. Подозреваю, что проблем с выделением памяти наличтствует, ибо другое в голову не приходит.
KaRadio32 Release 1.1 Rev0 - Built on 2018/08/24 Кто-то проверял работу mDNS в этой прошивке. А то у меня что-то работает на половину. имя узла прописываю проверяю - есть, а вот пинг по имени с windows 10 не проходит.
Про русификацию ucglib - все криво косо и нихера не собирается (руки у меня кривые видимо). Застряло на этапе конвертации из bdf в ихниий ucg формат. Все вроде конвертится, но, по ходу дела, криво, а проверить нечем - редактора шрифта ucg нет.
если собирать карадио в варианте с рсм5102 (выход i2s) с новой идф, то без подмены пары файлов (i2s.h и i2s.c) от старой идф (2.1.1) звук будет "веселым". Про это у J.P. на гите упомянуто
Цитата: "Little problem with esp-idf v3.0 and v3.1 for the i2s output:
At the top level of github, i copied i2s.c and i2s.h.
These files must be replaced to the esp-idf\components\driver and esp-idf\components\driver/include."
а вот где этот top level of github - х.з. и поиск этой парочки может затянуться
Про русификацию ucglib - все криво косо и нихера не собирается
Ну хорошо, со шрифтами проблема. А транслит запилить тупо по таблице перекодировки - это сильно сложно? Шрифты не надо, текст читаем. Ну английскими буквами, но не кракозябрвми же.... Уже прогресс...
Везде, кроме экрана, все русские надписи отображаются в большинстве случаев корректно (спасибо аlех08cb). Чтобы хоть что-то вменяемое отобразить на экране - нужен шрифт, а его нет. Или вы предлагаете запилить транслит, и показывать русский латиницей? Но это по затратам будет равнозначно шрифту
Везде, кроме экрана, все русские надписи отображаются в большинстве случаев корректно (спасибо аlех08cb).
А зачем мне шрифт везде кроме экрана??? :) Кстати, без всяких переделок шрифт прекрасно отображается в вебморде. Собственно, а где еще?
pilnikov пишет:
Чтобы хоть что-то вменяемое отобразить на экране - нужен шрифт, а его нет. Или вы предлагаете запилить транслит, и показывать русский латиницей? Но это по затратам будет равнозначно шрифту
Именно латиницей. И как можно оценивать равнозначность шрифта и функции removeUtf8 в которой дописать код из пары-тройки строк с перекодировкой символа UTF8 в латиницу по таблице замены ???
Кстати, по поводу шрифтов, в последней ссылке на форк все шрифты с кириллицей, специально внутрь глядел. Только вот не заметил я, что бы на экране эта кириллица отображалась...
в файле ucg_vector_font_data.c имеются кириллические шрифты, но, как я понял, они не задействованы... Может достаточно подключить этот модуль и поправить в addonucg.c имена шрифтов?
А с чего вы взяли что они кириллические? Если в заголовке есть упоминание про русификацию, то это не значит, что она присутствует. Вы картинки со шрифтами посмотрите - найдите в НИХ кириллицу. Я вам помогу - она есть только в олд унифонт 08 и 09 и то не там где надо. А с транслитом - попробуйте за пару строк - например букву "ж" или "ш" или "ч". Холивары разводить мы все умеем - а как до кода доходит.....
Кстати, если у автора форка есть намётки на руссификацию, можно попробовать связаться с ним лично. Я пытался, но столкнулся с некоторыми проблемами. На письмо, отправленное ему на мейл, указанный при регистрации на гитхабе, он не ответил. Либо редко заглядывает в почтовый ящик (5 дней прошло с момента отправки письма), либо решил игнорить. Однако чел с таким же ником имеет регистрацию на Хабре ( https://habr.com/users/emax73/ ) и судя по статистике сайта, заходит туда почти каждый день. Лично у меня хабровского инвайта нет, и выцепить чела там я не могу. Может у кого-то из заинтересованных посетителей данного топика есть возможнось связаться с emax73 через хабр? Глядишь, и предоставит рабочую русскую прошивку.
А с чего вы взяли что они кириллические? Если в заголовке есть упоминание про русификацию, это не значит, что она присутствует. Вы картинки со шрифтами посмотрите - найдите в НИХ кириллицу.
А почему я не должен думать что есть кириллица, если автор пишет, что есть?
pilnikov пишет:
Я вам помогу - она есть только в олд унифонт 08 и 09 и то не там где надо. А с транслитом - попробуйте за пару строк - например букву "ж" или "ш" или "ч". Холивары разводить мы все умеем - а как до кода доходит.....
Пока я сам лично не проверю, извините, верить на слово никому не буду. Автор пишет одно, Вы утверждаете другое, итог может оказаться вообще третим вариантом. Пока я убедился в том, что никаких действий с юникодовой кириллицей автор не делает, от слова совсем. Всё как и положено валит двухбайтовым кодом, что и видно на экране. Со шрифтами, честно говоря не успел разобраться. К сожалению рле-кодирование и оптимизация не имеют единого стандарта, а досконально проанализировать исходники декодирования тупо нет времени. Недопреобразование двухбайтников в однобайтники для случаев 0xc2, 0xc3- разгреб, транслитдекодирование написал, посмотрев на исходник функции автора решил, если будет завтра время - переделать кой-че.
По поводу транслита - zh, ch, sh - ну очень проблематично :)
По поводу холивара - стесняюсь спросить, где я его развел ????
Собрал КА-РАДИО 32, залил бинарик, все работает без проблем.
НО, вот время нето, на 2 часа разница.
Стал рыться по форуму и наткнулся на #1049 там есть описания Системные команды.
И возик вопрос, возможно ли спомощью этой команды (sys.tzo ("xx"): Установите смещение часовой пояс вашей страны). подправить часы? Что за программа нужна, я так понял это теллнет, какой именно? Как подключать его, можно ли так же как при прошивке просто через USB? или там нужно подпояться к RX - TX, через ттл переходник? И что ставить в место ("хх") +2 или -2?
при подключении платы по USB к компьютеру организуется дополнительный COM-порт, который необходимо выбрать после запуска программы - терминала (например, termite)
тут у alex08cb была прога tsESP для связи с карадио по воздуху - надо тока ip знать. Ей удобнее комагды слать, можно даже без подключения карадио к компу кабелем.
to alfil
шрифт конечно правильный, но смущает это
Glyphs: 224/57086
т.е. он тока до 255 (FFH) а все "плюшки" дальше (с 410H)
насчет совместимости с u8g2 - чёт гнетут меня сомнения, что не совместимы они. Я завтра попробую, но, думаю, не прокатит.
тут у alex08cb была прога tsESP для связи с карадио по воздуху - надо тока ip знать. Ей удобнее комагды слать, можно даже без подключения карадио к компу кабелем.
По воздуху можно с помощью встроенной Windows утилиты telnet. По умолчанию она обычно не включена, для включения нужно поставить галочку в разделе"Включение или отключение компонентов windows"
О как,серьезно? Так можно было))))) Спасибо за подсказку теперь буду знать. Вообще форум очень интересный, много чего узнал, еще раз вам всем огромное спасибо!!!
Это первый "пробный шар". Все криво из-за того, что весь шрифт размером ("большой"). Но тем не менее все читабельно.
Прогресс однако.
to alfil нужен .bdf (у меня конвертер otf2bdf отказывается запускаться) с размером шрифта поменьше (для текста), количеством 191 глиф, версии 2, с расположением кирилицы с адреса С0Н.
Я ща все свои мытарства закину на гит (со шрифтами конвертерами, и исходниками для Ка) и буду продолжать наверное завтра (времени не хватает ппц)
Специално собирал полное соответсвие CP1251, чтобы можно было использовать готовые перекодировщики из других кодировок и не париться (радиоставции бывают в разкых кодировках наверняка). По мне даже правильнее использовать UTF8, чтобы проект легко расширялося до любых европейских или азиатских кодировок не переделывая конвертеры кирицы. Я выше делал UTF8 только с латиницей и кирилицей. Но если есть исходники заточенные под CP1251 для других дисплеев, то разумнее использовать CP1251.
Мелькие растровые шришты криво конвертяться из векторных (тупо точек не хватает), поэтому мелкие лучше искать сразу в растре. Говори какого размера нужны шрифты или кодировки, или ещё чего, небыстро, но по возможности помогу. Сам буду собирать проект где-точерез месяц, когда железо придет.
P.S. насколько я понял из описания -b 0 не включит в растр верхние или нижние строки если они пустые (например в маленькин буквах). Такой шрифт может вызвать наложение текстов, если переписавать текстовое поле без предварителльной его очистки (или смотря как библеотека написана). Но с -b 0 шрифт должен занимат чуть меньше места.
Ща надо шоб народ потестил, то, что наваяли. Мож кто титры сделает нормальные (мне самому если честно лень, да и со временем пока никак - стройка). Все барахло лежит у меня на гите https://github.com/pilnikov/KaRadio32_fork Менял в addonucg.c, в папке components\ucglib\csrc\ -> ucg_pixel_font_data.c и ucg.h для добавления шрифтов
Вопрос на засыпку, почему часто к строке дописываются посторонние символы, особенно в конце? Причем, это не всегда, какой-то постоянной зависимости не заметил. На шрифт грешить не приходится, я менял, эффект устойчивый.
Я функцию utf8rus адаптировал в сюда "на коленке" побыстрому. В оригинале она возвращает char *, а тут она void. Так что могут быть косяки в ней. А если хотите перфекционизма - выведите входные данные (перед обработкой их ф-цией removeUTF8()) в hex и посмотрите откуда мусор (до или после).
void removeUtf8(char *source)
{
char target[BUFLEN];
uint16_t i = 0, j = 0;
uint16_t k = strlen(source);
unsigned char n = 0x0;
while (i < k)
{
n = source[i]; i++; //j++;
if (n == 0xD0 || n == 0xD1) // UTF-8 handling
{
switch (n)
{
case 0xD0:
n = source[i]; i++;
if (n == 0x81) n = 0xA8; // Ё
else if (n >= 0x90 && n <= 0xBF) n = n + 0x30;
break;
case 0xD1:
n = source[i]; i++;
if (n == 0x91) n = 0xB8; // ё
else if (n >= 0x80 && n <= 0x8F) n = n + 0x70;
break;
}
}
target[j++] = (char)n;
}
target[j] = 0;
strcpy(source, target);
}
void removeUtf8(char *source)
{
char target[BUFLEN];
for (int i=0;i<BUFLEN;i++) target[i] = 0;
uint16_t i = 0, j = 0;
uint16_t k = strlen(source);
unsigned char n = 0x0;
while (i < k)
{
n = source[i]; i++;
if (n == 0xD0 || n == 0xD1) // UTF-8 handling
{
switch (n)
{
case 0xD0:
n = source[i]; i++;
if (n == 0x81) n = 0xA8; // Ё
else if (n >= 0x90 && n <= 0xBF) n = n + 0x30;
break;
case 0xD1:
n = source[i]; i++;
if (n == 0x91) n = 0xB8; // ё
else if (n >= 0x80 && n <= 0x8F) n = n + 0x70;
break;
}
}
target[j] = (char)n;
j++;
}
strcpy(source, target);
}
или так
мусор образовывается если его не чистить напрямую (вторая строка)
мусор образовывается если его не чистить напрямую (вторая строка)
В принципе да, теоретически должен сработать и такой вариант. Надо проверить, но уже спатки хоца :)
За сегодня гонял тот вариант что правил сам - ни одного сбоя.
Да, заметил несколько глюков в карадио вообще:
1. Если заблокирован ntp-сервер, прописанный в коде - всё, работа радио в ауте, постоянный коннект. А у меня на работе в домене перехватывается этот адрес. В итоге управление практически не работает. Изменить этот адрес можно только в коде, а перекомпилять не всем дано. Надо бы автору этот параметр в настройки вставить....
2. При интенсивном и не очень кручении енкодера плеер иногдап подвисает или перегружается. Это же происходит на некоторых станциях. Иногда подвисает поток и без перезагрузки не запускается.
3. Я не могу понять зачем karadio32.bin пишется в две области... Причем, при записи через make flash - только в одну. Пробовал писать в одну - радио работает, но что-то не сохраняется...
4. При импорте станций из файла, пока не пересохранишь каждую станцию - глюки. Такое впечатление, что при сохранении пишется еще в какую-то область, а при импорте - только в одну.
одна область памяти под код программы, вторая под файлы вебморды (они лежат на spiffs как один бинарный файл), третья под настройки (пароль на вифи тип экрана и т.д.) с третьей областью вообще полная ж. - если гдето кое где у нас порой робить не желает (экран не той системы), то все ахтунг - помогает тока прямое указание в коде. энкодер использует прерывания поэтому и глюки. по поводу импорта - вроде все норм не надо каждую пересохранять.
основной плюс карадио перед ардуино базет проектами (эдзельф е.т.с) в том, что оно юзает фриртос по полной - за счет этого более быстрая и стабильная работа.
одна область памяти под код программы, вторая под файлы вебморды (они лежат на spiffs как один бинарный файл), третья под настройки (пароль на вифи тип экрана и т.д.) с третьей областью вообще полная ж. - если гдето кое где у нас порой робить не желает (экран не той системы), то все ахтунг - помогает тока прямое указание в коде. энкодер использует прерывания поэтому и глюки. по поводу импорта - вроде все норм не надо каждую пересохранять.
третья ??? karadio32.bin у меня только в 2 области пишется.... 0x10000 и 0x1D0000
Но почему при "make flash" karadio32.bin пишется только в одну область 0x10000 ????
вообще я замечал (хотя это дикость) иногда такое впечатление, что в процессе работы ghb uk.rf[ что-то пишется в область с кодом программы, после чего радио вообще не запускается, помогает только полная перепрошивка... Последнее время, правда, не проявлялось...
основной плюс карадио перед ардуино базет проектами (эдзельф е.т.с) в том, что оно юзает фриртос по полной - за счет этого более быстрая и стабильная работа.
про стабильность я бы не сказал... хотя, может проблема в коде самого карадио, без ошибок вряд ли обошлось...
эльфовское радио вроде стабильнее, но функционал ...
я вообще не понимаю, почему со списками такая лажа, в других версиях (той же волны) прекрасная работа со списками, вывод, выбор, избранное... А тут - грусть-печаль.. Плюс настройки скромные, веб-апи очень скромное, хотя по ком-порту норм. Неужели сложно в веб добавить то, что в коме???
Доброго времени суток всем. Вижу, прогресс уже идёт вовсю) По-ламерски попрошу пакет готовых бинарников со стабильно работающим русификатором дисплея. Тоже хочется потестить. Надоело уже что проект валяется на столе в виде груды проводов и модулей, хочется сделать законченное устройство в корпусе, но сперва нужна полная функциональность.
Ок :)
Шрифты - то есть, только не выводятся на экран.
Кстати, эта прошивка несколько раз неприятно подвисла...
И регулировка громкости (хотя и не нужна) не найдена, переключаются каналы (что лучше, сам хотел переделать).
Ещё маленькая заметочка, почему-то все прошивки с правкой шрифтов имеют привычку чаще вылетать. Подозреваю, что проблем с выделением памяти наличтствует, ибо другое в голову не приходит.
Я сам завтра из чисто спортивного инетересу попробую запилить (фамилий мой такой) поддержку кириллицы на 7735.
И как успехи ?
----
KaRadio32 Release 1.1 Rev0 - Built on 2018/08/24 Кто-то проверял работу mDNS в этой прошивке. А то у меня что-то работает на половину. имя узла прописываю проверяю - есть, а вот пинг по имени с windows 10 не проходит.
to nadim
В виндовс мднс работает тока при наличии примочки Бонжур от эппла https://github.com/carlipa/public/blob/master/files/Bonjour64.msi (и то не всегда, у меня дома работает, а на работе нет)
++ Добавьте к себе в обзор, на драйве который, фишку про старые i2s дрова для пользователей карадио с pcm5102
Про русификацию ucglib - все криво косо и нихера не собирается (руки у меня кривые видимо). Застряло на этапе конвертации из bdf в ихниий ucg формат. Все вроде конвертится, но, по ходу дела, криво, а проверить нечем - редактора шрифта ucg нет.
++ Добавьте к себе в обзор, на драйве который, фишку про старые i2s дрова для пользователей карадио с pcm5102
Спасибо. Ткните пальцем, что имеено добавить и я добавлю.
если собирать карадио в варианте с рсм5102 (выход i2s) с новой идф, то без подмены пары файлов (i2s.h и i2s.c) от старой идф (2.1.1) звук будет "веселым". Про это у J.P. на гите упомянуто
Цитата: "Little problem with esp-idf v3.0 and v3.1 for the i2s output:
At the top level of github, i copied i2s.c and i2s.h.
These files must be replaced to the esp-idf\components\driver and esp-idf\components\driver/include."
а вот где этот top level of github - х.з. и поиск этой парочки может затянуться
Про русификацию ucglib - все криво косо и нихера не собирается
Ну хорошо, со шрифтами проблема. А транслит запилить тупо по таблице перекодировки - это сильно сложно? Шрифты не надо, текст читаем. Ну английскими буквами, но не кракозябрвми же.... Уже прогресс...
Везде, кроме экрана, все русские надписи отображаются в большинстве случаев корректно (спасибо аlех08cb). Чтобы хоть что-то вменяемое отобразить на экране - нужен шрифт, а его нет. Или вы предлагаете запилить транслит, и показывать русский латиницей? Но это по затратам будет равнозначно шрифту
А зачем мне шрифт везде кроме экрана??? :) Кстати, без всяких переделок шрифт прекрасно отображается в вебморде. Собственно, а где еще?
Именно латиницей. И как можно оценивать равнозначность шрифта и функции removeUtf8 в которой дописать код из пары-тройки строк с перекодировкой символа UTF8 в латиницу по таблице замены ???
Кстати, по поводу шрифтов, в последней ссылке на форк все шрифты с кириллицей, специально внутрь глядел. Только вот не заметил я, что бы на экране эта кириллица отображалась...
в файле ucg_vector_font_data.c имеются кириллические шрифты, но, как я понял, они не задействованы... Может достаточно подключить этот модуль и поправить в addonucg.c имена шрифтов?
А с чего вы взяли что они кириллические? Если в заголовке есть упоминание про русификацию, то это не значит, что она присутствует. Вы картинки со шрифтами посмотрите - найдите в НИХ кириллицу. Я вам помогу - она есть только в олд унифонт 08 и 09 и то не там где надо. А с транслитом - попробуйте за пару строк - например букву "ж" или "ш" или "ч". Холивары разводить мы все умеем - а как до кода доходит.....
Шрифт нужен с расположением кириллицы по адресам 0410Н до 044FH для CP1251 либо с С0Н до FFH для UTF8
Кстати, если у автора форка есть намётки на руссификацию, можно попробовать связаться с ним лично. Я пытался, но столкнулся с некоторыми проблемами. На письмо, отправленное ему на мейл, указанный при регистрации на гитхабе, он не ответил. Либо редко заглядывает в почтовый ящик (5 дней прошло с момента отправки письма), либо решил игнорить. Однако чел с таким же ником имеет регистрацию на Хабре ( https://habr.com/users/emax73/ ) и судя по статистике сайта, заходит туда почти каждый день. Лично у меня хабровского инвайта нет, и выцепить чела там я не могу. Может у кого-то из заинтересованных посетителей данного топика есть возможнось связаться с emax73 через хабр? Глядишь, и предоставит рабочую русскую прошивку.
А почему я не должен думать что есть кириллица, если автор пишет, что есть?
Пока я сам лично не проверю, извините, верить на слово никому не буду. Автор пишет одно, Вы утверждаете другое, итог может оказаться вообще третим вариантом. Пока я убедился в том, что никаких действий с юникодовой кириллицей автор не делает, от слова совсем. Всё как и положено валит двухбайтовым кодом, что и видно на экране. Со шрифтами, честно говоря не успел разобраться. К сожалению рле-кодирование и оптимизация не имеют единого стандарта, а досконально проанализировать исходники декодирования тупо нет времени. Недопреобразование двухбайтников в однобайтники для случаев 0xc2, 0xc3- разгреб, транслитдекодирование написал, посмотрев на исходник функции автора решил, если будет завтра время - переделать кой-че.
По поводу транслита - zh, ch, sh - ну очень проблематично :)
По поводу холивара - стесняюсь спросить, где я его развел ????
А из монохромной библиотеки не подойдут готовые : https://github.com/olikraus/u8g2/tree/master/tools/font/build/single_font_files
Или нужно пересобрать в BBX Build Mode: 1 ?
Добрый день, уважаемые!
Собрал КА-РАДИО 32, залил бинарик, все работает без проблем.
НО, вот время нето, на 2 часа разница.
Стал рыться по форуму и наткнулся на #1049 там есть описания Системные команды.
И возик вопрос, возможно ли спомощью этой команды (sys.tzo ("xx"): Установите смещение часовой пояс вашей страны). подправить часы? Что за программа нужна, я так понял это теллнет, какой именно? Как подключать его, можно ли так же как при прошивке просто через USB? или там нужно подпояться к RX - TX, через ттл переходник? И что ставить в место ("хх") +2 или -2?
С уважением к вам Денис
sys.tzo("2")
при подключении платы по USB к компьютеру организуется дополнительный COM-порт, который необходимо выбрать после запуска программы - терминала (например, termite)
Спасибо! )))
Крукто, получилось, ограменное вам спасибо!))))
to dennas
тут у alex08cb была прога tsESP для связи с карадио по воздуху - надо тока ip знать. Ей удобнее комагды слать, можно даже без подключения карадио к компу кабелем.
to alfil
шрифт конечно правильный, но смущает это
Glyphs: 224/57086
т.е. он тока до 255 (FFH) а все "плюшки" дальше (с 410H)
насчет совместимости с u8g2 - чёт гнетут меня сомнения, что не совместимы они. Я завтра попробую, но, думаю, не прокатит.
тут https://github.com/olikraus/ucglib/wiki/fontgroupunifont картинки шрифтов - и в них тока 0_8 и 8_9 с кирилицей (но не там, где надо)
to dennas
тут у alex08cb была прога tsESP для связи с карадио по воздуху - надо тока ip знать. Ей удобнее комагды слать, можно даже без подключения карадио к компу кабелем.
По воздуху можно с помощью встроенной Windows утилиты telnet. По умолчанию она обычно не включена, для включения нужно поставить галочку в разделе"Включение или отключение компонентов windows"
Кому интересно - замена кракозябр на 7735 транслитом. В файле addonucg.c заменяем функцию "void removeUtf8(char *characters)" на всё, что ниже
Крукто, спасибо, я уже сделал по первому сообщинию, tsESP да да я ее видел и скачал, спасибо вам)
О как,серьезно? Так можно было))))) Спасибо за подсказку теперь буду знать. Вообще форум очень интересный, много чего узнал, еще раз вам всем огромное спасибо!!!
НЕАКТУАЛЬНО, так как нет букв Ё
unifont-11.0.02.410_44f.c
unifont-11.0.02.000_44f.c
Глифов в обоих шрифтах по 64. А вы можете показать скриншот шрифта? Не оригинального, а выходного (ucg который)
pilnikov
В первом чисто кирилица, во втором все до кирилицы. (по кодам думаю понятно)
Сам попробовать не могу, экран дисплей только заказал на алиэкспресс.
Если не пойдет, говори, что и куда переносить, вплоть до того куда какой символ поставить. Если надо, то могу собрать 1251.
Буду благодарен, если потом поделишся полными исходниками для экономии времени.
Буфер обмена лажанул или я, короче обновил http://arduino.ru/forum/proekty/wi-fi-internet-radio?page=62#comment-388413
unifont-11.0.02.000_44f.c Glyphs: 1104
Можно поробовать генератор накидать, но время жалко. Если не пойдет подумаю.
Шрифт должен соответствовать:
Кстати, там маленько "ё" не влезло, может побольше взять, или перемапить куда надо?
unifont-11.0.02.400-4ff.c
Почищенный, оставлины только основные символы
:
unifont-11.0.02.CYRILLIC.c
Чуть расширенный:
unifont-11.0.02.CYRILLIC_PLUS.c
Это первый "пробный шар". Все криво из-за того, что весь шрифт размером ("большой"). Но тем не менее все читабельно.
Прогресс однако.
to alfil нужен .bdf (у меня конвертер otf2bdf отказывается запускаться) с размером шрифта поменьше (для текста), количеством 191 глиф, версии 2, с расположением кирилицы с адреса С0Н.
Я ща все свои мытарства закину на гит (со шрифтами конвертерами, и исходниками для Ка) и буду продолжать наверное завтра (времени не хватает ппц)
Вот собрал с помощью bdfconv из unifont-11.0.02.bdf
Команда конвертации:
unifont-11.0.02.CP1251.c
Уменьшенный вариант.
Команда конвертации:
unifont-11.0.02.CP1251_CLR.c
Лог:
Как-то так
to alfil
у вас зачем кирилица не по порядку?
я делал так
bdfconv -f 0 -b 0 -a -m "32-191,~184,~168,235>184,203>168,1040-1103,1040-1103>192-255" timesbi24.bdf -n ucg_font_timesbi24_tf -o times24.c -d timesbi24.bdf
получил
pilnikov
Специално собирал полное соответсвие CP1251, чтобы можно было использовать готовые перекодировщики из других кодировок и не париться (радиоставции бывают в разкых кодировках наверняка). По мне даже правильнее использовать UTF8, чтобы проект легко расширялося до любых европейских или азиатских кодировок не переделывая конвертеры кирицы. Я выше делал UTF8 только с латиницей и кирилицей. Но если есть исходники заточенные под CP1251 для других дисплеев, то разумнее использовать CP1251.
Мелькие растровые шришты криво конвертяться из векторных (тупо точек не хватает), поэтому мелкие лучше искать сразу в растре. Говори какого размера нужны шрифты или кодировки, или ещё чего, небыстро, но по возможности помогу. Сам буду собирать проект где-точерез месяц, когда железо придет.
P.S. насколько я понял из описания -b 0 не включит в растр верхние или нижние строки если они пустые (например в маленькин буквах). Такой шрифт может вызвать наложение текстов, если переписавать текстовое поле без предварителльной его очистки (или смотря как библеотека написана). Но с -b 0 шрифт должен занимат чуть меньше места.
Ща надо шоб народ потестил, то, что наваяли. Мож кто титры сделает нормальные (мне самому если честно лень, да и со временем пока никак - стройка). Все барахло лежит у меня на гите https://github.com/pilnikov/KaRadio32_fork Менял в addonucg.c, в папке components\ucglib\csrc\ -> ucg_pixel_font_data.c и ucg.h для добавления шрифтов
Вопрос на засыпку, почему часто к строке дописываются посторонние символы, особенно в конце? Причем, это не всегда, какой-то постоянной зависимости не заметил. На шрифт грешить не приходится, я менял, эффект устойчивый.
Я функцию utf8rus адаптировал в сюда "на коленке" побыстрому. В оригинале она возвращает char *, а тут она void. Так что могут быть косяки в ней. А если хотите перфекционизма - выведите входные данные (перед обработкой их ф-цией removeUTF8()) в hex и посмотрите откуда мусор (до или после).
Подправленная функция
или так
мусор образовывается если его не чистить напрямую (вторая строка)
В принципе да, теоретически должен сработать и такой вариант. Надо проверить, но уже спатки хоца :)
За сегодня гонял тот вариант что правил сам - ни одного сбоя.
Да, заметил несколько глюков в карадио вообще:
1. Если заблокирован ntp-сервер, прописанный в коде - всё, работа радио в ауте, постоянный коннект. А у меня на работе в домене перехватывается этот адрес. В итоге управление практически не работает. Изменить этот адрес можно только в коде, а перекомпилять не всем дано. Надо бы автору этот параметр в настройки вставить....
2. При интенсивном и не очень кручении енкодера плеер иногдап подвисает или перегружается. Это же происходит на некоторых станциях. Иногда подвисает поток и без перезагрузки не запускается.
3. Я не могу понять зачем karadio32.bin пишется в две области... Причем, при записи через make flash - только в одну. Пробовал писать в одну - радио работает, но что-то не сохраняется...
4. При импорте станций из файла, пока не пересохранишь каждую станцию - глюки. Такое впечатление, что при сохранении пишется еще в какую-то область, а при импорте - только в одну.
что-то было еще, вспомню - напишу.
одна область памяти под код программы, вторая под файлы вебморды (они лежат на spiffs как один бинарный файл), третья под настройки (пароль на вифи тип экрана и т.д.) с третьей областью вообще полная ж. - если гдето кое где у нас порой робить не желает (экран не той системы), то все ахтунг - помогает тока прямое указание в коде. энкодер использует прерывания поэтому и глюки. по поводу импорта - вроде все норм не надо каждую пересохранять.
основной плюс карадио перед ардуино базет проектами (эдзельф е.т.с) в том, что оно юзает фриртос по полной - за счет этого более быстрая и стабильная работа.
одна область памяти под код программы, вторая под файлы вебморды (они лежат на spiffs как один бинарный файл), третья под настройки (пароль на вифи тип экрана и т.д.) с третьей областью вообще полная ж. - если гдето кое где у нас порой робить не желает (экран не той системы), то все ахтунг - помогает тока прямое указание в коде. энкодер использует прерывания поэтому и глюки. по поводу импорта - вроде все норм не надо каждую пересохранять.
третья ??? karadio32.bin у меня только в 2 области пишется.... 0x10000 и 0x1D0000
Но почему при "make flash" karadio32.bin пишется только в одну область 0x10000 ????
вообще я замечал (хотя это дикость) иногда такое впечатление, что в процессе работы ghb uk.rf[ что-то пишется в область с кодом программы, после чего радио вообще не запускается, помогает только полная перепрошивка... Последнее время, правда, не проявлялось...
основной плюс карадио перед ардуино базет проектами (эдзельф е.т.с) в том, что оно юзает фриртос по полной - за счет этого более быстрая и стабильная работа.
про стабильность я бы не сказал... хотя, может проблема в коде самого карадио, без ошибок вряд ли обошлось...
эльфовское радио вроде стабильнее, но функционал ...
я вообще не понимаю, почему со списками такая лажа, в других версиях (той же волны) прекрасная работа со списками, вывод, выбор, избранное... А тут - грусть-печаль.. Плюс настройки скромные, веб-апи очень скромное, хотя по ком-порту норм. Неужели сложно в веб добавить то, что в коме???
Доброго времени суток всем. Вижу, прогресс уже идёт вовсю) По-ламерски попрошу пакет готовых бинарников со стабильно работающим русификатором дисплея. Тоже хочется потестить. Надоело уже что проект валяется на столе в виде груды проводов и модулей, хочется сделать законченное устройство в корпусе, но сперва нужна полная функциональность.
JP cocatrix ( разработчик Ka-Radio32) в последнем релизе v1.3R1 ввел поддержку кирилицы ( правда без поддержки кодировки 7735 ).
Так, что обновляйтесь прямо через ОТА обновление.