arkadiusz binder %!s(int64=5) %!d(string=hai) anos
pai
achega
4df4ba485c

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

@@ -39,25 +39,27 @@ void p5__config__individual__init(
         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__CONFIG__INDEX__CURRENT__EXEC_A = P5__TASK__CONFIG__INDEX__CURRENT_A; //TODO DIFF CURSOR FOR SET?
 
         if(p5__task__config__set__increment( 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___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 ) ;
+                
+                P5__TASK__CONFIG__INDEX__CURRENT__EXEC_A = P5__TASK__CONFIG__INDEX__CURRENT_A - 1; //TODO DIFF CURSOR FOR SET?
+                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 ,  9 , 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__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 ) ;
+               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  ,  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__EXEC_A  , P5__TASK__CONFIG__NAME__ATTRIBUTE__LIMITS__MAX__DELTA_A_V,  P5__TASK__ATTR_ACCTION__SET__INIT_A ) ;
               //SWING ###^^^######^^^######^^^######^^^######^^^######^^^###
          }
      
          if(p5__task__config__set__increment( 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___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 ) ;
+                    
+                    P5__TASK__CONFIG__INDEX__CURRENT__EXEC_A = P5__TASK__CONFIG__INDEX__CURRENT_A - 1; //TODO DIFF CURSOR FOR SET?
+                    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  , 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__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 ) ;
+                     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 ,  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__EXEC_A , P5__TASK__CONFIG__NAME__ATTRIBUTE__LIMITS__MAX__DELTA_A_V,  P5__TASK__ATTR_ACCTION__SET__INIT_A ) ;
                     //SWING ###^^^######^^^######^^^######^^^######^^^######^^^###
          }     
                  
@@ -80,11 +82,37 @@ void p5__config__individual__init(
 
     
     if(p5__task__config__set__increment( P5__TASK__CONFIG_A, P5__TASK__CONFIG__INDEX__CURRENT_A, P5__TASK__TYPE__ROOT ,  P5__TASK__CONFIG__NAME__INDEX__I2C_A , P5__TASK__TYPE__ASSOC__UNDEFINED_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__I2C__ADDRESS_A,   P5__TASK__CONFIG__INDEX__CURRENT_A - 1 ,   0x40  , P5__TASK__ATTR_ACCTION__SET__INIT_A ) ;  //todo scan?
-            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 ,   15  , P5__TASK__ATTR_ACCTION__SET__INIT_A ) ; //todo assoc
+           P5__TASK__CONFIG__INDEX__CURRENT__EXEC_A = P5__TASK__CONFIG__INDEX__CURRENT_A - 1; //TODO DIFF CURSOR FOR SET?
+
+            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__I2C__ADDRESS_A,   P5__TASK__CONFIG__INDEX__CURRENT__EXEC_A ,   0x40  , P5__TASK__ATTR_ACCTION__SET__INIT_A ) ;  //todo scan?
+            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  ,   8  , P5__TASK__ATTR_ACCTION__SET__INIT_A ) ; //todo assoc
             
+               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 ,  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__EXEC_A , P5__TASK__CONFIG__NAME__ATTRIBUTE__LIMITS__MAX__DELTA_A_V,  P5__TASK__ATTR_ACCTION__SET__INIT_A ) ;
     }
 
+
+//testing asserts
+        //P5__TASK__CONFIG__NAME__INDEX_T P5__TASK__CONFIG__NAME__INDEX_A; //todo assert  refs
+        //        P5__TASK__TYPE__ASSERT_T P5__TASK__TYPE__ASSERT_A; //
+        //        P5__TASK__TYPE__SEQUENCE__ARRAY__ASSOC__INDEX_T P5__TASK__TYPE__SEQUENCE__ARRAY__ASSOC__INDEX_A ; //REKORD WZAJ REL
+    P5__TASK__CONFIG__NAME__ASSERT__ARRAY_A[P5__TASK__CONFIG__NAME__ASSERT__ARRAY_A__CURRENT_A].P5__TASK__CONFIG__NAME__INDEX_A = P5__TASK__CONFIG__NAME__ATTRIBUTE__STATUS__OUTPUT__LEVEL_A ;
+    P5__TASK__CONFIG__NAME__ASSERT__ARRAY_A[P5__TASK__CONFIG__NAME__ASSERT__ARRAY_A__CURRENT_A].P5__TASK__TYPE__ASSERT_A = P5__TASK__TYPE__ASSERT__EQUALS_REFERENCE__ELEMENT__SUM__SEQUENCE_A ; //just testing
+    P5__TASK__CONFIG__NAME__ASSERT__ARRAY_A[P5__TASK__CONFIG__NAME__ASSERT__ARRAY_A__CURRENT_A].P5__TASK__CONFIG__NAME__INDEX__ARRAY_A[3] ;
+    
+        P5__TASK__CONFIG__NAME__ASSERT__ARRAY_A[P5__TASK__CONFIG__NAME__ASSERT__ARRAY_A__CURRENT_A].P5__TASK__CONFIG__NAME__INDEX__ARRAY_A[2].P5__TASK__CONFIG__NAME__INDEX_A  = P5__TASK__CONFIG__NAME__ATTRIBUTE__STATUS__OUTPUT__LEVEL_A;
+        P5__TASK__CONFIG__NAME__ASSERT__ARRAY_A[P5__TASK__CONFIG__NAME__ASSERT__ARRAY_A__CURRENT_A].P5__TASK__CONFIG__NAME__INDEX__ARRAY_A[3].P5__TASK__CONFIG__NAME__INDEX_A  = P5__TASK__CONFIG__NAME__ATTRIBUTE__SWING__FREQUENCY_A  ;
+        P5__TASK__CONFIG__NAME__ASSERT__ARRAY_A[P5__TASK__CONFIG__NAME__ASSERT__ARRAY_A__CURRENT_A].P5__TASK__TYPE__SEQUENCE__ARRAY__ASSOC__INDEX_A = P5__TASK__CONFIG__NAME__ASSERT__ARRAY_A__CURRENT_A + 1; //next
+    
+    P5__TASK__CONFIG__NAME__ASSERT__ARRAY_A__CURRENT_A  ++;
+         P5__TASK__CONFIG__NAME__ASSERT__ARRAY_A[P5__TASK__CONFIG__NAME__ASSERT__ARRAY_A__CURRENT_A].P5__TASK__CONFIG__NAME__INDEX_A = 0 ; // to znaczy ze child ? P5__TASK__CONFIG__NAME__ATTRIBUTE__STATUS__OUTPUT__LEVEL_A ;
+           P5__TASK__CONFIG__NAME__ASSERT__ARRAY_A[P5__TASK__CONFIG__NAME__ASSERT__ARRAY_A__CURRENT_A].P5__TASK__TYPE__ASSERT_A = P5__TASK__TYPE__ASSERT__EQUALS_REFERENCE__ELEMENT__DIV__SEQUENCE_A ; //just testing
+           P5__TASK__CONFIG__NAME__ASSERT__ARRAY_A[P5__TASK__CONFIG__NAME__ASSERT__ARRAY_A__CURRENT_A].P5__TASK__CONFIG__NAME__INDEX__ARRAY_A[2] ;
+           P5__TASK__CONFIG__NAME__ASSERT__ARRAY_A[P5__TASK__CONFIG__NAME__ASSERT__ARRAY_A__CURRENT_A].P5__TASK__CONFIG__NAME__INDEX__ARRAY_A[2].P5__TASK__CONFIG__NAME__INDEX_A  = P5__TASK__CONFIG__NAME__ATTRIBUTE__LATENCY_TASK_EXEC_TIME_A;  //todo przyklad
+           P5__TASK__CONFIG__NAME__ASSERT__ARRAY_A[P5__TASK__CONFIG__NAME__ASSERT__ARRAY_A__CURRENT_A].P5__TASK__TYPE__SEQUENCE__ARRAY__ASSOC__INDEX_A = 0 ;
+           
+ 
+
 //    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?

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

@@ -29,12 +29,16 @@
     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__TYPE__SEQUENCE__ARRAY__ASSOC__INDEX_T ; //todo expand do wzajemnej relacji rek assert
 
+    
+    
   typedef int P5__TASK_T;
   typedef P5__TASK_T P5__TASK__TYPE_T;
   
   
   typedef P5__TASK__TYPE_T P5__TASK__TYPE__CLASS_T;
+  typedef P5__TASK__TYPE__CLASS_T P5__TASK__TYPE__ASSERT_T;
 
   
 
@@ -49,13 +53,14 @@
 
   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;
-      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__ASSERT_T P5__TASK__TYPE__ASSERT_A = 10;
+      const P5__TASK__TYPE__ASSERT_T P5__TASK__TYPE__ASSERT__EQUALS_REFERENCE__ELEMENT__SUM__SEQUENCE_A = 11;
+      const P5__TASK__TYPE__ASSERT_T P5__TASK__TYPE__ASSERT__EQUALS_REFERENCE__ELEMENT__MINUS__SEQUENCE_A = 12;
+      const P5__TASK__TYPE__ASSERT_T P5__TASK__TYPE__ASSERT__EQUALS_REFERENCE__ELEMENT__MULTI__SEQUENCE_A = 13;
+      const P5__TASK__TYPE__ASSERT_T P5__TASK__TYPE__ASSERT__EQUALS_REFERENCE__ELEMENT__DIV__SEQUENCE_A = 14;
+      const P5__TASK__TYPE__ASSERT_T P5__TASK__TYPE__ASSERT__EQUALS_REFERENCE__ELEMENT__OR__SEQUENCE_A = 15;
+      const P5__TASK__TYPE__ASSERT_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;
@@ -79,20 +84,39 @@
      const P5__TASK__TYPE__ASSOC_T P5__TASK__TYPE__ASSOC__UNDEFINED_A = 0;
      //typedef  P5__TASK__TYPE__ASSOC_T 
       //$#$#$ SIMPLE TYPES $#$#$ SIMPLE TYPES $#$#$ SIMPLE TYPES $#$#$ SIMPLE TYPES $#$#$ SIMPLE TYPES 
-
-
+  
+  
+  
+  struct P5__TASK__CONFIG__NAME__INDEX__ARRAY_S {
+        P5__TASK__CONFIG__NAME__INDEX_T P5__TASK__CONFIG__NAME__INDEX_A ;
+  };
+  
+  typedef P5__TASK__CONFIG__NAME__INDEX__ARRAY_S P5__TASK__CONFIG__NAME__INDEX__ARRAY_T ;
 
   struct P5__TASK__TYPE__SEQUENCE__ARRAY_S {
-        P5__TASK__CONFIG__NAME__INDEX_T P5__TASK__CONFIG__NAME__INDEX_A;
+        P5__TASK__CONFIG__NAME__INDEX_T P5__TASK__CONFIG__NAME__INDEX_A; //todo assert  refs
+        P5__TASK__TYPE__ASSERT_T P5__TASK__TYPE__ASSERT_A; //
+        P5__TASK__CONFIG__NAME__INDEX__ARRAY_T P5__TASK__CONFIG__NAME__INDEX__ARRAY_A[10] ; //todo manage
+        P5__TASK__TYPE__SEQUENCE__ARRAY__ASSOC__INDEX_T P5__TASK__TYPE__SEQUENCE__ARRAY__ASSOC__INDEX_A ; //REKORD WZAJ REL
    };
   typedef P5__TASK__TYPE__SEQUENCE__ARRAY_S P5__TASK__TYPE__SEQUENCE__ARRAY_T;
   
+  
+  
+  /*
+struct P5__TASK__TYPE__SEQUENCE__ARRAY__ASSOC_S {  //aby podlaczyc ze soba strukt
+        P5__TASK__CONFIG__NAME__INDEX_T P5__TASK__CONFIG__NAME__INDEX_A; //todo assert  refs
+        P5__TASK__TYPE__ASSERT_T P5__TASK__TYPE__ASSERT_A; //
+        
+   };
+*/
+  
+  
  //$$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 P5__TASK__CONFIG__NAME__INDEX_T P5__TASK__CONFIG__NAME__INDEX__SWING = 2 ; //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 P5__TASK__CONFIG__NAME__INDEX_T P5__TASK__CONFIG__NAME__INDEX__I2C_A = 5 ; //P5__TASK__TYPE__ELEMENT
@@ -144,7 +168,9 @@
     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__P5__TASK__CONFIG__INDEX__CURRENT_A = 39 ; //ujawnienie parametru
         const P5__TASK__CONFIG__NAME__INDEX_T P5__TASK__CONFIG__NAME__ATTRIBUTE__P5__TASK__TYPE__ASSOC_A = 40 ; //UJAWNIENIE parametru
-         
+        const P5__TASK__CONFIG__NAME__INDEX_T P5__TASK__CONFIG__NAME__ATTRIBUTE__P5__TASK__ATTR_ACCTION__IF_EXISTS_A = 41 ;// todo jest to self define typu 
+        const P5__TASK__CONFIG__NAME__INDEX_T P5__TASK__CONFIG__NAME__ATTRIBUTE__STATUS__OUTPUT__LEVEL_A = 42 ; //todo blad syst
+
     //const P5__TASK__CONFIG__NAME__INDEX_T P5__TASK__CONFIG__NAME__ATTRIBUTE__DEFAULTS__PWM__HEIGHT = 18;  //TODO ASSERT
 
     //***** ATTRIBUTES ***** ATTRIBUTES ***** ATTRIBUTES ***** ATTRIBUTES 
@@ -163,13 +189,26 @@
     //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__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__TYPE__SEQUENCE__ARRAY_T  P5__TASK__CONFIG__NAME__ASSERT__ELEMENT__DEFAULTS__EQUALS_REFERENCE__ELEMENT__AND__SEQUENCE_ARRAY_A[3];
+   //   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];
+      
+      
+      //#define P5__TASK__CONFIG__NAME__ASSERT__ATTRIBUTE_ARRAY_A__COUNT (sizeof( P5__TASK__CONFIG__NAME__ASSERT__ATTRIBUTE_ARRAY_A)/sizeof( P5__TASK__CONFIG__NAME__ASSERT__ATTRIBUTE_ARRAY_A[0])) 
+      
+        const P5__LIMITS_T P5__TASK__CONFIG__NAME__ASSERT__ARRAY__LIMIT = 10;
+
+      static P5__TASK__TYPE__SEQUENCE__ARRAY_T  P5__TASK__CONFIG__NAME__ASSERT__ARRAY_A[P5__TASK__CONFIG__NAME__ASSERT__ARRAY__LIMIT]; //todo func
+      typedef P5__ARRAY__INDEX_T    P5__TASK__CONFIG__NAME__ASSERT__ARRAY_A__CURRENT_T ;
+      static P5__TASK__CONFIG__NAME__ASSERT__ARRAY_A__CURRENT_T P5__TASK__CONFIG__NAME__ASSERT__ARRAY_A__CURRENT_A = 2 ;
+      typedef P5__TASK__CONFIG__NAME__ASSERT__ARRAY_A__CURRENT_T  P5__TASK__CONFIG__NAME__ASSERT__ARRAY_A__CURRENT__EXEC_T ;
+      static  P5__TASK__CONFIG__NAME__ASSERT__ARRAY_A__CURRENT__EXEC_T  P5__TASK__CONFIG__NAME__ASSERT__ARRAY_A__CURRENT__EXEC_A = 2;
+      
+      
       //  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 ;
       //  } ;
@@ -190,7 +229,6 @@
   typedef  P5__TASK__CONFIG_S P5__TASK__CONFIG_T;
   
   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 ;
 
@@ -201,7 +239,9 @@
   const P5__TASK__ATTR_ACCTION_T P5__TASK__ATTR_ACCTION__REPLY_A = 1 ;
   const P5__TASK__ATTR_ACCTION_T P5__TASK__ATTR_ACCTION__SET__INIT_A   = 2 ;
   const P5__TASK__ATTR_ACCTION_T P5__TASK__ATTR_ACCTION__SET_A = 3 ;
-  const P5__TASK__ATTR_ACCTION_T P5__TASK__ATTR_ACCTION__REPLY_LIST = 4 ; //todo
+  const P5__TASK__ATTR_ACCTION_T P5__TASK__ATTR_ACCTION__REPLY_LIST_A = 4 ; //todo
+  const P5__TASK__ATTR_ACCTION_T P5__TASK__ATTR_ACCTION__IF_EXISTS_A = 5 ;  
+
 
   typedef int P5__TASK__ATTR_INT_T ;
   const P5__TASK__ATTR_INT_T P5__TASK__ATTR_INT__UNDEF_A = 0 ;
@@ -215,7 +255,7 @@
    };
    typedef P5__TASK__ATTR_S P5__TASK__ATTR_T;
    
-     const P5__LIMITS_T P5__TASK__ATTR__LIMIT = 20;
+     const P5__LIMITS_T P5__TASK__ATTR__LIMIT = 40;
 
    static P5__TASK__ATTR_T P5__TASK__ATTR_A[P5__TASK__ATTR__LIMIT];
     

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

@@ -6,14 +6,26 @@
 
 
 
-void P5__TASK__SW(
-    P5__TASK__CONFIG_T* P5__TASK__CONFIG_A,
-        P5__ARRAY__INDEX_T P5__ARRAY__INDEX_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
+bool P5__TASK__SWING(  //todo czy nie inny typ?
+     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__EXEC_T  &P5__TASK__ATTR__INDEX__CURRENT__EXEC_A ,
+      P5__TASK__CONFIG__NAME__ASSERT__ARRAY_T* P5__TASK__CONFIG__NAME__ASSERT__ARRAY_A,
+      P5__TASK__CONFIG__NAME__ASSERT__ARRAY_A__CURRENT_T &P5__TASK__CONFIG__NAME__ASSERT__ARRAY_A__CURRENT_A, 
+      P5__TASK__CONFIG__NAME__ASSERT__ARRAY_A__CURRENT__EXEC_T &P5__TASK__CONFIG__NAME__ASSERT__ARRAY_A__CURRENT__EXEC_A , 
+     P5__LATENCY_TASK_EXEC_TIME_T &P5__LATENCY_TASK_EXEC_TIME_A
     ) {
 
+            //implemenetacja dyn asserts
+             int i;
+             for(i=2;i<=P5__TASK__CONFIG__NAME__ASSERT__ARRAY__LIMIT ; i++) {
+                P5__TASK__CONFIG__NAME__ASSERT__ARRAY_A[i]
+             
+             }
+            //read contexts attrs
 
     }
 #endif

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

@@ -43,7 +43,7 @@ bool p5__task__config__set( //not icrement
       
                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 ;
-               P5__TASK__CONFIG_A[P5__TASK__CONFIG__INDEX__CURRENT_A].P5__TASK__TYPE__ASSOC_A = P5__TASK__TYPE__ASSOC_A;// P5__TASK__TYPE__CLASS_A ;
+               P5__TASK__CONFIG_A[P5__TASK__CONFIG__INDEX__CURRENT_A].P5__TASK__TYPE__ASSOC_A = P5__TASK__TYPE__ASSOC_A;// 
                 return true;        
         }
 }
@@ -113,7 +113,7 @@ void p5__task__loop__run(
 
        
       }  else {
-      
+           #if (P5__DEBUG > 4 )
               SPFTL2(TASK_p5__task__loop__run,"!E auto run?")
               
                SPFTL(TASK_p5__task__loop__run);
@@ -122,8 +122,8 @@ void p5__task__loop__run(
                SPFT2( ATTRIBUTE__P5__TASK__CONFIG__INDEX__CURRENT__EXEC, P5__TASK__CONFIG_A[P5__TASK__CONFIG__INDEX__CURRENT__EXEC_A  ].P5__TASK__CONFIG__NAME__INDEX_A);
                SPFT2(ATTRIBUTE__P5__TASK__TYPE__CLASS, P5__TASK__CONFIG_A[P5__TASK__CONFIG__INDEX__CURRENT__EXEC_A  ].P5__TASK__TYPE__CLASS_A) ;
                SPFT2(ATTRIBUTE__P5__TASK__TYPE__ASSOC_A, P5__TASK__CONFIG_A[P5__TASK__CONFIG__INDEX__CURRENT__EXEC_A  ].P5__TASK__TYPE__ASSOC_A); 
-               delay(5000);
-                
+             //  delay(5000);
+            #endif
        }
         
         //now run attrs

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

@@ -26,6 +26,8 @@
      ) ; //todo ind next
     
     //todo testing run func from context 
+   #include "p5__swing__loop.h" 
+
    #include "p5__i2c__loop.h" 
     
    

+ 3 - 0
SE/stuff/P5_Automation_can-dev-res-working-1930/___SUBMODULES___/testing_pwm_amp/testing_pwm_amp.ino

@@ -67,6 +67,9 @@ U8G2_SSD1306_128X32_UNIVISION_F_HW_I2C u8g2(U8G2_R0);
     Serial.begin(115200);
       Serial.println("SX");
 
+   Adafruit_PWMServoDriver P5__I2C__DEVICE__PWM = Adafruit_PWMServoDriver(0x40, Wire);  //todo init somehow
+             
+             
 
 
 //todo