diff --git a/main.c b/main.c index 371202d..def83af 100644 --- a/main.c +++ b/main.c @@ -110,6 +110,25 @@ void do_notaus(){ set_Output(LED_GRN_NOTAUS_SCHRANK, OFF); set_Output(LED_GRN_NOTAUS_ANLAGE, OFF); set_Output(LED_GRN_NOTAUS_DISPLAY, OFF); + + if(!read_Input(IN_NOTAUS_ANLAGE, LEVEL)){ + set_Output(LED_ROT_NOTAUS_ANLAGE, BLINK); + set_Output(LED_ROT_NOTAUS_SCHRANK, ON); + set_Output(LED_ROT_NOTAUS_DISPLAY, ON); + } + + if(read_Input(IN_NOTAUS_SCHRANK, LEVEL)){ + set_Output(LED_ROT_NOTAUS_ANLAGE, ON); + set_Output(LED_ROT_NOTAUS_SCHRANK, BLINK); + set_Output(LED_ROT_NOTAUS_DISPLAY, ON); + } + + if(read_Input(IN_NOTAUS_DISPLAY, LEVEL)){ + set_Output(LED_ROT_NOTAUS_ANLAGE, ON); + set_Output(LED_ROT_NOTAUS_SCHRANK, ON); + set_Output(LED_ROT_NOTAUS_DISPLAY, BLINK); + } + } else if(!read_Input(IN_ANLAGE_EIN, LEVEL)){ /* nothing pressed, but power not on */ @@ -117,13 +136,13 @@ void do_notaus(){ ioHelperSetBit(outStates, AMPEL_GELB, 1); ioHelperSetBit(outStates, AMPEL_GRUEN, 0); - set_Output(LED_ROT_NOTAUS_ANLAGE, OFF); - set_Output(LED_ROT_NOTAUS_SCHRANK, OFF); - set_Output(LED_ROT_NOTAUS_DISPLAY, OFF); + set_Output(LED_ROT_NOTAUS_ANLAGE, ON); + set_Output(LED_ROT_NOTAUS_SCHRANK, ON); + set_Output(LED_ROT_NOTAUS_DISPLAY, ON); - set_Output(LED_GRN_NOTAUS_SCHRANK, BLINK); - set_Output(LED_GRN_NOTAUS_ANLAGE, BLINK); - set_Output(LED_GRN_NOTAUS_DISPLAY, BLINK); + set_Output(LED_GRN_NOTAUS_SCHRANK, ON); + set_Output(LED_GRN_NOTAUS_ANLAGE, ON); + set_Output(LED_GRN_NOTAUS_DISPLAY, ON); } else{ /* powered on */ @@ -134,24 +153,10 @@ void do_notaus(){ set_Output(LED_GRN_NOTAUS_SCHRANK, ON); set_Output(LED_GRN_NOTAUS_ANLAGE, ON); set_Output(LED_GRN_NOTAUS_DISPLAY, ON); - } - - if(!read_Input(IN_NOTAUS_ANLAGE, LEVEL)){ - set_Output(LED_ROT_NOTAUS_ANLAGE, BLINK); - set_Output(LED_ROT_NOTAUS_SCHRANK, ON); - set_Output(LED_ROT_NOTAUS_DISPLAY, ON); - } - - if(read_Input(IN_NOTAUS_SCHRANK, LEVEL)){ - set_Output(LED_ROT_NOTAUS_ANLAGE, ON); - set_Output(LED_ROT_NOTAUS_SCHRANK, BLINK); - set_Output(LED_ROT_NOTAUS_DISPLAY, ON); - } - if(read_Input(IN_NOTAUS_DISPLAY, LEVEL)){ - set_Output(LED_ROT_NOTAUS_ANLAGE, ON); - set_Output(LED_ROT_NOTAUS_SCHRANK, ON); - set_Output(LED_ROT_NOTAUS_DISPLAY, BLINK); + set_Output(LED_ROT_NOTAUS_ANLAGE, OFF); + set_Output(LED_ROT_NOTAUS_SCHRANK, OFF); + set_Output(LED_ROT_NOTAUS_DISPLAY, OFF); } }