ilkz 0 17 августа, 2016 Опубликовано 17 августа, 2016 · Жалоба Добрый день. Впрсо имею я. Не получается под QT открыть устройство функцией USBDevice->Open(0). Если полезть в недра, то почему-то не формируется DevPath - он всегда равен "/", хотя должен быть большим и длинным с vid/pid и прочими штуками. Код такой: ... pUSBDevice = new CCyUSBDevice(); int deviceCount = pUSBDevice->DeviceCount(); // <- отрабатывает нормально pUSBDevice->Open(0) // <- вот тут, если полезть внутрь Open, то DevPath почему-то оказывается пустой ... Такое поведение и с компилятором Mingw и с VS2015. Тот же самый код, но собранный в виде проекта VS, работает нормально. Что я не докрутил или куда хотя бы копать для решения проблемы? Гугл молчит по данному вопросу. Спасибо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andrew_b 16 17 августа, 2016 Опубликовано 17 августа, 2016 · Жалоба Не получается под QTQuickTime не нужен. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ilkz 0 17 августа, 2016 Опубликовано 17 августа, 2016 · Жалоба Причем тут QuickTime? Я говорю о QT Creator ))) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andrew_b 16 17 августа, 2016 Опубликовано 17 августа, 2016 · Жалоба Причем тут QuickTime? Я говорю о QT Creator ))) Вы ощущаете разницу между QT и Qt? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ilkz 0 17 августа, 2016 Опубликовано 17 августа, 2016 · Жалоба Я конечно не настаиваю, но как мне кажется, из контекста вопроса понятно о чем идет речь. И давайте не будем разводить оффтоп. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Fedor 0 17 августа, 2016 Опубликовано 17 августа, 2016 · Жалоба Возможно в обработке строк дело. Попробуйте насильно выставить английскую локаль и юникод нужной версии. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andrew_b 16 17 августа, 2016 Опубликовано 17 августа, 2016 · Жалоба Я конечно не настаиваю, но как мне кажется, из контекста вопроса понятно о чем идет речь. И давайте не будем разводить оффтоп.Вот зовут вас, скажем, Ваня. А кто-то вас зовёт Вася. Подумаешь, всего одна буква. Из контекста понятно, о ком идёт речь. Впрочем, о чём это я. Некоторые тутотшние господа инженеры МГц и мГц путают. Тоже пустячок -- одна буква. Из контекста же понятно, о чём речь. Неряшливость в письме выдаёт неряшливость в мыслях. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Gorby 6 17 августа, 2016 Опубликовано 17 августа, 2016 · Жалоба Вот зовут вас, скажем, Ваня. А кто-то вас зовёт Вася. Подумаешь, всего одна буква. Из контекста понятно, о ком идёт речь. Впрочем, о чём это я. Некоторые тутотшние господа инженеры МГц и мГц путают. Тоже пустячок -- одна буква. Из контекста же понятно, о чём речь. Неряшливость в письме выдаёт неряшливость в мыслях. "Жора, не изводите себя, вы же ещё не отсидели за ТО дело!" 'c' В 9 случаях из 10 мГц в конце концов окажется МГц. Вы сами-то миллигерцами давно пользовались? Небось тогда же как водку отмеряли мегалитрами... Из контекста абсолютно ясно было, что никак не QuickTime имелся в виду. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
k155la3 27 17 августа, 2016 Опубликовано 17 августа, 2016 · Жалоба . . . . . . Такое поведение и с компилятором Mingw и с VS2015. Тот же самый код, но собранный в виде проекта VS, работает нормально. Какой версии VS ? . . . . . . Что я не докрутил или куда хотя бы копать для решения проблемы? . . . 1. При компляции и линковке обратите внимаение на все Warning. Иногда Warn - это вежливый намек компилятора на грубую ошибку. 2. Как тут правильно советовали, придецца перешерстить все опции прокта, а также #define - переменные, которые могу присутствовать как в опциях проекта, так запрятаны в файлах, обычно .h Посмотрите настройки проектов утилит от Cypress (в исходниках). Также просмотрите методы из pUSBDevice->XXXXXX - возможно получите дополнительную диагностику. Сравните эту диагностику рабочего и нерабочего проектов. 3. int deviceCount = pUSBDevice->DeviceCount(); // <- отрабатывает нормально Ну, допустим deviceCount получили 0 ? Этож тоже нормально. . . . . . for (int i=0; i < USBDevice->DeviceCount(); i++) { if (USBDevice->Open(i)) // а нет ли тут чевой ? { } else { } Не факт, что будет на Open( 0 ); Ну, итд итп и прочея и всякая ... Cypress дает хороший API к своим девайсам в виде dll. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ilkz 0 18 августа, 2016 Опубликовано 18 августа, 2016 · Жалоба Какой версии VS ? В виде отдельного проекта работает и под VS2010 и под VS2015. Из-под Qt (ага, теперь пишу правильно :maniac: ) пробовали с VS2015 - не хочет. ... Не факт, что будет на Open( 0 ); Пробовали от 0 до 255 :) Тоже толку ноль... DeviceCount всегда дает 1, если устройство подключено. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
k155la3 27 18 августа, 2016 Опубликовано 18 августа, 2016 (изменено) · Жалоба Проверяли ? Возможно в обработке строк дело. Попробуйте насильно выставить английскую локаль и юникод нужной версии. С юникодом могут быть нестыковки. Я его в опциях проекта отключаю и комментирую tchar.h ps - проверьте какой CyAPI.lib используется - для 32 или 64 версии. Изменено 18 августа, 2016 пользователем k155la3 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ilkz 0 18 августа, 2016 Опубликовано 18 августа, 2016 · Жалоба Всем спасибо за помощь, заработало. Нужно было подключить следующие либы (в особенности, последнюю): CyAPI.lib user32.lib setupapi.lib legacy_stdio_definitions.lib Помогла эта ссылка: http://www.cypress.com/forum/usb-high-spee...cyapilib-vs2015 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
k155la3 27 18 августа, 2016 Опубликовано 18 августа, 2016 · Жалоба . . . . Помогла эта ссылка: http://www.cypress.com/forum/usb-high-spee...cyapilib-vs2015 Хари Кришна, аллилуйя :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
billidean 0 7 ноября, 2017 Опубликовано 7 ноября, 2017 · Жалоба Приветствую. Стоит задача написать подобную прогу на Qt (буквы верные написал, на всякий случай) для обмена с EZ-USB FX3 (Cypress). Почитал по инету, наткнулся на вашу тему. Ясно, что нужно подключить указанные 4 библиотеки... Первые три я нашел, но вот legacy_stdio_definitions.lib не могу найти. Подскажите, где её найти? И еще, без неё проект не собирается? Писал проги для работы с FTDI - проблем вообще не возникло, подключил либу ftd2xx и все. Здесь же я пока только готовлюсь, но уже какие-то грабли начинаются с подключением кучи библиотек... Неужели Cypress менее заботится о своих потребителях? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
toweroff 1 8 ноября, 2017 Опубликовано 8 ноября, 2017 · Жалоба У меня EZ-USB (правда, FX2) в bulk нормально работают и с libusb. Что-то супрессовские библиотеки не приглянулись. Не помню уже чем, давно было Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться