Обсуждаем контроллеры компании Atmel.
Ответить

Re: перекодировки с UTF-8 в Windows1251

Вс сен 26, 2021 22:56:09

Ящик у него на ардуино, а он за чем-то студию заводит.
Ардуино дает готовый код 0xD0+0x90, нужно преобразовать к символу 0xС0.
За чем нужно обратное преобразование в студии?

взял готовую библиотеку от ардуинщиков и что с того)) и где "ардуино" дает готовый код? продемонстрируйте 0xD0+0x90? так что и делаю - преобразовываю к 0xC0! и где вы увидели обратное преобразование? вот что опять не так то пошло.... :beer:

Re: перекодировки с UTF-8 в Windows1251

Пн сен 27, 2021 11:56:03

ТС уже б давно кириллицу узрел на своем ящике и без танцев с бубном

Но я же не ТС, имейте терпение!
вот все получилось, ответ из терминала:

осталось все это прикрутить к функции TV.print()

Re: перекодировки с UTF-8 в Windows1251

Пн сен 27, 2021 20:47:44

Так я и не понял
Dimon456 писал(а):Ящик у него на ардуино, а он за чем-то студию заводит?
Для чего студия нужна? Или в студии то же кодировка "от балды"?

Добавлено after 5 hours 46 minutes 16 seconds:
slav0n, все это полное х...

Re: перекодировки с UTF-8 в Windows1251

Пн сен 27, 2021 21:28:37

Dimon456 писал(а):Ящик у него на ардуино, а он за чем-то студию заводит?
Для чего студия нужна? Или в студии то же кодировка "от балды"?

Добавлено after 5 hours 46 minutes 16 seconds:
slav0n, все это полное х... [

А вы хотели Spectrum ZX 128. Размер шрифта уменьшите и разрешение экрана поставьте побольше! Достаточно что бы вывести данные с котла отопления, и не бегать в котельную каждый раз. А раз уж вывели через tv.print поделитесь?) Буквы "Ë" и "ë" я не увидел.

Re: перекодировки с UTF-8 в Windows1251

Вт сен 28, 2021 01:54:31

Dimon456 писал(а):Но зато я посмотрел разницу между С++ и С
5к серьезный зазор.
И в чем же дело, почему?

Re: перекодировки с UTF-8 в Windows1251

Вт сен 28, 2021 08:37:19

slav0n, я ошибся, старею, возраст берет свое, в проект ардуино его font6*8 не добавил, кириллицы не было, вот так теперь
slav0n писал(а):И в чем же дело, почему?
С++ эффективнее С.
Я использовал версию gcc version 9.2.0.
Вечером, если время будет, попробую на этой версии замутить код с С++.
neid писал(а): Буквы "Ë" и "ë" я не увидел.
а я забыл про эти буквы, вечером гляну.

Re: перекодировки с UTF-8 в Windows1251

Вт сен 28, 2021 09:29:21

Dimon456 писал(а):то есть 8,5кБайт против 12,5кБайт.
Dimon456 писал(а):С++ эффективнее С.
ничосе, аж на 30%!
желаю подробностей

Re: перекодировки с UTF-8 в Windows1251

Вт сен 28, 2021 17:28:38

slav0n, тот же самый код на С++
neid писал(а):поделитесь?
Да пожалуйста

Re: перекодировки с UTF-8 в Windows1251

Вт сен 28, 2021 19:35:02

Dimon456 писал(а):тот же самый код на С++
а ты можешь тему сисий хоть как-то раскрыть? исходные коды, например

Re: перекодировки с UTF-8 в Windows1251

Вт сен 28, 2021 19:57:22

Цель эксперимента была определить хоть как-то откуда в ардуино берется "быдло" кодировка.

slav0n писал(а):исходные коды, например
Да бери, не жалко
ProektTV.ZIP
(578.38 KiB) Скачиваний: 87
в архиве две папки, одна С другая С++.
С++ соответствует оригиналу arduino-tvout.
Компилятор winavr, gcc version 9.2.0, сборка через Makefile.

Re: перекодировки с UTF-8 в Windows1251

Ср сен 29, 2021 09:17:27

slav0n, собрал я свой проект С++ в среде ардуино, компилятор avr-dcc от ардуино:
Как собрать
Dimon456 писал(а):либо это сюрпрайз от ардуиноиде, либо это особенность С++.
neid писал(а):думаю все ж C++.
Не верно думаете.
В ардуиноиде кодировка от "балды".

Re: перекодировки с UTF-8 в Windows1251

Ср сен 29, 2021 09:19:17

желаю подробностей

Для С++ проекта указаны -ffunction-sections и -fdata-sections, а для сишного нет.

Re: перекодировки с UTF-8 в Windows1251

Ср сен 29, 2021 09:31:07

Reflector писал(а):Для С++ проекта указаны -ffunction-sections и -fdata-sections, а для сишного нет.
А что указать, вот указал
Код:
Compiling C: main.c
avr-gcc -c -mmcu=atmega168p -I. -gdwarf-2 -DF_CPU=16000000UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=./main.lst  -std=gnu99 -ffunction-sections -fdata-sections -MMD -MP -MF .dep/main.o.d main.c -o main.o
Size after:
AVR Memory Usage
----------
Device: atmega168p

Program: 12552 bytes (76.6% Full)
(.text + .data + .bootloader)

Data: 159 bytes (15.5% Full)
(.data + .bss + .noinit)
Что-то не влияет, может не там указал?

Re: перекодировки с UTF-8 в Windows1251

Ср сен 29, 2021 09:40:10

Код:
# Внимание. Те функции, которые не вызываются, не включаются в объектный файл.
LDFLAGS += -Wl,-gc-sections

Еще и -flto нет...

Re: перекодировки с UTF-8 в Windows1251

Ср сен 29, 2021 10:05:14

Reflector писал(а):LDFLAGS += -Wl,-gc-sections
феноменально
А я думал, что все лишнее по удалял.
Reflector писал(а):Еще и -flto нет...

Re: перекодировки с UTF-8 в Windows1251

Ср сен 29, 2021 10:28:42

Dimon456 писал(а):Цель эксперимента была определить хоть как-то откуда в ардуино берется "быдло" кодировка.
как маленький, ейбогу

Re: перекодировки с UTF-8 в Windows1251

Ср сен 29, 2021 16:56:54

Dimon456 писал(а):Цель эксперимента была определить хоть как-то откуда в ардуино берется "быдло" кодировка.
Так и откуда ж она берется?

Dimon456 писал(а):Да бери, не жалко.
ProektTV.ZIP
в архиве две папки, одна С другая С++.
С++ соответствует оригиналу arduino-tvout.
Компилятор winavr, gcc version 9.2.0, сборка через Makefile.

Спасибо, некоторые моменты для себя прояснил по поводу если проект просто в С переводить.
Второе, понял как делать перекодировку.

Dimon456 писал(а):LDFLAGS += -Wl,-gc-sections и -flto нет...

Можно понять что это за строки и почему стало 7,6кБ вдруг 4.9кб? Где об этом почитать?
Program: 4950 bytes (30.2% Full)

Re: перекодировки с UTF-8 в Windows1251

Пт окт 01, 2021 20:56:13

neid, как тебе такой вариант?

Re: перекодировки с UTF-8 в Windows1251

Сб окт 02, 2021 08:22:50

Скрестил аля TVout от ардуино с SPI, на 168меге с 1к ОЗУ на борту

Да картинка интересней, какое разрешение, 320x200? В интернете видел еще пару вариантов вывода, в одном применение asm("sleep\n");, как выводят вникать не стал... Он то как раз и давал 320x200. А шрифт более большой использовать? Код покомпактней получился по сравнению с первым вариантом TVout?

Re: перекодировки с UTF-8 в Windows1251

Сб окт 02, 2021 22:34:29

neid писал(а):В интернете видел еще пару вариантов вывода
В этом варианте вывод синхронизации висит на аппаратном таймере OC1A, уже минимум телодвижений требуется.
neid писал(а):Он то как раз и давал 320x200
Что есть 320 точек?
У меня шрифт используется 8*12, по ширине залез 31 символ, в высоту 15 символов, и если это посчитать грубо то получается 248*180 точек, здесь не учитывается интервал между символами равный 0,3125 мкс, а прорисовка одной точки занимает 0,125 мкс, то есть идет потеря между символами 2,5 точки. Если я правильно посчитал, то этот интервал дает еще 75 точек.
На STM с помощью DMA можно протащить без этого интервала.

Если подредактировать пару буковок, то шрифт можно уменьшить до 8*10, тогда и в высоту больше влезет.

neid писал(а):Код покомпактней получился
Что есть компактный код?
Шрифт 8*12 256 символов уже 3к коду дает.
Ответить