TinyRail v0.14.0-beta.5
Pre-releaseLe défaut de surintensité reste levé jusqu'au rallumage
Une sortie disjonctait et la lecture des défauts restait vide, partout à la
fois : bande de métriques, tuile « Défauts », encadré du van, journal
d'alertes. Une sortie coupée, et rien qui dise pourquoi.
Le drapeau s'effaçait dès que le courant retombait sous le seuil — or couper
la sortie fait tomber son courant. Il vivait un tour de boucle, 500 ms. Et
comme la boucle de surintensité et celle qui notifie les trames sont deux
interval de 500 ms non en phase, FAULTS pouvait être évaluée après que le
drapeau soit retombé, et ne jamais le montrer.
coupure et ne s'efface qu'au rallumage de la sortie : rallumer EST
l'acquittement, il n'y a pas d'opcode pour ça. Un client ne doit plus le
traiter comme une impulsion. Ce n'est pas un passe-droit : si la surcharge
dure, le délai repart et la sortie recoupe.
Le compteur de disjonctions de l'historique embarqué — un octet par canal et
par bucket, réservé depuis le début et incrémenté nulle part — compte enfin.
Sur les fronts, jamais sur l'état, et il sature à 255.
Un banc natif, tests/native/, qui tourne sans carte ni charge : 86
vérifications, dont le débordement de millis() à 49,7 jours. Éprouvé contre
l'ancienne règle, il rend 23 échecs. La règle elle-même vit maintenant dans
packages/overcurrent.h, sans un seul id() — c'est ce qui la rend
éprouvable, et la boucle passe de huit copies déroulées à une boucle.
tests/test_overcurrent.py couvre l'autre moitié, sur carte, et exige une
charge réelle déclarée par --load-channel / --load-amps.
Cette bêta n'a tourné sur AUCUNE carte. Elle compile (flash 91,7 %) et passe
les tests natifs, rien de plus. La disjonction réelle reste à éprouver au banc.