2016-10-13 1 views
0

Passage du monde des microcontrôleurs intégrés et C, à C++ avec wxWidgets.Comment continuer à interroger HIDAPI dans wxWidgets?

J'ai créé un simple programme d'interface graphique, en utilisant des blocs de code et wxWidgets pour interfacer avec un périphérique USB Hid que j'ai fait en utilisant le HIDAPI de signal11.

En utilisant des boutons simples, je peux connecter, déconnecter et vérifier les versions du logiciel du micrologiciel sur l'appareil.

Ce que je veux être en mesure de faire est d'avoir l'interface graphique détecte automatiquement si un périphérique est présent ou non, donc si je débranche mon appareil l'interface graphique répond (tout en grisé) ou re permet tout quand il est branché.

Est-ce quelque chose qui a besoin d'un fil sans fin pour atteindre, ou y a-t-il un meilleur moyen? Je ferais généralement quelque chose comme ça dans une routine d'interruption sur un micro-contrôleur, mais je ne suis pas sûr de son équivalent sur la plate-forme de bureau?

+0

oui, il a probablement besoin d'un thread interminable, qui informera l'interface graphique sur la connexion/déconnexion USB. – Igor

Répondre

0

Les connexions/déconnexions de périphériques USB ne sont pas gérées par wxWidgets, vous devrez donc utiliser des API spécifiques à la plate-forme et cela dépendra de votre plate-forme. Sous Windows, vous n'avez pas besoin d'un thread d'arrière-plan car vous recevez ces notifications sous la forme d'un message Windows WM_DEVICECHANGE, vous pouvez donc simplement remplacer MSWHandleMessage() dans la fenêtre pour laquelle vous aviez précédemment demandé à Windows d'envoyer ces messages à l'aide de RegisterDeviceNotification() et de gérer Là-bas.