Lib qui permet de détecter un Idevice

L'auteur de ce sujet a trouvé une solution à son problème.
Auteur du sujet

Hey tout le monde,alors je voudrai savoir quelle lib qui permet de détecter un Idevice(Iphone5,Iphone6).

PS:J'utilise QT 5.3.2 et bientôt QT 5.4 EDIT:Maintenant QT 5.4

Merci d'avance !!!!!

Édité par Coyote

Associer a aero15.

+0 -0

Cette réponse a aidé l'auteur du sujet

Ben il faut demander les vendorID/deviceID des périphériques connectés et tenter de matcher ceci avec les numéros des idevices qui t’intéresse.

Voici la liste des deviceID répertorié pour Apple, Inc.

Donc la lib qu’il te faut c’est libusb en fait.

La répétition est la base de l’enseignement. — ☮ ♡

+0 -0

Cette réponse a aidé l'auteur du sujet

Mais je code pas en Python,je code en C++ !

Ethan Code

Ah oui, c’est dans les tags du sujet en plus. Je ne sais pas pourquoi j’avais en tête que tu étais en Python. Mais bon on trouve des bouts de code tout aussi facilement en C++. Comme ici par exemple. Bien évidemment ce genre d’exemple est probablement truffé de bogue potentiel mais c’est un point de départ.

La répétition est la base de l’enseignement. — ☮ ♡

+1 -0
Auteur du sujet

Tu pourrait m'expliquer que fait chaque fonction !!merci d'avance .

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
static void print_devs(libusb_device **devs)
{
    libusb_device *dev;
    int i = 0;

    while ((dev = devs[i++]) != NULL) {
        struct libusb_device_descriptor desc;
        int r = libusb_get_device_descriptor(dev, &desc);
        if (r < 0) {
            fprintf(stderr, "failed to get device descriptor");
            return;
        }

        printf("%04x:%04x (bus %d, device %d)\n",
            desc.idVendor, desc.idProduct,
            libusb_get_bus_number(dev), libusb_get_device_address(dev));
    }
}

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    libusb_device **devs;
        int r;
        ssize_t cnt;

        r = libusb_init(NULL);
        if (r < 0)
            return r;

        cnt = libusb_get_device_list(NULL, &devs);
        if (cnt < 0)
            return (int) cnt;

        print_devs(devs);
        libusb_free_device_list(devs, 1);

        libusb_exit(NULL);

    return a.exec();
}

Édité par Ethan Code

Associer a aero15.

+0 -1
Staff

Cette réponse a aidé l'auteur du sujet

Heu… Ok tu nous a collé du code, on doit en faire quoi ?

edit: tu devrais prendre ton temps avant de poster et pas éditer pour rajouter des trucs, c'est dur à suivre…

Édité par Kje

+1 -0

Cette réponse a aidé l'auteur du sujet

Tu pourrait m'expliquer que fait chaque fonction !!merci d'avance .

Non, ca c'est aussi ton travail de dev que de chercher dans la doc et essayer de comprendre par toi même… Si vraiment tu as des questions particulières alors vas y, mais on ne peux pas faire tout le travail pour toi (surtout que tu as de la chance les fonctions ont des noms plutôt évident)

ZdS, le best du Zeste ! Tuto Arduino, blog, etc

+5 -0

Cette réponse a aidé l'auteur du sujet

Franchement, le code est assez explicite. A part peut-être les détails techniques du printf du style %04x. Si tu veux comprendre ce que ça veut dire, va voir la doc. C'est celle du C++ mais y a aussi celle du C.

Si tu as du mal avec l'anglais, on peut toujours t'aider si tu as une question précise.

EDIT : C'est marqué comme résolu, pas remarqué, désolé.

EDIT : Wow, tu réagis rapidement (même pas une minute ^^ ).

Édité par louk

+1 -0
Vous devez être connecté pour pouvoir poster un message.
Connexion

Pas encore inscrit ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte