Терминал (для работы с COM портом) под Windows.

 

    Зачем понадобилось создавать еще одну программу терминал ???

    На просторах интернета полно подобных программ ?!

    Что есть, то есть !

    Но есть маленькое НО, все дело в нюансах !

 

- Требуемый функционал был разбросан по нескольким программам и это было очень не удобно....

- Часть требуемых функций не было и вовсе...

- Часть программ банально падали в самый неподходящий момент....

- Часть функций реализованы с ошибками....

 

Так жить нельзя и работать тоже ....  :)

Значит надо создать свою программу, с необходимым функционалом.

 


    Данный проект задумывался как вспомогательный для тестирования большого проекта связанного

с телеметрией. В проекте требовалось принимать и передавать данные через COM порт компьютера.

Проект готов и сдан. Программа осталась и продолжает использоваться по назначению, для отладки 

разного рода устройств  !

    На текущий момент программа продолжает дорабатывается, исправляются ошибки, добавляются

новый функции.

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

 

 

 


Краткое описание программы.

 

    Программа создана в среде Microsoft Studio 2008, на языке VB.

Работоспособность проверенна в следующих ОС: Windows XP, Windows 7-32/64Pro, Windows 11-64Pro.

Репозиторий программы представлен на GitHub, готовый бинарный файл(exe) в виде Zip архива.

Собранная программа представляет из себя один запускаемый файл.

Программа не требует установки и работает из любого места.

Программа не требует для запуска привилегий администратора.

 

Программа может:

1. Подключаться к любому com порту в системе.

2. Выставлять параметры работы com порта, включая нестандартные скорости работы порта

(при условии что драйвер windows поддерживает нестандартные скорости,

хотя как показала практика погрешность может быть очень большой. 

Например: При заданной 250000 - в железе получаем 256000, ;(

увы точнее делитель не устанавливается....).

3. Производить запись принимаемых данных в файл.

Для этого необходимо поставить галку в Записать в файл,

будет создан файл с именем файла в виде текущей даты и времени и расширение log (например 05_06_2023_15_15_07.log)

в той же папке где находится сам терминал. Снятие и установка гадки приводит к созданию нового файла.

4. Передавать в порт строку с разными концовками в виде дополнительных кодов.

5. Циклически передавать в порт строку с заданным интервалом времени.

6. Передавать в порт файл.

7. Проиграть сценарий из файла (передача данных + задержка между данными).

8. Показывать состояние линий: CTS, DSR, RI, CD.

9. Изменять состояние линий: DTR, RST.

 

Программа пока не может:

1. Разбирать ESC последовательности.

2. Вести историю передаваемых строк.

3. Передавать в порт кода нажатых клавиш в окне приема и передачи.

4. Показывать ответы (RX от устройства) при проигрывании сценария из файла.

5. Вести в логах длинную историю (автоматическое укорачивание при достижении заданной длинны).

 

 

На текущий момент планов по развитию и доработки программы много.

Обычно в процесс работы с программой, во время отладки очередного устройства,

появляется необходимость в новом функционале.

Так в программу попадает новый функционал, продиктованный практикой.

При добавления нового функционала в программу, иногда добавляются и проявляются

глюки (по недосмотру), прошу отнестись с понимание :)

Глюки исправляются, и новая версия выкладывается в репозитарий.

 

 

Исходники на GiHub.

Текущая версия: Скачать (exe) в Zip архиве.

 

На основе данной программы была создана еще одна утилита для работы по протоколу PELCO-D,

для тестирования и управления камерами и поворотными платформами.


19-09-2023

Текущая версия: v1.6.0.

[+]  Новое: В приемном окне добавлена кнопка ПАУЗА, которая позволяет не выводить

принимаемый поток в окно терминала, пока не будет нажата повторно.

При этом данные продолжают приниматься и накапливаться во внутреннем буфере.

Данный функционал предназначен для просмотра части принятого потока при постоянной

передаче со стороны устройства.

[+]  Исправление: Кнопка ПОИСК(СОМ портов в системе) выключается при открытии порта.

 

19-12-2022 

Текущая версия: v1.5.0.

[+]  Исправление: Замораживание интерфейса терминала при приеме потока данных.

 

12-12-2022 

Текущая версия: v1.4.1.

[+]  Исправление: Не верная полярность сигналов CTS/DSR/RI/CD.

[+]  Исправление: Терминал вылетает с ошибкой при запуске, если в системе нет СОМ портов.

 

5-12-2022 

Текущая версия: v1.4.0 (По просьбе коллеги был добавлен новый функционал).

[+]  Новое: Вывод в строку статуса состояния сигналов CTS/DSR/RI/CD.

[+]  Новое: Добавлена возможность изменения состояния сигналов RTS/DTR.

 

1-6-2022 

Текущая версия: v1.3.8

[+]  Исправление: Вывод в TXT и HEX строки.

 

3-8-2021 

Текущая версия: v1.3.7

[+]  Исправление: Зависание программы при отключении COM порта из системы (выдернули кабель...). 

 

29-7-2021 

Текущая версия: v1.3.6

[+]  Исправление: Перепутаны STOP BIT 1.5 <-> 2. 

 

22-7-2021 

Текущая версия: v1.3.5

[+]  Исправление: Не корректный вывод кодов \r \n. 

 

8-6-2021 

Текущая версия: v1.3.4

[+]  Исправление: Подвисание интерфейса при приеме не отображаемых кодов (0x00-0x19). 

[+]  Исправление: Конвертации кодов \n   ->  \n\r. 

 

3-12-2020 

Текущая версия: v1.3.2

[+]  Вывод подробного описания СОМ портов. 

[+]  Проигрывание сценария из текстового файла. 

 Пример сценария (Файл TXT), формат:

 81 01 04 07 03 FF
 > 100
 81 01 04 07 02 FF

 Где:
 81 01 04 07 03 FF  - значения байт в TXT-HEX формате отправляемых в СОМ порт.
 > 100                      - Формирование паузы 100 мс.
 81 01 04 07 02 FF  - значения байт в HEX формате отправляемых в СОМ порт.

 

[+]  Перевод строки в TXT-HEX виде в байтовый массив и передача в СОМ порт. 

 

 


15-05-2019 

Версия: v1.2.2

[+]  Добавлена история ввода передаваемых строк. 


 

 16-12-2018 

Версия: v1.2.1

[+]  Внесены изменения в интерфейс. Часть функций вынесены в окно приема. 

[+]  Добавлена функция Вкл/Выкл печати символа с кодом 0x0A.

        0x0D + 0x0A     ->     0x0D.

[+]  Решено: При закрытии порта продолжалась передача в порт.

[+]  Добавлена подсказка при наведении курсора на элементы управления.

[+]  При запуске программы производится автоматический поиск СОМ портов в системе.

  

 


 4-09-2018 

Версия: v1.1.0

[+]  Добавлена передача в порт кодов нажатых клавиш в окне приема и передачи.