#1 2018-03-17 19:19:52

Olej
Учасник
З Харьков
Зареєстрований: 2018-03-08
Повідомлень: 234

а какую версию вы используете?

Имею в виду: какую версию Arduino IDE вы используете?

Интересует то, какие глюки и неудобства наблюдаются в той или иной версии?

Неактивний

#2 2018-03-17 19:26:59

Olej
Учасник
З Харьков
Зареєстрований: 2018-03-08
Повідомлень: 234

Re: а какую версию вы используете?

Olej пише:

Интересует то, какие глюки и неудобства наблюдаются в той или иной версии?

Я вот знаю такой глюк:

... Arduino IDE работает (и редактирует код) в кодировке UTF-8. Это очень здорово - это современно, прозрачно-переносимо и т.д. Это UNICODE, а всё, что связано с кодовыми страницами - это даже не вчерашний, а позавчерашний день.

Но!
Передача и приём данных через UTF-8 идёт (по данным) корректно изначально и всегда ... но в предыдущих версиях IDE в системном мониторе ихнем иногда искажается отображение русских UTF-символов.
file.php?id=2891
На рисунке показана работа скетча Arduino, который читает строку через /dev/ttyUSB* и ретранслирует её обратно в /dev/ttyUSB*.
Передача из Arduino делается 3-мя разными (эквивалентными) способами: printf(), Serial.println() и посимвольно Serial.prin().
Видно, что отображается иногда с искажениям, но передаётся в обе стороны корректно ... в начале строки указано число байт - это не число символов - хорошо отслеживается на разного содержания строках соотношение байт на символ в UTF-8.

Неактивний

#3 2018-03-17 19:38:13

Olej
Учасник
З Харьков
Зареєстрований: 2018-03-08
Повідомлень: 234

Re: а какую версию вы используете?

Olej пише:

Передача и приём данных через UTF-8 идёт (по данным) корректно изначально и всегда ... но в предыдущих версиях IDE в системном мониторе ихнем иногда искажается отображение русских UTF-символов.

А вот в 1.8.5 всё работает корректно!
mini_a3.png

Остання редакція Olej (2018-03-17 19:38:47)

Неактивний

#4 2018-03-17 20:50:05

Green
Учасник
Зареєстрований: 2015-11-08
Повідомлень: 593

Re: а какую версию вы используете?

Я человеку делал проект с несколькими ино файлами. У меня на 1.6.5 и 1.8.5 всё собиралось без проблем. У него же, на 1.6.0 были дурацкие ошибки при сборке... Непонятно как с этим бороться.

Неактивний

#5 2018-03-17 21:04:36

Olej
Учасник
З Харьков
Зареєстрований: 2018-03-08
Повідомлень: 234

Re: а какую версию вы используете?

Green пише:

Я человеку делал проект с несколькими ино файлами. У меня на 1.6.5 и 1.8.5 всё собиралось без проблем. У него же, на 1.6.0 были дурацкие ошибки при сборке...

Это вы потребовали совместимости "сверху-вниз": 1.6.5/1.8.5 => 1.6.0
Такого не гарантирует ни один язык программирования, и ни одна операционная система, ... такого просто не бывает в природе.
Совместимость "снизу-вверх" должна, бы, в принципе, соблюдаться всегда и на 100% ... но бывают и редкие нарушения.

Неактивний

#6 2018-03-17 21:05:22

Green
Учасник
Зареєстрований: 2015-11-08
Повідомлень: 593

Re: а какую версию вы используете?

Библиотеки все были мои.( В конечном итоге переписал под кучу срр файлов, с одним ино. Иногда это не совсем удобно.(

Неактивний

#7 2018-03-17 21:18:14

Olej
Учасник
З Харьков
Зареєстрований: 2018-03-08
Повідомлень: 234

Re: а какую версию вы используете?

Olej пише:

... Arduino IDE работает (и редактирует код) в кодировке UTF-8. Это очень здорово - это современно, прозрачно-переносимо и т.д. Это UNICODE, а всё, что связано с кодовыми страницами - это даже не вчерашний, а позавчерашний день.

Но это может создавать большие проблемы пользователям Arduino IDE в Windows - Windows до сегодня живёт в представлениях "кодовых страниц": CP-1251, CP-866 и т.д.
Это приведёт к тому, что правильно передаваемые (без искажений) строки в UTF-8 будут отображаться "краказябрами" в окне монитора порта (последовательного).
Как победить? (по Интеернет задают такой вопрос многочисленно)
Надо разбираться ... у меня нет Windows под рукой...
Как вариант, использовать другой, внешний монитор последовательного порта. Как один (но наверняка не единственный) из вариантов может использоваться штатный монитор сериального порта (не только его, но и любых последовательных сетевых протоколов), во всех существующих операционных системах, допускающий настройку отображения во всех мыслимых в природе кодировках для отображения - это любимый виндовуз-юзерами Putty:
file.php?id=2894

Неактивний

#8 2018-03-18 01:50:20

Olej
Учасник
З Харьков
Зареєстрований: 2018-03-08
Повідомлень: 234

Re: а какую версию вы используете?

В Linux можно вообще со всем этим работать пользуясь только консольными утилитами Linux. без любых промежуточных приложений.
По крайней мере, это очень полезно для тестирования при непонятных нарушениях работоспособности!
И таким образом убеждаемся, что UTF-8 передаётся в оба конца без искажений ... даже в очень давних версиях, там где монитор порта глючит:
- в один терминал (вкладку) пишем
file.php?id=2897&t=1
- из другого терминала (вкладки) в это время читаем:
file.php?id=2898&t=1
Как вы понимаете (кто понимает big_smile ), это прямой путь взаимодействовать с Arduino из своего собственного кода на хост-машине, на чем угодно: C/C++, Python, ... bash

Остання редакція Olej (2018-03-18 01:52:02)

Неактивний

Швидке повідомлення

Введіть повідомлення і натисніть Надіслати

Підвал форуму