crossplatform.ru

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

14 страниц V  « < 5 6 7 8 9 > »   
Ответить в данную темуНачать новую тему
> QtSerialPort, Проблема сборки QtSerialPort под Windows
kuzulis
  опции профиля:
сообщение 22.3.2013, 10:08
Сообщение #61


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

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

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




Репутация:   7  


Цитата(NAUGREEM @ 22.3.2013, 10:13) *
Цитата(kuzulis @ 21.3.2013, 23:44) *
* если просто открываю порт и выдергиваю блютуз - то срабатывает triggeredEventMask = 0


ты выдёргиваешь блютуз-свисток из усб, или отключаешь блютуз-девас от питания?


Выдергиваю свисток
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
NAUGREEM
  опции профиля:
сообщение 22.3.2013, 10:20
Сообщение #62


Студент
*

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

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




Репутация:   0  


Цитата(kuzulis @ 22.3.2013, 11:08) *
Выдергиваю свисток


с этим-то проблем нету...
там и порт пропадает из списка...

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

а при выдёргивании свиська на WinXP твой патч работает - ошибка 9 вылазит
так, что пусть его смело принимают)


и да: спасибо тебе за библиотеку и помошь)

Сообщение отредактировал NAUGREEM - 22.3.2013, 10:26
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kuzulis
  опции профиля:
сообщение 22.3.2013, 10:46
Сообщение #63


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

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

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




Репутация:   7  


Цитата(NAUGREEM @ 22.3.2013, 11:20) *
Цитата(kuzulis @ 22.3.2013, 11:08) *
Выдергиваю свисток


с этим-то проблем нету...
там и порт пропадает из списка...

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

а при выдёргивании свиська на 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  


Цитата(kuzulis @ 26.3.2013, 11:23) *
напомни плз., о каком типе чипа идет речь?

BT хост: HAMA Vid:0a12 Pid:0001
BT стек: стандартный микросовтовский WinXP
BT девайс: Bluegiga WT11
USB-UART: CP2103

Цитата(kuzulis @ 26.3.2013, 11:23) *
Если ты хочешь отследить именно выдергивание - то проверяй код ошибки только на ResourceError,
а не на > 0.

просто выдёргиванием ситуация не обходится - надо отслеживать пропадание WT11

Цитата(kuzulis @ 26.3.2013, 11:23) *
Так ты выведи GetLastError в консоль (именно из метода decodeSystemError())и посмотри какой реальный номер имеет системная ошибка
и при каких обстоятельствах: возвращается ли ReadFile с ошибкой или нет, возвращаются ли иные системные вызовы с ошибками?

как писал выше:
Цитата
посмотрел номер ошибки в GetLastError() - 997
гугл сказал: Error 997: Overlapped I/O operation is in progress

и ещё GetLastError() == 0 было, при котором serial->error() возвращал 11, так как ERROR_SUCCESS у тебя не обрабатывается...

Цитата( @ 26.3.2013, 11:23) *
А ERROR_SUCCESS у тебя реально появляется? Если ДА - то при каких обстоятельствах.

реально, где-то на waitForReadyRead(), который не дожидался данных, и только на USB

Цитата(kuzulis @ 26.3.2013, 11:23) *
Так посмотри, после чего она появляется в Linux, при каких обчтоятельствах, после какого системного вызова?

да кажется после каждого

может, правда, у меня какой глючёк был - сей девайс виртуалка на время перехватывала
я пока просто ENOTTY в игнор поставил)

Цитата(kuzulis @ 26.3.2013, 11:23) *
В общем, поподробнее поисследуй поведение со своим чипом, т.к. мне трудно что-либо советовать и фиксить без
сопутствующей информации. Т.к. нужно понять все обстоятельства при которых появляются ошибки! :)

И приведи лог всей цепочки вызовов, т.е. напихай 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  


Цитата(Гость_Некий_* @ 9.7.2013, 20:14) *
Я скачал новую версию 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-шных классов.. Если я не прав, то поправьте..
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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




RSS Текстовая версия Сейчас: 28.11.2024, 22:26