arkadiusz binder преди 5 години
родител
ревизия
2c3dee7412

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

@@ -50,7 +50,7 @@ void p5__config__individual__init(
 
         
         //BEGIN SWING ###^^^### ###^^^######^^^######^^^######^^^###
-         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__INDEX__SWING,   P5__TASK__CONFIG__INDEX__CURRENT_A - 1 ,  5  , P5__TASK__ATTR_ACCTION__SET__INIT_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__SWING__FREQUENCY_A,   P5__TASK__CONFIG__INDEX__CURRENT_A - 1 ,  5  , P5__TASK__ATTR_ACCTION__SET__INIT_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__LIMITS__MAX__DELTA_A,   P5__TASK__CONFIG__INDEX__CURRENT_A - 1 , P5__TASK__CONFIG__NAME__ATTRIBUTE__LIMITS__MAX__DELTA_A_V,  P5__TASK__ATTR_ACCTION__SET__INIT_A ) ;
         //SWING ###^^^######^^^######^^^######^^^######^^^######^^^###
         
@@ -64,7 +64,7 @@ void p5__config__individual__init(
 
         
         //BEGIN SWING ###^^^### ###^^^######^^^######^^^######^^^###
-         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__INDEX__SWING,   P5__TASK__CONFIG__INDEX__CURRENT_A - 1 ,  8  , P5__TASK__ATTR_ACCTION__SET__INIT_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__SWING__FREQUENCY_A,   P5__TASK__CONFIG__INDEX__CURRENT_A - 1 ,  8  , P5__TASK__ATTR_ACCTION__SET__INIT_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__LIMITS__MAX__DELTA_A,   P5__TASK__CONFIG__INDEX__CURRENT_A - 1 , P5__TASK__CONFIG__NAME__ATTRIBUTE__LIMITS__MAX__DELTA_A_V,  P5__TASK__ATTR_ACCTION__SET__INIT_A ) ;
         //SWING ###^^^######^^^######^^^######^^^######^^^######^^^###
         
@@ -74,7 +74,7 @@ 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__PWM  ,P5__TASK__TYPE__ASSOC__UNDEFINED_A) ;
                  P5__TASK__CONFIG__INDEX__CURRENT_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__INDEX__SWING,   P5__TASK__CONFIG__INDEX__CURRENT_A - 1 , P5__TASK__ATTR_INT_A , P5__TASK__ATTR_ACCTION__SET__INIT_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__SWING__FREQUENCY_A,   P5__TASK__CONFIG__INDEX__CURRENT_A - 1 , P5__TASK__ATTR_INT_A , P5__TASK__ATTR_ACCTION__SET__INIT_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__HARDWARE_PIN__NUMBER_A,   P5__TASK__CONFIG__INDEX__CURRENT_A - 1 , 8 , P5__TASK__ATTR_ACCTION__SET__INIT_A) ;
 
      

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

@@ -23,10 +23,13 @@ void P5__TASK__DISPLAY(
                             
        
  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? ");
+ 
+
+     
+ SPFT(ATTRIBUTE_DISPLAY__ASSIGNED_X_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
+                  
+ SPFT(ATTRIBUTE_DISPLAY__ASSIGNED_X_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) ;
 
 
@@ -48,42 +51,30 @@ void P5__TASK__DISPLAY(
                        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(" ") ; 
+                      SPFT2(ATTRIBUTE_DISPLAY__ASSIGNED_X_MIN,String(P5__TASK__CONFIG__NAME__ATTRIBUTE__DISPLAY__ASSIGNED_X_MIN_A_V ));
+                     
                      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);
+                                USPFT(TASK_DISPLAY);
                                 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) );
+                                //USPFTL(ATTRIBUTE_DISPLAY__REFERENCE__CONFIG__INDEX__CURRENT);
+                                USPFT2(ATTRIBUTE_DISPLAY__REFERENCE__CONFIG__INDEX__CURRENT,String( P5__TASK__CONFIG__NAME__ATTRIBUTE__DISPLAY__REFERENCE__CONFIG__INDEX__CURRENT_A_V));
 
+                             //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);	
+                                             SPFTL(TASK_DISPLAY);
                              int DISPLAY__ASSIGNED_X_MAX_A = P5__TASK___ATTR (
                                            P5__TASK__CONFIG_A,
                                            P5__TASK__CONFIG__INDEX__CURRENT_A ,
@@ -97,8 +88,8 @@ void P5__TASK__DISPLAY(
                                                 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("] "); 
+                                      SPFT2(ATTRIBUTE_DISPLAY__ASSIGNED_X_MAX,String(DISPLAY__ASSIGNED_X_MAX_A));
+                                     
                                 int DISPLAY__ASSIGNED_Y_MAX_A = P5__TASK___ATTR (
                                            P5__TASK__CONFIG_A,
                                            P5__TASK__CONFIG__INDEX__CURRENT_A ,
@@ -112,8 +103,8 @@ void P5__TASK__DISPLAY(
                                                 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("] ");        
+                                            SPFT2(ATTRIBUTE_DISPLAY__ASSIGNED_X_MAX,String(DISPLAY__ASSIGNED_Y_MAX_A));
+                                       
                                         
   }
 

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

@@ -44,9 +44,10 @@ void P5__TASK__PWM(
           
        P5__LIMITS_T P5__TASK__CONFIG__NAME__ATTRIBUTE__STATUS__OUTPUT__LEVEL_MIN_A = 150;
         P5__LIMITS_T P5__TASK__CONFIG__NAME__ATTRIBUTE__STATUS__OUTPUT__LEVEL_MAX_A = 200; //TODO ASSERTS
-        
-         Serial.print(" PWM@[");Serial.print(P5__TASK__CONFIG__NAME__ATTRIBUTE__HARDWARE_PIN__NUMBER_A_V);Serial.print("][");
-         Serial.print(" *£[");Serial.print(P5__LATENCY_TASK_EXEC_TIME_A);  Serial.print("] ");
+         SPFTL(TASK_PWM);
+         //Serial.print(" PWM@[");
+         SPFT2(ATTRIBUTE_HARDWARE_PIN__NUMBER,P5__TASK__CONFIG__NAME__ATTRIBUTE__HARDWARE_PIN__NUMBER_A_V);
+         SPFT2(ATTRIBUTE_LATENCY_TASK_EXEC_TIME,P5__LATENCY_TASK_EXEC_TIME_A);
          P5__TASK__ATTR_INT_T  P5__TASK__CONFIG__NAME__ATTRIBUTE__STATUS__OUTPUT__LEVEL_A_V ;
          P5__TASK__CONFIG__NAME__ATTRIBUTE__STATUS__OUTPUT__LEVEL_A_V = P5__TASK___ATTR (
                               P5__TASK__CONFIG_A,
@@ -61,14 +62,15 @@ void P5__TASK__PWM(
                                    P5__TASK__CONFIG__NAME__ATTRIBUTE__STATUS__OUTPUT__LEVEL_MIN_A  , // 10 P5__TASK__ATTR_INT_A 
                                    P5__TASK__ATTR_ACCTION__SET__INIT_A//11
                               ) ;
-                  Serial.print(" V[");  Serial.print(P5__TASK__CONFIG__NAME__ATTRIBUTE__STATUS__OUTPUT__LEVEL_A_V );  
+                  SPFT2(ATTRIBUTE_STATUS__OUTPUT__LEVEL,P5__TASK__CONFIG__NAME__ATTRIBUTE__STATUS__OUTPUT__LEVEL_A_V ) ;
+                  
          int P5__TASK__CONFIG__NAME__ATTRIBUTE__STATUS__OUTPUT__LEVEL_A_V_NEW = P5__TASK__CONFIG__NAME__ATTRIBUTE__STATUS__OUTPUT__LEVEL_A_V  ;
          
 
         P5__TASK__ATTR_INT_T  P5__TASK__ATTR_INT_A_SWING_R;
-        P5__TASK__ATTR_INT_A_SWING_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,P5__TASK__ATTR__INDEX__CURRENT_A , P5__TASK__ATTR__INDEX__CURRENT__EXEC_A , P5__TASK__TYPE__ATTRIBUTE_A , P5__TASK__CONFIG__NAME__INDEX__SWING , P5__TASK__CONFIG__INDEX__CURRENT__EXEC_A , P5__TASK__ATTR_INT__UNDEF_A , P5__TASK__ATTR_ACCTION__REPLY_A  ) ;
-            Serial.print("] ~V[");
-            Serial.print(P5__TASK__ATTR_INT_A_SWING_R);
+        P5__TASK__ATTR_INT_A_SWING_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,P5__TASK__ATTR__INDEX__CURRENT_A , P5__TASK__ATTR__INDEX__CURRENT__EXEC_A , P5__TASK__TYPE__ATTRIBUTE_A , P5__TASK__CONFIG__NAME__ATTRIBUTE__SWING__FREQUENCY_A , P5__TASK__CONFIG__INDEX__CURRENT__EXEC_A , P5__TASK__ATTR_INT__UNDEF_A , P5__TASK__ATTR_ACCTION__REPLY_A  ) ;
+        SPFT2(ATTRIBUTE_SWING__FREQUENCY,P5__TASK__ATTR_INT_A_SWING_R);
+           
             //Serial.print("] ");
            
             //P5__TASK__ATTR_INT_A_SWING_R = P5__TASK__ATTR_INT_A_SWING_R * P5__LATENCY_TASK_EXEC_TIME_A;
@@ -100,12 +102,11 @@ void P5__TASK__PWM(
                 if(( P5__TASK__CONFIG__NAME__ATTRIBUTE__STATUS__OUTPUT__LEVEL_A_V_NEW + P5__TASK__CONFIG__NAME__ATTRIBUTE__LIMITS__CURRENT__DELTA_A_V) > P5__TASK__CONFIG__NAME__ATTRIBUTE__STATUS__OUTPUT__LEVEL_MAX_A ) {
                     //P5__TASK__ATTR_INT_A_SWING_R = 1;
                     //set -
-                    
-                     Serial.print("["); Serial.print(P5__TASK__ATTR_INT_A_SWING_R); Serial.print("MAX >-]");
+                    SPFT2(ATTRIBUTE_SWING__FREQUENCY, "MX[->]");
                      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__INDEX__SWING ,   
+                     P5__TASK__CONFIG__NAME__ATTRIBUTE__SWING__FREQUENCY_A ,   
                      P5__TASK__CONFIG__INDEX__CURRENT__EXEC_A , //9 ref
                      ( P5__TASK__ATTR_INT_A_SWING_R * - 1  ), //P5__TASK__ATTR_INT_A  , // 10 val P5__TASK__ATTR_INT_A 
                         P5__TASK__ATTR_ACCTION__SET_A//11 acction
@@ -114,13 +115,12 @@ void P5__TASK__PWM(
                        //  P5__TASK__CONFIG__NAME__ATTRIBUTE__STATUS__OUTPUT__LEVEL_A_V_NEW = P5__TASK__CONFIG__NAME__ATTRIBUTE__STATUS__OUTPUT__LEVEL_A_V  ;
                 } else if(( P5__TASK__CONFIG__NAME__ATTRIBUTE__STATUS__OUTPUT__LEVEL_A_V_NEW + P5__TASK__CONFIG__NAME__ATTRIBUTE__LIMITS__CURRENT__DELTA_A_V ) < P5__TASK__CONFIG__NAME__ATTRIBUTE__STATUS__OUTPUT__LEVEL_MIN_A ) {
                    //set -
-                    Serial.print("MIN [<-]");
+                   SPFT2(ATTRIBUTE_SWING__FREQUENCY, "MN[<-]");
                     //P5__TASK__CONFIG__NAME__ATTRIBUTE__STATUS__OUTPUT__LEVEL_A_V_NEW = P5__TASK__CONFIG__NAME__ATTRIBUTE__STATUS__OUTPUT__LEVEL_MIN_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__INDEX__SWING ,   
+                     P5__TASK__CONFIG__NAME__ATTRIBUTE__SWING__FREQUENCY_A ,   
                      P5__TASK__CONFIG__INDEX__CURRENT__EXEC_A , //9 ref
                      ( P5__TASK__ATTR_INT_A_SWING_R * - 1  ), //P5__TASK__ATTR_INT_A  , // 10 val P5__TASK__ATTR_INT_A 
                         P5__TASK__ATTR_ACCTION__SET_A//11 acction
@@ -128,12 +128,11 @@ void P5__TASK__PWM(
                       //P5__TASK__ATTR_INT_A_SWING_R = P5__TASK__CONFIG__NAME__ATTRIBUTE__STATUS__OUTPUT__LEVEL_A_V  ;
                       // P5__TASK__CONFIG__NAME__ATTRIBUTE__STATUS__OUTPUT__LEVEL_A_V_NEW = P5__TASK__CONFIG__NAME__ATTRIBUTE__STATUS__OUTPUT__LEVEL_A_V  ;
                 }  else {
-                    Serial.print(" el.Vn[");  Serial.print(P5__TASK__CONFIG__NAME__ATTRIBUTE__STATUS__OUTPUT__LEVEL_A_V_NEW ); 
+                    SPFT2(ATTRIBUTE_STATUS__OUTPUT__LEVEL,P5__TASK__CONFIG__NAME__ATTRIBUTE__STATUS__OUTPUT__LEVEL_A_V_NEW );
                        P5__TASK__CONFIG__NAME__ATTRIBUTE__STATUS__OUTPUT__LEVEL_A_V_NEW = round((P5__TASK__CONFIG__NAME__ATTRIBUTE__LIMITS__CURRENT__DELTA_A_V ) + P5__TASK__CONFIG__NAME__ATTRIBUTE__STATUS__OUTPUT__LEVEL_A_V_NEW) ;
-                      Serial.print("] ~~S[");   Serial.print(P5__TASK__ATTR_INT_A_SWING_R); 
-                       Serial.print("~~Sn"); Serial.print(P5__TASK__CONFIG__NAME__ATTRIBUTE__STATUS__OUTPUT__LEVEL_A_V_NEW);  
-                          
-                      Serial.print("  ==n["); Serial.print( P5__TASK__CONFIG__NAME__ATTRIBUTE__STATUS__OUTPUT__LEVEL_A_V_NEW );Serial.print("] "); 
+                       SPFT2(ATTRIBUTE_SWING__FREQUENCY,P5__TASK__ATTR_INT_A_SWING_R);
+                       SPFT2(ATTRIBUTE_STATUS__OUTPUT__LEVEL,P5__TASK__CONFIG__NAME__ATTRIBUTE__STATUS__OUTPUT__LEVEL_A_V_NEW);
+                       
 
                 } 
                              //P5__TASK__CONFIG__NAME__ATTRIBUTE__STATUS__OUTPUT__LEVEL_A_V  =
@@ -151,15 +150,12 @@ void P5__TASK__PWM(
                                   P5__TASK__ATTR_ACCTION__SET_A//11
                              ) ;
                       analogWrite(P5__TASK__CONFIG__NAME__ATTRIBUTE__HARDWARE_PIN__NUMBER_A_V, P5__TASK__CONFIG__NAME__ATTRIBUTE__STATUS__OUTPUT__LEVEL_A_V_NEW ); 
-                       Serial.print(" ~[");
-                     Serial.print(P5__TASK__CONFIG__NAME__ATTRIBUTE__STATUS__OUTPUT__LEVEL_A_V_NEW );
-                     Serial.print("] ");
+                       SPFT2(ATTRIBUTE_STATUS__OUTPUT__LEVEL,P5__TASK__CONFIG__NAME__ATTRIBUTE__STATUS__OUTPUT__LEVEL_A_V_NEW );
             } else {
             //not swing
             analogWrite(P5__TASK__CONFIG__NAME__ATTRIBUTE__HARDWARE_PIN__NUMBER_A_V, P5__TASK__CONFIG__NAME__ATTRIBUTE__STATUS__OUTPUT__LEVEL_A_V ); 
-             Serial.println("");Serial.print("!~[");
-             Serial.print(P5__TASK__CONFIG__NAME__ATTRIBUTE__STATUS__OUTPUT__LEVEL_A_V_NEW);Serial.print("](");Serial.print(P5__TASK__ATTR_INT_A_SWING_R);
-             Serial.print(") ");
+             SPFT2(ATTRIBUTE_STATUS__OUTPUT__LEVEL, P5__TASK__CONFIG__NAME__ATTRIBUTE__STATUS__OUTPUT__LEVEL_A_V);
+             SPFT2(ATTRIBUTE_SWING__FREQUENCY,P5__TASK__ATTR_INT_A_SWING_R);
 
             }
   }

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

@@ -24,6 +24,9 @@
 
     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__CONFIG__NAME__INDEX_T ; //todo expand
+
   typedef int P5__TASK_T;
   typedef P5__TASK_T P5__TASK__TYPE_T;
   
@@ -51,17 +54,27 @@
       const P5__TASK__TYPE__CLASS_T P5__TASK__TYPE__ASSERT__EQUALS_REFERENCE__ELEMENT__OR__SEQUENCE_A = 15;
       const P5__TASK__TYPE__CLASS_T P5__TASK__TYPE__ASSERT__EQUALS_REFERENCE__ELEMENT__AND__SEQUENCE_A = 16;
    const P5__TASK__TYPE__CLASS_T P5__TASK__TYPE__NAMESPACE_A = 17;
+   const P5__TASK__TYPE__CLASS_T P5__TASK__TYPE__REDEFINE_A = 18;
+   const P5__TASK__TYPE__CLASS_T P5__TASK__TYPE__OVERRIDE_A = 19;
 
  //&&&^^^&&& CLASSS &&&^^^&&& CLASSS&&&^^^&&& CLASSS&&&^^^&&& CLASSS&&&^^^&&& CLASSS
   
 
+
+ //^^^^ NAMESPACE ^^^^ NAMESPACE ^^^^ NAMESPACE ^^^^ NAMESPACE ^^^^ NAMESPACE ^^^^ NAMESPACE 
+   const P5__TASK__CONFIG__NAME__INDEX_T P5__NAMESPACE__I2C = 1 ; //??
+
+ 
+ 
+// ^^^^ NAMESPACE ^^^^ NAMESPACE ^^^^ NAMESPACE ^^^^ NAMESPACE ^^^^ NAMESPACE ^^^^ NAMESPACE 
+
+
  // typedef P5__TASK_T P5__TASK__CONFIG_T ;
   //typedef char P5__TASK__CONFIG__NAME_T[3] ; //nazwa elementu
  //$#$#$ SIMPLE TYPES $#$#$ SIMPLE TYPES $#$#$ SIMPLE TYPES $#$#$ SIMPLE TYPES $#$#$ SIMPLE TYPES 
      typedef P5__ARRAY__INDEX_T P5__TASK__TYPE__ASSOC_T ; //do asscc
      const P5__TASK__TYPE__ASSOC_T P5__TASK__TYPE__ASSOC__UNDEFINED_A = 0;
      //typedef  P5__TASK__TYPE__ASSOC_T 
-       typedef int P5__TASK__CONFIG__NAME__INDEX_T ; //todo expand
       //$#$#$ SIMPLE TYPES $#$#$ SIMPLE TYPES $#$#$ SIMPLE TYPES $#$#$ SIMPLE TYPES $#$#$ SIMPLE TYPES 
 
 
@@ -73,15 +86,16 @@
   
  //$$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
 
   const P5__TASK__CONFIG__NAME__INDEX_T P5__TASK__CONFIG__NAME__INDEX__SWING = 2 ; //swing
-        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__ATTRIBUTE__STATUS__OUTPUT__LEVEL_A = 3 ; //todo blad syst
   
   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
+  const P5__TASK__CONFIG__NAME__INDEX_T P5__TASK__CONFIG__NAME__INDEX__I2C_A = 5 ; //P5__TASK__TYPE__ELEMENT
+
+  const P5__TASK__CONFIG__NAME__INDEX_T P5__TASK__CONFIG__NAME__INDEX__ATTR_A = 6 ; //assign or read attrs
+            
    //$$E$$R$ TASK NAME$$E$$R$ TASK NAME  $$E$$R$ TASK NAME  $$E$$R$ TASK NAME  $$E$$R$ TASK NAME  $$E$$R$ TASK NAME  
  
  
@@ -97,7 +111,7 @@
     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 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
@@ -107,7 +121,26 @@
     const P5__TASK__CONFIG__NAME__INDEX_T P5__TASK__CONFIG__NAME__ATTRIBUTE__HARDWARE_PIN__NUMBER_A = 21;  //TODO ASSERT
     const P5__TASK__CONFIG__NAME__INDEX_T P5__TASK__CONFIG__NAME__ATTRIBUTE__LIMITS__MAX__DELTA_A = 22;  //TODO ASSERT
     const P5__TASK__CONFIG__NAME__INDEX_T P5__TASK__CONFIG__NAME__ATTRIBUTE__LIMITS__CURRENT__DELTA_A = 23;  //TODO ASSERT
+    const P5__TASK__CONFIG__NAME__INDEX_T P5__TASK__CONFIG__NAME__ATTRIBUTE__I2C__ADDRESS_A = 24;  // 
+    const P5__TASK__CONFIG__NAME__INDEX_T P5__TASK__CONFIG__NAME__ATTRIBUTE__LATENCY_TASK_EXEC_TIME_A = 25 ;// todo jest to global var bez ctrl
+    const P5__TASK__CONFIG__NAME__INDEX_T P5__TASK__CONFIG__NAME__ATTRIBUTE__LATENCY_TASK_EXEC_TICKS_A = 26 ;// todo jest to global var bez ctrl
+    const P5__TASK__CONFIG__NAME__INDEX_T P5__TASK__CONFIG__NAME__ATTRIBUTE__LATENCY_TASK_EXEC_DIFF_RESULT_A = 27 ;// todo jest to global var bez ctrl
+
+    const P5__TASK__CONFIG__NAME__INDEX_T P5__TASK__CONFIG__NAME__ATTRIBUTE__P5__TASK__CONFIG__NAME__INDEX_A = 28 ;// todo jest to self define typu 
+         const P5__TASK__CONFIG__NAME__INDEX_T P5__TASK__CONFIG__NAME__ATTRIBUTE__P5__TASK__ATTR_ACCTION_A = 29 ;// todo jest to self define typu
+         const P5__TASK__CONFIG__NAME__INDEX_T P5__TASK__CONFIG__NAME__ATTRIBUTE__P5__TASK__ATTR_ACCTION__REPLY_A = 30 ;// todo jest to self define typu 
+         const P5__TASK__CONFIG__NAME__INDEX_T P5__TASK__CONFIG__NAME__ATTRIBUTE__P5__TASK__ATTR_ACCTION__SET__INIT_A = 31 ;// todo jest to self define typu 
+         const P5__TASK__CONFIG__NAME__INDEX_T P5__TASK__CONFIG__NAME__ATTRIBUTE__P5__TASK__ATTR_ACCTION__SET_A = 32 ;// todo jest to self define typu 
+         const P5__TASK__CONFIG__NAME__INDEX_T P5__TASK__CONFIG__NAME__ATTRIBUTE__P5__TASK__ATTR_ACCTION__REPLY_LIST_A = 33 ;// todo jest to self define typu 
 
+         const P5__TASK__CONFIG__NAME__INDEX_T P5__TASK__CONFIG__NAME__ATTRIBUTE__P5__TASK__TYPE__SEQUENCE__ARRAY__INDEX_A = 34 ; //i - id arrayow uzywanych - todo 
+         const P5__TASK__CONFIG__NAME__INDEX_T P5__TASK__CONFIG__NAME__ATTRIBUTE__P5__TASK__TYPE__CLASS_A = 35 ; //ujawnienie klas 
+         const P5__TASK__CONFIG__NAME__INDEX_T P5__TASK__CONFIG__NAME__ATTRIBUTE__P5__TASK__ATTR_INT_A = 36 ; //ujawnienie wartosci attr
+
+         const P5__TASK__CONFIG__NAME__INDEX_T P5__TASK__CONFIG__NAME__ATTRIBUTE__P5__TASK__CONFIG__INDEX__CURRENT__EXEC_A = 37 ; //ujawnienie parametru
+    const P5__TASK__CONFIG__NAME__INDEX_T P5__TASK__CONFIG__NAME__ATTRIBUTE__SWING__FREQUENCY_A = 38 ; //todo blad swing byl bez attr
+
+         
     //const P5__TASK__CONFIG__NAME__INDEX_T P5__TASK__CONFIG__NAME__ATTRIBUTE__DEFAULTS__PWM__HEIGHT = 18;  //TODO ASSERT
 
     //***** ATTRIBUTES ***** ATTRIBUTES ***** ATTRIBUTES ***** ATTRIBUTES 
@@ -120,7 +153,8 @@
     const P5__TASK__CONFIG__NAME__INDEX_T P5__TASK__CONFIG__NAME__ELEMENT__LIMITS = 5 ;//TODO ZOBACZYMTY JAK ROZWINAC MOZE KONKYRENCYJNIE
 
     const P5__TASK__CONFIG__NAME__INDEX_T P5__TASK__CONFIG__NAME__ELEMENT__PWM = 6 ;//TODO ZOBACZYMTY JAK ROZWINAC
-
+    const P5__TASK__CONFIG__NAME__INDEX_T P5__TASK__CONFIG__NAME__ELEMENT__LOOP_A = 7 ;//TODO PETLA TASKOW JAKBY NAMESPACE DLA TEJ SERII ELEMENTOW?
+    const P5__TASK__CONFIG__NAME__INDEX_T P5__TASK__CONFIG__NAME__ELEMENT__LOOP__EXEC_A = 8 ;//TODO PETLA TASKOW LATENCY MILLIS CTRL 
 
     //ELEMENTS  %%##%%#%#%T#ELEMENTS  %%##%%#%#%T#ELEMENTS  %%##%%#%#%T#ELEMENTS  %%##%%#%#%T#ELEMENTS  %%##%%#%#%T#
     

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

@@ -86,16 +86,18 @@ void p5__task__loop__run(
        if(P5__TASK__CONFIG__INDEX__CURRENT__EXEC_A   == 1) {
             //ERROR todo
        }   else  if(P5__TASK__CONFIG_A[P5__TASK__CONFIG__INDEX__CURRENT__EXEC_A  ].P5__TASK__CONFIG__NAME__INDEX_A == P5__TASK__CONFIG__NAME__INDEX__PWM  ) {
-               Serial.print(String(P5__TASK__CONFIG__NAME__INDEX__PWM__DISPLAY_NAME ));
+                SPFTL(TASK_PWM);
                 P5__TASK__PWM(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);
        }   else  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 ) {
-             Serial.print(String(P5__TASK__CONFIG__NAME__INDEX__DISPLAY__DISPLAY_NAME )); 
+             //Serial.print(String(P5__TASK__CONFIG__NAME__INDEX__DISPLAY__DISPLAY_NAME ));
+                             SPFTL(TASK_DISPLAY);
                // 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 );
        }   else  if(P5__TASK__CONFIG_A[P5__TASK__CONFIG__INDEX__CURRENT__EXEC_A  ].P5__TASK__CONFIG__NAME__INDEX_A == P5__TASK__CONFIG__NAME__INDEX__SWING) {
-            Serial.print(P5__TASK__CONFIG__NAME__INDEX__SWING__DISPLAY_NAME );
+            SPFTL(TASK_SWING); //TODO ATTR
+
        
       }  else {
       

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

@@ -31,6 +31,7 @@
     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;
-          Serial.print("NX[");   
+        SPFT(TASK_LOOP);
+         
      
     }

+ 12 - 19
SE/stuff/P5_Automation_can-dev-res-working-1930/___SUBMODULES___/testing_pwm_amp/testing_pwm_amp.ino

@@ -1,5 +1,8 @@
 
 #include <Arduino.h>
+
+
+
 #include <U8g2lib.h>
 #define HAS_u8g2
 
@@ -7,13 +10,14 @@
 #define P5__DEBUG 0
 #define DISABLE_u8g2log
 #define Active_ControllerID 0x20
-
+#define DEBUG__I2C 5
 //#define DISABLE__P5__TASK__DISPLAY
 //#include <StandardCplusplus.h>
 //#include <vector>
 //#include <iterator>
 
 #include "___P5_LIB/p5__struct.h"
+#include "___P5_LIB/p5__progmem.h"
 
 #include "___P5_LIB/p5__router.h"
 #include "___CONFIG/pins.h"
@@ -25,6 +29,8 @@
 #include "___P5_LIB/p5__intro.h"
 #include "___P5_LIB/p5__pwm.h"
 #include "___P5_LIB/p5__swing.h"
+#include "___P5_LIB/p5__i2c.h"
+
 //#include "___P5_LIB/p5__pins__setup.h"
 
 
@@ -118,25 +124,12 @@ P5__LATENCY_TIMESTAMP_T P5__LATENCY_TASK_EXEC_TIME_TIMESTAMP_A = 0;
     
 void loop(void) {
    
- #include "___P5_LIB/p5__task__loop.h"
-
-  // 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_TIME_A =  2000 /  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("  £"); 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 ;
+ #include "___P5_LIB/p5__task__loop.h"  //controlled by p5__task__loop__exec.h
+ #include "___P5_LIB/p5__task__loop__exec.h"
 
-   } else   P5__LATENCY_TASK_EXEC_TICKS_A ++ ;
+ 
+ 
+ 
  
     if ( t < millis() ) {
     t = millis() + 300000;			// every 15 seconds