Re: port série

Page principale

Répondre à ce message
Auteur: Yves Martin
Date:  
À: ML Guilde
Sujet: Re: port série
Selon "alain.dieudonne" <alain.dieudonne@???>:

> La lecture du port ne provoque pas d'utilisation 100% du CPU. J'ai
> essayé une méthode "alternative" (qui va en faire sourire qq uns): j'ai
> bloqué une touche du clavier en position enfoncée. Dans ce cas, la
> déconection du GPS devient trés rare. Le CPU n'est que peu solicité.


Et sous Windows, le CPU était à 100 % ? C'est possible ;)

> > Une solution "crade" serait de faire un script qui a fréquence régulière
> > envoie un signal inoffensif non masqué (à tester mais pourquoi pas
> SIGINT)
> > au processus MapStore/Wine. Cela aura pour effet de réveiller le
> processus
> > qui lira le port série... On peut aussi envoyer des événements X11 mais
> c'est
> > moins simple.
>
> Pourquoi pas essayer la méthode "crade" mais simple?
> Peux tu me guider, car mes connaissances informatiques sont trés
> limitées.


En fait ma solution crade consiste à faire du code - dont le résultat est
le même que de laisser une touche enfoncée - ça doit être une bonne solution
alors ;)

Je ne suis pas un pro du shell script mais voici un début:

#!/bin/bash

## Commande du programme à <<motiver>>
PROG="/Ici ta commande wine MapStore/"

## Période de motivation en secondes (à régler)
PERIOD=5

## Lancer du programme peu motivé
$PROG &

PROGID=$!

while true; do
        sleep $PERIOD;
        kill -INT $PROGID;
done


Evidemment sous GPL, et sans garantie ;)
J'ai testé avec un PROG=unshell.sh mais le problème c'est que bash
s'interrompt sur SIGINT et aussi sur SIGALRM.

J'ai testé avec un PROG=wine regedit et il semblerait qu'il supporte
mieux le signal SIGINT que bash - mais à savoir s'il est masqué ou pas ?

Peut-être qu'un pro des signaux pourra nous dire quel fichier du /proc
il faut lire et comment l'interpréter pour savoir si SIGINT est masqué
ou pas dans wine/MapStore ? (je vais chercher de mon côté aussi)

En espérant que cela fonctionne ;)
A+
--
Yves Martin