Sujet fermé
Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5

Python amélioration
#1

Bonjour,
Je m’étais présenté sur un autre post il y a un moment mais je vais le refaire =)
Je suis un étudiant en BTS systèmes électroniques et pour mon projet de fin d'année, je dois créer un système de surveillance.
Le raspberry Pi est imposé.
J'ai remarqué que le programme me semble être long pendant son exécution. Je ne pense pas que cela soit du au programme en lui même, car je l'ai déjà programmé sur un ATMega 8 (microcontrôleur Atmel) et n'ai eu aucun problème.
La seule différence c'est que sur l'atmel j'ai 4 port entrée-sortie donc je pouvais utiliser un clavier matriciel sur 1 seul port. Là sur le raspberry Pi le nombre d'entrée-sortie est très limité. Du coup j'ai utilisé un PCF8574 (circuit permettant de me rajouter 8 entrée-sortie supplémentaire par liaison I2C).
J'en viens donc au fait qu'il y a une possibilité pour que le programme de scrutation du clavier soit ralentit par la liaison I2C.
Dans le doute je voulais savoir si il y a une possibilité pour qu'il existe un moyens d'optimiser la vitesse du programme ou de l'améliorer ?
Merci pour vos réponses =)
(Ne sachant pas si j'ai le droit de parler de mon projet car il compte pour mon BTS je ne publie pour le moment rien d'autre, d'ailleurs je précise que mon programme fonctionne parfaitement si j’appuie sur les touches moins vite. Je demande de l'aide, plus pour l'améliorer. Aussi je serai très heureux de faire partager ce projet, dans un futur proche avec schémas routage et programme)

PS : Je pense que le programme est ralentit car lorsque j’appuie vite sur 4 touches différentes, il y a au moins une touche qui n'est pas prise en compte. D'où le ralentissement car toutes les touches fonctionnent.
#2

Hello,

Déjà je t'invite à modifier ton code pour "loger" plus de choses : temps d'exécution de tel et tel process, tu verras déjà mieux qu'est ce qui prends tant de temps Smile.
#3

Merci d'avoir répondu Smile
Par contre je suis un peu dans le flou : il existe un moyens pour connaitre le temps d’exécution de chaque lignes de programmation ?
#4

Salut,

En faisant des deltas sur la date courante sur certains blocs ? C'est comme ca que je fais en tout cas.

Raspberry Pi Home Server : http://www.pihomeserver.fr
Hotspot Wifi avec portail captif pour Raspberry Pi: Kupiki Hotspot
#5

Salut,
Avec la librairie time.
Par exemple:
Code :
toc = time.time()


tic = time.time()
print tic - toc
Tu auras bien sûr au préalable importé la librairie time.
Sache que ces opérations prennent du temps mais je ne pensent pas que cela te gêne (~10us)
@+
Nicolas.

Projet en cours : Commande de projecteurs via un Raspberry
Mon blogTopic sur le forumDépôt GitHub
#6

re,
Merci pour vos réponses mais en fin de compte je pense que c'est la transmission i2c qui fait tout ralentir, puisque elle tourne à 100kHz (super lent) et malheureusement, je craint qu'il n'y ait aucun moyen pour arranger ça bref ... tant pis ^^ Il faudra juste veiller à ne pas faire le fou sur le clavier, et taper calmement le code =D.
Et puis j'ai un nouveau probleme que j'avais pas anticipé, donc je vais me concentrer et faire des recherches dessus.
Merci =)
Sujet fermé


Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)