[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [gulliver] Python et la gestion des signaux


From plaunay1 <pierre dot launay at ac-rennes dot fr>
Subject Re: [gulliver] Python et la gestion des signaux
Date Wed, 09 Apr 2008 22:03:07 +0200

Patrick Lamaizière a écrit :
Le Thu, 27 Mar 2008 21:50:22 +0100,
plaunay1 <pierre dot launay at ac-rennes dot fr> a écrit :

Bonjour,
Je recherche depuis longtemps déjà un moyen pour traiter des signaux
de la liaison série dans une interface graphique.

Concrètement l'appui sur la souris déclenche un évènement.
Est-il possible de provoquer un évènement si un caractère est en
attente sur la liaison série ?

Tu peux peut être faire un select() ? J'ai jamais utilisé les ports séries sous *nix.

Peut-on gérer un signal asynchrone ? comme une interruption IRQ (masquable ou non masquable) sur microcontrôleur et en python.

Je dirais que non. Déjà dans un gestionnaire de signal UNIX(tm) tu ne
peux utiliser qu'une poignée de fonctions et pas faire d'allocation
mémoire. Alors avec un langage interprété ça risque de pas le faire.


Ceci dit il doit y avoir des libs qui font le lien avec Python, ou il
est possible de linker du C.

J'ai essayé select() mais
Sur google :Résultats 1 - 10 sur un total d'environ 953 000 000 pour select() (0,17 secondes)
Faut combien de temps pour tous les regarder ?


Comme à l'atelier d'hier on a parlé interruption, j'ai trouvé ceci :
http://tldp.org/HOWTO/Serial-HOWTO.html
4.4 Interrupts
When the serial port receives a number of bytes (may be set to 1, 4, 8, or 14) into its FIFO buffer, it signals the CPU to fetch them by sending an electrical signal known as an interrupt on a certain wire normally used only by that port. Thus the FIFO waits until it has received a number of bytes and then issues an interrupt.


(1 octet (byte) me suffit)

Concrètement je voudrais créer un évènenement (event) pour une interface python graphique à partir de cette interruption.

Mais aussi un joli dessin
http://www.linux.it/~rubini/docs/serial/serial.html
Data flow in reading and writing

Je rame à 75 bauds, recherche idée, piste ... pour avancer à 1200 bauds (comme le minitel) avant d'atteindre le 115kbauds de l'USB/série !

Pierre