add code for external notaus

master
Eggert Jung 3 years ago
parent e8d73df01d
commit 9f404c5525

@ -73,6 +73,9 @@ void ioHelperEdgeDetector(void);
#define LED_ROT_NOTAUS_ANLAGE BitPE5 #define LED_ROT_NOTAUS_ANLAGE BitPE5
#define LED_GRN_NOTAUS_SCHRANK BitPG5 #define LED_GRN_NOTAUS_SCHRANK BitPG5
#define LED_ROT_NOTAUS_SCHRANK BitPE3 #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_PLC_OK BitPH5
#define LED_BUS_OK BitPD4 #define LED_BUS_OK BitPD4
@ -90,11 +93,23 @@ void ioHelperEdgeDetector(void);
#define BitPinK0 8 //A8 #define BitPinK0 8 //A8
#define BitPinK1 9 //A9 #define BitPinK1 9 //A9
#define BitPinD3 10 //INO #define BitPinK2 10 //A10
#define BitPinD2 11 //IN1 #define BitPinK3 11 //A11
#define BitPinK4 12 //A12
#define BitPinK5 13 //A13
#define BitPinK6 14 //A14
#define BitPinK7 15 //A15
#define BitPinD7 16 //I16
#define BitPinG2 17 //I17
#define BitPinG1 18 //I18
#define BitPinD3 19 //INO
#define BitPinD2 20 //IN1
#define IN_ANLAGE_EIN_INV BitPinF5 #define IN_ANLAGE_EIN_INV BitPinF5
#define IN_NOTAUS_ANLAGE BitPinF7 #define IN_NOTAUS_ANLAGE BitPinF7
#define IN_NOTAUS_ANLAGE_KALT BitPinK1
#define IN_NOTAUS_SCHRANK BitPinK0 #define IN_NOTAUS_SCHRANK BitPinK0
#endif #endif

@ -55,38 +55,92 @@ void IO_LIBRARY_Init(void) {
} }
void do_notaus(){ void do_notaus(){
if(read_Input(IN_NOTAUS_ANLAGE, LEVEL) || read_Input(IN_NOTAUS_SCHRANK, LEVEL)){ // NOTAUS if(read_Input(IN_NOTAUS_ANLAGE, LEVEL) || read_Input(IN_NOTAUS_SCHRANK, LEVEL) || read_Input(IN_NOTAUS_ANLAGE_KALT, LEVEL)){
set_Output(LED_GRN_NOTAUS_SCHRANK, OFF); // disable green lamps /* 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, OFF);
} set_Output(LED_GRN_NOTAUS_ANLAGE_KALT, OFF);
if(read_Input(IN_NOTAUS_ANLAGE, LEVEL) && read_Input(IN_NOTAUS_SCHRANK, LEVEL)){ // both activated if(read_Input(IN_NOTAUS_ANLAGE, LEVEL)){
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_ANLAGE, BLINK);
set_Output(LED_ROT_NOTAUS_SCHRANK, ON); set_Output(LED_ROT_NOTAUS_SCHRANK, ON);
set_Output(LED_ROT_NOTAUS_ANLAGE_KALT, ON);
} }
else if(read_Input(IN_NOTAUS_SCHRANK, LEVEL)){ // bottom one activated
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_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_ANLAGE, ON);
set_Output(LED_ROT_NOTAUS_SCHRANK, ON);
set_Output(LED_ROT_NOTAUS_ANLAGE_KALT, BLINK);
} }
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{ else if(read_Input(IN_ANLAGE_EIN_INV, LEVEL)){
set_Output(LED_GRN_NOTAUS_ANLAGE, ON); /* nothing pressed, but power not on */
set_Output(LED_GRN_NOTAUS_SCHRANK, ON); //notaus_state = ARMED;
set_Output(LED_ROT_NOTAUS_ANLAGE, ON); set_Output(LED_ROT_NOTAUS_ANLAGE, ON);
set_Output(LED_ROT_NOTAUS_SCHRANK, 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{
/* 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);
// }
// }
//}
int main() int main()
{ {