ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
28 марта
1144317 Топик полностью
RxTx (10.11.2021 01:58, просмотров: 1022) ответил Evgeny_CD на [Терминальные программы] Коллеги, а давайте составим список терминальных, мониторинговых и пр. прог для работы с COM портом. Просьба в основную ветку отвечать с линком на прогу | сайт, а в ветке проги вести дискуссию по ней самой.
Terminal v1.9b by Br@y++ , она же Terminal v1.9b by bray, она же bray's terminal. В вашем Use Case вполне может оказаться самой лучшей и удобной терминалкой. Пробуйте, судя по интернет его используют многие. 

В моем случае оказалась полна багами настолько что я устал с ней бороться.

Опыт использования на ~ 6-ти PC с Win7 или Win10, ноуты и стационарные. Всегда 115200 8-N-1 Вывод на терминалку использовался как логирование микроконтроллерной системы, ввод - отладочные диалоговые команды.


Баг #1, фатальный. При выводе текстового лога сплошным потоком (всего-то на 115200) валится как подкошенная (либо намертво зависает). Баг плавающий.

Баг #2. При записи в файл (кнопка StartLog) или из файла иногда падает с ошибкой.

Фича #3, на русскоязычной Windows 10 Home русский язык на экране со сбитой кодировкой. Баг в автоназначении шрифта, который я никогда раньше не выбирал и всё работало нормально. Надо нажать кнопку Set Font и выбрать Script:Cyrillic.

Фича #4. Символы или байты введенные в строку передаются в программном цикле, пачками или с джиттером. Сформировать сплошную посылку без пауз между символами из строки невозможно. Сплошняком выводит только из файла.

Баг #5. Если прием идет быстро (115200), загружает одно из ядер CPU на 100% и быстро разряжает батарею ноута. Полумера - свернуть окно.

Баг #6. Если у вас вдруг перестал работать скролбар (выглядит это именно так, а не как очистка экрана) и Rx clear = -1 это у вас проскакивает 'я' в кодировке Win1251. Её код как раз 0xFF = 255 = -1.

Фича #7 GUI не для 4K мониторов.


Складывается впечатление что программе критически важно иметь небольшую паузу между посылками по com-порту, в этих паузах она видимо обслуживает работу GUI (насколько я помню как работает Delphi VCL, это именно так).

Проблема в том что скорость записи в лог сильно зависит от внешних условий. Иногда между строчками длительные интервалы. Иногда это работа "ввел команду - выскочила портяночка". Но как только внешние условия меняются и в лог (т.е. на экран терминалки) начинает литься сплошной непрерывный поток байт, начинаются проблемы.