crossplatform.ru

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

44 страниц V  « < 37 38 39 40 41 > »   
Ответить в данную темуНачать новую тему
> QSerialDevice - Библиотека для работы с COM-портами
RazrFalcon
  опции профиля:
сообщение 2.3.2013, 0:23
Сообщение #381


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

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




Репутация:   212  


Выдергивание устройства детектится.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kuzulis
  опции профиля:
сообщение 2.3.2013, 18:00
Сообщение #382


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

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

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




Репутация:   7  


Цитата(RazrFalcon @ 2.3.2013, 1:23) *
Выдергивание устройства детектится.


Ок, тогда я этот патч представляю для ревью.

Теперь другой вопрос по другим твоим девайсам типа блютуса и т.п.

Я на скринах вижу, что для FTDI детектится описание, VID/PID и т.п.,
а вот для блютуса везде пусто..

Так вот вопрос: а утилита IORegistryExplorer видит какие нить VID/PID и т.п.?

Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
RazrFalcon
  опции профиля:
сообщение 2.3.2013, 18:49
Сообщение #383


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

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




Репутация:   212  


Гляну. Но по-моему это какие-то виртуальные устройства мака. Я к ним даже подключиться не могу.

Сегодня проверю инфу у блютуза.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
RazrFalcon
  опции профиля:
сообщение 2.3.2013, 22:56
Сообщение #384


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

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




Репутация:   212  


Его вообще нет в том списке...
Все что нашел:
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
RazrFalcon
  опции профиля:
сообщение 3.3.2013, 23:36
Сообщение #385


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

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




Репутация:   212  


А как работает смена скорости? Нужно ли переподключатся или можно на лету менять.

А то, опять же на маке, прибор не отвечает на нужной скорости.

Выглядит это приблизительно так:
1) Конектимся к устройству.
2) Ставим скорость 56700
3) Работаем, работаем
4) Меняем скорость и посылаем прибору команду на новой скорости.
5) Ответа нет

А если сразу ставим нужную скорость, а не 56700, и сразу посылаем эту саму команду - то все норм.
То есть смена скорости работает только после рестарта проги.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kuzulis
  опции профиля:
сообщение 4.3.2013, 9:57
Сообщение #386


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

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

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




Репутация:   7  


Цитата(RazrFalcon @ 4.3.2013, 0:36) *
А как работает смена скорости? Нужно ли переподключатся или можно на лету менять.

А то, опять же на маке, прибор не отвечает на нужной скорости.

Выглядит это приблизительно так:
1) Конектимся к устройству.
2) Ставим скорость 56700
3) Работаем, работаем
4) Меняем скорость и посылаем прибору команду на новой скорости.
5) Ответа нет

А если сразу ставим нужную скорость, а не 56700, и сразу посылаем эту саму команду - то все норм.
То есть смена скорости работает только после рестарта проги.


Должно на лету работать.
А как твое у-во определяет то, что ему пришла команда уже на другой скорости?

Дай минимальный проект который проблему воспроизводит.

ЗЫ:
Также запости баг, о котором ты говорил ранее про невозможность установки в Маке, типа там где ты что-то вручную копируешь,
или как то так.


---

UPD: И кстати, а можешь в коде заменить
    ::CFDictionaryAddValue(matching,
                           CFSTR(kIOSerialBSDTypeKey),
                           CFSTR(kIOSerialBSDAllTypes));

на
    ::CFDictionarySetValue(matching,
                           CFSTR(kIOSerialBSDTypeKey),
                           CFSTR(kIOSerialBSDAllTypes));


И попробовать снова?

Сообщение отредактировал kuzulis - 4.3.2013, 12:19
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
RazrFalcon
  опции профиля:
сообщение 4.3.2013, 12:30
Сообщение #387


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

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




Репутация:   212  


Ну значит баг. Так как не меняет... Прибору можно вручную задать скорость. На самом приборе.

Хотел запостить баг сборки/линковвки. Теперь вообще не собирается. Версия из git. Текущая.

http://pastebin.com/7CKn3zeb

Сообщение отредактировал RazrFalcon - 4.3.2013, 12:31
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kuzulis
  опции профиля:
сообщение 4.3.2013, 12:52
Сообщение #388


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

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

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




Репутация:   7  


Цитата(RazrFalcon)
Ну значит баг. Так как не меняет... Прибору можно вручную задать скорость. На самом приборе.


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

Цитата(RazrFalcon)
Хотел запостить баг сборки/линковвки. Теперь вообще не собирается. Версия из git. Текущая.

http://pastebin.com/7CKn3zeb


Да не может быть.
Скорее всего у тебя линкуется старая либа, где нет QSerialPort::setPortName(QString const&),
т.к. setPort(..) заменили на setPortName(..).

--

Оопс, сорри реально есть такой касяк... О_о - хз как оно с setPortName вышло..
По ходу что-то профукалось после переезда из Playground в /qt5.1.


И не забудь проверить с CFDictionarySetValue() - заработает енумератор или нет.

Сообщение отредактировал kuzulis - 4.3.2013, 13:05
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
RazrFalcon
  опции профиля:
сообщение 4.3.2013, 12:56
Сообщение #389


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

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




Репутация:   212  


Так какой пример?

    port->setPort(text);
    if (port->open(QIODevice::ReadWrite)) {
        port->setBaudRate(QSerialPort::Baud57600);
        port->setDataBits(QSerialPort::Data8);
        port->setParity(QSerialPort::NoParity);
        port->setFlowControl(QSerialPort::NoFlowControl);
        qDebug() << "connected to:" << port->portName() << port->baudRate();
        connect(port, SIGNAL(error(QSerialPort::SerialPortError)),
                this, SLOT(onError(QSerialPort::SerialPortError)));
        return true;
    }

...
port->write("blah-blah"); // работаем с устройством
// приходит ответ на readyRead

// потом в какой-то момент
        port->setBaudRate(QSerialPort::Baud9600);
// снова
port->write("blah-blah");
// ответов уже нет




2) я ж написал. Собирал из гита. Никаких левых либ.
UPD: ясно

Сообщение отредактировал RazrFalcon - 4.3.2013, 12:56
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kuzulis
  опции профиля:
сообщение 4.3.2013, 13:09
Сообщение #390


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

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

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




Репутация:   7  


Цитата(RazrFalcon @ 4.3.2013, 13:56) *
Так какой пример?


1. Эмм. а ты проверяешь на реткоды для port->setBaudRate()?
Может оно фейлится.

2. И еще надо учесть, чтобы в момент setBaudRate() не было никакого I/O,
т.к. оно асинхронное и может что-то передавать/принимать в этот момент,
поэтому ХЗ как оно там себя поведет.

Цитата
2) я ж написал. Собирал из гита. Никаких левых либ.
UPD: ясно

Блин, это проблема у тебя при сборке! Ты сначала удали предыдущую установленную версию с Мака,
т.к. он берет заголовок от старой версии. :)

Сообщение отредактировал kuzulis - 4.3.2013, 13:26
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

44 страниц V  « < 37 38 39 40 41 > » 
Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


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




RSS Текстовая версия Сейчас: 12.11.2024, 23:01