Forum Programmation.python Quel "structure" pour gérer ça

Posté par  (site web personnel) .
Étiquettes : aucune
0
12
juil.
2004
Le logiciel doit traiter des actions en fonction de temps de basculement avec un module par source pour choisir le signal qu'on surveille :
- clavier (appuie ou non sur une touche, un signal à l'appuie, un au relachement)
- souris_deplacement (la souris bouge, la sourie ne bouge plus)
- sonore (un signal entrant dépasse tel seuil, le signal ne dépasse plus tel seuille)
C'est toujours binaire.

Je cherche à programmer une écoute permanente sur la source choisi pour mesurer les temps entre bascules. Ex : la touche est relachée, ca fait 12s et 26 centièmes que la touche est appuyée.
J'avais pensé à une boucle qui interroge en permanence le flag d'un objet pour que ce soit l'objet qui gère et fournit juste un flag (ouvert fermé), le temps de bascule, etc. Est ce la bonne méthode ? Ca va saturer ? Faut il utiliser un timer ? Ca existe en python ? "flag changé ? + attente de 10ms" à l'infini ?
Ou alors le programme recoit un signal, il place le temps en temp, il reçoit un autre signal, il prend le nouveau temps et soustrait ?

Si vous avez des exemples ou du code : tant mieux.
Si vous avez juste des pistes, des algos, des idées : je prends !
  • # Moi je ferais...

    Posté par  . Évalué à 1.

    Bon je prendrais les objets, et j'implémenterai dedans une fonction pour passer le flag à 1, une pour le mettre à 0. Ensuite, quand tu passes le flag à 1, il enregistre dans une variable l'heure (précise à la milliseconde) et quand le flag repasse à 0, il compare l'heure actuelle à l'heure enregistrée.
    Si tu veux récupérer la durée en cours de route, tu fais juste une comparaison avec la variable d'heure stockée...
    Je suis clair ? J'espère...
    Si tu veux faire des opérations en parallèle, tu vas peut être avoir besoin des threads aussi...
    • [^] # Re: Moi je ferais...

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

      C'est une des voies envisagées mais la fonction principale qui va aller voir les flags des objets, je la fait boucler comment ?
      En permanence, ça risque de plomber la machine à 99%, non ?
      C'est possible de définir une action de l'objet principal sur changement de flag de l'objet qui gère le signal ? C'est comme un callback quand on programme une GUI ?
  • # Moi je ferais...

    Posté par  . Évalué à 1.

    Bon je prendrais les objets, et j'implémenterai dedans une fonction pour passer le flag à 1, une pour le mettre à 0. Ensuite, quand tu passes le flag à 1, il enregistre dans une variable l'heure (précise à la milliseconde) et quand le flag repasse à 0, il compare l'heure actuelle à l'heure enregistrée.
    Si tu veux récupérer la durée en cours de route, tu fais juste une comparaison avec la variable d'heure stockée...
    Je suis clair ? J'espère...
    Si tu veux faire des opérations en parallèle, tu vas peut être avoir besoin des threads aussi...
    • [^] # Re: Moi je ferais...

      Posté par  . Évalué à 1.

      Désolé pour ce double post, ça a laggué lorsque j'ai posté donc j'ai pas eu le message de confirmation d'envoi avec le Lien suivant.
      Sorry

Suivre le flux des commentaires

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