Compare commits

..

2 Commits

@ -76,6 +76,9 @@ void ioHelperEdgeDetector(void);
#define LED_ROT_NOTAUS_ANLAGE BitPE5
#define LED_GRN_NOTAUS_SCHRANK BitPG5
#define LED_ROT_NOTAUS_SCHRANK BitPE3
#define LED_GRN_NOTAUS_ANLAGE_KALT BitPH3
#define LED_ROT_NOTAUS_ANLAGE_KALT BitPH4
#define LED_PLC_OK BitPH5
#define LED_BUS_OK BitPD4
#define LED_KALTWASSER_DRAN_GR 23
@ -117,6 +120,7 @@ void ioHelperEdgeDetector(void);
#define IN_ANLAGE_EIN_INV BitPinF5
#define IN_NOTAUS_ANLAGE BitPinF7
#define IN_NOTAUS_ANLAGE_KALT BitPinK1
#define IN_NOTAUS_SCHRANK BitPinK0
#define IN_KLATWASSER_DRAN 9

106
main.c

@ -58,38 +58,92 @@ void IO_LIBRARY_Init(void) {
}
void do_notaus(){
if(read_Input(IN_NOTAUS_ANLAGE, LEVEL) || read_Input(IN_NOTAUS_SCHRANK, LEVEL)){ // NOTAUS
set_Output(LED_GRN_NOTAUS_SCHRANK, OFF); // disable green lamps
set_Output(LED_GRN_NOTAUS_ANLAGE, OFF);
}
if(read_Input(IN_NOTAUS_ANLAGE, LEVEL) || read_Input(IN_NOTAUS_SCHRANK, LEVEL) || read_Input(IN_NOTAUS_ANLAGE_KALT, LEVEL)){
/* at least one pressed */
//notaus_state = POWER_OFF;
set_Output(LED_GRN_NOTAUS_SCHRANK, OFF);
set_Output(LED_GRN_NOTAUS_ANLAGE, OFF);
set_Output(LED_GRN_NOTAUS_ANLAGE_KALT, 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_ANLAGE_KALT, 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_ANLAGE_KALT, ON);
}
if(read_Input(IN_NOTAUS_ANLAGE_KALT, LEVEL)){
set_Output(LED_ROT_NOTAUS_ANLAGE, ON);
set_Output(LED_ROT_NOTAUS_SCHRANK, ON);
set_Output(LED_ROT_NOTAUS_ANLAGE_KALT, BLINK);
}
if(read_Input(IN_NOTAUS_ANLAGE, LEVEL) && read_Input(IN_NOTAUS_SCHRANK, LEVEL)){ // both activated
set_Output(LED_ROT_NOTAUS_ANLAGE, BLINK);
set_Output(LED_ROT_NOTAUS_SCHRANK, BLINK);
}
else if(read_Input(IN_NOTAUS_ANLAGE, LEVEL)){ // top one activated
set_Output(LED_ROT_NOTAUS_ANLAGE, BLINK);
else if(read_Input(IN_ANLAGE_EIN_INV, LEVEL)){
/* nothing pressed, but power not on */
//notaus_state = ARMED;
set_Output(LED_ROT_NOTAUS_ANLAGE, ON);
set_Output(LED_ROT_NOTAUS_SCHRANK, ON);
set_Output(LED_ROT_NOTAUS_ANLAGE_KALT, ON);
set_Output(LED_GRN_NOTAUS_SCHRANK, ON);
set_Output(LED_GRN_NOTAUS_ANLAGE, ON);
set_Output(LED_GRN_NOTAUS_ANLAGE_KALT, ON);
}
else if(read_Input(IN_NOTAUS_SCHRANK, LEVEL)){ // bottom one activated
set_Output(LED_ROT_NOTAUS_SCHRANK, BLINK);
set_Output(LED_ROT_NOTAUS_ANLAGE, ON);
}
else{ // none activated
set_Output(LED_ROT_NOTAUS_SCHRANK, OFF);
set_Output(LED_ROT_NOTAUS_ANLAGE, OFF);
if(!read_Input(IN_ANLAGE_EIN_INV, LEVEL)){
set_Output(LED_GRN_NOTAUS_ANLAGE, ON);
set_Output(LED_GRN_NOTAUS_SCHRANK, ON);
}
else{
set_Output(LED_GRN_NOTAUS_ANLAGE, ON);
set_Output(LED_GRN_NOTAUS_SCHRANK, ON);
set_Output(LED_ROT_NOTAUS_ANLAGE, ON);
set_Output(LED_ROT_NOTAUS_SCHRANK, ON);
}
else{
/* powered on */
//notaus_state = POWER_ON;
set_Output(LED_GRN_NOTAUS_SCHRANK, ON);
set_Output(LED_GRN_NOTAUS_ANLAGE, ON);
set_Output(LED_GRN_NOTAUS_ANLAGE_KALT, ON);
set_Output(LED_ROT_NOTAUS_ANLAGE, OFF);
set_Output(LED_ROT_NOTAUS_SCHRANK, OFF);
set_Output(LED_ROT_NOTAUS_ANLAGE_KALT, OFF);
}
}
//void do_notaus(){
// if(read_Input(IN_NOTAUS_ANLAGE, LEVEL) || read_Input(IN_NOTAUS_SCHRANK, LEVEL)){ // NOTAUS
// set_Output(LED_GRN_NOTAUS_SCHRANK, OFF); // disable green lamps
// set_Output(LED_GRN_NOTAUS_ANLAGE, OFF);
// }
//
// if(read_Input(IN_NOTAUS_ANLAGE, LEVEL) && read_Input(IN_NOTAUS_SCHRANK, LEVEL)){ // both activated
// set_Output(LED_ROT_NOTAUS_ANLAGE, BLINK);
// set_Output(LED_ROT_NOTAUS_SCHRANK, BLINK);
// }
// else if(read_Input(IN_NOTAUS_ANLAGE, LEVEL)){ // top one activated
// set_Output(LED_ROT_NOTAUS_ANLAGE, BLINK);
// set_Output(LED_ROT_NOTAUS_SCHRANK, ON);
// }
// else if(read_Input(IN_NOTAUS_SCHRANK, LEVEL)){ // bottom one activated
// set_Output(LED_ROT_NOTAUS_SCHRANK, BLINK);
// set_Output(LED_ROT_NOTAUS_ANLAGE, ON);
// }
// else{ // none activated
// set_Output(LED_ROT_NOTAUS_SCHRANK, OFF);
// set_Output(LED_ROT_NOTAUS_ANLAGE, OFF);
// if(!read_Input(IN_ANLAGE_EIN_INV, LEVEL)){
// set_Output(LED_GRN_NOTAUS_ANLAGE, ON);
// set_Output(LED_GRN_NOTAUS_SCHRANK, ON);
// }
// else{
// set_Output(LED_GRN_NOTAUS_ANLAGE, ON);
// set_Output(LED_GRN_NOTAUS_SCHRANK, ON);
// set_Output(LED_ROT_NOTAUS_ANLAGE, ON);
// set_Output(LED_ROT_NOTAUS_SCHRANK, ON);
// }
// }
//}
void send_temperatures(void){
for(uint8_t i=0; i<sizeof(ADC_reading)/sizeof(ADC_reading[0]);i++){