QtSerialPort, Проблема сборки QtSerialPort под Windows |
Здравствуйте, гость ( Вход | Регистрация )
QtSerialPort, Проблема сборки QtSerialPort под Windows |
kuzulis |
22.3.2013, 10:08
Сообщение
#61
|
Активный участник Группа: Участник Сообщений: 393 Регистрация: 29.6.2009 Пользователь №: 862 Спасибо сказали: 36 раз(а) Репутация: 7 |
|
|
|
NAUGREEM |
22.3.2013, 10:20
Сообщение
#62
|
Студент Группа: Участник Сообщений: 28 Регистрация: 16.1.2013 Пользователь №: 3675 Спасибо сказали: 0 раз(а) Репутация: 0 |
Выдергиваю свисток с этим-то проблем нету... там и порт пропадает из списка... а вот у меня задача - второй случай победить... единственный выход - делать пинг, когда взаимодействия нету... а при выдёргивании свиська на WinXP твой патч работает - ошибка 9 вылазит так, что пусть его смело принимают) и да: спасибо тебе за библиотеку и помошь) Сообщение отредактировал NAUGREEM - 22.3.2013, 10:26 |
|
|
kuzulis |
22.3.2013, 10:46
Сообщение
#63
|
Активный участник Группа: Участник Сообщений: 393 Регистрация: 29.6.2009 Пользователь №: 862 Спасибо сказали: 36 раз(а) Репутация: 7 |
Выдергиваю свисток с этим-то проблем нету... там и порт пропадает из списка... а вот у меня задача - второй случай победить... единственный выход - делать пинг, когда взаимодействия нету... а при выдёргивании свиська на WinXP твой патч работает - ошибка 9 вылазит так, что пусть его смело принимают) и да: спасибо тебе за библиотеку и помошь) А, вот, теперь порядок. А по твоей проблеме отследить никак не получится, только если пинговать постоянно. Спасибо за помощь. |
|
|
NAUGREEM |
25.3.2013, 22:12
Сообщение
#64
|
Студент Группа: Участник Сообщений: 28 Регистрация: 16.1.2013 Пользователь №: 3675 Спасибо сказали: 0 раз(а) Репутация: 0 |
Доброго всем!
эпопея продолжается...) с блютузом всё классно - вочдог отрабатывает по наличию ошибки (serial->error() > 0) но по USB теперь глюк появился - в какой-то момент неизвестная ошибка 11, и по ней порт закрываестя, и вё повторяется заново... посмотрел номер ошибки в GetLastError() - 997 гугл сказал: Error 997: Overlapped I/O operation is in progress может кто знает - из-за чего она может быть? и может её вообще можно игнорировать? UPD: поглядел внимательнее - ERROR_IO_PENDING там уже есть, а вот ERROR_SUCCESS стоит добавить как QSerialPort::NoError UPD2: когда вернулся в линукс - заметил странную вещь: постоянно висела ошибка 11 с текстом "Неприменимый к данному устройству ioctl" содержимое errno = 25 (ENOTTY) стоит ли игнорировать эту ошибку? или это реальный баг? Сообщение отредактировал NAUGREEM - 26.3.2013, 2:02 |
|
|
kuzulis |
26.3.2013, 10:23
Сообщение
#65
|
Активный участник Группа: Участник Сообщений: 393 Регистрация: 29.6.2009 Пользователь №: 862 Спасибо сказали: 36 раз(а) Репутация: 7 |
NAUGREEM,
напомни плз., о каком типе чипа идет речь? Цитата(NAUGREEM) с блютузом всё классно - вочдог отрабатывает по наличию ошибки (serial->error() > 0) Если ты хочешь отследить именно выдергивание - то проверяй код ошибки только на ResourceError, а не на > 0. Цитата(NAUGREEM) но по USB теперь глюк появился - в какой-то момент неизвестная ошибка 11, и по ней порт закрываестя, и вё повторяется заново... Так ты выведи GetLastError в консоль (именно из метода decodeSystemError())и посмотри какой реальный номер имеет системная ошибка и при каких обстоятельствах: возвращается ли ReadFile с ошибкой или нет, возвращаются ли иные системные вызовы с ошибками? Цитата(NAUGREEM) посмотрел номер ошибки в GetLastError() - 997 гугл сказал: Error 997: Overlapped I/O operation is in progress может кто знает - из-за чего она может быть? и может её вообще можно игнорировать? Это не ошибка, это нормальное поведение, не обращай на эту "ошибку" внимания. Цитата(NAUGREEM) UPD: поглядел внимательнее - ERROR_IO_PENDING там уже есть, а вот ERROR_SUCCESS стоит добавить как QSerialPort::NoError А ERROR_SUCCESS у тебя реально появляется? Если ДА - то при каких обстоятельствах. Цитата(NAUGREEM) UPD2: когда вернулся в линукс - заметил странную вещь: постоянно висела ошибка 11 с текстом "Неприменимый к данному устройству ioctl" содержимое errno = 25 (ENOTTY) стоит ли игнорировать эту ошибку? или это реальный баг? Так посмотри, после чего она появляется в Linux, при каких обчтоятельствах, после какого системного вызова? В общем, поподробнее поисследуй поведение со своим чипом, т.к. мне трудно что-либо советовать и фиксить без сопутствующей информации. Т.к. нужно понять все обстоятельства при которых появляются ошибки! И приведи лог всей цепочки вызовов, т.е. напихай qDebug() с именами методов и интересующими значениями переменных, для того, чтобы у меня сложилась кое-какая картина. Сообщение отредактировал kuzulis - 26.3.2013, 10:28 |
|
|
NAUGREEM |
27.3.2013, 0:13
Сообщение
#66
|
Студент Группа: Участник Сообщений: 28 Регистрация: 16.1.2013 Пользователь №: 3675 Спасибо сказали: 0 раз(а) Репутация: 0 |
напомни плз., о каком типе чипа идет речь? BT хост: HAMA Vid:0a12 Pid:0001 BT стек: стандартный микросовтовский WinXP BT девайс: Bluegiga WT11 USB-UART: CP2103 Если ты хочешь отследить именно выдергивание - то проверяй код ошибки только на ResourceError, а не на > 0. просто выдёргиванием ситуация не обходится - надо отслеживать пропадание WT11 Так ты выведи GetLastError в консоль (именно из метода decodeSystemError())и посмотри какой реальный номер имеет системная ошибка и при каких обстоятельствах: возвращается ли ReadFile с ошибкой или нет, возвращаются ли иные системные вызовы с ошибками? как писал выше: Цитата посмотрел номер ошибки в GetLastError() - 997 гугл сказал: Error 997: Overlapped I/O operation is in progress и ещё GetLastError() == 0 было, при котором serial->error() возвращал 11, так как ERROR_SUCCESS у тебя не обрабатывается... А ERROR_SUCCESS у тебя реально появляется? Если ДА - то при каких обстоятельствах. реально, где-то на waitForReadyRead(), который не дожидался данных, и только на USB Так посмотри, после чего она появляется в Linux, при каких обчтоятельствах, после какого системного вызова? да кажется после каждого может, правда, у меня какой глючёк был - сей девайс виртуалка на время перехватывала я пока просто ENOTTY в игнор поставил) В общем, поподробнее поисследуй поведение со своим чипом, т.к. мне трудно что-либо советовать и фиксить без сопутствующей информации. Т.к. нужно понять все обстоятельства при которых появляются ошибки! И приведи лог всей цепочки вызовов, т.е. напихай qDebug() с именами методов и интересующими значениями переменных, для того, чтобы у меня сложилась кое-какая картина. попробую, но не обещаю скоро... |
|
|
Гость_Некий_* |
9.7.2013, 18:14
Сообщение
#67
|
Гости |
Я скачал новую версию Qt 5.1, для неё библиотека qtserialport как устанавливается?
|
|
|
Litkevich Yuriy |
9.7.2013, 21:23
Сообщение
#68
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
Я скачал новую версию Qt 5.1, для неё библиотека qtserialport как устанавливается? никак, она уже входит в состав Qt 5:в pro-файле просто пишешь: QT += serialport и всё Тыц |
|
|
NAUGREEM |
14.7.2013, 4:40
Сообщение
#69
|
Студент Группа: Участник Сообщений: 28 Регистрация: 16.1.2013 Пользователь №: 3675 Спасибо сказали: 0 раз(а) Репутация: 0 |
Здравствуйте, Все!
Набросал тут патчик для поддержки соединения через Bluetooth RFCOMM на Андроиде в QtSerialPort... Проверял на Qt 4.8.2 (Necessitas), но на Qt 5.1 теоретически тоже должен работать... Работает через JNI к Android API. Устройство должно быть предварительно сопряжено. Может быть автор QtSerialPort'а возьмётся привести эту поделку в правильную форму, и включить в библиотеку... serialport.diff.gz ( 13 килобайт ) Кол-во скачиваний: 429 Сообщение отредактировал NAUGREEM - 14.7.2013, 22:28 |
|
|
kuzulis |
15.7.2013, 10:23
Сообщение
#70
|
Активный участник Группа: Участник Сообщений: 393 Регистрация: 29.6.2009 Пользователь №: 862 Спасибо сказали: 36 раз(а) Репутация: 7 |
Ох. Отлично, спасибо. Но я не разбираюсь в кишках Android...
Кажется, что все-таки патчи необходимо слать в Necessitas проект (или как там его).. Я не нашел в сорцах Qt5.1 никаких упоминаний об Android (за исключением одной почти пустой директории). По большому счему, кажется, что именно в Necessitas сделаны обертки для всех Qt-шных классов.. Если я не прав, то поправьте.. |
|
|
Текстовая версия | Сейчас: 28.11.2024, 23:59 |