"Aceroutine", comment mettre en oeuvre

Bonjour, y a-t-il des utilisateurs de cette fonction Aceroutine?
Si oui, comment la mettre en œuvre?
Comment fonctionne t'elle? ...

Ce que j'imagine:

  • Avoir une loop sur la fonction temps avec affichage (date, heure/mn/sec),
    et EN PARALLELE,
    -Avoir une ou des loops sur différentes actions (leds et/ou relais , etc) ( j'ai compris la void loop qui renvoie vers différents sous-programme)

Second point, à traiter après coup,
-A certaines heures, je souhaite avoir une action sur une des action/loop précédente, par exemple les relais.

Pour mémoire, je suis encore balbutiant sur Arduino/Elegoo.
Matériels utilisés: Elegoo Mega 2560R3, Module LCD1602, ...
Merci.

Post mis dans la mauvaise section, on parle anglais dans les forums généraux. ➜ déplacé vers le forum francophone.

Merci de prendre en compte les recommandations listées dans "Les bonnes pratiques du Forum Francophone".

Et nous comment on devine ce que c'est et d'où tu la sors?

Comme il demande si il y a des utilisateurs de cette fonction, est-il vraiment nécessaire de préciser à ces utilisateurs d'où il la sors :thinking:

1 Like

Oui, parce qu'il n'est peut-être pas indispensable d'être un utilisateur de la fonction mystère pour répondre à la question et ce ne serait pas la première fois que cela arriverait.

Peut être a-t-il jugé que dans son cas, cela est indispensable :person_shrugging:

Ces personnes peuvent aussi alors surement demandait gentiment si il peut préciser sa question.
Ou voir si vraiment ils sont très sympathique et motivé si cela correspond bien à la première ligne renvoyer par google lorsque on lui spécifie cette fameuse fonction et qui arrive sur le même nom de domaine que ce forum.
C'est d'ailleurs ce que j'ai fait, bien que je ne me qualifierais pas de gentil et sympathique :rofl: et lorsque j'ai vu que ce n'est pas une fonction mais une librairie sur le multitâche, j'ai laissé un connaisseur essayer de répondre, sans demandé plus de précision :slight_smile:

1 Like

Ce n'est pas une fonction c'est une librairie.

L'exemple HelloScheduler montre bien le principe de fonctionnement.
Dans loop() il n'y a rien à part CoroutineScheduler::loop();.
Les différentes tâches sont définies dans des coroutines, le scheduler leur donne la main périodiquement.
Il n'est pas proprement interdit d'avoir du code qui tourne en tâche de fond dans loop() mais il faut faire attention à ce que cette tâche de fond ne ralentisse pas trop le temps d'exécution de la boucle sinon les coroutines risquent d'être ralenties.
Il ne semble pas y avoir de mécanisme de communication entre les coroutines mais tu peux le faire au travers de drapaux et de variables dédiées. Il faudra sans doute les déclarer volatile sinon l'optimisation du code risque de te jouer des tours.

@pileroy
La moindre des choses quand on pose une question est de la commenter correctement et non pas de faire comme si c’etait une evidence que tout le monde connait tout.
Le forum ne fonctionne pas a sens unique et certains ici qui ne connaissent pas cette bibliothèque, merci fdufnews pour la correction, peuvent être intéressés de connaître son existance.

Le partage fonctionne dans les deux sens.

Bjr, je comprends vos interrogations, qui tende un peu vers une forme d'agacement.

En même temps, quand on fait une recherche sur
"Arduino, plusieurs loop en même temps" on trouve des propositions ... de type coroutine, Aceroutine... ???
Avec une recherche sur "coroutine arduino" je viens de tomber sur une page "aceroutine..."

Après, tout cela est un peu compliqué pour moi et c'est souvent en anglais!

et Arduino renvoie vers

C'est justement là que l'on trouve l'exemple dont je parle.

Personnellement sur ce coup là, je vous trouve un peu de mauvaise fois, sachant que même si il avait mis que c'était pas une fonction mais une librairie, les forumeurs auraient du faire une recherche google!
Surtout qu'il donne au final pas mal d'information comme quoi il s'agit du multitâche.
D'ailleurs comme je l'évoquais, quand google m'a renvoyer sur la librairie, je me suis dit qu'effectivement, il valait mieux laisser un utilisateur de cette librairie y répondre.

1 Like

Tout à fait, d'ailleurs même le premier lien donné par @pileroy renvois au final aux même source de la librairie :slight_smile:

Je tente de comprendre le contenu de ce lien GitHub.
C'est trop compliqué pour moi. Je vais tenter des contournements par des redondances dans mon code de mes différents sous-programmes.
Merci pour vos participations.
Finalement, je pense que certains ont découvert quelque chose... :wink: :wink:

Si exposais ton projet, tu ne penses pas que ce serait plus facile de t'aider.

Je croyais que tu passais ton chemin puisque tu n'avais rien à dire sur le sujet....
Parce que là tu ne fais pas vraiment avancer ce fil de discussion.

Tu croyais mal visiblement!

C'est le nom "aceroutine" qui fait l'objet de ma "râlerie".

C'est si dur que ça que de mettre un lien cliquable vers la bibliothèque dès le début de la question ?
En plus c'est demandé dans le message d'accueil qu'apparemment pas grand monde ne lit.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.