Russian Qt Forum
Май 04, 2024, 15:19 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: 1 ... 49 50 [51] 52 53 ... 88   Вниз
  Печать  
Автор Тема: Создаю библиотеку для работы с последовательными портами. [УШЕЛ ИЗ ПРОЕКТА].  (Прочитано 752827 раз)
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #750 : Декабрь 09, 2011, 13:35 »

ну так по умолчанию клонируется же и история?
Записан

ArchLinux x86_64 / Win10 64 bit
b-s-a
Гость
« Ответ #751 : Декабрь 09, 2011, 14:02 »

конечно. вот только история пустого репозитория тоже пуста. или я ошибаюсь?
Записан
Larry
Гость
« Ответ #752 : Декабрь 12, 2011, 17:00 »

Добрый день! Подскажите пожалуйста, как можно реализовать следующее. Я работаю с модемом через последовательный порт. Все прекрасно работает, когда запрос делаешь один. При нескольких запросах ответы сливаются в один. Н-р:
Код:
query("#CCID");
query("+CPIN?");
query("+CREG?");
query("+CGATT?");

а в ответ:
AT#CCID

ERROR
AT+CPIN?

ERROR
AT+CREG?

+CREG: 0,0

OK
AT+CGATT?

+CGATT: 0

OK
« Последнее редактирование: Декабрь 12, 2011, 17:03 от Larry » Записан
Larry
Гость
« Ответ #753 : Декабрь 12, 2011, 17:33 »

проверил сколько раз вызывается слот присоединенный к readyRead, пишет, что один раз, а отправлено 4 запроса...как такое может быть?
Записан
b-s-a
Гость
« Ответ #754 : Декабрь 12, 2011, 17:38 »

Очень просто. состояние порта проверяется не в реальном режиме, а периодически. Если модем успевает ответить на все команды за этот период, то ответы сливаются. Рекомендую тебе делить ответы по строкам - это в любом случае надежней.
Записан
Larry
Гость
« Ответ #755 : Декабрь 12, 2011, 18:01 »

в смысле строками? я и так отсылаю строку за строкой....можно поподробнее...спасибо
Записан
Larry
Гость
« Ответ #756 : Декабрь 12, 2011, 18:48 »

Не знаю правильно или нет, но проблему решил блокированием порта до прихода сообщения, а остальные направляю в очередь...
Записан
b-s-a
Гость
« Ответ #757 : Декабрь 13, 2011, 11:07 »

kuzulis, как успехи в переговорах с Nokia? Все заглохло?
Записан
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #758 : Декабрь 13, 2011, 11:15 »

По ходу да. Жду ответа, ничего не было слышно с пятницы.
Сегодня подожду еще чуток и напомню им, мож забыли.
Записан

ArchLinux x86_64 / Win10 64 bit
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #759 : Декабрь 13, 2011, 15:04 »

2 b-s-a,

Я вот что думаю, зря наверное для перечислений типа Parity и т.п.
мы присвоили им конкретные значения.

В частности, для Windows и *nix для того же Parity значения отличаются,
и в Windows они не совпадают с тем, что заявлено в serialport.h.

В serialport.h:
Код
C++ (Qt)
...
enum Parity {
       NoParity = 0,
       EvenParity = 2,
       OddParity = 3,
       SpaceParity = 4,
       MarkParity = 5,
       UnknownParity = -1
   };
...
 

в winbase.h:
Код
C++ (Qt)
...
#define NOPARITY 0
#define ODDPARITY 1
#define EVENPARITY 2
#define MARKPARITY 3
#define SPACEPARITY 4
#define ONESTOPBIT 0
#define ONE5STOPBITS 1
#define TWOSTOPBITS 2
...
 
Записан

ArchLinux x86_64 / Win10 64 bit
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #760 : Декабрь 13, 2011, 15:57 »

Итак, только что я получил от Marius-a письмо о том, что он не забыл про QSerialDevice.
Он написал, что недавно они закончили процесс легализации (юридические дела)
и в ближайшее время он начнет создавать в Jira "CLA sign-off tasks".
И тогда мы получим назначенные Jira задачи, где мы будем добавлять/отклонять
специальные CLA.

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

ArchLinux x86_64 / Win10 64 bit
b-s-a
Гость
« Ответ #761 : Декабрь 13, 2011, 16:05 »

2 b-s-a,

Я вот что думаю, зря наверное для перечислений типа Parity и т.п.
мы присвоили им конкретные значения.
Хочешь не хочешь, а по любому что-то присвоить придется. По умолчанию, enum в любом случае присваивает. Или ты хотел делать через константы?
В частности, для Windows и *nix для того же Parity значения отличаются,
и в Windows они не совпадают с тем, что заявлено в serialport.h.
Знаю что отличаются. Но в отличие от *nix под виндой не надо эмулировать Mark/Space. А именно из-за этого я настаивал на данных значениях.
Записан
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #762 : Декабрь 13, 2011, 16:15 »

Цитата: b-s-a
Хочешь не хочешь, а по любому что-то присвоить придется.
По умолчанию, enum в любом случае присваивает. Или ты хотел делать через константы?
Я думал, что может вообще отказаться от конкретных значений enum-ов, которые
есть сейчас (ну, кроме Unknown). т.е. пусть компилятор
сам им присвоит по умолчанию 0, 1, 2 и т..п.
А от enum Rate можно было бы вообще отказаться.
А в эмуляции паритета и т.п. использовать или константы или другие enum - но уже
внутри engine конкретной платформы.

К чему это я все: к тому, что при генерации документации текущие
значения enum будут отражены и в ней тоже. И юзер посмотрит
их и скажет, а почему оно равно 3 а не 5 и не 99.
т.е. не нужно "выносить сор из избы" (с). И лучше,
если в документации эти enum будут без значений вообще.

Ну и от Unknown тоже придется скорее всего избавляться.


Цитировать
Знаю что отличаются. Но в отличие от *nix под виндой не надо эмулировать Mark/Space. А именно из-за этого я настаивал на данных значениях.
Я понял. Просто оно как-то некрасиво что-ли получается. Типо для одной платформы эти константы "заточены".

Хотя - ХЗ. Посмотрим что дальше будет.
« Последнее редактирование: Декабрь 13, 2011, 16:18 от kuzulis » Записан

ArchLinux x86_64 / Win10 64 bit
b-s-a
Гость
« Ответ #763 : Декабрь 13, 2011, 16:22 »

На счет Unknown согласен, возможно следует избавиться. Оно где-то реально используется?
Записан
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #764 : Декабрь 13, 2011, 16:37 »

Цитировать
Оно где-то реально используется?
Только при определении текущих настроек порта во время его открытия,
т.е. в случае каких либо ошибок при их детектировании
или неизвестном параметре устанавливается Unknown.

Т.е. реально в структурах типа DCB и termius могут быть
значения полей /битов установленные "от балды". И
в этом случае мы спасаемся, присвоив   Unknown соответствующему параметру.

Например, вдруг, гипотетически в DCB.ByteSize будет установлено 9 (ну или сочетание
любых флагов типа fRtsControl, fDsrSensitivity и т.п. не будет соответствовать ожидаемой комбинации),
и что тогда отображать пользователю? Какое значение параметра?

Вот в этом то и вся заковырка.
Записан

ArchLinux x86_64 / Win10 64 bit
Страниц: 1 ... 49 50 [51] 52 53 ... 88   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.172 секунд. Запросов: 23.