stateDiagram
%% Initial state name as "." so that it fits in black circle shape.
%% See https://github.com/StateSmith/StateSmith/issues/404
state "." as ROOT.(InitialState)
ATTENTE
ATTENTE : ATTENTE
ANALYSE_PLAQUE
ANALYSE_PLAQUE : ANALYSE_PLAQUE
OUVERTURE
OUVERTURE : OUVERTURE
OUVERTURE : gateOpening()
PASSAGE_VEHICULE
PASSAGE_VEHICULE : PASSAGE_VEHICULE
FERMETURE
FERMETURE : FERMETURE
FERMETURE : gateLocking()
REFUS_ENTREE
REFUS_ENTREE : REFUS_ENTREE
REFUS_ENTREE : accesDenied()
ROOT.(InitialState) --> ATTENTE
ATTENTE --> ANALYSE_PLAQUE : CAPTEUR_1_DETECTE
ANALYSE_PLAQUE --> ATTENTE : CAPTEUR_1_LIBRE
ANALYSE_PLAQUE --> OUVERTURE : CAMERA_VALIDE
ANALYSE_PLAQUE --> REFUS_ENTREE : CAMERA_REFUSE
OUVERTURE --> PASSAGE_VEHICULE : AUTO
PASSAGE_VEHICULE --> FERMETURE : ZONE_DETECTION_LIBRE
FERMETURE --> ATTENTE : AUTO
REFUS_ENTREE --> ANALYSE_PLAQUE : AUTO