Как совместить Qt5 и WinUSB?

Доброго времени суток.

Стоит задача написать специальное ПО, которое бы в режиме реального времени считывало пакеты с внешнего датчика, подключенного по USB, и выводило полученную информацию в виде графика. С интерфейсной частью всё ясно (благо, в бета версии Qt 5.7 открыли доступ к QCharts), то с подключением датчика по USB возможны варианты. Скажу сразу, что кроссплатформенность не требуется, Windows only, но, возможно, потребуется поддержка XP. Собственно, вариантов я пока нашел только два:
1. libusb -- проста в подключении, но рабочих примеров маловато и, как я понял из документации, на винде не поддерживается обнаружение только что подключенных устройств
2. WinUSB -- так и не понял, какие же заголовки нужно подключить, чтобы хотя бы инициализировать работу с USB, в примерах MSDN это почему-то не написано. Погуглив, сообразил, что это должен быть winusb.h и windows.devices.usb.h, но даже после этого код из примеров не хочет компилироваться.

Собственно, есть ли возможность подключиться к шине USB наподобие "сигнальной" модели Qt? Или, возможно, существует биндинг Qt к имеющимся библиотекам?
  • Вопрос задан
  • 760 просмотров
Пригласить эксперта
Ответы на вопрос 1
ntkt
@ntkt
Потомственный рыцарь клавиатуры и паяльника
Как советует MSDN,
Start with the WinUsb Application template included with Microsoft Visual Studio (Ultimate or Professional)

На самом деле там ошибка, примеры лежат в последних версиях DDK, а не в самом MSVS.
https://code.msdn.microsoft.com/windowshardware/wi...
Критерий успеха -- успешная сборка упомянутого примера из DDK.

Насколько быстро и просто будет завести это все c QT, я не знаю.
Если нужно быстро, просто и без приколов, то я бы сразу реализовывал это все на майкрософтовском стеке целиком (.NET + WinUsbNet = это .NET биндинги для winusb).
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы