Files
InsoLab/minuteur/concepdoc/etats_InsoLab.dot
jearz 41fdaaa1ae Divers ajouts et correctifs
ajout sauvegarde en flash
et ajout écran de veille
2026-05-22 00:35:39 +02:00

86 lines
4.0 KiB
Plaintext
Executable File

/*-------------------------------------------------------------------
Project: InsoL@b
Author : user@B0 mail@nowhere.void
File : etats_InsoLab.dot 2026-04-26
This work is copyrighted under CERN Open Hardware Licence Version 2.
----------------------------------------------------------------------
--------------------------------------------------------------------*/
digraph InsoLab {
graph [
rankdir=TB, // Top Bottom, BT,LR,Rl
overlap=false, splines=true, sep="+0.5",
ranksep=1.8, // in top down mode => Vert distance between nodes
nodesep=1.6, // in top down mode => horz distance between nodes
fontname="Arial", fontsize=50,
style=filled, fillcolor="#FFC0A0", color = "#FFC0A0"
];
size="7,8"; // h,l
pad=1; // margins / clusters
label="\nDiagramme d'enchaînement des écrans.";
subgraph cluster_ecrans {
fontsize=70;
style=filled; fillcolor="#FFFFFF";
label="Le minuteur de l'InsoL@b\n";
color = "#FFFFFF";//"#FFC0A0";//"#FFFFFF";
/* =============================== Noeuds ===============================*/
VCC [shape=circle, style="filled", fillcolor="black"];
node [ shape=box,style="filled,setlinewidth(2)",fontsize=30,
afixedsize=true, height=2.5, width=3.8 ];
edge [style="filled,setlinewidth(8)" fontsize=30 arrowsize=2 ]
CHOIX [label="CHOIX\nBouton avec:\n- exposer UV\n+ régler durées",
fillcolor="#FFA550"];
EXPOS [label="EXPOS\nDécompte durée UV\n- abandon\n+ ajout incrément",
fillcolor="#FFC0CB:#FF69B4", style=radial];
REGLE [label="REGLE\nRéglages avec:\n- changer le pas\n+ changer la durée",
fillcolor="#FFF080"] ;
SAUVE [label="SAUVE\n- non quitter\n+ oui sauver en\nFlash & quitter", fillcolor="#ffcec4"];
node [ shape=box,style="filled,setlinewidth(2)",fontsize=30,
afixedsize=true, height=1.8, width=3.8 ];
LOGO [label="LOGO\nAccueil & lecture\nréglages en Flash", fillcolor="#FFFFFF"];
TITRE [label="TITRE\nAttente appui\nd'un bouton", fillcolor="#7CFC60"];
DUREE [label="DUREE\nChange la\ndurée sous UV", fillcolor="#FF98FF"] ;
INCRE [label="INCRE\nChange le pas\nréglant la durée", fillcolor="aqua"];
{ rank = same LOGO TITRE INCRE }
{ rank = same EXPOS CHOIX REGLE SAUVE} //node [group = "R"] //REGLE; DUREE; INCRE;
node [shape=box, afixedsize=true, height=.7, width=3.8];
Réveil ; Veille;//[shape=box, afixedsize=true, height=.8, width=3.8];
/* ================================ Arcs ================================*/
VCC:s -> LOGO:n [ taillabel ="Mise\nsous\ntension " ];
Réveil:s -> TITRE:n [ taillabel= "\nSortie \nde veille ",label=" Bouton + ou -",
taillabel= "\nSortie \nde veille "];
LOGO:e -> TITRE:w [ taillabel =" Fin délai\n" ];
TITRE:e -> INCRE:w [ style=invis];
TITRE:s -> CHOIX:n [ taillabel ="\nBouton + ou - " ] ;
CHOIX:nw -> EXPOS:ne [ label ="Bouton -" ];
CHOIX:ne -> REGLE:nw [ label ="Bouton +" ] ;
CHOIX:s -> Veille:n [
headlabel= "\nDélai\nsans activité \n expiré " ];
EXPOS:se -> CHOIX:sw [ headlabel ="Fin\ndécompte \n\n" ];
EXPOS:n -> LOGO:s [ style=invis];
REGLE:n -> INCRE:s [ taillabel=" - \n\n" ];
REGLE:sw -> CHOIX:se [ headlabel ="\n Fin délai\n inactif" ];
REGLE:s -> DUREE:n [ taillabel="\n + " ];
INCRE:w -> INCRE:w [ label="- " ];
INCRE:n -> INCRE:n [ label="+" ];
INCRE:se -> REGLE:ne [ label=" Fin délai" ];
DUREE:w -> DUREE:w [ label="- " ];
DUREE:s -> DUREE:s [ taillabel="\n +" ];
DUREE:ne -> REGLE:se [ label=" Fin délai" ];
INCRE:ne -> SAUVE:n [ label=" Fin délai\n & modif" ];
DUREE:se -> SAUVE:s [ label=" Fin délai\n & modif" ];
SAUVE:w -> REGLE:e [ taillabel="- \nou \n+ " ];
{ rank = same Veille DUREE };
EXPOS -> Veille [ style=invis];
Veille:e -> DUREE:w [ style=invis];
REGLE:e -> SAUVE:w [ style=invis];
// n e s w = top right bottom left decorate=true =>line between label & edge
} // cluster_ecrans
}