Forum Linux.général LIRC : besoin de quelques infos

Posté par  .
Étiquettes : aucune
-1
9
jan.
2009
Bonjour.

Je cherche des informations sur IRC, particulièrement sur le code source.

En effet, le code source de LIRC contient un certain nombre de drivers spécifiques, et je voudrais savoir s'il est nécessaire de les compiler pour pouvoir utiliser LIRC sur une pauvre liaison série ou parallèle. Si c'est effectivement le cas pourquoi ? Pourquoi ne pas avoir utilisé les drivers standards de Linux ? Parce que sinon, c'est pas top du tout pour la portabilité ...

Merci d'avance.
  • # astuce ?

    Posté par  (site web personnel) . Évalué à 2.

    l'astuce ça doit être que tu parles d'abord de IRC puis de en:LIRC ?

    j'ai bon ?
  • # telecommande

    Posté par  . Évalué à 2.

    le probleme n'est surement pas tant pour le port serie/usb

    que de recuperer les differents codes que differentes telecommandes vont envoyés au recepteur infrarouge/bluetooth...

    si toutes les commandes envoyaient le meme code pour la meme action
    la telecommande de ton DVD pourrait aussi piloter ta chaine hifi ou ton magnetoscope

    et sauf à avoir le meme constructeur et des produits de meme generation, chaque constructeur envoie surement des codes à lui avec ses telecommandes....

    enfin c'est mon idée et c'est pour LIRC
    • [^] # Re: telecommande

      Posté par  . Évalué à 2.

      Oui, c'est bien de LIRC que je parle ...

      Cela dit je ne comprend pas l'intéret d'n driver noyau pour la couche par dessus la liaison physique (USB, parallèle série ...). Quoique en ayant examiné un peu le code source de LIRC je commence à comprendre l'intret (bien que je ne sois pas convaincu que ce soit la meilleure façon de faire du code portable, mais ce n'est malhereusement pas le but initial de LIRC).

      Je vais essayer de m'adresser directement aux développeurs du projet pour leur poser mes questions, qui poren surtout sur la relation entre les programmes en espace utilisateur (lircd, etc ...) et les modules noyau (read/write, IOCTL, etc ....). Je n'ai pas trouvé de doc claire sur ce sujet et comme je ne suis pas spécialiste des drivers Linux, c'est un eu pénible à comprendre.
      • [^] # Re: telecommande

        Posté par  . Évalué à 2.

        je me trompe peut-etre mais le module noyau va recuperer les trames sur le port Serie/USB

        ces trames sont differentes selon :
        - le port USB/Serie
        - la telecommande (cf mon post precedent)
        d'ou l'interet des "drivers" qui correspondront à la telecommande


        ensuite c'est passé au daemon (lircd) qui lui va repercuter à l'environnement de l'utilisateur ce que le module noyau aura recupéré
        • [^] # Re: telecommande

          Posté par  . Évalué à 2.

          Oui, c'est aussi ce que j'ai compris. Par contre je trouve que ce découpage n'est pas assez explicite : je ne comprends que les grandes lignes. Ensuite mettre ces "drivers" de télécommande dans le kernel ne me parait pas judicieux pour la portabilité sur d'autres OS. Il aurait certainement été, à mon avis, plus judicieux de le compiler en librairie dynamique. Celà dit, ce n'est que mon analyse après première lectue du code, et du point de vue de la portabilité ... ou alors quelque chose m'échappe.
          • [^] # Re: telecommande

            Posté par  . Évalué à 2.

            parce que selon la telecommande que tu regles tu vas aller lire
            1 bit, 1 octet, une suite d'octet sur le port en question

            puis en fonction de la telecommande, il te faut convertir si c'est haut/bas, + ou -, 0...9

            donc pour moi les 2 sont liés et se font au niveau du driver
            le driver se chargeant de retourner la valeur "haut" "bas" "+" "-" au logiciel en userland


            n'est ce pas le but du driver que de convertir un signal venant d'un peripherique
            en un signal comprehensible par la partie utilisateur ?

            ainsi que tu stockes un fichier sur ta clef USB, sur ton disque IDE ou SATA,
            le logiciel donne le meme "ordre" à la machine.
            le driver se chargeant ensuite de convertir cela en information pour le peripherique
            de meme le peripherique renvoie son "etat"
            qui est decodé par le driver
            qui le renvoi à l'interface utilisateur ("disque plein" par exemple)

            comment verrais-tu le fonctionnement d'un driver (quel qu'il soit) ?
            • [^] # Re: telecommande

              Posté par  . Évalué à 2.

              n'est ce pas le but du driver que de convertir un signal venant d'un peripherique
              en un signal comprehensible par la partie utilisateur ?



              Tout dépend de ce que l'on entent par "périphérique" ou "partie utilisateur" ....

              Que tu utilises ta télécommande sur Linux, BSD ou Solaris, la partie "accès à la télécommande" se fera de la même façon, donc pas forcément nécessaire de mettre le code dans une partie "spécifique Linux".

              Par contre effectivement, l'accès aux périphériques "bas niveau" tel la liaison série ou la liaison USB doit se faire en mode kernel, quoique, pour l'USB, il y a moyen de faire un driver en userspace (mais est-ce faisable de la même façon sur les autre OS?). De mémoire il existe sous unix une norme pour les accès aux liaisons série non ? Ou alors j'ai mauvaise mémoire .... Je retrouverai ça mais la de suite j'ai pas trop le temps de chercher ....
              • [^] # Re: telecommande

                Posté par  . Évalué à 2.

                Bon, j'ai mauvaise mémoire :(

                A priori, pour une interface série, seules les communications "standard" sont plus ou moins normalisées (accès aux ports via /dev/ttySx ou équivalent sur d'autres systèmes), mais pour ce que fait LIRC il n'y a aps l'air d'avoir quelque chose.

                Bon pas grave..... Je reste convaincu cependant qu'une bonne partie des "drivers" auraient pu être déplacé hors de l'espace kernel pour favoriser la portabilité .... Mais ça n'engage que moi et je peux me tromper.
                Loin de moi l'idée de critiquer de façon négative le projet LIRC, je trouve que c'est un projet assez bien fait, cependant je suis un peu frustré du fait qu'il nesoit pas portable plus facilement.

                Je reviendrai certainement vous voir si j'ai besoin de plus d'infos sur les parties "Driver linux" que je ne comprend pas.
                • [^] # Re: telecommande

                  Posté par  . Évalué à 2.

                  Bon finalement je n'ai pas si mauvaise mémoire que ça :

                  http://www.easysw.com/~mike/serial/serial.html#3_1

                  Il y a moyen de récupérer l'état des lignes d'un port série de manière standardisée.

                  Ma question : LIRC utilise-t-il cette interface ? Je n'ai pas encore déroulé le code source pour vérifier .... Si c'est le cas il doit être facile de porter LIRC (au moins la partie utilisant le port série) sur autre archi ...

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.