crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

44 страниц V  « < 3 4 5 6 7 > »   
Ответить в данную темуНачать новую тему
> QSerialDevice - Библиотека для работы с COM-портами
dekar
  опции профиля:
сообщение 14.4.2010, 17:21
Сообщение #41


Новичок


Группа: Новичок
Сообщений: 9
Регистрация: 14.4.2010
Пользователь №: 1632

Спасибо сказали: 0 раз(а)




Репутация:   0  


Решил всё-таки зарегистрироваться.

Итак
1) serialdeviceinfo.h обёрнут в #ifndef SERIALDEVICEWATCHER_H, что сильно мешает в одном проекте использовать оба класса.
2) Проблемы с lock-файлами остались. Просто теперь класс кладёт на них, что не совсем есть гут.
3) В качестве фичи - советую объединить watcher и info в один класс. Плохо себе представляю watcher без info для использования.f

И ещё тут придумал фичу -
QByteArray readTimeout (int length, int msec)
читает length байт с порта, и их возвращает. Также возвращает те байты, которые успела прочитать за время msec. Удобно для опроса всех портов на предмет наличия определённого ответа.

Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 14.4.2010, 20:03
Сообщение #42


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(dekar @ 14.4.2010, 21:21) *
QByteArray readTimeout (int length, int msec)
читает length байт с порта, и их возвращает. Также возвращает те байты, которые успела прочитать за время msec. Удобно для опроса всех портов на предмет наличия определённого ответа.
название функции совершенно не ассоциируется с описанием.
Если откинуть аргументы и оставить только имя, то эта функция всего лишь читает величину таймаута, но почему-то возвращает её в неуклюжем виде.
Надо имя пересмотреть
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kuzulis
  опции профиля:
сообщение 17.4.2010, 17:27
Сообщение #43


Активный участник
***

Группа: Участник
Сообщений: 393
Регистрация: 29.6.2009
Пользователь №: 862

Спасибо сказали: 36 раз(а)




Репутация:   7  


Цитата
1) serialdeviceinfo.h обёрнут в #ifndef SERIALDEVICEWATCHER_H, что сильно мешает в одном проекте использовать оба класса.

исправил

Цитата
2) Проблемы с lock-файлами остались. Просто теперь класс кладёт на них, что не совсем есть гут.

изменил

Цитата
3) В качестве фичи - советую объединить watcher и info в один класс. Плохо себе представляю watcher без info для использования.f

нет.. не объединю...

Цитата
И ещё тут придумал фичу -
QByteArray readTimeout (int length, int msec)
читает length байт с порта, и их возвращает. Также возвращает те байты, которые успела прочитать за время msec. Удобно для опроса всех портов на предмет наличия определённого ответа.

пока не вижу в этом сакрального смысла
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
dekar
  опции профиля:
сообщение 14.5.2010, 0:41
Сообщение #44


Новичок


Группа: Новичок
Сообщений: 9
Регистрация: 14.4.2010
Пользователь №: 1632

Спасибо сказали: 0 раз(а)




Репутация:   0  


Вот и новая проблема. Не знаю, насколько она решаема, но...
Дело в том, что watcher не перехватывает события отключения порта, когда он... открыт. И я понимаю почему, он и из системы не пропадает. Собственно вопрос: можно ли с этим чего-либо сделать. И есть ли такая же проблема в венде?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 14.5.2010, 9:25
Сообщение #45


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(dekar @ 14.5.2010, 4:41) *
не перехватывает события отключения порта
хорошо, если он в системе не пропадает, то как ты определяешь, что он отключен?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
dekar
  опции профиля:
сообщение 14.5.2010, 12:27
Сообщение #46


Новичок


Группа: Новичок
Сообщений: 9
Регистрация: 14.4.2010
Пользователь №: 1632

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(Litkevich Yuriy @ 14.5.2010, 10:25) *
хорошо, если он в системе не пропадает, то как ты определяешь, что он отключен?

А очень просто. Надо перехватывать все события udev'а, а не только те, что связаны с rs232 портами. И смотреть, являлось ли отключённое устройство портом.

А может быть есть информация о том, есть ли такая же проблема в венде?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 14.5.2010, 16:29
Сообщение #47


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


я использую QxtSerialPort в виндовозе, для отлова отключения преобразователя USB-RS232 при открытом порте всегда проверяю кол-во принятых байт. Драйвер FTDI'ного преобразователя всегда отрицательное значение возвращает.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
dekar
  опции профиля:
сообщение 14.5.2010, 18:32
Сообщение #48


Новичок


Группа: Новичок
Сообщений: 9
Регистрация: 14.4.2010
Пользователь №: 1632

Спасибо сказали: 0 раз(а)




Репутация:   0  


хм. Удачно. Только проблемка - у меня не FTDI, а програмный UART на меге 8.
usb 2-1: Product: USB-232
usb 2-1: Manufacturer: www.recursion.jp
Буду глядеть, что там с кол-вом принятых байт.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 14.5.2010, 20:34
Сообщение #49


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


ну а на ПК у тебя стандартный (аппаратный) COM-порт?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
dekar
  опции профиля:
сообщение 15.5.2010, 9:21
Сообщение #50


Новичок


Группа: Новичок
Сообщений: 9
Регистрация: 14.4.2010
Пользователь №: 1632

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(Litkevich Yuriy @ 14.5.2010, 20:34) *
ну а на ПК у тебя стандартный (аппаратный) COM-порт?

Нет, конечно. Мегу подцепил к УСБ, а она уже, в частности, как УСБ -> UART ведёт себя. Очень не хотел делать устройство, которому нужны были дрова. Вот и прикидывается девайс "шнурком" :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

44 страниц V  « < 3 4 5 6 7 > » 
Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 5.10.2022, 11:06