Lo he mirado rápido, pero tiene pinta que no hace lo que originalmente querías, no??
Si estás en el menu (y/o siguientes estados) no hay transición para que si es la hora XXhXX,dia D,etc haga tus acciones de desactivar,etc.
Es decir, se te quedaría bloqueado en dicho estado de muestra menu,etc sin poder desactivar o hacer lo que tienes en otras ramas.
Yo diría que te faltan transiciones en ese flujograma....no crees?
Un consejo, puedes crearte nombre de eventos cortos, para poner en tus transiciones y luego en un lateral describes lo que hace cada uno. Es más fácil de seguirlo, dibujar el diagrama y queda más limpio.
Por ejemplo: ev_pulsacion1, ev_pulsacion2, ev_alarm1,.... (ev=evento).
Y describes la lógica de cada evento en otro sitio que no sea sobre las transiciones:
ev_pulsacion1= pulsación de la tecla 1 (entrada digital 7)
ev_alarma1= Hora 7h30 && laborable && Stop
etc.
Es más, si lo programas así.... luego puedes sustituir lo que genera tu evento muy fácil!!! Yo lo hago así en mi programación, y esto me permite, por ejemplo, que mi evento pulsación tecla confirmar (ev_confirmar), pueda venir de una tecla o de un comando serie.
Para que me entiendas por dónde voy... de forma sencillísima, hago que mi programa se controle por comandos serie, por entradas digitales, o por ambos!!
Es un ejemplo, pero es para que entiendas la ventaja de pensarlo/programarlo así, que luego tus eventos son fáciles de cambiar las condiciones que lo generan, y si te has preparado el código, pues te resulta inmediato hacerlo.
Lo digo para que no hagas tu programación repetitiva con IF (RTC.hora...&& digitalread(x) { bla,bla}
Si no que leas todas tus entradas que generen eventos (RTC, entradas analógicas/digitales, serie,etc) y generes el evento/s que corresponda.
Luego en tu código sólo tienes, si estoy en (estado==5 && ev_alarma1), hago tal y cual.... Y tu ev_alarma=(RTC.hora== && digitalRead...etc.).
A parte que el mismo evento, puede ser utilizado en varias transiciones y no tienes que repetir código.
Espero que me entiedas por donde voy...
