|
|
@@ -41,17 +41,45 @@ void STATUS_SYSTEM_CONDITION_F(STATUS_SYSTEM_CONDITION_T &STATUS_SYSTEM_CONDITIO
|
|
|
STATUS_SYSTEM_CONDITION_A = STATUS_SYSTEM_CONDITION_ERROR_A ;
|
|
|
}
|
|
|
*/
|
|
|
- if(STATUS_SYSTEM_CONDITION_ERROR_COUNT_A == STATUS_SYSTEM_CONDITION_ERROR_COUNT_INIT_A) {
|
|
|
- STATUS_SYSTEM_CONDITION_A = STATUS_SYSTEM_CONDITION_OK_A ;
|
|
|
+ if(STATUS_SYSTEM_CONDITION_A & STATUS_SYSTEM_CONDITION_ERROR_A) {
|
|
|
+ if(STATUS_SYSTEM_CONDITION_A & STATUS_SYSTEM_CONDITION_ERROR_CLEAR_INT_REQ_A) {
|
|
|
+ if(STATUS_SYSTEM_CONDITION_ERROR_COUNT_A == STATUS_SYSTEM_CONDITION_ERROR_COUNT_INIT_A) {
|
|
|
+ STATUS_SYSTEM_CONDITION_A = STATUS_SYSTEM_CONDITION_A - STATUS_SYSTEM_CONDITION_ERROR_CLEAR_INT_REQ_A ;
|
|
|
+ STATUS_SYSTEM_CONDITION_A = STATUS_SYSTEM_CONDITION_A - STATUS_SYSTEM_CONDITION_ERROR_A ;
|
|
|
+ STATUS_SYSTEM_CONDITION_A = STATUS_SYSTEM_CONDITION_A | STATUS_SYSTEM_CONDITION_OK_A ;
|
|
|
+ Serial.println("E-[RQ]");
|
|
|
+ }
|
|
|
+ }//if(STATUS_SYSTEM_CONDITION_A | STATUS_SYSTEM_CONDITION_ERROR_CLEAR_INT_REQ_A)
|
|
|
+ else if(STATUS_SYSTEM_CONDITION_ERROR_COUNT_A == STATUS_SYSTEM_CONDITION_ERROR_COUNT_INIT_A) { //just flag not error but not OK
|
|
|
+ STATUS_SYSTEM_CONDITION_A = STATUS_SYSTEM_CONDITION_A - STATUS_SYSTEM_CONDITION_ERROR_A ;
|
|
|
+ Serial.println("E-[#]");
|
|
|
+ } else {
|
|
|
+ Serial.println("E[n1]");
|
|
|
+ }
|
|
|
+ }// if(STATUS_SYSTEM_CONDITION_A | STATUS_SYSTEM_CONDITION_ERROR_A)
|
|
|
+ else if(STATUS_SYSTEM_CONDITION_A & STATUS_SYSTEM_CONDITION_ERROR_TO_CLEAR_A) {
|
|
|
+ Serial.println("E[c2]");
|
|
|
+ }
|
|
|
+ else if(STATUS_SYSTEM_CONDITION_ERROR_COUNT_A == STATUS_SYSTEM_CONDITION_ERROR_COUNT_INIT_A) {
|
|
|
+ STATUS_SYSTEM_CONDITION_A = STATUS_SYSTEM_CONDITION_A | STATUS_SYSTEM_CONDITION_OK_A ;
|
|
|
+ if(STATUS_SYSTEM_CONDITION_A & STATUS_SYSTEM_CONDITION_INIT_A) {
|
|
|
+ STATUS_SYSTEM_CONDITION_A = STATUS_SYSTEM_CONDITION_A - STATUS_SYSTEM_CONDITION_INIT_A ;
|
|
|
+ }
|
|
|
+ Serial.println("E-[#2]");
|
|
|
} else {
|
|
|
- STATUS_SYSTEM_CONDITION_A = STATUS_SYSTEM_CONDITION_ERROR_A ;
|
|
|
+ STATUS_SYSTEM_CONDITION_A = STATUS_SYSTEM_CONDITION_A | STATUS_SYSTEM_CONDITION_ERROR_A ;
|
|
|
+ STATUS_SYSTEM_CONDITION_A = STATUS_SYSTEM_CONDITION_A | STATUS_SYSTEM_CONDITION_ERROR_TO_CLEAR_A ;
|
|
|
+ if(STATUS_SYSTEM_CONDITION_A & STATUS_SYSTEM_CONDITION_OK_A) {
|
|
|
+ STATUS_SYSTEM_CONDITION_A = STATUS_SYSTEM_CONDITION_A - STATUS_SYSTEM_CONDITION_OK_A ;
|
|
|
+ }
|
|
|
+ Serial.println("E+[#3]");
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
-void STATUS_PHYS_PIN_OUTPUT_SYSTEM_CONDITION_OK_F(STATUS_SYSTEM_CONDITION_T STATUS_SYSTEM_CONDITION_A,
|
|
|
+void STATUS_PHYS_PIN_OUTPUT_SYSTEM_CONDITION_OK_F(STATUS_SYSTEM_CONDITION_T &STATUS_SYSTEM_CONDITION_A,
|
|
|
STATUS_PHYS_PIN_OUTPUT_SYSTEM_CONDITION_OK_T STATUS_PHYS_PIN_OUTPUT_SYSTEM_CONDITION_OK_A) {
|
|
|
- if(STATUS_SYSTEM_CONDITION_A == STATUS_SYSTEM_CONDITION_OK_A) {
|
|
|
+ if(STATUS_SYSTEM_CONDITION_A & STATUS_SYSTEM_CONDITION_OK_A) {
|
|
|
digitalWrite(STATUS_PHYS_PIN_OUTPUT_SYSTEM_CONDITION_OK_A, HIGH);
|
|
|
} else {
|
|
|
digitalWrite(STATUS_PHYS_PIN_OUTPUT_SYSTEM_CONDITION_OK_A, LOW);
|
|
|
@@ -61,12 +89,93 @@ void STATUS_PHYS_PIN_OUTPUT_SYSTEM_CONDITION_OK_F(STATUS_SYSTEM_CONDITION_T STAT
|
|
|
|
|
|
|
|
|
|
|
|
-void STATUS_PHYS_PIN_OUTPUT_SYSTEM_CONDITION_ERROR_F(STATUS_SYSTEM_CONDITION_T STATUS_SYSTEM_CONDITION_A,
|
|
|
+void STATUS_PHYS_PIN_OUTPUT_SYSTEM_CONDITION_ERROR_F(STATUS_SYSTEM_CONDITION_T &STATUS_SYSTEM_CONDITION_A,
|
|
|
STATUS_PHYS_PIN_OUTPUT_SYSTEM_CONDITION_ERROR_T STATUS_PHYS_PIN_OUTPUT_SYSTEM_CONDITION_ERROR_A) {
|
|
|
- if(STATUS_SYSTEM_CONDITION_A == STATUS_SYSTEM_CONDITION_ERROR_A) {
|
|
|
+ if(STATUS_SYSTEM_CONDITION_A & STATUS_SYSTEM_CONDITION_ERROR_A) {
|
|
|
digitalWrite(STATUS_PHYS_PIN_OUTPUT_SYSTEM_CONDITION_ERROR_A, HIGH);
|
|
|
+ } else if(STATUS_SYSTEM_CONDITION_A & STATUS_SYSTEM_CONDITION_ERROR_SET_INT_REQ_A) {
|
|
|
+ digitalWrite(STATUS_PHYS_PIN_OUTPUT_SYSTEM_CONDITION_ERROR_A, HIGH);
|
|
|
} else {
|
|
|
digitalWrite(STATUS_PHYS_PIN_OUTPUT_SYSTEM_CONDITION_ERROR_A, LOW);
|
|
|
}
|
|
|
|
|
|
+}
|
|
|
+
|
|
|
+void STATUS_PHYS_PIN_INPUT_INT_OK_F(STATUS_SYSTEM_CONDITION_T &STATUS_SYSTEM_CONDITION_A,
|
|
|
+ STATUS_PHYS_PIN_INPUT_INT_OK_T STATUS_PHYS_PIN_INPUT_INT_OK_A ) {
|
|
|
+ int state = digitalRead(STATUS_PHYS_PIN_INPUT_INT_OK_A );
|
|
|
+ if(state == HIGH) {
|
|
|
+ // Good
|
|
|
+ #if defined(HAS_u8g2)
|
|
|
+ // u8g2.setCursor (3, 20);
|
|
|
+ u8g2.print (" +");
|
|
|
+ u8g2.sendBuffer(); // transfer internal memory to the display
|
|
|
+ #endif
|
|
|
+ } else {
|
|
|
+ // Bad
|
|
|
+ if(STATUS_SYSTEM_CONDITION_A & STATUS_SYSTEM_CONDITION_ERROR_TO_CLEAR_A) {
|
|
|
+ #if defined(HAS_u8g2)
|
|
|
+ u8g2.print (" !");
|
|
|
+ #endif
|
|
|
+ STATUS_SYSTEM_CONDITION_A = STATUS_SYSTEM_CONDITION_A - STATUS_SYSTEM_CONDITION_ERROR_TO_CLEAR_A;
|
|
|
+ }
|
|
|
+
|
|
|
+ if(STATUS_SYSTEM_CONDITION_A & STATUS_SYSTEM_CONDITION_ERROR_SET_INT_REQ_A) {
|
|
|
+ #if defined(HAS_u8g2)
|
|
|
+ u8g2.print (" #");
|
|
|
+ #endif
|
|
|
+ STATUS_SYSTEM_CONDITION_A = STATUS_SYSTEM_CONDITION_A - STATUS_SYSTEM_CONDITION_ERROR_SET_INT_REQ_A;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ #if defined(HAS_u8g2)
|
|
|
+ // u8g2.setCursor (3, 20);
|
|
|
+ u8g2.print (" -");
|
|
|
+ u8g2.sendBuffer(); // transfer internal memory to the display
|
|
|
+ #endif
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+void STATUS_PHYS_PIN_INPUT_INT_ERROR_F(STATUS_SYSTEM_CONDITION_T &STATUS_SYSTEM_CONDITION_A,
|
|
|
+ STATUS_PHYS_PIN_INPUT_INT_ERROR_T STATUS_PHYS_PIN_INPUT_INT_ERROR_A ) {
|
|
|
+ int state = digitalRead(STATUS_PHYS_PIN_INPUT_INT_ERROR_A );
|
|
|
+ if(state == HIGH) {
|
|
|
+ // Good
|
|
|
+ #if defined(HAS_u8g2)
|
|
|
+ // u8g2.setCursor (3, 20);
|
|
|
+ u8g2.print (" +");
|
|
|
+ u8g2.sendBuffer(); // transfer internal memory to the display
|
|
|
+ #endif
|
|
|
+ } else {
|
|
|
+ // Bad
|
|
|
+ if(STATUS_SYSTEM_CONDITION_A & STATUS_SYSTEM_CONDITION_ERROR_TO_CLEAR_A) {
|
|
|
+
|
|
|
+ } else {
|
|
|
+ #if defined(HAS_u8g2)
|
|
|
+ u8g2.print (" !");
|
|
|
+ #endif
|
|
|
+ STATUS_SYSTEM_CONDITION_A = STATUS_SYSTEM_CONDITION_A | STATUS_SYSTEM_CONDITION_ERROR_TO_CLEAR_A;
|
|
|
+ }
|
|
|
+
|
|
|
+ if(STATUS_SYSTEM_CONDITION_A & STATUS_SYSTEM_CONDITION_ERROR_SET_INT_REQ_A) {
|
|
|
+
|
|
|
+ } else {
|
|
|
+ #if defined(HAS_u8g2)
|
|
|
+ u8g2.print ("#");
|
|
|
+ #endif
|
|
|
+ STATUS_SYSTEM_CONDITION_A = STATUS_SYSTEM_CONDITION_A | STATUS_SYSTEM_CONDITION_ERROR_SET_INT_REQ_A;
|
|
|
+ }
|
|
|
+
|
|
|
+ if(STATUS_SYSTEM_CONDITION_A & STATUS_SYSTEM_CONDITION_OK_A) {
|
|
|
+ STATUS_SYSTEM_CONDITION_A = STATUS_SYSTEM_CONDITION_A - STATUS_SYSTEM_CONDITION_OK_A ;
|
|
|
+ }
|
|
|
+
|
|
|
+ #if defined(HAS_u8g2)
|
|
|
+ // u8g2.setCursor (3, 20);
|
|
|
+ u8g2.print (" -");
|
|
|
+ u8g2.sendBuffer(); // transfer internal memory to the display
|
|
|
+ #endif
|
|
|
+ }
|
|
|
}
|