2 Commits

Author SHA1 Message Date
Patrick Schurig
41ef266c32 fix(doc): deux défauts Doxygen réels dans etm/
Corrections, pas ajouts. Les deux n'apparaissent que sous une configuration
générant réellement une sortie (cf. Doxyfile) — ils étaient invisibles jusqu'ici.

- loadconfigstore.h : « <LoadConfig §4> » dans le bloc de tête était interprété
  comme une balise xml/html non supportée, ce qui tronquait la description du
  format fichier. Reformulé sans chevrons.

- sgreadyadapter.h : lockWindow() documentait « \param[out] minState / maxState »
  en une seule directive ; doxygen n'en reconnaissait aucune des deux et
  considérait « now » et « maxState » comme non documentés. Scindé en trois
  directives, une par paramètre.

Aucun changement de comportement.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-08 11:46:42 +02:00
Patrick Schurig
cdae69a314 [3e-2] SgReadyAdapter : encodage 2 bits → 4 états + atomicité de transition
Adaptateur sg-ready (kind:State) : pilote N relais signal (stateRelays par état),
lockWindow symétrique (minStateHold, gel total — protection court-cycling), seam de
temps unifié (toLoadContext(now)/applyAction(now)). currentPowerW = puissance allouée
déclarée (pas mesurée → recrédit correct, anti double-comptage état 2).

Atomicité 2 bits : applyStateRelays commute d'abord le relais au transitoire le plus
doux (neutre/reco) puis les autres → jamais de blocage/forcé parasite. Contrat documenté
(transport déporté Shelly/Modbus). État initial = 2 (mains off). Build 0/0.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-09 22:53:07 +02:00