arkadiusz binder 5 년 전
부모
커밋
c1419a36b9

+ 1 - 1
SE/stuff/P5_Automation_can-dev-res-working-1930/___SUBMODULES___/P5_automation_arduino_status_submodule/___CONFIG/config_status.h

@@ -14,7 +14,7 @@ STATUS_PHYS_PIN_INPUT_T in_test_status_p5_temp_4 = A3 ;
 
 STATUS_PHYS_PIN_INPUT_T in_test_status_p5_current = A6 ;
         //STATUS_PHYS_PIN_INPUT_RANGE_T in_test_status_p5_curren_RANGE_A = { 0 , 520 } ; //== about 2A test
-        STATUS_PHYS_PIN_INPUT_RANGE_T in_test_status_p5_curren_RANGE_A = { 0 , 950 } ; //== about 2A test
+        STATUS_PHYS_PIN_INPUT_RANGE_T in_test_status_p5_curren_RANGE_A = { 0 , 520 } ; //== about 2A test
 
 
 

+ 10 - 9
SE/stuff/P5_Automation_can-dev-res-working-1930/___SUBMODULES___/testing_pwm_amp/___CONFIG/0x20/config.h

@@ -37,12 +37,13 @@ void p5__config__individual__init(
        P5__TASK__TYPE__CLASS_A = P5__TASK__TYPE__ROOT;
 
      
-     P5__TASK__CONFIG__NAME__INDEX_A = P5__TASK__CONFIG__NAME__INDEX__PWM ;
+     //P5__TASK__CONFIG__NAME__INDEX_A = P5__TASK__CONFIG__NAME__INDEX__PWM ;
     // P5__TASK__CONFIG__NAME__INDEX_A = P5__TASK__CONFIG__NAME__INDEX_A + P5__TASK__CONFIG__NAME__INDEX__SW
       P5__TASK__TYPE__ASSOC_A = P5__TASK__TYPE__ASSOC__UNDEFINED_A;
       P5__TASK__CONFIG__INDEX__CURRENT__EXEC_A = P5__TASK__CONFIG__INDEX__CURRENT_A; //TODO DIFF CURSOR FOR SET?
 
-        p5__task__config__set( P5__TASK__CONFIG_A, P5__TASK__CONFIG__INDEX__CURRENT_A, P5__TASK__TYPE__CLASS_A ,P5__TASK__CONFIG__NAME__INDEX_A , P5__TASK__TYPE__ASSOC_A  ) ;
+        p5__task__config__set( P5__TASK__CONFIG_A, P5__TASK__CONFIG__INDEX__CURRENT_A, P5__TASK__TYPE__CLASS_A ,
+                P5__TASK__CONFIG__NAME__INDEX__PWM  ,P5__TASK__TYPE__ASSOC__UNDEFINED_A) ;
                  P5__TASK__CONFIG__INDEX__CURRENT_A ++ ;
 
         
@@ -74,14 +75,14 @@ void p5__config__individual__init(
     p5__task__config__set( P5__TASK__CONFIG_A, P5__TASK__CONFIG__INDEX__CURRENT_A, P5__TASK__TYPE__CLASS_A ,P5__TASK__CONFIG__NAME__INDEX_A , P5__TASK__TYPE__ASSOC_A  ) ;
 //    U8G2_SSD1306_128X32_UNIVISION_F_HW_I2C u8g2; u8g2.setCursor(7,20);u8g2.print("AT5");u8g2.sendBuffer();		
      
-        P5__TASK__CONFIG__INDEX__CURRENT__EXEC_A = P5__TASK__CONFIG__INDEX__CURRENT_A; //TODO DIFF CURSOR FOR SET?
-        P5__TASK__CONFIG__INDEX__CURRENT_A ++ ;
-        P5__TASK__TYPE__ASSOC_A = P5__TASK__CONFIG__INDEX__CURRENT__EXEC_A; //P5__TASK__CONFIG__INDEX__CURRENT_A - 1;
+    //    P5__TASK__CONFIG__INDEX__CURRENT__EXEC_A = P5__TASK__CONFIG__INDEX__CURRENT_A; //TODO DIFF CURSOR FOR SET?
+    //    P5__TASK__CONFIG__INDEX__CURRENT_A ++ ;
+    //    P5__TASK__TYPE__ASSOC_A = P5__TASK__CONFIG__INDEX__CURRENT__EXEC_A; //P5__TASK__CONFIG__INDEX__CURRENT_A - 1;
 
       
-       P5__TASK__ATTR_INT_A = 2  ; //todso detect
+     //  P5__TASK__ATTR_INT_A = 2  ; //todso detect
      
-       P5__TASK___ATTR (
+       /*P5__TASK___ATTR ( err
                 P5__TASK__CONFIG_A,
                 P5__TASK__CONFIG__INDEX__CURRENT_A ,
                  P5__TASK__CONFIG__INDEX__CURRENT__EXEC_A , //P5__TASK__CONFIG__INDEX__CURRENT__EXEC_A,
@@ -96,7 +97,7 @@ void p5__config__individual__init(
                      P5__TASK__ATTR_INT_A  , // 10 val P5__TASK__ATTR_INT_A 
                      P5__TASK__ATTR_ACCTION__SET__INIT_A//11 acction
                 ) ;
-                
+           
          P5__TASK__ATTR_INT_A = 30 ;          
        P5__TASK___ATTR (
                 P5__TASK__CONFIG_A,
@@ -113,7 +114,7 @@ void p5__config__individual__init(
                      P5__TASK__ATTR_INT_A  , // 10 val P5__TASK__ATTR_INT_A 
                      P5__TASK__ATTR_ACCTION__SET__INIT_A//11 acction
                 ) ;
-       
+         */   
         
           //EOF DISOPLAY  #---#---#-#---#---#-#---#---#-#---#---#-#---#---#-
 

+ 107 - 16
SE/stuff/P5_Automation_can-dev-res-working-1930/___SUBMODULES___/testing_pwm_amp/___P5_LIB/p5__display.h

@@ -2,28 +2,119 @@
  #include <U8g2lib.h>
 
 
+ //P5__TASK__ATTR_INT_T P5__ASSERT__
+
+
 void P5__TASK__DISPLAY(
-    P5__TASK__CONFIG_T* P5__TASK__CONFIG_A,
+     P5__TASK__CONFIG_T* P5__TASK__CONFIG_A,
     P5__TASK__CONFIG__INDEX__CURRENT_T &P5__TASK__CONFIG__INDEX__CURRENT_A ,
+     P5__TASK__CONFIG__INDEX__CURRENT__EXEC_T &P5__TASK__CONFIG__INDEX__CURRENT__EXEC_A ,
 
      P5__TASK__ATTR_T* P5__TASK__ATTR_A,
-     P5__TASK__ATTR__INDEX__CURRENT_T  &P5__TASK__ATTR__INDEX__CURRENT_A 
-    
+     P5__TASK__ATTR__INDEX__CURRENT_T  &P5__TASK__ATTR__INDEX__CURRENT_A ,
+     P5__TASK__ATTR__INDEX__CURRENT__EXEC_T  &P5__TASK__ATTR__INDEX__CURRENT__EXEC_A ,
+     P5__LATENCY_TASK_EXEC_TIME_T &P5__LATENCY_TASK_EXEC_TIME_A ,
+     U8G2_SSD1306_128X32_UNIVISION_F_HW_I2C u8g2
     ) {
-        //P5__TASK__CONFIG__NAME__ATTRIBUTE__STATUS__OUTPUT__LEVEL_A
-        /* analogWrite(P5__PWM__PIN__CONF, 
-            P5__TASK___ATTR (
-                P5__TASK__CONFIG_A,
-                P5__TASK__CONFIG__INDEX__CURRENT_A ,
-                P5__TASK__ATTR_A,
-                P5__TASK__ATTR__INDEX__CURRENT_A ,
-                    P5__TASK__TYPE__ATTRIBUTE_A ,
-                    P5__TASK__CONFIG__NAME__ATTRIBUTE__STATUS__OUTPUT__LEVEL_A
-                ) 
-           ); 
-           */
-         Serial.println("");Serial.print("PW");
+    
+        
+        
+        
+                            
+       
+ P5__TASK__ATTR_INT_T P5__TASK__CONFIG__NAME__ATTRIBUTE__DISPLAY__REFERENCE__CONFIG__INDEX__CURRENT_A_V = P5__TASK___ATTR (P5__TASK__CONFIG_A,P5__TASK__CONFIG__INDEX__CURRENT_A ,P5__TASK__CONFIG__INDEX__CURRENT__EXEC_A,P5__TASK__ATTR_A,P5__TASK__ATTR__INDEX__CURRENT_A , P5__TASK__ATTR__INDEX__CURRENT__EXEC_A ,P5__TASK__TYPE__ATTRIBUTE_A,P5__TASK__CONFIG__NAME__ATTRIBUTE__DISPLAY__REFERENCE__CONFIG__INDEX__CURRENT_A,P5__TASK__CONFIG__INDEX__CURRENT__EXEC_A, P5__TASK__CONFIG__INDEX__CURRENT__EXEC_A , P5__TASK__ATTR_ACCTION__SET__INIT_A) ;
+       
+ Serial.print(" Min? ");
+ P5__TASK__ATTR_INT_T P5__TASK__CONFIG__NAME__ATTRIBUTE__DISPLAY__ASSIGNED_X_MIN_A_V =  P5__TASK___ATTR (P5__TASK__CONFIG_A,P5__TASK__CONFIG__INDEX__CURRENT_A ,P5__TASK__CONFIG__INDEX__CURRENT__EXEC_A,P5__TASK__ATTR_A,P5__TASK__ATTR__INDEX__CURRENT_A , P5__TASK__ATTR__INDEX__CURRENT__EXEC_A ,P5__TASK__TYPE__ATTRIBUTE_A, P5__TASK__CONFIG__NAME__ATTRIBUTE__DISPLAY__ASSIGNED_X_MIN_A,P5__TASK__CONFIG__INDEX__CURRENT__EXEC_A, 1, P5__TASK__ATTR_ACCTION__SET__INIT_A) ;
+ Serial.print(" Max? ");                                                                                        //1                 2                                   3                                   4                   5                                       6                                       7                                   8                                               9                                      10
+ P5__TASK__ATTR_INT_T P5__TASK__CONFIG__NAME__ATTRIBUTE__DISPLAY__ASSIGNED_X_MAX_A_V =   P5__TASK___ATTR (P5__TASK__CONFIG_A,P5__TASK__CONFIG__INDEX__CURRENT_A ,P5__TASK__CONFIG__INDEX__CURRENT__EXEC_A,P5__TASK__ATTR_A,P5__TASK__ATTR__INDEX__CURRENT_A , P5__TASK__ATTR__INDEX__CURRENT__EXEC_A ,P5__TASK__TYPE__ATTRIBUTE_A, P5__TASK__CONFIG__NAME__ATTRIBUTE__DISPLAY__ASSIGNED_X_MAX_A,P5__TASK__CONFIG__INDEX__CURRENT__EXEC_A, u8g2.getWidth() , P5__TASK__ATTR_ACCTION__SET__INIT_A) ;
+
+
+ P5__TASK__ATTR_INT_T P5__TASK__CONFIG__NAME__ATTRIBUTE__DISPLAY__ASSIGNED_Y_MIN_A_V = P5__TASK___ATTR (P5__TASK__CONFIG_A,P5__TASK__CONFIG__INDEX__CURRENT_A ,P5__TASK__CONFIG__INDEX__CURRENT__EXEC_A,P5__TASK__ATTR_A,P5__TASK__ATTR__INDEX__CURRENT_A , P5__TASK__ATTR__INDEX__CURRENT__EXEC_A ,P5__TASK__TYPE__ATTRIBUTE_A, P5__TASK__CONFIG__NAME__ATTRIBUTE__DISPLAY__ASSIGNED_Y_MIN_A,P5__TASK__CONFIG__INDEX__CURRENT__EXEC_A, 1, P5__TASK__ATTR_ACCTION__SET__INIT_A) ;
+ P5__TASK__ATTR_INT_T P5__TASK__CONFIG__NAME__ATTRIBUTE__DISPLAY__ASSIGNED_Y_MAX_A_V = P5__TASK___ATTR (P5__TASK__CONFIG_A,P5__TASK__CONFIG__INDEX__CURRENT_A ,P5__TASK__CONFIG__INDEX__CURRENT__EXEC_A,P5__TASK__ATTR_A,P5__TASK__ATTR__INDEX__CURRENT_A , P5__TASK__ATTR__INDEX__CURRENT__EXEC_A ,P5__TASK__TYPE__ATTRIBUTE_A,P5__TASK__CONFIG__NAME__ATTRIBUTE__DISPLAY__ASSIGNED_Y_MAX_A,P5__TASK__CONFIG__INDEX__CURRENT__EXEC_A, u8g2.getHeight(), P5__TASK__ATTR_ACCTION__SET__INIT_A) ;
+
+
+
+
+ P5__TASK__ATTR_INT_T P5__TASK__CONFIG__NAME__ATTRIBUTE__DISPLAY__ASSIGNED__CURSOR__X_A_V = P5__TASK___ATTR (P5__TASK__CONFIG_A,P5__TASK__CONFIG__INDEX__CURRENT_A ,P5__TASK__CONFIG__INDEX__CURRENT__EXEC_A,P5__TASK__ATTR_A,P5__TASK__ATTR__INDEX__CURRENT_A , P5__TASK__ATTR__INDEX__CURRENT__EXEC_A ,P5__TASK__TYPE__ATTRIBUTE_A,P5__TASK__CONFIG__NAME__ATTRIBUTE__DISPLAY__ASSIGNED__CURSOR__X_A,P5__TASK__CONFIG__INDEX__CURRENT__EXEC_A,P5__TASK__CONFIG__NAME__ATTRIBUTE__DISPLAY__ASSIGNED_X_MIN_A_V , P5__TASK__ATTR_ACCTION__SET__INIT_A) ;
+ P5__TASK__ATTR_INT_T P5__TASK__CONFIG__NAME__ATTRIBUTE__DISPLAY__ASSIGNED__CURSOR__Y_A_V = P5__TASK___ATTR (P5__TASK__CONFIG_A,P5__TASK__CONFIG__INDEX__CURRENT_A ,P5__TASK__CONFIG__INDEX__CURRENT__EXEC_A,P5__TASK__ATTR_A,P5__TASK__ATTR__INDEX__CURRENT_A , P5__TASK__ATTR__INDEX__CURRENT__EXEC_A ,P5__TASK__TYPE__ATTRIBUTE_A,P5__TASK__CONFIG__NAME__ATTRIBUTE__DISPLAY__ASSIGNED__CURSOR__Y_A,P5__TASK__CONFIG__INDEX__CURRENT__EXEC_A, P5__TASK__CONFIG__NAME__ATTRIBUTE__DISPLAY__ASSIGNED_Y_MIN_A_V , P5__TASK__ATTR_ACCTION__SET__INIT_A) ;
+ P5__TASK__ATTR_INT_T P5__TASK__CONFIG__NAME__ATTRIBUTE__DISPLAY__ASSIGNED__CURSOR__X__SIZE_A_V = P5__TASK___ATTR (P5__TASK__CONFIG_A,P5__TASK__CONFIG__INDEX__CURRENT_A ,P5__TASK__CONFIG__INDEX__CURRENT__EXEC_A,P5__TASK__ATTR_A,P5__TASK__ATTR__INDEX__CURRENT_A , P5__TASK__ATTR__INDEX__CURRENT__EXEC_A ,P5__TASK__TYPE__ATTRIBUTE_A,P5__TASK__CONFIG__NAME__ATTRIBUTE__DISPLAY__ASSIGNED__CURSOR__X__SIZE_A,P5__TASK__CONFIG__INDEX__CURRENT__EXEC_A, u8g2.getMaxCharWidth() , P5__TASK__ATTR_ACCTION__SET__INIT_A) ;
+ P5__TASK__ATTR_INT_T P5__TASK__CONFIG__NAME__ATTRIBUTE__DISPLAY__ASSIGNED__CURSOR__Y__SIZE_A_V = P5__TASK___ATTR (P5__TASK__CONFIG_A,P5__TASK__CONFIG__INDEX__CURRENT_A ,P5__TASK__CONFIG__INDEX__CURRENT__EXEC_A,P5__TASK__ATTR_A,P5__TASK__ATTR__INDEX__CURRENT_A , P5__TASK__ATTR__INDEX__CURRENT__EXEC_A ,P5__TASK__TYPE__ATTRIBUTE_A,P5__TASK__CONFIG__NAME__ATTRIBUTE__DISPLAY__ASSIGNED__CURSOR__Y__SIZE_A,P5__TASK__CONFIG__INDEX__CURRENT__EXEC_A, u8g2.getMaxCharHeight() , P5__TASK__ATTR_ACCTION__SET__INIT_A) ;
+
+
+
+       // u8g2.setCursor(10,10);
+                       //         u8g2.setFontPosBottom();       
+                       u8g2.drawFrame(P5__TASK__CONFIG__NAME__ATTRIBUTE__DISPLAY__ASSIGNED_X_MIN_A_V,P5__TASK__CONFIG__NAME__ATTRIBUTE__DISPLAY__ASSIGNED_Y_MIN_A_V,
+                       P5__TASK__CONFIG__NAME__ATTRIBUTE__DISPLAY__ASSIGNED_X_MAX_A_V -1 ,P5__TASK__CONFIG__NAME__ATTRIBUTE__DISPLAY__ASSIGNED_Y_MAX_A_V);
+                                                       u8g2.sendBuffer();	
+                    Serial.print( "Bx ") ;  Serial.print(String(P5__TASK__CONFIG__NAME__ATTRIBUTE__DISPLAY__ASSIGNED_X_MIN_A_V )) ;  Serial.print(" ") ; 
+                     Serial.print(P5__TASK__CONFIG__NAME__ATTRIBUTE__DISPLAY__ASSIGNED_Y_MIN_A_V) ;  Serial.print(" ") ;  Serial.print(P5__TASK__CONFIG__NAME__ATTRIBUTE__DISPLAY__ASSIGNED_X_MAX_A_V) ;  Serial.print(" ") ;  
+                     Serial.print(P5__TASK__CONFIG__NAME__ATTRIBUTE__DISPLAY__ASSIGNED_Y_MAX_A_V) ;  Serial.print(" " );
+                      // P5__TASK__CONFIG__NAME__ATTRIBUTE__DISPLAY__ASSIGNED__CURSOR__X_A_V = P5__TASK__CONFIG__NAME__ATTRIBUTE__DISPLAY__ASSIGNED__CURSOR__Y__SIZE_A_V +
+                      // P5__TASK__CONFIG__NAME__ATTRIBUTE__DISPLAY__ASSIGNED__CURSOR__Y__SIZE_A_V =
+                       
+                         u8g2.setCursor(P5__TASK__CONFIG__NAME__ATTRIBUTE__DISPLAY__ASSIGNED_X_MIN_A_V,P5__TASK__CONFIG__NAME__ATTRIBUTE__DISPLAY__ASSIGNED_Y_MIN_A_V);  
+                                 u8g2.print(P5__TASK__CONFIG__NAME__INDEX__DISPLAY__DISPLAY_NAME);
+                                u8g2.sendBuffer();	
+ 
+                         
+                             u8g2.print( "DS@" );
+                             u8g2.print(String(P5__TASK__CONFIG__NAME__ATTRIBUTE__DISPLAY__REFERENCE__CONFIG__INDEX__CURRENT_NAME) );
+                                u8g2.print( "..." );
+
+                             u8g2.print(String( P5__TASK__CONFIG__NAME__ATTRIBUTE__DISPLAY__REFERENCE__CONFIG__INDEX__CURRENT_A_V) );
 
+                               u8g2.sendBuffer();		
+       
+       
+       
+       
+       
+       
+       
+       
+       
+       
+       
+       
+       
+       
+       
+       
+                       
+                             Serial.print(P5__TASK__CONFIG__NAME__INDEX__DISPLAY__DISPLAY_NAME);	
+                             int DISPLAY__ASSIGNED_X_MAX_A = P5__TASK___ATTR (
+                                           P5__TASK__CONFIG_A,
+                                           P5__TASK__CONFIG__INDEX__CURRENT_A ,
+                                           P5__TASK__CONFIG__INDEX__CURRENT__EXEC_A,
+                                           P5__TASK__ATTR_A,
+                                           P5__TASK__ATTR__INDEX__CURRENT_A , 
+                                           P5__TASK__ATTR__INDEX__CURRENT__EXEC_A ,
+                                               P5__TASK__TYPE__ATTRIBUTE_A,
+                                               P5__TASK__CONFIG__NAME__ATTRIBUTE__DISPLAY__ASSIGNED_X_MAX_A, //P5__TASK__CONFIG__NAME__ATTRIBUTE__STATUS__OUTPUT__LEVEL_A , //5 , //P5__TASK__CONFIG__NAME__INDEX_A,  // P5__TASK__TYPE__ATTRIBUTE_A ,
+                                                P5__TASK__CONFIG__INDEX__CURRENT__EXEC_A, //6
+                                                P5__TASK__ATTR_INT__UNDEF_A , // 6 P5__TASK__ATTR_INT_A 
+                                                P5__TASK__ATTR_ACCTION__REPLY_A// P5__TASK__ATTR_ACCTION__SET__INIT_A
+                                           ) ;
+                                       Serial.print("X["); 
+                                       Serial.print(String(DISPLAY__ASSIGNED_X_MAX_A) );    Serial.print("] "); 
+                                int DISPLAY__ASSIGNED_Y_MAX_A = P5__TASK___ATTR (
+                                           P5__TASK__CONFIG_A,
+                                           P5__TASK__CONFIG__INDEX__CURRENT_A ,
+                                           P5__TASK__CONFIG__INDEX__CURRENT__EXEC_A,
+                                           P5__TASK__ATTR_A,
+                                           P5__TASK__ATTR__INDEX__CURRENT_A , 
+                                           P5__TASK__ATTR__INDEX__CURRENT__EXEC_A ,
+                                               P5__TASK__TYPE__ATTRIBUTE_A,
+                                               P5__TASK__CONFIG__NAME__ATTRIBUTE__DISPLAY__ASSIGNED_Y_MAX_A, //P5__TASK__CONFIG__NAME__ATTRIBUTE__STATUS__OUTPUT__LEVEL_A , //5 , //P5__TASK__CONFIG__NAME__INDEX_A,  // P5__TASK__TYPE__ATTRIBUTE_A ,
+                                                P5__TASK__CONFIG__INDEX__CURRENT__EXEC_A, //6
+                                                P5__TASK__ATTR_INT__UNDEF_A , // 6 P5__TASK__ATTR_INT_A 
+                                                P5__TASK__ATTR_ACCTION__REPLY_A// P5__TASK__ATTR_ACCTION__SET__INIT_A
+                                           ) ;
+                                       Serial.print("Y["); 
+                                       Serial.print(String(DISPLAY__ASSIGNED_Y_MAX_A) );    Serial.print("] ");        
+                                        
   }
 
 

+ 14 - 11
SE/stuff/P5_Automation_can-dev-res-working-1930/___SUBMODULES___/testing_pwm_amp/___P5_LIB/p5__pwm.h

@@ -31,13 +31,15 @@ void P5__TASK__PWM(
      P5__TASK__ATTR__INDEX__CURRENT_T  &P5__TASK__ATTR__INDEX__CURRENT_A ,
      P5__TASK__ATTR__INDEX__CURRENT__EXEC_T  &P5__TASK__ATTR__INDEX__CURRENT__EXEC_A ,
      P5__LATENCY_TASK_EXEC_TIME_T &P5__LATENCY_TASK_EXEC_TIME_A
-
+    
       // P5__TASK__TYPE__CLASS_T P5__TASK__TYPE__CLASS_A,
       //  P5__TASK__CONFIG__NAME__INDEX_T P5__TASK__CONFIG__NAME__INDEX_A,
       //  P5__TASK__TYPE__ASSOC_T P5__TASK__TYPE__ASSOC_A
     ) {
        // P5__TASK__CONFIG__NAME__ATTRIBUTE__STATUS__OUTPUT__LEVEL_A
-       int P5__TASK___ATTR_R = P5__TASK___ATTR (
+         Serial.print(" PWM[");
+        int P5__TASK___ATTR_R ;
+        P5__TASK___ATTR_R = P5__TASK___ATTR (
                 P5__TASK__CONFIG_A,
                 P5__TASK__CONFIG__INDEX__CURRENT_A ,P5__TASK__CONFIG__INDEX__CURRENT__EXEC_A,
                 P5__TASK__ATTR_A,
@@ -50,6 +52,7 @@ void P5__TASK__PWM(
                      P5__TASK__ATTR_INT__UNDEF_A , // 10 P5__TASK__ATTR_INT_A 
                      P5__TASK__ATTR_ACCTION__SET__INIT_A//11
                 ) ;
+                  Serial.print(" V[");  Serial.print(P5__TASK___ATTR_R);  
          int P5__TASK___ATTR_R_NEW = P5__TASK___ATTR_R ;
          
 
@@ -67,16 +70,16 @@ void P5__TASK__PWM(
                      P5__TASK__ATTR_INT__UNDEF_A , // 10 P5__TASK__ATTR_INT_A 
                     P5__TASK__ATTR_ACCTION__REPLY_A // P5__TASK__ATTR_ACCTION__SET__INIT_A//11
                 ) ;
-        
+            Serial.print("] ~V[");
             Serial.print(P5__TASK__ATTR_INT_A_SWING_R);
-            Serial.print("] ");
+            //Serial.print("] ");
             
             //P5__TASK__ATTR_INT_A_SWING_R = P5__TASK__ATTR_INT_A_SWING_R * P5__LATENCY_TASK_EXEC_TIME_A;
             if(P5__TASK__ATTR_INT_A_SWING_R != 0) {
-                if(( P5__TASK___ATTR_R_NEW + (P5__TASK__ATTR_INT_A_SWING_R *  P5__LATENCY_TASK_EXEC_TIME_A)) > 255) {
+                if(( P5__TASK___ATTR_R_NEW + (P5__TASK__ATTR_INT_A_SWING_R *  P5__LATENCY_TASK_EXEC_TIME_A  )) > 255) {
                     //P5__TASK__ATTR_INT_A_SWING_R = 1;
                     //set -
-                     Serial.print("["); Serial.print(P5__TASK__ATTR_INT_A_SWING_R); Serial.print(">-]");
+                     Serial.print("["); Serial.print(P5__TASK__ATTR_INT_A_SWING_R); Serial.print(" >-]");
                      P5__TASK___ATTR (
                      P5__TASK__CONFIG_A, P5__TASK__CONFIG__INDEX__CURRENT_A ,P5__TASK__CONFIG__INDEX__CURRENT__EXEC_A ,  P5__TASK__ATTR_A, 
                      P5__TASK__ATTR__INDEX__CURRENT_A ,  P5__TASK__ATTR__INDEX__CURRENT__EXEC_A  ,P5__TASK__TYPE__ATTRIBUTE_A ,
@@ -101,12 +104,12 @@ void P5__TASK__PWM(
                       //P5__TASK__ATTR_INT_A_SWING_R = P5__TASK___ATTR_R ;
                       // P5__TASK___ATTR_R_NEW = P5__TASK___ATTR_R ;
                 }  else {
-                    Serial.print("[");  Serial.print(P5__TASK___ATTR_R_NEW ); 
+                    Serial.print("el.Vn[");  Serial.print(P5__TASK___ATTR_R_NEW ); 
                        P5__TASK___ATTR_R_NEW = round((P5__TASK__ATTR_INT_A_SWING_R  *  P5__LATENCY_TASK_EXEC_TIME_A ) + P5__TASK___ATTR_R_NEW) ;
-                      Serial.print(">");   Serial.print(P5__TASK__ATTR_INT_A_SWING_R);   Serial.print(">");
-                      Serial.print(P5__TASK___ATTR_R_NEW);   Serial.print(">.");
-                        Serial.print(P5__LATENCY_TASK_EXEC_TIME_A);  Serial.print(">]");
-                      
+                      Serial.print("] ~~S[");   Serial.print(P5__TASK__ATTR_INT_A_SWING_R); 
+                       Serial.print("~~Sn"); Serial.print(P5__TASK___ATTR_R_NEW);  
+                         Serial.print(" *£[");Serial.print(P5__LATENCY_TASK_EXEC_TIME_A);  
+                      Serial.print("  ==n["); Serial.print( P5__TASK___ATTR_R_NEW );Serial.print("] "); 
 
                 } 
                              //P5__TASK___ATTR_R =

+ 67 - 11
SE/stuff/P5_Automation_can-dev-res-working-1930/___SUBMODULES___/testing_pwm_amp/___P5_LIB/p5__struct.h

@@ -12,8 +12,15 @@
   typedef unsigned long P5__LATENCY_TIMESTAMP_T ;
   typedef P5__LATENCY_T P5__LATENCY_TASK_EXEC_TICKS_T ;
   typedef P5__LATENCY_T P5__LATENCY_TASK_EXEC_TICK_T ;
-    
-    const P5__LATENCY_TASK_EXEC_TICK_T P5__LATENCY_TASK_EXEC_TICK_A = 100 ;
+  typedef P5__LATENCY_T P5__LATENCY_TASK_EXEC_DIFFS_T ; //TODO jak sa wahania zeby walilo
+    static P5__LATENCY_TASK_EXEC_DIFFS_T P5__LATENCY_TASK_EXEC_DIFF_COUNT_A = 0 ;
+    static P5__LATENCY_TASK_EXEC_DIFFS_T P5__LATENCY_TASK_EXEC_DIFF_TICKS_A = 0 ;
+    static P5__LATENCY_TASK_EXEC_DIFFS_T P5__LATENCY_TASK_EXEC_DIFF_RESULT_A = 0 ;
+
+
+    const  P5__LATENCY_TASK_EXEC_DIFFS_T P5__LATENCY_TASK_EXEC_DIFFS_A = 100 ; //DO UCHWTCANIA
+    const P5__LATENCY_TASK_EXEC_TICK_T P5__LATENCY_TASK_EXEC_TICK_A = 10000 ;
+
     static P5__LATENCY_TASK_EXEC_TICKS_T P5__LATENCY_TASK_EXEC_TICKS_A = 0; //initial
     static P5__LATENCY_TASK_EXEC_TIME_T P5__LATENCY_TASK_EXEC_TIME_A = 1 ; //initial
   typedef int P5__TASK_T;
@@ -22,16 +29,28 @@
   
   typedef P5__TASK__TYPE_T P5__TASK__TYPE__CLASS_T;
 
+  
+
+  //&&&^^^&&& CLASSS &&&^^^&&& CLASSS&&&^^^&&& CLASSS&&&^^^&&& CLASSS&&&^^^&&& CLASSS
   const P5__TASK__TYPE__CLASS_T P5__TASK__TYPE__ROOT   = 1;
   
-  const P5__TASK__TYPE__CLASS_T P5__TASK__TYPE__REFERENCE    = 2;
-  const P5__TASK__TYPE__CLASS_T P5__TASK__TYPE__PARENT = 3;
-  const P5__TASK__TYPE__CLASS_T P5__TASK__TYPE__SEQUENCE = 4;
+  const P5__TASK__TYPE__CLASS_T P5__TASK__TYPE__REFERENCE__ELEMENT_A    = 2;
+  const P5__TASK__TYPE__CLASS_T P5__TASK__TYPE__PARENT_A = 3;
+  const P5__TASK__TYPE__CLASS_T P5__TASK__TYPE__SEQUENCE_A = 4;
   const P5__TASK__TYPE__CLASS_T P5__TASK__TYPE__ELEMENT_A = 5;
   const P5__TASK__TYPE__CLASS_T P5__TASK__TYPE__TYPE = 6;
-  const P5__TASK__TYPE__CLASS_T P5__TASK__TYPE__GROUP = 7;
+  const P5__TASK__TYPE__CLASS_T P5__TASK__TYPE__GROUP_A = 7;
 
   const P5__TASK__TYPE__CLASS_T P5__TASK__TYPE__ATTRIBUTE_A = 8;
+  const P5__TASK__TYPE__CLASS_T P5__TASK__TYPE__BACK_REFERENCE__ELEMENT_A = 9; //todo
+  const P5__TASK__TYPE__CLASS_T P5__TASK__TYPE__ASSERT_A = 10;
+      const P5__TASK__TYPE__CLASS_T P5__TASK__TYPE__ASSERT__EQUALS_REFERENCE__ELEMENT__SUM__SEQUENCE_A = 11;
+      const P5__TASK__TYPE__CLASS_T P5__TASK__TYPE__ASSERT__EQUALS_REFERENCE__ELEMENT__MINUS__SEQUENCE_A = 12;
+      const P5__TASK__TYPE__CLASS_T P5__TASK__TYPE__ASSERT__EQUALS_REFERENCE__ELEMENT__MULTI__SEQUENCE_A = 13;
+      const P5__TASK__TYPE__CLASS_T P5__TASK__TYPE__ASSERT__EQUALS_REFERENCE__ELEMENT__DIV__SEQUENCE_A = 14;
+
+ //&&&^^^&&& CLASSS &&&^^^&&& CLASSS&&&^^^&&& CLASSS&&&^^^&&& CLASSS&&&^^^&&& CLASSS
+  
 
  // typedef P5__TASK_T P5__TASK__CONFIG_T ;
   //typedef char P5__TASK__CONFIG__NAME_T[3] ; //nazwa elementu
@@ -42,6 +61,13 @@
   
   
   typedef int P5__TASK__CONFIG__NAME__INDEX_T ; //todo expand
+  
+   struct P5__TASK__TYPE__SEQUENCE__ARRAY_S {
+        P5__TASK__CONFIG__NAME__INDEX_T P5__TASK__CONFIG__NAME__INDEX_A;
+   };
+  typedef P5__TASK__TYPE__SEQUENCE__ARRAY_S P5__TASK__TYPE__SEQUENCE__ARRAY_T;
+  
+  //$$E$$R$ TASK NAME$$E$$R$ TASK NAME  $$E$$R$ TASK NAME  $$E$$R$ TASK NAME  $$E$$R$ TASK NAME  $$E$$R$ TASK NAME    
   const P5__TASK__CONFIG__NAME__INDEX_T P5__TASK__CONFIG__NAME__INDEX__PWM = 1 ; //pwm
       const char *P5__TASK__CONFIG__NAME__INDEX__PWM__DISPLAY_NAME  = "PWM" ; //pwm
 
@@ -49,9 +75,13 @@
         const char *P5__TASK__CONFIG__NAME__INDEX__SWING__DISPLAY_NAME  = "SWING" ; //SWING
 
   const P5__TASK__CONFIG__NAME__INDEX_T P5__TASK__CONFIG__NAME__ATTRIBUTE__STATUS__OUTPUT__LEVEL_A = 3 ; //swing
+  
   const P5__TASK__CONFIG__NAME__INDEX_T P5__TASK__CONFIG__NAME__INDEX__DISPLAY_A = 4 ; //P5__TASK__TYPE__ELEMENT
             const char *P5__TASK__CONFIG__NAME__INDEX__DISPLAY__DISPLAY_NAME  = "DISPLAY" ; //SWING
-
+ //$$E$$R$ TASK NAME$$E$$R$ TASK NAME  $$E$$R$ TASK NAME  $$E$$R$ TASK NAME  $$E$$R$ TASK NAME  $$E$$R$ TASK NAME  
+ 
+ 
+ //***** ATTRIBUTES P5__TASK__TYPE__CLASS_T P5__TASK__TYPE__ATTRIBUTE_A ***** ATTRIBUTES ***** ATTRIBUTES ***** ATTRIBUTES 
     const P5__TASK__CONFIG__NAME__INDEX_T P5__TASK__CONFIG__NAME__ATTRIBUTE__DISPLAY__ASSIGNED = 5 ;  //TODO ZGLOSZENIE GDZIES CZEGOS
 
     const P5__TASK__CONFIG__NAME__INDEX_T P5__TASK__CONFIG__NAME__ATTRIBUTE__DISPLAY__ASSIGNED_X_MIN_A = 6 ;  //TODO ZGLOSZENIE GDZIES CZEGOS
@@ -62,8 +92,34 @@
     const P5__TASK__CONFIG__NAME__INDEX_T P5__TASK__CONFIG__NAME__ATTRIBUTE__DISPLAY__ASSIGNED__CURSOR__Y_A = 11;  //TODO ZGLOSZENIE GDZIES CZEGOS
     const P5__TASK__CONFIG__NAME__INDEX_T P5__TASK__CONFIG__NAME__ATTRIBUTE__DISPLAY__ASSIGNED__CURSOR__X__SIZE_A = 12;  //TODO ZGLOSZENIE GDZIES CZEGOS
     const P5__TASK__CONFIG__NAME__INDEX_T P5__TASK__CONFIG__NAME__ATTRIBUTE__DISPLAY__ASSIGNED__CURSOR__Y__SIZE_A = 13;  //TODO ZGLOSZENIE GDZIES CZEGOS
-
-  
+    const P5__TASK__CONFIG__NAME__INDEX_T P5__TASK__CONFIG__NAME__ATTRIBUTE__DISPLAY__REFERENCE__CONFIG__INDEX__CURRENT_A = 14;  //TODO ZGLOSZENIE GDZIES CZEGOS
+    const char *P5__TASK__CONFIG__NAME__ATTRIBUTE__DISPLAY__REFERENCE__CONFIG__INDEX__CURRENT_NAME = "[Ref]";
+    const P5__TASK__CONFIG__NAME__INDEX_T P5__TASK__CONFIG__NAME__ATTRIBUTE__DISPLAY__FRAME__X = 15;  //TODO ASSERT
+    const P5__TASK__CONFIG__NAME__INDEX_T P5__TASK__CONFIG__NAME__ATTRIBUTE__DISPLAY__FRAME__Y = 16;  //TODO ASSERT
+    const P5__TASK__CONFIG__NAME__INDEX_T P5__TASK__CONFIG__NAME__ATTRIBUTE__DISPLAY__FRAME__WIDTH = 17;  //TODO ASSERT
+    const P5__TASK__CONFIG__NAME__INDEX_T P5__TASK__CONFIG__NAME__ATTRIBUTE__DISPLAY__FRAME__HEIGHT = 18;  //TODO ASSERT
+   
+    //***** ATTRIBUTES ***** ATTRIBUTES ***** ATTRIBUTES ***** ATTRIBUTES 
+    
+    //ELEMENTS P5__TASK__TYPE__CLASS_T P5__TASK__TYPE__ELEMENT_A  %%##%%#%#%T#ELEMENTS  %%##%%#%#%T#ELEMENTS  %%##%%#%#%T#ELEMENTS  %%##%%#%#%T#ELEMENTS  %%##%%#%#%T#
+    const P5__TASK__CONFIG__NAME__INDEX_T P5__TASK__CONFIG__NAME__ELEMENT__DISPLAY__FRAME = 1;  //TODO ASSERT
+    //ELEMENTS  %%##%%#%#%T#ELEMENTS  %%##%%#%#%T#ELEMENTS  %%##%%#%#%T#ELEMENTS  %%##%%#%#%T#ELEMENTS  %%##%%#%#%T#
+    
+    //P5__TASK__TYPE__ASSERT_A  @@@@@P5__TASK__TYPE__ASSERT_A  @@@@@P5__TASK__TYPE__ASSERT_A  @@@@@P5__TASK__TYPE__ASSERT_A  @@@@@
+     const P5__TASK__CONFIG__NAME__INDEX_T P5__TASK__CONFIG__NAME__ASSERT__ATTRIBUTE__DISPLAY__FRAME__X__EQUALS_REFERENCE__ELEMENT__SUM__SEQUENCE_A = 1;
+     const P5__TASK__CONFIG__NAME__INDEX_T P5__TASK__CONFIG__NAME__ASSERT__ATTRIBUTE__DISPLAY__FRAME__Y__EQUALS_REFERENCE__ELEMENT__SUM__SEQUENCE_A = 2;
+     const P5__TASK__CONFIG__NAME__INDEX_T P5__TASK__CONFIG__NAME__ASSERT__ATTRIBUTE__DISPLAY__FRAME__WIDTH__EQUALS_REFERENCE__ELEMENT__SUM__SEQUENCE_A = 3;
+     const P5__TASK__CONFIG__NAME__INDEX_T P5__TASK__CONFIG__NAME__ASSERT__ATTRIBUTE__DISPLAY__FRAME__HEIGHT__EQUALS_REFERENCE__ELEMENT__SUM__SEQUENCE_A = 4;
+       //const P5__TASK__CONFIG__NAME__INDEX_T  P5__TASK__TYPE__ASSERT__EQUALS_REFERENCE__ELEMENT__SUM__SEQUENCE_A
+      P5__TASK__TYPE__SEQUENCE__ARRAY_T  P5__TASK__CONFIG__NAME__ASSERT__ATTRIBUTE__DISPLAY__FRAME__X__EQUALS_REFERENCE__ELEMENT__SUM__SEQUENCE_ARRAY_A[2] ;
+      
+    // P5__TASK__CONFIG__NAME__ASSERT__ATTRIBUTE__DISPLAY__FRAME__X__EQUALS_REFERENCE__ELEMENT__SUM__SEQUENCE_ARRAY_A
+     //P5__TASK__CONFIG__NAME__ASSERT__ATTRIBUTE__DISPLAY__FRAME__Y__EQUALS_REFERENCE__ELEMENT__SUM__SEQUENCE_ARRAY_A
+     //P5__TASK__CONFIG__NAME__ASSERT__ATTRIBUTE__DISPLAY__FRAME__WIDTH__EQUALS_REFERENCE__ELEMENT__SUM__SEQUENCE_ARRAY_A
+     //P5__TASK__CONFIG__NAME__ASSERT__ATTRIBUTE__DISPLAY__FRAME__HEIGHT__EQUALS_REFERENCE__ELEMENT__SUM__SEQUENCE_ARRAY_A
+    //P5__TASK__TYPE__ASSERT_A  @@@@@P5__TASK__TYPE__ASSERT_A  @@@@@P5__TASK__TYPE__ASSERT_A  @@@@@P5__TASK__TYPE__ASSERT_A  @@@@@
+    
+    
   struct P5__TASK__CONFIG_S {
   //  P5__TASK__CONFIG__NAME_T P5__TASK__CONFIG__NAME_A;
     P5__TASK__TYPE__CLASS_T P5__TASK__TYPE__CLASS_A;
@@ -73,7 +129,7 @@
   
   typedef  P5__TASK__CONFIG_S P5__TASK__CONFIG_T;
   
-  const P5__LIMITS_T P5__TASK__CONFIG__LIMIT = 20;
+  const P5__LIMITS_T P5__TASK__CONFIG__LIMIT = 10;
   
    typedef P5__ARRAY__INDEX_T   P5__TASK__CONFIG__INDEX__CURRENT_T ;
       typedef P5__TASK__CONFIG__INDEX__CURRENT_T P5__TASK__CONFIG__INDEX__CURRENT__EXEC_T ;
@@ -99,7 +155,7 @@
    };
    typedef P5__TASK__ATTR_S P5__TASK__ATTR_T;
    
-     const P5__LIMITS_T P5__TASK__ATTR__LIMIT = 10;
+     const P5__LIMITS_T P5__TASK__ATTR__LIMIT = 20;
 
    static P5__TASK__ATTR_T P5__TASK__ATTR_A[P5__TASK__ATTR__LIMIT];
     

+ 11 - 6
SE/stuff/P5_Automation_can-dev-res-working-1930/___SUBMODULES___/testing_pwm_amp/___P5_LIB/p5__task.h

@@ -28,13 +28,16 @@ void p5__task__config__set( //not icrement
          Serial.println(" SS ");
          if(P5__TASK__CONFIG__INDEX__CURRENT_A == 1) {
           //todo err
-         } else {
+         }  if(P5__TASK__CONFIG__INDEX__CURRENT_A >=P5__TASK__CONFIG__LIMIT) {
+                                    Serial.print("!!L[T]=");  Serial.print(P5__TASK__CONFIG__LIMIT) ; Serial.print("] ") ;
+         }  else {
        
          
             // strcpy(  P5__TASK__CONFIG_A[P5__ARRAY__INDEX_A].P5__TASK__CONFIG__NAME_A, P5__TASK__CONFIG__NAME_A );
                 Serial.println(""); Serial.print(" MC#[");
-                Serial.print(P5__TASK__CONFIG__INDEX__CURRENT_A);Serial.print(" = ");
-                Serial.print(P5__TASK__TYPE__CLASS_A);Serial.print("]");
+                Serial.print(P5__TASK__CONFIG__INDEX__CURRENT_A);Serial.print(" =[C");
+                Serial.print(P5__TASK__TYPE__CLASS_A);Serial.print("]n[");
+                Serial.print(P5__TASK__CONFIG__NAME__INDEX_A);Serial.print("] ");
       
                P5__TASK__CONFIG_A[P5__TASK__CONFIG__INDEX__CURRENT_A].P5__TASK__TYPE__CLASS_A =   P5__TASK__TYPE__CLASS_A;// P5__TASK__TYPE__CLASS_A ;
                P5__TASK__CONFIG_A[P5__TASK__CONFIG__INDEX__CURRENT_A].P5__TASK__CONFIG__NAME__INDEX_A =   P5__TASK__CONFIG__NAME__INDEX_A;// P5__TASK__TYPE__CLASS_A ;
@@ -63,13 +66,15 @@ void p5__task__loop__run(
     ) {
         #if (P5__DEBUG > 2)
                  Serial.println("");
-                          Serial.print(" TR[");Serial.print(P5__TASK__CONFIG__INDEX__CURRENT_A );
-                                Serial.print("][");
+                          Serial.print(" TR[#");Serial.print(P5__TASK__CONFIG__INDEX__CURRENT_A );
+                                Serial.print("]x[");
                                 Serial.print(P5__TASK__CONFIG__INDEX__CURRENT__EXEC_A  );
-                                 Serial.print("]#[");
+                                 Serial.print("]n[");
                                    Serial.print(P5__TASK__CONFIG_A[P5__TASK__CONFIG__INDEX__CURRENT__EXEC_A  ].P5__TASK__CONFIG__NAME__INDEX_A);
                                  Serial.print("]$[");
                                 Serial.print(P5__TASK__CONFIG_A[P5__TASK__CONFIG__INDEX__CURRENT__EXEC_A  ].P5__TASK__TYPE__CLASS_A);
+                                 Serial.print("]@");
+                                 Serial.print(P5__TASK__CONFIG_A[P5__TASK__CONFIG__INDEX__CURRENT__EXEC_A  ].P5__TASK__TYPE__ASSOC_A);
                                  Serial.print("] ");
                 delay(100);
                 

+ 22 - 37
SE/stuff/P5_Automation_can-dev-res-working-1930/___SUBMODULES___/testing_pwm_amp/___P5_LIB/p5__task__loop.h

@@ -1,48 +1,24 @@
    
   if(P5__LATENCY_TASK_EXEC_TICKS_A == 0) {
   } else if(P5__LATENCY_TASK_EXEC_TICKS_A < 2)  {
-   delay(100);
+   delay(10);
    }
           if(P5__TASK__CONFIG_A[P5__TASK__CONFIG__INDEX__CURRENT__EXEC_A ].P5__TASK__CONFIG__NAME__INDEX_A == P5__TASK__CONFIG__NAME__INDEX__DISPLAY_A  ) {
                     
                     
-                             u8g2.setCursor(3,10);
-                             u8g2.print(P5__TASK__CONFIG__NAME__INDEX__DISPLAY__DISPLAY_NAME);
-                               u8g2.sendBuffer();		
-                             Serial.print(P5__TASK__CONFIG__NAME__INDEX__DISPLAY__DISPLAY_NAME);	
-                             int DISPLAY__ASSIGNED_X_MAX_A = P5__TASK___ATTR (
-                                           P5__TASK__CONFIG_A,
-                                           P5__TASK__CONFIG__INDEX__CURRENT_A ,P5__TASK__CONFIG__INDEX__CURRENT__EXEC_A,
-                                           P5__TASK__ATTR_A,
-                                           P5__TASK__ATTR__INDEX__CURRENT_A , P5__TASK__ATTR__INDEX__CURRENT__EXEC_A ,
-                                               P5__TASK__TYPE__ATTRIBUTE_A,
-                                               P5__TASK__CONFIG__NAME__ATTRIBUTE__DISPLAY__ASSIGNED_X_MAX_A, //P5__TASK__CONFIG__NAME__ATTRIBUTE__STATUS__OUTPUT__LEVEL_A , //5 , //P5__TASK__CONFIG__NAME__INDEX_A,  // P5__TASK__TYPE__ATTRIBUTE_A ,
-                                                P5__TASK__CONFIG__INDEX__CURRENT__EXEC_A, //6
-                                                P5__TASK__ATTR_INT__UNDEF_A , // 6 P5__TASK__ATTR_INT_A 
-                                                P5__TASK__ATTR_ACCTION__REPLY_A// P5__TASK__ATTR_ACCTION__SET__INIT_A
-                                           ) ;
-                                       Serial.print("X["); 
-                                       Serial.print(String(DISPLAY__ASSIGNED_X_MAX_A) );    Serial.print("] "); 
-                                int DISPLAY__ASSIGNED_Y_MAX_A = P5__TASK___ATTR (
-                                           P5__TASK__CONFIG_A,
-                                           P5__TASK__CONFIG__INDEX__CURRENT_A ,P5__TASK__CONFIG__INDEX__CURRENT__EXEC_A,
-                                           P5__TASK__ATTR_A,
-                                           P5__TASK__ATTR__INDEX__CURRENT_A , P5__TASK__ATTR__INDEX__CURRENT__EXEC_A ,
-                                               P5__TASK__TYPE__ATTRIBUTE_A,
-                                               P5__TASK__CONFIG__NAME__ATTRIBUTE__DISPLAY__ASSIGNED_Y_MAX_A, //P5__TASK__CONFIG__NAME__ATTRIBUTE__STATUS__OUTPUT__LEVEL_A , //5 , //P5__TASK__CONFIG__NAME__INDEX_A,  // P5__TASK__TYPE__ATTRIBUTE_A ,
-                                                P5__TASK__CONFIG__INDEX__CURRENT__EXEC_A, //6
-                                                P5__TASK__ATTR_INT__UNDEF_A , // 6 P5__TASK__ATTR_INT_A 
-                                                P5__TASK__ATTR_ACCTION__REPLY_A// P5__TASK__ATTR_ACCTION__SET__INIT_A
-                                           ) ;
-                                       Serial.print("Y["); 
-                                       Serial.print(String(DISPLAY__ASSIGNED_Y_MAX_A) );    Serial.print("] ");        
-                                        
                     #if defined(HAS_u8g2)
                     
                     #endif  
                     // P5__TASK__PW(P5__TASK__CONFIG_A,  P5__TASK__CONFIG__INDEX__CURRENT_A , P5__TASK__ATTR_A, P5__TASK__ATTR__INDEX__CURRENT_A );
-            } 
-    
+                    #if defined(DISABLE__P5__TASK__DISPLAY)
+                    #else
+                    P5__TASK__DISPLAY(P5__TASK__CONFIG_A , P5__TASK__CONFIG__INDEX__CURRENT_A , P5__TASK__CONFIG__INDEX__CURRENT__EXEC_A   ,
+                      P5__TASK__ATTR_A, P5__TASK__ATTR__INDEX__CURRENT_A , P5__TASK__ATTR__INDEX__CURRENT__EXEC_A ,
+                       P5__LATENCY_TASK_EXEC_TIME_A,
+                       u8g2);
+                       #endif
+                        } 
+                     
     p5__task__loop__run(
     P5__TASK__CONFIG_A , P5__TASK__CONFIG__INDEX__CURRENT_A , P5__TASK__CONFIG__INDEX__CURRENT__EXEC_A   ,
      P5__TASK__ATTR_A, P5__TASK__ATTR__INDEX__CURRENT_A , P5__TASK__ATTR__INDEX__CURRENT__EXEC_A ,
@@ -55,8 +31,17 @@
     P5__TASK__CONFIG__INDEX__CURRENT__EXEC_A ++ ;
     if( P5__TASK__CONFIG__INDEX__CURRENT__EXEC_A > P5__TASK__CONFIG__LIMIT) {
         P5__TASK__CONFIG__INDEX__CURRENT__EXEC_A = 2;
-        P5__LATENCY_TASK_EXEC_TIME_A = round( P5__LATENCY_TASK_EXEC_TICK_A * P5__LATENCY_TASK_EXEC_TICKS_A/100) ;
-        P5__LATENCY_TASK_EXEC_TICKS_A = 1 ;
+            
+        P5__LATENCY_TASK_EXEC_TIME_A = round( P5__LATENCY_TASK_EXEC_TICK_A * P5__LATENCY_TASK_EXEC_TICKS_A/1) ;
+            if(P5__LATENCY_TASK_EXEC_DIFF_TICKS_A > 0)
+                P5__LATENCY_TASK_EXEC_DIFF_RESULT_A += abs(P5__LATENCY_TASK_EXEC_TIME_A - P5__LATENCY_TASK_EXEC_DIFF_TICKS_A );
+                P5__LATENCY_TASK_EXEC_DIFF_COUNT_A = P5__LATENCY_TASK_EXEC_TICKS_A ;
+                P5__LATENCY_TASK_EXEC_DIFF_TICKS_A = P5__LATENCY_TASK_EXEC_TIME_A ;
+            
+        
           Serial.println();	
-          Serial.print(" NX[£"); Serial.print(P5__LATENCY_TASK_EXEC_TIME_A);Serial.print("] ");	
+          Serial.print(" NX[£"); Serial.print(P5__LATENCY_TASK_EXEC_TIME_A);Serial.print("]...[");	 Serial.print( P5__LATENCY_TASK_EXEC_TICKS_A);Serial.print("]D[");
+            Serial.print(P5__LATENCY_TASK_EXEC_DIFF_RESULT_A);
+            Serial.print("] ");                P5__LATENCY_TASK_EXEC_TICKS_A = 1 ;
+
     }

+ 17 - 4
SE/stuff/P5_Automation_can-dev-res-working-1930/___SUBMODULES___/testing_pwm_amp/testing_pwm_amp.ino

@@ -4,22 +4,23 @@
 #define HAS_u8g2
 
 //#define P5__DISPLAY__DISABLE
-#define P5__DEBUG 0
+#define P5__DEBUG 3
 #define DISABLE_u8g2log
 #define Active_ControllerID 0x20
 
+//#define DISABLE__P5__TASK__DISPLAY
 //#include <StandardCplusplus.h>
 //#include <vector>
 //#include <iterator>
 
 #include "___P5_LIB/p5__struct.h"
-#include "___P5_LIB/p5__display.h"
 
 #include "___P5_LIB/p5__router.h"
 #include "___CONFIG/pins.h"
   #include "___P5_LIB/p5__pins__setup.h"
 
 #include "___P5_LIB/p5__task___attr.h"
+#include "___P5_LIB/p5__display.h"
 
 #include "___P5_LIB/p5__intro.h"
 #include "___P5_LIB/p5__pwm.h"
@@ -69,6 +70,7 @@ U8G2_SSD1306_128X32_UNIVISION_F_HW_I2C u8g2(U8G2_R0);
   
      #if defined(HAS_u8g2__ROTATED)
       u8g2.setDisplayRotation(U8G2_R2);
+      u8g2.setAutoPageClear(1);
     # elif defined( HAS_NOT_u8g2__ROTATED)
       #else 
         
@@ -121,8 +123,19 @@ void loop(void) {
   // delay(100);
    if(P5__LATENCY_TASK_EXEC_TIME_TIMESTAMP_A < millis() ) {
         P5__LATENCY_TASK_EXEC_TIME_TIMESTAMP_A = millis() +  P5__LATENCY_TASK_EXEC_TICK_A ;
-        P5__LATENCY_TASK_EXEC_TICKS_A ++ ;
-   }
+            P5__LATENCY_TASK_EXEC_TIME_A = round( P5__LATENCY_TASK_EXEC_TICK_A * P5__LATENCY_TASK_EXEC_TICKS_A/P5__LATENCY_TASK_EXEC_TICK_A ) ;
+            if(P5__LATENCY_TASK_EXEC_DIFF_TICKS_A > 0)
+                P5__LATENCY_TASK_EXEC_DIFF_RESULT_A += abs(P5__LATENCY_TASK_EXEC_TIME_A - P5__LATENCY_TASK_EXEC_DIFF_TICKS_A );
+                P5__LATENCY_TASK_EXEC_DIFF_COUNT_A = P5__LATENCY_TASK_EXEC_TICKS_A ;
+                P5__LATENCY_TASK_EXEC_DIFF_TICKS_A = P5__LATENCY_TASK_EXEC_TIME_A ;
+            
+        
+          Serial.println();	
+          Serial.print(" NX[£"); Serial.print(P5__LATENCY_TASK_EXEC_TIME_A);Serial.print("]...[");	 Serial.print( P5__LATENCY_TASK_EXEC_TICKS_A);Serial.print("]D[");
+            Serial.print(P5__LATENCY_TASK_EXEC_DIFF_RESULT_A);
+            Serial.print("] ");                P5__LATENCY_TASK_EXEC_TICKS_A = 1 ;
+
+   } else   P5__LATENCY_TASK_EXEC_TICKS_A ++ ;
  
     if ( t < millis() ) {
     t = millis() + 300000;			// every 15 seconds