Bonjour à tous,
Je m'adresseà vous aujourd'hui car j'ai besoin de l'avis d'experts pour essayer de résoudre qques problèmes dans la conception de mon programme.
En gros, si je me présente rapidement, je suis un doctorant qui travaille sur les aérosols et les changements climatiques et je pars d'ici 13 jours à 1050km du pôle Nord pour y installer mon appareil de mesure. Mais voilà, là je galère à faire le programme qui gère cet instrument.
Je vais vous détailler rapidement le fonctionnement pour que vous appréhendiez mieux les problèmes qui me sont posés.
Toutes les 5 min, on communique avec un détecteur de précipitation pour savoir si il pleut (ou neige) et si on peut ouvrir la boite pour faire la mesure.
S'il fait beau, on dit au piston qui est dans la boite : Pousse. Ce qui prend 10 secondes.
Ensuite, on lance un autre programme qui a déjà été écrit en C++ et qui fait l'acquisition des données pendant 1 min.
On dit au piston de se fermer.
Et hop la boucle est bouclée. Ca doit être automatique et fonctionner toute l'année et le programme est le seul à tourner sur un ordi (donc pas de pb de gestion des ressources)
Ca peut paraitre simple comme ça, mais ça me pose pleins de difficultés.
Pour la gestion du temps, on m'a conseillé d'utiliser le SDL et ça marche plutôt bien.
Là j'ai déjà codé un timer qui me remet au début de mon programme toutes les 5 min (avec des SDL GetTicks de temps en temps pour voir si on est environ à 5min).
J'ai réussi également à faire un SDL Delay pour attendre que le piston s'étire.
Mais là où j'ai des problèmes, c'est pour dire à l'autre application (celle qui communqiue, via une dll, avec mon appareil de mesure) de ne fonctionner qu'une minute toutes les 5 min.
Pour l'instant j'arrive à la lancer, mais je n'ai pas encore trouvé la solution pour la killer au bout d'une minute. J'ai essayé avec taskkill ou pskill, mais ça ne fonctionne pas (J'ai fait un : system("C:\\windows\\system32\\taskkill.exe monprog.exe" ) et un system("C:\\windows\\system32\\pskill.exe <monprog.exe>" ))
Donc si vous pourriez m'aider làdessus ou m'aider à optimiser mon programme, ça serait vraiment très sympathique.
Merci d'avance
nainfe
Partager