arkadiusz binder 5 лет назад
Родитель
Сommit
2156abb312

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

@@ -36,37 +36,52 @@ void p5__config__individual__init(
         
        P5__TASK__TYPE__CLASS_A = P5__TASK__TYPE__ROOT;
 
-     
+        P5__TASK__ATTR_INT_T  P5__TASK__CONFIG__NAME__ATTRIBUTE__LIMITS__MAX__DELTA_A_V = 10; //TODO
      //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__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__ATTRIBUTE__HARDWARE_PIN__NUMBER_A,   P5__TASK__CONFIG__INDEX__CURRENT_A - 1 ,  9 , P5__TASK__ATTR_ACCTION__SET__INIT_A ) ;
+
         
         //BEGIN SWING ###^^^### ###^^^######^^^######^^^######^^^###
-         P5__TASK__TYPE__ASSOC_A = P5__TASK__CONFIG__INDEX__CURRENT__EXEC_A; //P5__TASK__CONFIG__INDEX__CURRENT_A - 1;
-         P5__TASK__TYPE__CLASS_A = P5__TASK__TYPE__ATTRIBUTE_A;
-         P5__TASK__CONFIG__NAME__INDEX_A = P5__TASK__CONFIG__NAME__INDEX__SWING ;
-         P5__TASK__ATTR_INT_A = 5 ; //TODO SEC?
-         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__CONFIG__INDEX__CURRENT__EXEC_A , //9 ref
-                     P5__TASK__ATTR_INT_A  , // 10 val P5__TASK__ATTR_INT_A 
-                     P5__TASK__ATTR_ACCTION__SET__INIT_A//11 acction
-                ) ;
-                
+         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 ,  3  , 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 ###^^^######^^^######^^^######^^^######^^^######^^^###
         
      
+         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__ATTRIBUTE__HARDWARE_PIN__NUMBER_A,   P5__TASK__CONFIG__INDEX__CURRENT_A - 1 , 10 , P5__TASK__ATTR_ACCTION__SET__INIT_A ) ;
+
+        
+        //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__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 ###^^^######^^^######^^^######^^^######^^^######^^^###
+        
+     
+     
+     
+   /*  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__HARDWARE_PIN__NUMBER_A,   P5__TASK__CONFIG__INDEX__CURRENT_A - 1 , 8 , P5__TASK__ATTR_ACCTION__SET__INIT_A) ;
+
+     
         //BEGIN DISOPLAY  #---#---#-#---#---#-#---#---#-#---#---#-#---#---#- 
    
     
-    
+    */
     
     //P5__ARRAY__INDEX_A = 3;
       P5__TASK__TYPE__CLASS_A = P5__TASK__TYPE__ROOT; //  P5__TASK__TYPE__ELEMENT_A;

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

@@ -15,6 +15,8 @@
         //P5__STATUS_T P5__STATUS_A ;
         #if defined(P5__PWM__PIN__CONF)
               pinMode(P5__PWM__PIN__CONF, OUTPUT);  // sets the pin as output
+                pinMode(10, OUTPUT);  // sets the pin as output todso
+
           //     analogWrite(P5__PWM__PIN__CONF, 0); // analogRead values go from 0 to 1023, analogWrite values from 0 to 255
 
         #endif

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

@@ -37,54 +37,71 @@ void P5__TASK__PWM(
       //  P5__TASK__TYPE__ASSOC_T P5__TASK__TYPE__ASSOC_A
     ) {
        // P5__TASK__CONFIG__NAME__ATTRIBUTE__STATUS__OUTPUT__LEVEL_A
-       
-       P5__LIMITS_T P5__TASK__CONFIG__NAME__ATTRIBUTE__STATUS__OUTPUT__LEVEL_MIN_A = 125;
-        P5__LIMITS_T P5__TASK__CONFIG__NAME__ATTRIBUTE__STATUS__OUTPUT__LEVEL_MAX_A = 255; //TODO ASSERTS
-
-         Serial.print(" PWM[");
+          P5__TASK__ATTR_INT_T P5__TASK__CONFIG__NAME__ATTRIBUTE__LIMITS__CURRENT__DELTA_A_V ;
+          int   P5__TASK__CONFIG__NAME__ATTRIBUTE__LIMITS__MAX__DELTA_A_V;
+           P5__TASK__ATTR_INT_T  P5__TASK__CONFIG__NAME__ATTRIBUTE__HARDWARE_PIN__NUMBER_A_V ;
+           P5__TASK__CONFIG__NAME__ATTRIBUTE__HARDWARE_PIN__NUMBER_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__HARDWARE_PIN__NUMBER_A , P5__TASK__CONFIG__INDEX__CURRENT__EXEC_A , P5__TASK__ATTR_INT__UNDEF_A , P5__TASK__ATTR_ACCTION__REPLY_A  ) ;
+          
+       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("] ");
-        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,
-                P5__TASK__ATTR__INDEX__CURRENT_A , //5
-                     P5__TASK__ATTR__INDEX__CURRENT__EXEC_A ,//6
-                     P5__TASK__TYPE__ATTRIBUTE_A , //7
-                     P5__TASK__CONFIG__NAME__ATTRIBUTE__STATUS__OUTPUT__LEVEL_A , //8 , //P5__TASK__CONFIG__NAME__INDEX_A,  // P5__TASK__TYPE__ATTRIBUTE_A ,
-
-                     P5__TASK__CONFIG__INDEX__CURRENT__EXEC_A ,//9.5P5__TASK__TYPE__ASSOC_A// 
-                     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___ATTR_R);  
-         int P5__TASK___ATTR_R_NEW = P5__TASK___ATTR_R ;
+         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,
+                              P5__TASK__CONFIG__INDEX__CURRENT_A ,P5__TASK__CONFIG__INDEX__CURRENT__EXEC_A,
+                              P5__TASK__ATTR_A,
+                              P5__TASK__ATTR__INDEX__CURRENT_A , //5
+                                   P5__TASK__ATTR__INDEX__CURRENT__EXEC_A ,//6
+                                   P5__TASK__TYPE__ATTRIBUTE_A , //7
+                                   P5__TASK__CONFIG__NAME__ATTRIBUTE__STATUS__OUTPUT__LEVEL_A , //8 , //P5__TASK__CONFIG__NAME__INDEX_A,  // P5__TASK__TYPE__ATTRIBUTE_A ,
+              
+                                   P5__TASK__CONFIG__INDEX__CURRENT__EXEC_A ,//9.5P5__TASK__TYPE__ASSOC_A// 
+                                   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 );  
+         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__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);
+            //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) {
+            
+               P5__TASK__CONFIG__NAME__ATTRIBUTE__LIMITS__MAX__DELTA_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 , //5
                      P5__TASK__ATTR__INDEX__CURRENT__EXEC_A ,//6
                      P5__TASK__TYPE__ATTRIBUTE_A , //7
-                       P5__TASK__CONFIG__NAME__INDEX__SWING , //8 , //P5__TASK__CONFIG__NAME__INDEX_A,  // P5__TASK__TYPE__ATTRIBUTE_A ,
-
+                       P5__TASK__CONFIG__NAME__ATTRIBUTE__LIMITS__MAX__DELTA_A , //8 , //P5__TASK__CONFIG__NAME__INDEX_A,  // P5__TASK__TYPE__ATTRIBUTE_A , 
                      P5__TASK__CONFIG__INDEX__CURRENT__EXEC_A ,//9.5P5__TASK__TYPE__ASSOC_A// 
                      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("] ");
-            
-            //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 /10  )) > P5__TASK__CONFIG__NAME__ATTRIBUTE__STATUS__OUTPUT__LEVEL_MAX_A ) {
+               
+                if(abs(P5__TASK__ATTR_INT_A_SWING_R *  P5__LATENCY_TASK_EXEC_TIME_A /10  ) >  P5__TASK__CONFIG__NAME__ATTRIBUTE__LIMITS__MAX__DELTA_A_V) {
+                     if(P5__TASK__ATTR_INT_A_SWING_R > 0) {
+                            P5__TASK__CONFIG__NAME__ATTRIBUTE__LIMITS__CURRENT__DELTA_A_V =  P5__TASK__CONFIG__NAME__ATTRIBUTE__LIMITS__MAX__DELTA_A_V ;
+                     } else {
+                            P5__TASK__CONFIG__NAME__ATTRIBUTE__LIMITS__CURRENT__DELTA_A_V =  - P5__TASK__CONFIG__NAME__ATTRIBUTE__LIMITS__MAX__DELTA_A_V ;
+                     }
+                 }  else {
+                    P5__TASK__CONFIG__NAME__ATTRIBUTE__LIMITS__CURRENT__DELTA_A_V =  (P5__TASK__ATTR_INT_A_SWING_R *  P5__LATENCY_TASK_EXEC_TIME_A /10  )  ;
+                 }
+               
+                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(" >-]");
+                    
+                     Serial.print("["); Serial.print(P5__TASK__ATTR_INT_A_SWING_R); Serial.print("MAX >-]");
                      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 ,
@@ -93,11 +110,13 @@ void P5__TASK__PWM(
                      ( 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
                       ) ;
-                        //P5__TASK__ATTR_INT_A_SWING_R = P5__TASK___ATTR_R ;
-                       //  P5__TASK___ATTR_R_NEW = P5__TASK___ATTR_R ;
-                } else if(( P5__TASK___ATTR_R_NEW + (P5__TASK__ATTR_INT_A_SWING_R *  P5__LATENCY_TASK_EXEC_TIME_A /10 )) < P5__TASK__CONFIG__NAME__ATTRIBUTE__STATUS__OUTPUT__LEVEL_MIN_A ) {
+                        //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 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("[<-]");
+                    Serial.print("MIN [<-]");
+                    //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 ,
@@ -106,18 +125,18 @@ void P5__TASK__PWM(
                      ( 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
                       ) ;
-                      //P5__TASK__ATTR_INT_A_SWING_R = P5__TASK___ATTR_R ;
-                      // P5__TASK___ATTR_R_NEW = P5__TASK___ATTR_R ;
+                      //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___ATTR_R_NEW ); 
-                       P5__TASK___ATTR_R_NEW = round((P5__TASK__ATTR_INT_A_SWING_R  *  P5__LATENCY_TASK_EXEC_TIME_A /10 ) + P5__TASK___ATTR_R_NEW) ;
+                    Serial.print(" el.Vn[");  Serial.print(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___ATTR_R_NEW);  
+                       Serial.print("~~Sn"); Serial.print(P5__TASK__CONFIG__NAME__ATTRIBUTE__STATUS__OUTPUT__LEVEL_A_V_NEW);  
                           
-                      Serial.print("  ==n["); Serial.print( P5__TASK___ATTR_R_NEW );Serial.print("] "); 
+                      Serial.print("  ==n["); Serial.print( P5__TASK__CONFIG__NAME__ATTRIBUTE__STATUS__OUTPUT__LEVEL_A_V_NEW );Serial.print("] "); 
 
                 } 
-                             //P5__TASK___ATTR_R =
+                             //P5__TASK__CONFIG__NAME__ATTRIBUTE__STATUS__OUTPUT__LEVEL_A_V  =
                               P5__TASK___ATTR (
                              P5__TASK__CONFIG_A,
                              P5__TASK__CONFIG__INDEX__CURRENT_A ,P5__TASK__CONFIG__INDEX__CURRENT__EXEC_A,
@@ -128,18 +147,18 @@ void P5__TASK__PWM(
                                   P5__TASK__CONFIG__NAME__ATTRIBUTE__STATUS__OUTPUT__LEVEL_A , //8 , //P5__TASK__CONFIG__NAME__INDEX_A,  // P5__TASK__TYPE__ATTRIBUTE_A ,
              
                                   P5__TASK__CONFIG__INDEX__CURRENT__EXEC_A ,//9.5P5__TASK__TYPE__ASSOC_A// 
-                                  P5__TASK___ATTR_R_NEW , //P5__TASK___ATTR_R + P5__TASK__ATTR_INT_A_SWING , // 10 P5__TASK__ATTR_INT_A 
+                                  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_A_SWING , // 10 P5__TASK__ATTR_INT_A 
                                   P5__TASK__ATTR_ACCTION__SET_A//11
                              ) ;
-                      analogWrite(P5__PWM__PIN__CONF, P5__TASK___ATTR_R_NEW ); 
+                      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___ATTR_R_NEW );
+                     Serial.print(P5__TASK__CONFIG__NAME__ATTRIBUTE__STATUS__OUTPUT__LEVEL_A_V_NEW );
                      Serial.print("] ");
             } else {
             //not swing
-            analogWrite(P5__PWM__PIN__CONF, P5__TASK___ATTR_R); 
+            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___ATTR_R_NEW);Serial.print("](");Serial.print(P5__TASK__ATTR_INT_A_SWING_R);
+             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(") ");
 
             }

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

@@ -48,6 +48,8 @@
       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;
+      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;
 
  //&&&^^^&&& CLASSS &&&^^^&&& CLASSS&&&^^^&&& CLASSS&&&^^^&&& CLASSS&&&^^^&&& CLASSS
   
@@ -98,11 +100,26 @@
     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
-   
+    const P5__TASK__CONFIG__NAME__INDEX_T P5__TASK__CONFIG__NAME__ATTRIBUTE__LIMITS__MAX_A = 19;  //TODO ASSERT
+    const P5__TASK__CONFIG__NAME__INDEX_T P5__TASK__CONFIG__NAME__ATTRIBUTE__LIMITS__MIN_A = 20;  //TODO ASSERT
+    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__DEFAULTS__PWM__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
+    const P5__TASK__CONFIG__NAME__INDEX_T P5__TASK__CONFIG__NAME__ELEMENT__DEFAULTS = 2; //TODO ZOBACZYMTY JAK ROZWINAC
+    const P5__TASK__CONFIG__NAME__INDEX_T P5__TASK__CONFIG__NAME__ELEMENT__OUTPUT = 3 ;//TODO ZOBACZYMTY JAK ROZWINAC
+    const P5__TASK__CONFIG__NAME__INDEX_T P5__TASK__CONFIG__NAME__ELEMENT__PORT = 4 ;//TODO ZOBACZYMTY JAK ROZWINAC MOZE KONKYRENCYJNIE
+    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
+
+
     //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  @@@@@
@@ -112,7 +129,10 @@
      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__TYPE__SEQUENCE__ARRAY_T  P5__TASK__CONFIG__NAME__ASSERT__ELEMENT__DEFAULTS__EQUALS_REFERENCE__ELEMENT__AND__SEQUENCE_ARRAY_A[3];
+      //  P5__TASK__CONFIG__NAME__ASSERT__ELEMENT__DEFAULTS__EQUALS_REFERENCE__ELEMENT__AND__SEQUENCE_ARRAY_A = {
+      //      P5__TASK__CONFIG__NAME__ELEMENT__OUTPUT , P5__TASK__CONFIG__NAME__ELEMENT__PWM, P5__TASK__CONFIG__NAME__ELEMENT__PORT ;
+      //  } ;
     // 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