le 03-30-2018 02:32 AM
Oui, même une version "très simplifiée" m'intéresse (quand tu as le temps) ... avec la structure du code qui provoque le séquencement des différents codes (les codes "A", "B", "C", etc ... à proprement parler est secondaire) ... je reste persuadé qu'il pourrait exister une (bien) meilleure architecture. Puisqu'il semble que tu as trouvé "une solution" ... désolé d'insister te de t'ennuyer.
03-30-2018 03:01 AM - modifié 03-30-2018 03:03 AM
voilà ci joint ma solution simplifié, c'est vraiment simple j'ai juste à remettre à zero pour le bouton A par exemple à la fin de son case, au début lorsque j'ai posté je voulais que A soit en armement à l'appui et juste "appuyer dessus" à distance dans la séquence du start (d'ailleurs lui est bien en armement à l'appui) mais là cela fonctionne bien simplement comme cela
c'est un truc basique encore une fois ne perdez pas de temps dessus j'aurais peut être des questions plus compliqués plus tard ^^
03-30-2018 04:26 AM - modifié 03-30-2018 04:36 AM
Merci Louis.
Ce code simplifié me montre exactement ce dont tu as besoins.
remarque rapide : ta while du bas, qui tourne en polling sans temporisation ... tourne à vitesse maximum et te "mange" la totalité des ressources processeur. (chez moi elle tourne à plus de 390MHz). Une temporisation dans cette while serait indispensable (10ms min). Une tempo de 10ms n'a aucun impact sur le fonctionnement du code et fait chuter le polling de 390Mz à 100Hz.
le 03-30-2018 05:07 AM
merci,
je dois juste mettre un attendre 10ms dans la boucle while pour cela ?
03-30-2018 05:32 AM - modifié 03-30-2018 05:38 AM
dans les deux while ... un "attendre 10ms" dans chacune des While (en dehors des structures case).
Cela cadencera tes deux While à 100Hz, je pense que c'est bien suffisant ... et cela libérera la quasi totalité des ressources processeurs. Sans cela tu fais tourner inutilement ton processeur à vitesse vv' (et dans ce cas j'espère que tu as un bon refroidisseur sur ta puce µP ) .... teste toi même, mais en principe, en termes de résultats tu ne verras aucune différence .... ton processeur et l'alim de ton PC ... oui !
PS: sans cela, va voir dans le "gestionnaire des tâches" de Windows la "charge processeur" ...
03-30-2018 05:05 PM - modifié 03-30-2018 05:09 PM
J'ai passé un moment sur base de ton "code simplifié" (ne t'inquiète pas pour moi, je code par plaisir ... uniquement)
Oui, ton code "fonctionne" ... avec des While en polling, des structures séquences, des variables locales .... x
Si ton seul but est d'avoir in fine un "comportement correct" (je peux comprendre parfaitement) ... ne lis pas la suite.
Mais si tu as envie d'aller plus loin, voici. J'ai reproduis exactement le comportement de ton "code simplifié" à ma façon, avec un système producteur/consommateur ... soit avec une Queue (le code que je préfère). Je t'ai placé également une solution avec des events. Il n'y a donc aucun soucis pour solutionner ton besoin sans séquences, sans polling, ni locales. Ce que je te propose sont juste des architectures ... à toi de les adapter à ton code réel (je n'ai eu qu'un code simplifié) . Voila, si ça t'intéresse ... (et si tu n'es pas intéressé, pas de soucis) bon code Louis.
ci-dessous le code avec une Queue (les fichiers sont joints en LV2014)
(j'ai également ajouté un "arrêt propre" de l'ensemble)
le 03-31-2018 04:33 AM
wouah impressionnant, je suis en train d'essayer de comprendre (je suis débutant), c'est intéressant je te remercie, j'ai déjà bien avancé dans mon projet donc je ne pense pas utiliser ta méthode mais la prochaine fois oui, c'est intéressant je ne connaissais pas les files d'attentes
le 03-31-2018 07:47 AM
Content d'avoir pu te montrer la bonne direction. (impressionnant ? ... bien moins que tu ne penses)
Des while qui "scrutent" en permanence (polling), des structures séquences, des locales ... ce n'est pas "par là" qu'il faut aller. Les locales, c'est parfois utile, mais rarement ... si tu utilises régulièrement des locales dans tes codes c'est que tu as des soucis d'architecture.
Voila Louis, tu reviens quand tu veux.
Bon courage dans ton projet.