Etabli
← Retour aux leçons
Leçon · AVN-08 · Interruptions et timers · 4/4

Maîtriser : une architecture pilotée par les événements

4 étapes·25 min·0/4 fait·quiz à réussir
voix

Trois sonnettes à la même porte — les crans des , le d'arrêt d'urgence, le battement du — et une seule boucle pour décider. Cette leçon assemble l'architecture pilotée par les événements : les routines captent, la boucle consomme les et décide. Tu y apprendras aussi la seule exception — l'urgence qui agit sur-le-champ — et la mesure qui prouve que tout tient : une sous la milliseconde.

📖 Comprendre

1. Capter et décider : chacun son étage

L'architecture pilotée par les événements partage les rôles : les routines CAPTENT — fronts d', échéances du , appui d'urgence — et consignent l'événement dans un drapeau ou un compteur ; la boucle DÉCIDE — elle fait sa tournée des , copie les compteurs d'un geste , calcule et commande. Plus aucune : chaque événement a sa sonnette, la boucle a l'esprit libre.

Le langage entre les deux étages reste volontairement pauvre : des et des compteurs, rien d'autre. Pas d'appel de fonction depuis une routine vers la logique, pas de calcul partagé : la routine , la boucle consomme et remet à zéro. Cette pauvreté est une force — elle rend chaque moitié du lisible, testable, et sourde aux caprices de l'autre.

PERCEVOIRcapteursDÉCIDERcerveauAGIRactionneursles capteurs regardent le monde…

2. L'exception : l'urgence n'attend pas la boucle

L'arrêt d'urgence vit DANS la routine : couper les tient en deux écritures de — quelques — alors qu'attendre la boucle coûterait des dizaines de millisecondes de course en plus. L'exception est étroite : elle vaut quand la décision est triviale, sans calcul ni ambiguïté, et que chaque milliseconde de retard se paie en centimètres.

Le du ne gêne pas l'action — couper des déjà coupés est sans effet, l'action est idempotente — mais il gêne la comptabilité : sans , un appui deviendrait dix événements. La routine applique donc la fenêtre temporelle de la leçon précédente au seulement : l'arrêt agit à chaque , l'événement n'est consigné qu'une fois par appui.

20 ms : on ne croit plus rien1 naïf1 filtréle premier front compte, la rafale qui suit est avalée par la fenêtre

3. Le piège du travail lourd : tout se fige

Le travail lourd dans une routine ne ralentit pas le robot : il le FIGE. À 2 ms de calcul pour 1 000 sonneries par seconde, la demande atteint 200 % du temps processeur : la boucle ne reprend jamais la main, les autres sonnettes patientent, les crans se perdent — et les gardent leur dernière , robot lancé.

Le gel touche jusqu'au temps : et avancent grâce à leur propre , suspendue comme les autres pendant qu'une routine tourne. Un dans une routine attend donc un tic qui n'arrivera jamais — figement définitif. D'où la formule à garder : la routine est un guichet où l'on dépose un mot, pas un atelier où l'on s'installe.

4. La gigue : la preuve par la mesure

La est l'irrégularité d'un battement censé être fixe : l'écart entre le plus court et le plus long intervalle mesurés entre deux passages de la . On la mesure avec — noter l'instant de chaque battement, garder le minimum et le maximum sur mille battements — et elle condense en un seul chiffre la santé de toute l'architecture.

Le verdict se lit sans appel : quelques dizaines de de , l'architecture tient ; plus d'une milliseconde, quelqu'un tient le processeur trop longtemps — routine bavarde, affichage fleuve, attente cachée — et il faut le débusquer, source par source, en les désactivant une à une jusqu'à voir la gigue retomber.

🧮 Exemple guidé : le bilan de charge de trois sonnettes

Ton robot événementiel additionne trois sources : deux encodeurs (2 tours/s, 20 crans, routine de 5 µs), un timer à 1 000 battements par seconde (routine de 6 µs) et un bouton d'urgence. Fais le bilan de charge — puis chiffre l'erreur qui déplacerait le calcul d'odométrie (2 ms) dans la routine du timer.

  1. 1.Les encodeurs : 2 roues × 2 tours/s × 20 crans = 80 sonneries/s ; × 5 µs = 400 µs par seconde — 0,04 % du temps processeur.
  2. 2.Le timer : 1 000 sonneries/s × 6 µs = 6 000 µs = 6 ms par seconde — 0,6 %.
  3. 3.Le bouton : quelques fronts par appui, rebonds compris — négligeable. Total ≈ 0,65 % : la boucle garde plus de 99 % du temps pour décider.
  4. 4.L'erreur d'architecture : 2 ms d'odométrie × 1 000/s = 2 000 ms par seconde — 200 %. Le processeur ne fait plus que cela : boucle jamais reprise, crans perdus, robot figé moteurs lancés.

Le bilan de charge tient en une multiplication par source — durée × fréquence — et une addition. Sous quelques pour cent, l'architecture respire ; au-delà de cent, elle n'existe plus. Fais ce bilan par écrit avant chaque nouvelle sonnette : c'est le permis de construire de l'embarqué.

🛠 Pratiquer sur l'établi

  1. 01Brancher , d'arrêt et : trois sources

    Assemble les trois sources : les deux sur leurs fronts montants, le d'urgence sur son , le à 1 000 battements — chacun avec sa routine minuscule et son ou compteur. Le des trois blocs te sert de plan : le bloc percevoir vient d'éclater en trois sonnettes.

    sur l'établi
    PERCEVOIRcapteursDÉCIDERcerveauAGIRactionneursles capteurs regardent le monde…

    📖 Termes de cette étape

Objectifs

  • +Combiner plusieurs sources d'
  • +Prioriser les urgences
  • +Garder la légère
🧪 S'entraîner dans le bac à sable

Quiz de validation

À réussir pour valider la leçon

Réponds de mémoire, sans remonter la page : c'est l'effort de rappel qui grave le cours. Les trois bonnes réponses valident la leçon.

1. Où doit vivre la coupure des moteurs de l'arrêt d'urgence ?

2. Que se passe-t-il si la routine du timer fait 2 ms de calcul, 1 000 fois par seconde ?

3. Quel est le bon langage entre les routines et la boucle ?

🧠 Ce qu'il faut retenir

  • 1.L'urgence vit dans l' ; tout le reste vit dans la boucle.
  • 2. et compteurs : le langage sobre entre et boucle.
  • 3.La mesurée dit si l'architecture tient : sous la milliseconde, elle tient.