Affichage avec ncurses : clignotement écran

Résolu
ebousquie Messages postés 40 Date d'inscription   Statut Membre Dernière intervention   -  
ebousquie Messages postés 40 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
Je réalise une interface dans le terminal entre le PC et un outil de tracking de position connecté sur le port série. Je gère les commandes clavier avec la bibliothèque ncurses. Mon programme en C++ ressemble à celui-ci:

while(true)

{
acquérir nouvelle position;
clear();
move(0,0);
printw ("nouvelle position: %f \n", nouvelle_pos);
move(-10,0)
printf("tapez ESPACE pour sortir")

si ESPACE, quitter
}

Affichage obtenu:

######################
nouvelle position: 0.045
tapez ESPACE pour sortir
######################

deux problèmes:
-malgré les refresh() que j'ai tenté de glieer un peu partout, les move() ne sont pas respectés. (pas très grave)
-l'écran clignotte sans arrêt, sûrement à cause du clear() (plus grave). Mais comment mettre à jour l'affichage sans avoir de clignottement?


Merci d'avance pour vos réponses

1 réponse

ebousquie Messages postés 40 Date d'inscription   Statut Membre Dernière intervention  
 
J'ai compris le problème:
L'écran est rafraîchi au rythe de l'éxécution de la boucle while, et non à celui de l'arrivée de données sur le port... mon programme était donc doublement faux puisque les positions étaient dupliquées.

Il me faut donc créer une synchronisation entre l'arrivée des données et leur acquisition... au passage, l'écran devrait être rafraîchi moins souvent, donc plus de sensation de clignotement.
0