Кросс-платформенный терминал - SerIO 2.x

Релиз терминала — SerIO 2.1
Основные изменения:
  1. Исправлен сброс порта и настроек программы на «default» при сворачивании-разворачивании окна.
  2. В списке доступных портов добавлено отображение производителя(manufacturer) и типа(description) устройства.

***************************************************

«SerIO» это кросс-платформенное приложение терминал, предназначено для организации связи и обмена данными через последовательный порт между ПК и различными электронными модулями или устройствами оборудованными UART интерфейсом. Приложение ориентировано на любителей и специалистов в области разработки, конструирования и диагностики различных электронных устройств и систем.

Передаваемые данные могут иметь различные форматы: символьный, десятичный, шестнадцатеричный, бинарный и смешанный, а так же паттерны и произвольные файлы данных. Доступна функция передачи данных в порт по таймеру, с заданным источником и интервалом времени. Принимаемые данные могут отображаться в текстовом виде (символьном, десятичном, шестнадцатеричном, двоичном) и графическом (осциллограмма, диаграмма). Используя профили, можно оперативно изменять настройки приложения под различные задачи и оборудование. Количество создаваемых профилей не ограничено. Для проведения анализа или сбора статистики, предусмотрено создание различных файлов отчетов.


Пример отображения данных в графическом виде
.

Приложение «SerIO» это свободное ПО, распространяется под лицензией GNU GPLv3 или выше, без каких либо гарантий.
Скомпилировано динамически, но включает все необходимые зависимости (библиотеки) для своей работы.
Протестировано на ОС: Linux(x64) Ubuntu 20, Mint 20, Fedora 20, Manjaro 32 и Windows(x32x64) 7, 8, 10.

Инструкция: SerIO-21-manual-RU-Rev1.pdf

Linux: SerIO-21.tar.xz (универсальный пакет)
  • УСТАНОВКА — распаковать папку SerIO в домашнюю папку пользователя /home/user/ (user — ваше имя пользователя),
    выполнить в терминале команду: ~/SerIO/SerIO.sh
  • УДАЛЕНИЕ — выполнить в терминале команду: ~/SerIO/uninstall.sh
  • Дополнительная информация в файле: /SerIO/ReadMy.txt

Windows: SerIO-21.exe

Mac OS: Готовится к выпуску...

Исходный проект: SerIO-21-SourceProject.7z
Вопросы по сборке присылайте в личку или на e-mail, не засоряйте комментарии. Спасибо!
  • ?
  • 02 января 2021, 00:00
  • uebe

Комментарии (19)

RSS свернуть / развернуть
Привет. С новим годом!
А ссьілочкой на github не поделитесь?
У меня есть пару идей по добавлению нового функционала, я бьі форкнул ваш проект
0
Приветствую Leon11t.
Я на GitHab еще не «заселялся», исходный проект не стал выкладывать, отправляю по запросу.
А какие у Вас идеи по новому функционалу, если не секрет?..
0
Да сперва по мелочам. Добавить поиск по тексту во всех возможньіх системах исчисления, из подсветкой текста. Логирования в файл (не увидел реализовано ли у вас). Можеш еще виводить им'я вендора СОМ-порта (не номер СОМ1, например Prolific USB adapter), иногда полезно, когда куча всякого оборудования используется из емуляцией СОМ-порта.
Правда я никогда не кодил на QT и незнаю C++.
А если у вас трудности из переносом проекта на github или в целом из пониманием git, то можу немного помочь разобратся
0
Идеи интересные, вполне заслуживают воплощения.
Логирование входящих данных идет не прерывно, в параллельный накопительный приемный буфер. При необходимости сбрасывается в файл в блоке REPORT -> Create As -> «Rx data BIN». Обнуляется, этот буфер, при нажатии кнопки Clear. Все есть в инструкции.
С GitHab-ом просто не разбирался, на все времени не хватает. Но если что, теперь знаю к кому обратиться…
Поставьте Qt, ознакомьтесь со средой, а то нахрапом тяжеловато будет кодить, да еще в чужом коде разбираться. Я ставлю только: QtCreator(среду) + Desktop_Qt_5.15.x_GCCx64(для Linux) или Desktop_Qt_5.15.x_MinGW_8.1.0_32bit(для Windows) и больше ни чего, мне хватает.
0
Я ставлю только: QtCreator(среду) + Desktop_Qt_5.15.x_GCCx64(для Linux) или Desktop_Qt_5.15.x_MinGW_8.1.0_32bit(для Windows) и больше ни чего, мне хватает.
Простите невежду за возможно глупый вопрос. Только недавно приобрел для зспериментов малинку последней 4 версии. Но уже выяснил, что Rasbian заточена под Mono, т.е. NET под Linux. Будет ли работать ваш терминал без установки дополнительных пакетов?
0
Вот честное слово — не знаю.
По идее все зависимости собраны в пакет программы. От Qt framework, точно не зависит. Но вот, на пример, на Ubuntu 16 не работает, сказывается бинарная не совместимость с системными библиотеками, требуется сборка под 16-той версией. Может и тут такая же ситуация…
0
Можеш еще виводить им'я вендора СОМ-порта (не номер СОМ1, например Prolific USB adapter), иногда полезно, когда куча всякого оборудования используется из емуляцией СОМ-порта.
РЕАЛИЗОВАНО ! качаем, переустанавливаем…
VID и PID не стал добавлять, думаю излишне.
0
Крутой софт. Но удивительно видеть, как в 2020-ом году человек программирует без системы контроля версий! и сам собирает бинарники под Линукс!

Вообще, в Линуксе принято пользоваться пакетными менеджерами и библиотеки в домашнем каталоге — супер-дурной тон.

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

Мой вас совет, от программиста к программисту: потратте несколько дней на разбирательства с git'ом. Он, увы, не самый простой (тот жеs ubversion проще) но он — победившая система контроля версий, а разработка с системой контроля версий куда менее гемморойна, чем без. Это реально удобно и развязывает руки, например, для экспериментов.

Удачи на этом пути!
0
blacklion, спасибо за высокую оценку.
Вообще, в Линуксе принято пользоваться пакетными менеджерами и библиотеки в домашнем каталоге — супер-дурной тон.
Согласен, пакетная концепция Linux нарушена и имеет свои последствия. Однако, есть много примеров использования похожего принципа распространения, даже среди «сердитых» производителей софта под Linux, к примеру тот же установщик от Qt. Так же, накладывает свой отпечаток многолетнее пребывание в среде Windows, со всеми вытекающими… Да еще привычка, иметь необходимые мне дистрибутивы для off-line установки(переустановки), мало-ли что :)
Если бы исходники официально лежали где-то (и не на яндекс-диске, где автоматическое скачивание невозможно), я бы портировал эту софтину на FreeBSD. И добавил в тамошний пакетный менеджер.
Я обязательно займусь этим вопросом, в ближайшем будущем, в частности заселением на GitHab. А если кто то поспособствует в портировании и распространении — я буду только рад. Приятно, когда твой труд востребован и приносит пользу другим…
Ну и да, будьте снисходительны, все та-ки это мой первый опыт создания кросс-платформенных приложений на С++ и проба Qt-среды в частности. И на Linux я перешел только в апреле 2020 года. Так что я только учусь :)
0
Первый опыт и такое полезное приложение и непростое! Круто! У вас всё получиться!
0
:) Да нет, не в смысле прям первый. Начинал программировать на Assembler-е под DOS и Win95 (то еще занятие было, писать GUI приложения) потом Delphi, затем много лет на MS Visual Studio C#. И вот решил расширить свой кругозор. Основное мое занятие разработка электроники преимущественно на базе МК, в основном на ARM STM32xxx, софт под МК пишу на Си, Assm использую только в критических ситуациях, а утилиты для ПК пишу по необходимости…
0
Следующий шаг — поддержка USB-RS485 и протоколов с «регистрами» и контрольными суммами пакетов данных типа Modbus и Точка-к-Точке
Modbus Tools: Modbus Poll v9.4.0 & Modbus Slave v7.3.0
Год/Дата Выпуска: 2020
Версия: Modbus Poll: 9.4.0; Modbus Slave: 7.3.0
Build: Modbus Poll: 1407; Modbus Slave: 1402
Разработчик: Witte Software
Сайт разработчика: www.modbustools.com

USBee-PLC-2
0
Ну это уже из области АСУ ТП.
Вы предлагаете разорить, к чертовой матери, производителей специального софта? :)
0
«разоряют» на рутрекере… уж пару десятилетий… до этого разоряли на Осле.
одно дело читать льстивое о своей гениальности в простой задаче, другое понять что это твой уровень и впереди тот же тривиальный Терминал… хотя существует продвинутый логический магнитофон под все популярные последовательные протоколы USBee.
мы так и не сумели своими поделками разорить фирмы… хотя мы и не ставили таких целей
image
исходники… я как то поначалу выкладывал исходники… потом всякие поляко-румыны стали извращать мой исходный код… модернизаторы начали писать про кривость «моей» программы и правильности их реально кривых результатов…
просто прекратил выкладывать исходники и критика исчезла :)
0
Одно дело читать льстивое о своей гениальности в простой задаче, другое понять что это твой уровень и впереди тот же тривиальный Терминал…
Повторюсь. Этот терминал «побочный продукт» перехода в другую среду программирования, т.с. пощупать GUI и т.д… Ни каких глобальных планов на этот проект и рядом не ставил и всяких иллюзий не строил. Пока поддерживаю, для того что бы придать приложению некоторую завершенность. А не как у большинства любителей «по кодить», наляпали и бросили.
Мы так и не сумели своими поделками разорить фирмы… хотя мы и не ставили таких целей.
Из личного опыта, большинство организаций предпочитают иметь дело с продуктами имеющими официальную гарантированную поддержку, а не с дядей «Васей», который сегодня «на колхозил», а завтра пропал и ищи его с собаками, потому что только он знает как все работает.
Исходники… я как то поначалу выкладывал исходники… потом всякие поляко-румыны стали извращать мой исходный код… модернизаторы начали писать про кривость «моей» программы и правильности их реально кривых результатов…
Абсолютно с Вами согласен. Таких персонажей, считающих себя «истиной в последней инстанции», хватает. Я то-же не сторонник выкладывать исходники, начинается бардак и накопление «багов», пропорционально количеству участников в «доработке» :) Выкладываю, в основном, когда проект забрасываю. Основная идея выпуска приложения SerIO под GNU GPL это: самостоятельная сборка под другие платформы, ознакомительные цели в реализации кода под Qt, ну или развитие приложения в других ветках.
0
slackware 14.2 x64


main$ ./SerIO
./SerIO: /usr/lib64/libQt5Core.so.5: version `Qt_5.15' not found (required by ./SerIO)

main$ ls -l /usr/lib64/libQt5Core.so.5
lrwxrwxrwx 1 root root 20 Oct 28 22:19 /usr/lib64/libQt5Core.so.5 -> libQt5Core.so.5.12.8*

main$ pkgls qt5
qt5-5.12.8-x86_64-sl14.2
0
Версия ОС какая?
Программа распакована в /home/user/?
0
Круто! Добавить бы еще возможность кастомного задания скорости на лету (не через конфиг) и управление сигналами квитирования — и было бы вообще огонь! )
0
Поздновато идеи подкинули, я уже опубликовал версию 2.1
Изменение(ввод) скорости «на лету» добавлю в следующей версии. А вот про управление сигналами квитирования — можно по подробнее?
0
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.