Обновить
10
0

Пользователь

Отправить сообщение

Спасибо за замечание. Гугл знает про данную ошибку, но внятного способа исправления не находит.

Из переписки для всех покажу способ обхода ошибки - нужно снять эту галочку в настройках языка.

До ардуины я пока не дорос. Застрял пока на STM/GD/LPC/MSP/AVR. Будет необходимость использования двухбайтной кириллицы - подумаю над доработкой терминала, а пока как есть. По поводу кода соглашусь - читабельность слабоватая, но и проект развивал на скорую руку без чёткой архитектуры и плана с параллельным изучением Delphi с нуля. Так-то знаком с Робертом Мартиным и Стивом Макконнеллом, по работе придерживаюсь их советов при написании кода.

v2.31 - это 2020й год примерно, актуальная сейчас v7.147

Нужны поподробности: режим чтения, настройки, способ воспроизведения баги и т.д.

Если я написал программу на ломаной версии Делфи с просторов сети, то результат может считаться российским ПО?

Добрый день

Среди способов отображения входящих данных есть режим CUSTOM

Для данного режима можно задать любую таблицу декодирования

В данной таблице можно задать любое представление для каждого входящего байта. Имеются пять предустановленных таблиц и 32 пользовательских, которые сохраняются в конфигурации, каждой пользовательской конфигурации можно задать своё название.

После изменений таблицы нужно не забывать нажимать кнопку Save as CUSTOM, перед закрытием формы, чтобы изменения сохранились. Жёлтый цвет ячейки означает, что представление для данного байта отличается от представления для данного байта в текущей таблице CUSTOM.

Задать пределы шкалы слева (Min-Max) или в режиме осциллографа поставить чекбокс AutoScale.

Для возможности вывода дробной части на графопостроитель в версии 7.124 добавил возможность ввода множителя для чисел типа float.

Графопостроитель может работать только с целой частью числа.

Кстати, нажимать можно как Enter, так и Ctrl+Enter. В первом случае строка консоли очистится, во втором нет, что даёт возможность многократно отправить команду.

Естественно. Нужно выбрать данный режим отправки.

В версии 6.055b добавлена настройка автоматического сохранения положения форму на момент закрытия

В версии 6.053b доработан алгоритм сохранения положения формы с учётом возможной работы с несколькими экранами.

Да, все настройки сохраняются автоматически при изменении. Сделано так, чтобы не потерять изменения, если терминал по какой-либо причине зависнет. Например, если были отправлены байты в порт, которого уже нет (кто-то ногой задел кабель и выдернул USB-COM). Также может зависнуть в случае отправки пакета в виртуальную пару com0com, если на приёмном конце соединения нет. Эти ситуации поправимы, но слишком редкие, чтобы допиливать код.

По поводу экрана можно ещё покопаться. Полагаю, что координаты запоминаются относительно второго экрана, а при повторном запуске терминал открывается на первом экране в том положении, в котором он был на втором экране. На досуге покопаюсь.

Добавил данный алгоритм. При закрытии главной формы сохраняется текущая позиция. При запуске форма располагается в ранее сохранённой позиции. Учтена ситуация, когда окно было частично задвинуто за область видимости. В этом случае оно будет оттуда выдвинуто так, чтобы было полностью в области видимости. Также сделал запоминание статуса окна: если при закрытии программы окно было развёрнуто на весь экран, то при следующем старте оно также само автоматически развернётся на весь экран. Интересно узнать, как это будет работать на втором экране. Разворот будет на оба экрана или только в пределах второго? Пока нет возможности проверить на домашнем компе.

Также для дополнительных форм изменил стартовое положение с позиции относительно экрана на позицию относительно главной формы.

TerminalTMB v6.052b можно скачать на том же яндекс-диске.

По поводу отключения отображения непечатаемых символов в конце статьи недавно добавил скрин. Add menu...-> LOG -> нижний чекбокс.

Непечатаемые символы отключаются только для режима ASCII. В этом случае данные символы в логе и в текстовом файле лога никак не отображаются, но учитываются во всей остальной логике, т.е. при подсчёте байтов и при разделении строк в процессе вывода лога. Для остальных режимов (DEC, HEX и CUSTOM), данная настройка ничего не меняет.

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

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

Более того, есть возможность одним терминалом мониторить работу сразу нескольких приборов, при этом все данные разными цветами можно выводить в окно лога, писать в файл и обрабатывать парсером.

В версии 6.047b добавлена возможность отключения вывода непечатаемых символов для режима ASCII как для отправляемых, так и для принимаемых пакетов.

Перевод строки настраивается отдельно. Add menu... -> Line separator. Далее можно настроить любое условие для завершения строки и перехода на новую в логе.
Строки можно разделять по числу байт, по паузе между байтами и/или переходить на новую строку после заданной последовательности из 1..4 байт. Данная универсальность нужна больше для работы с бинарными данными, но и для текстовых строк настройка находится здесь же.

Нужно включить режим чтения CUSTOM, для которого можно настроить своё отображение для каждого принимаемого байта. В статье это описано. В руководстве на яндекс-диске это предпоследняя страница.

Покопался в данном терминале. Хотел найти парсер и графопостроитель. Этот функционал в нём есть?

1

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность