arkadiusz binder 5 years ago
parent
commit
12839095f0

+ 36 - 27
SE/stuff/P5_Automation_can-dev-res-working-1930/___SUBMODULES___/P5_automation_arduino_status_submodule/P5_automation_arduino_status_submodule.ino

@@ -1,4 +1,4 @@
-#include "___main/__main_struct_status.h"
+#define HAS_u8g2
 
 
 #include <Arduino.h>
@@ -20,23 +20,36 @@
 Adafruit_SSD1306 display(-1);  // -1 = no reset pin
 #endif 
 
-#define HAS_u8g2
 
 #if defined(HAS_u8g2)
 U8G2_SSD1306_128X32_UNIVISION_F_HW_I2C u8g2(U8G2_R0); 
 #endif 
 
+
+#include "___main/__main_struct_status.h"
+
+
+#include "___main/__main_struct_init.h"
+#include "___main/__main_struct_status_func.h"
+
+
+
 int test_pwm_pin = 9;
 
-int in_test_status_p5_temp_1 = A0 ;
-int in_test_status_p5_temp_2 = A1 ;
-int in_test_status_p5_temp_3 = A2 ;
-int in_test_status_p5_temp_4 = A3 ;
+STATUS_PHYS_PIN_INPUT_T in_test_status_p5_temp_1 = A0 ;
+    STATUS_PHYS_PIN_INPUT_RANGE_T in_test_status_p5_temp_1_RANGE_A = { 0 , 2000 } ;
+STATUS_PHYS_PIN_INPUT_T in_test_status_p5_temp_2 = A1 ;
+    STATUS_PHYS_PIN_INPUT_RANGE_T in_test_status_p5_temp_2_RANGE_A = { 335 , 2000 } ;
+STATUS_PHYS_PIN_INPUT_T in_test_status_p5_temp_3 = A2 ;
+    STATUS_PHYS_PIN_INPUT_RANGE_T in_test_status_p5_temp_3_RANGE_A = { 335 , 2000 } ;
+STATUS_PHYS_PIN_INPUT_T in_test_status_p5_temp_4 = A3 ;
+    STATUS_PHYS_PIN_INPUT_RANGE_T in_test_status_p5_temp_4_RANGE_A = { 0 , 2000 } ;
+
 
-int out_test_status_p5_bus_1_port_6_red_led_pin = 5 ;
-int  in_test_status_p5_bus_1_port_7_red_buttopn_pin = 6 ;
-int out_test_status_p5_bus_1_port_8_green_led_pin = 7 ;
-int  in_test_status_p5_bus_1_port_9_black_buttopn_pin = 8 ;
+STATUS_PHYS_PIN_OUTPUT_SYSTEM_CONDITION_ERROR_T out_test_status_p5_bus_1_port_6_red_led_pin = 5 ;
+STATUS_PHYS_PIN_INPUT_INT_T  in_test_status_p5_bus_1_port_7_red_buttopn_pin = 6 ;
+STATUS_PHYS_PIN_OUTPUT_SYSTEM_CONDITION_OK_T out_test_status_p5_bus_1_port_8_green_led_pin = 7 ;
+STATUS_PHYS_PIN_INPUT_INT_T  in_test_status_p5_bus_1_port_9_black_buttopn_pin = 8 ;
 
 
 //#define HAS_task
@@ -117,17 +130,6 @@ void status_pin(int pin) {
 }
 
 
-void status_analog_pin(int pin) {
-    int level = round(analogRead(pin ) / 10);
-              #if defined(HAS_u8g2)
-               //u8g2.print("");
-               u8g2.print (level);
-                 u8g2.print(",");
-               u8g2.sendBuffer();         // transfer internal memory to the display
-             #endif
-           
-}
-
 void loop(void) {
    
     /*
@@ -170,10 +172,17 @@ void loop(void) {
         u8g2.setCursor(0,20);
        //  u8g2.setFont(u8g2_font_m2icon_5_tf);  // choose a suitable font
       #endif
-    status_analog_pin(in_test_status_p5_temp_1);
-    status_analog_pin(in_test_status_p5_temp_2);
-    status_analog_pin(in_test_status_p5_temp_3);
-    status_analog_pin(in_test_status_p5_temp_4);
-
-  
+    status_analog_pin(in_test_status_p5_temp_1, in_test_status_p5_temp_1_RANGE_A,  STATUS_SYSTEM_CONDITION_A);
+    status_analog_pin(in_test_status_p5_temp_2, in_test_status_p5_temp_2_RANGE_A,  STATUS_SYSTEM_CONDITION_A);
+      #if defined(HAS_u8g2)
+        u8g2.setCursor(0,30);
+       #endif
+    status_analog_pin(in_test_status_p5_temp_3,  in_test_status_p5_temp_3_RANGE_A,  STATUS_SYSTEM_CONDITION_A);
+    status_analog_pin(in_test_status_p5_temp_4,  in_test_status_p5_temp_4_RANGE_A,  STATUS_SYSTEM_CONDITION_A);
+
+       #if defined(HAS_u8g2)
+        u8g2.setCursor(0,40);
+          u8g2.print(STATUS_SYSTEM_CONDITION_A);
+          u8g2.sendBuffer(); 
+       #endif
 }

+ 3 - 0
SE/stuff/P5_Automation_can-dev-res-working-1930/___SUBMODULES___/P5_automation_arduino_status_submodule/___main/__main_struct_init.h

@@ -0,0 +1,3 @@
+
+
+STATUS_SYSTEM_CONDITION_T STATUS_SYSTEM_CONDITION_A = STATUS_SYSTEM_CONDITION_INIT_A ;

+ 37 - 0
SE/stuff/P5_Automation_can-dev-res-working-1930/___SUBMODULES___/P5_automation_arduino_status_submodule/___main/__main_struct_status.h

@@ -0,0 +1,37 @@
+#include <Arduino.h>
+
+typedef byte STATUS_SYSTEM_CONDITION_T;  //status of system
+const STATUS_SYSTEM_CONDITION_T STATUS_SYSTEM_CONDITION_INIT_A    = B00000001 ; 
+const STATUS_SYSTEM_CONDITION_T STATUS_SYSTEM_CONDITION_UNKNOWN_A = B00000010 ; 
+const STATUS_SYSTEM_CONDITION_T STATUS_SYSTEM_CONDITION_ERROR_A   = B00000100 ; 
+const STATUS_SYSTEM_CONDITION_T STATUS_SYSTEM_CONDITION_OK_A      = B00001000 ; 
+
+
+
+typedef int  STATUS_PHYS_PIN_T;  //physical pin used to measure or controll etc
+
+typedef  STATUS_PHYS_PIN_T STATUS_PHYS_PIN_INPUT_T ; //
+
+typedef  STATUS_PHYS_PIN_INPUT_T STATUS_PHYS_PIN_INPUT_INT_T ; // type for input interrupt - like switches / rottary
+typedef  STATUS_PHYS_PIN_INPUT_T STATUS_PHYS_PIN_INPUT_ANALOG_T ; //type for analog input
+
+
+
+typedef  STATUS_PHYS_PIN_T STATUS_PHYS_PIN_OUTPUT_T ; //
+typedef  STATUS_PHYS_PIN_OUTPUT_T STATUS_PHYS_PIN_OUTPUT_SYSTEM_CONDITION_T  ; //for output system status
+typedef  STATUS_PHYS_PIN_OUTPUT_SYSTEM_CONDITION_T STATUS_PHYS_PIN_OUTPUT_SYSTEM_CONDITION_OK_T ; //type for confirm everything is OK
+typedef  STATUS_PHYS_PIN_OUTPUT_SYSTEM_CONDITION_T STATUS_PHYS_PIN_OUTPUT_SYSTEM_CONDITION_ERROR_T ; //type for ERROR report
+
+
+
+typedef int STATUS_PHYS_PIN_INPUT_VALUE_T ; //define values normatives
+
+typedef STATUS_PHYS_PIN_INPUT_VALUE_T STATUS_PHYS_PIN_INPUT_VALUE_MIN_T ; //define values normatives minimal
+typedef STATUS_PHYS_PIN_INPUT_VALUE_T STATUS_PHYS_PIN_INPUT_VALUE_MAX_T ; //define values normatives maximal
+
+struct STATUS_PHYS_PIN_INPUT_RANGE_S { //for define range
+    STATUS_PHYS_PIN_INPUT_VALUE_MIN_T STATUS_PHYS_PIN_INPUT_VALUE_MIN_A;
+    STATUS_PHYS_PIN_INPUT_VALUE_MAX_T STATUS_PHYS_PIN_INPUT_VALUE_MAX_A;
+} ;
+
+typedef STATUS_PHYS_PIN_INPUT_RANGE_S STATUS_PHYS_PIN_INPUT_RANGE_T ;

+ 30 - 0
SE/stuff/P5_Automation_can-dev-res-working-1930/___SUBMODULES___/P5_automation_arduino_status_submodule/___main/__main_struct_status_func.h

@@ -0,0 +1,30 @@
+
+void status_analog_pin(STATUS_PHYS_PIN_INPUT_ANALOG_T pin,
+ STATUS_PHYS_PIN_INPUT_RANGE_T STATUS_PHYS_PIN_INPUT_RANGE_A,
+ STATUS_SYSTEM_CONDITION_T &STATUS_SYSTEM_CONDITION_A) {
+  //  int level = round(analogRead(pin ) / 10);
+        int level =analogRead(pin );
+
+             
+     if( level < STATUS_PHYS_PIN_INPUT_RANGE_A.STATUS_PHYS_PIN_INPUT_VALUE_MIN_A )  {
+          #if defined(HAS_u8g2)
+           u8g2.print("!<");
+          #endif
+          STATUS_SYSTEM_CONDITION_A = STATUS_SYSTEM_CONDITION_ERROR_A ;
+     }
+     
+     if( level < STATUS_PHYS_PIN_INPUT_RANGE_A.STATUS_PHYS_PIN_INPUT_VALUE_MAX_A )  {
+          #if defined(HAS_u8g2)
+           u8g2.print("!>");
+          #endif
+          STATUS_SYSTEM_CONDITION_A = STATUS_SYSTEM_CONDITION_ERROR_A ;
+
+     }
+     
+              #if defined(HAS_u8g2)
+               //u8g2.print("");
+               u8g2.print (level);
+                 u8g2.print(",");
+               u8g2.sendBuffer();         // transfer internal memory to the display
+             #endif
+}