LINUX.ORG.RU

Модуль работы с COM-портом, github-проект

 , ,


1

2

Низкоуровневый модуль работы с COM-портом, основанный на QSerialPort

Данный проект позволяет писать и читать байтовый поток из COM-порта. Основывается на QSerialPort, Qt версии 5.

Основной функционал:

Очередь сообщений - новые данный не будут записаны в COM-порт, пока не вернется сигнал timeout или read предыдущего сообщения.

Поиск пакетов - данный модуль будет рассматривать байтовый поток на предмет заданных признаков пакетов и испустит сигнал 'read', если пакет будет найден.

Заинтересованных прошу перейти по ссылке: https://github.com/codemeow/cosmicturtle

Пулл реквесты и запросы принимаются.



Последнее исправление: nothing (всего исправлений: 1)

Лол, у нас телепатическая связь

esandmann
()

Поиск пакетов - данный модуль будет рассматривать байтовый поток на предмет заданных признаков пакетов и испустит сигнал 'read', если пакет будет найден.

Сомнительная фича для последовательного порта, на мой взгляд, хотя могу и ошибаться

esandmann
()
Ответ на: комментарий от minakov

Рад за вас. Задачи разные. cute для максимум modbus режимов и ручного забивания данных. CT для дальнейшей разработки систем контроля устройств на порту.

nothing
() автор топика

Что-то я не пойму в чём отличия этой библиотеки от той которая включена в Qt5?

KblCb ★★★★★
()
Ответ на: комментарий от KblCb

У QSerialPort три функции - check, read и write, этот модуль имет очередь, поиск посылок и реализован по сигнал-слот типу.

nothing
() автор топика
Ответ на: комментарий от quest

Либо я работал на старой версии, либо оно так не работает - выбивало ошибки когда я так делал. Прямо сейчас проверить не смогу, минимум в среду.

В любом случае, если товарищ kuzulis может поручиться, что оно так будет лучше работать - пул реквесты приветствуются.

nothing
() автор топика

позволяет писать и читать байтовый поток из COM-порта

Основывается на QSerialPort, Qt версии 5

А разве проще нельзя было сделать?

anonymous
()
Ответ на: комментарий от anonymous

Чтобы оно работало на каждой кофемолке без мозготр*а? Нет.

nothing
() автор топика
Ответ на: комментарий от nothing

В любом случае, если товарищ kuzulis может поручиться, что оно так будет лучше работать - пул реквесты приветствуются.

В Qt 5.3 должна уже быть возможность делать предустановки перед открытием порта. Но опять же, если реально смотреть на вещи, то увидим, что внутри делается сначала open() а потом уже setXX(). :)

т.е. теперь «обертка» сделана внутри QSerialPort.

Кроме того поменяется поведение открытия по-умолчанию: теперь при простом QSerialPort::open() будет устанавливаться 8600/8/N/1 (но дальше, если юзер захочет поменять параметр «на лету» - нет проблем).

kuzulis ★★
()
Ответ на: комментарий от kuzulis

увидим, что внутри делается сначала open() а потом уже setXX(). :)

Собственно, что я и видел в LGSpy++. Значит менять что-то смысла нет.

nothing
() автор топика
Ответ на: комментарий от nothing

Либо я работал на старой версии, либо оно так не работает - выбивало ошибки когда я так делал.

Поведение изменено только в самой свежей версии в Git, это видно по демопримерам git clone https://git.gitorious.org/qt/qtserialport.git

quest ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.