a.binder преди 5 години
родител
ревизия
fcf3e7cd15
променени са 21 файла, в които са добавени 169 реда и са изтрити 63 реда
  1. 2 2
      SE/stuff/P5_Automation_can-dev-res/P5_Automation_can-dev-res.ino
  2. 3 2
      SE/stuff/P5_Automation_can-dev-res/_DISPLAY_add_record_func.h
  3. 2 1
      SE/stuff/P5_Automation_can-dev-res/_DISPLAY_func.h
  4. 1 1
      SE/stuff/P5_Automation_can-dev-res/_ROTTARY_SW/_ROTTARY_SW_loop.h
  5. 2 2
      SE/stuff/P5_Automation_can-dev-res/_Slave_Ports_I2C_func.h
  6. 60 17
      SE/stuff/P5_Automation_can-dev-res/_Slave_Ports_Status_QUEUE_add_func.h
  7. 40 15
      SE/stuff/P5_Automation_can-dev-res/_Slave_Ports_Status_QUEUE_func.h
  8. 1 1
      SE/stuff/P5_Automation_can-dev-res/_Slave_Ports_Status_QUEUE_struct.h
  9. 3 3
      SE/stuff/P5_Automation_can-dev-res/_Slave_Ports_Status_func.h
  10. 4 4
      SE/stuff/P5_Automation_can-dev-res/_Slave_Ports_broadcast_func.h
  11. 3 1
      SE/stuff/P5_Automation_can-dev-res/_Slave_Ports_ttl_decrement_func.h
  12. 2 1
      SE/stuff/P5_Automation_can-dev-res/___CONFIG/0x101/config_Active_ControllerID_0x101.h
  13. 1 1
      SE/stuff/P5_Automation_can-dev-res/___CONFIG/0x101/config_Slave_Ports_LOCAL_0x101_init.h
  14. 1 1
      SE/stuff/P5_Automation_can-dev-res/___CONFIG/0x103/config_Slave_Ports_LOCAL_0x103_init.h
  15. 1 1
      SE/stuff/P5_Automation_can-dev-res/___CONFIG/config_Slave_Ports_LOCAL_init.h
  16. 1 1
      SE/stuff/P5_Automation_can-dev-res/___loop/__main_loop_end.h
  17. 5 3
      SE/stuff/P5_Automation_can-dev-res/___loop/__main_loop_top.h
  18. 4 4
      SE/stuff/P5_Automation_can-dev-res/___main/__main_setup.h
  19. 29 0
      SE/stuff/P5_Automation_can-dev-res/___main/__main_struct_funct.h
  20. 3 2
      SE/stuff/P5_Automation_can-dev-res/_bak/_Slave_Ports_Status_func.bakh.h
  21. 1 0
      SE/stuff/P5_Automation_can-dev/P5_Automation_can-dev.xpr

+ 2 - 2
SE/stuff/P5_Automation_can-dev-res/P5_Automation_can-dev-res.ino

@@ -187,7 +187,7 @@
 
 #include "Queue.h"
 //#include "TPQ.h"
- Queue<int> _Slave_Ports_queue = Queue<int>(10);
+ Queue<int> _Slave_Ports_queue = Queue<int>(ARDUINO_ARRAY_INDEX_LIMIT_QUEUE);
  
 
  #if Active_ControllerID == _ControllerID 
@@ -549,7 +549,7 @@ void loop() {
                    millis(),
                     millis() + ARDUINO_time_seq_id_A_INCREMENT
                      //queue
-                    ,Slave_Ports_Status_QUEUE_A,
+                    ,Slave_Ports_Status_QUEUE_A, Slave_Ports_Status_QUEUE_T_ARDUINO_ATTR_ARRAY_A ,
                     TASK_TYPE_T__EMPTY__JUST_PASSED_ARG__,
                     TASK_PORT_ASSOC_EMPTY
                  );

+ 3 - 2
SE/stuff/P5_Automation_can-dev-res/_DISPLAY_add_record_func.h

@@ -9,7 +9,7 @@
             time_seq_id_T time_seq_id_A,
             time_min_run_T time_min_run_A     
             //QUEUE
-            ,Slave_Ports_Status_QUEUE_T* Slave_Ports_Status_QUEUE_A,
+            ,Slave_Ports_Status_QUEUE_T* Slave_Ports_Status_QUEUE_A, Slave_Ports_Status_QUEUE_T_ARDUINO_ATTR_ARRAY_T &Slave_Ports_Status_QUEUE_T_ARDUINO_ATTR_ARRAY_A, 
             TASK_TYPE_T TASK_TYPE_A,
             TASK_PORT_ASSOC_T TASK_PORT_ASSOC_A
                
@@ -131,7 +131,8 @@
                  
               ARDUINO_FUNCT_INIT_RESULT_Slave_Ports_queue__add_DISPLAY_T   ARDUINO_FUNCT_INIT_RESULT_Slave_Ports_queue__add_DISPLAY_A = 
                 _Slave_Ports_queue__add( 
-                     Slave_Ports_Status_QUEUE_A,  TASK_TYPE_T_DISPLAY_queue_pop________ 
+                     Slave_Ports_Status_QUEUE_A, Slave_Ports_Status_QUEUE_T_ARDUINO_ATTR_ARRAY_A,
+                      TASK_TYPE_T_DISPLAY_queue_pop________ 
                     ,TASK_PORT_ASSOC_EMPTY ,millis(), millis() + ARDUINO_time_seq_id_A_INCREMENT ,
                     DISPLAY_T_ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_CURRENT_A
                     ) ;  //"_Slave_Ports_set_I2C" //5  - to set ports associated on PW       

+ 2 - 1
SE/stuff/P5_Automation_can-dev-res/_DISPLAY_func.h

@@ -128,6 +128,7 @@ void DISPLAY__print_IMMEDIATE(
         time_min_run_T time_min_run_A
         //queue
         ,Slave_Ports_Status_QUEUE_T* Slave_Ports_Status_QUEUE_A,
+            Slave_Ports_Status_QUEUE_T_ARDUINO_ATTR_ARRAY_T &Slave_Ports_Status_QUEUE_T_ARDUINO_ATTR_ARRAY_A,
         TASK_TYPE_T TASK_TYPE_A,
         TASK_PORT_ASSOC_T TASK_PORT_ASSOC_A
                 )
@@ -172,7 +173,7 @@ void DISPLAY__print_IMMEDIATE(
                              time_seq_id_A,
                              time_min_run_A
                              //queue
-                             , Slave_Ports_Status_QUEUE_A,
+                             , Slave_Ports_Status_QUEUE_A, Slave_Ports_Status_QUEUE_T_ARDUINO_ATTR_ARRAY_A ,
                              TASK_TYPE_A,
                              TASK_PORT_ASSOC_A
                          ) ;

+ 1 - 1
SE/stuff/P5_Automation_can-dev-res/_ROTTARY_SW/_ROTTARY_SW_loop.h

@@ -37,7 +37,7 @@ DISPLAY__CURSOR_Y_CHARS__SET(DISPLAY_PHYSICAL_CHAR_A,
                            millis() , // time_seq_id_T time_seq_id_A;
                            millis()+5000, //time_min_run_T time_min_run_A;
                           //queue
-                         Slave_Ports_Status_QUEUE_A,
+                         Slave_Ports_Status_QUEUE_A,Slave_Ports_Status_QUEUE_T_ARDUINO_ATTR_ARRAY_A ,
                          TASK_TYPE_T_Slave_Ports_broadcast____  ,  //TASK_TYPE_A,
                          {  } //TASK_PORT_ASSOC_A Slave_Ports_Status_A[i].Port_ID
                          

+ 2 - 2
SE/stuff/P5_Automation_can-dev-res/_Slave_Ports_I2C_func.h

@@ -1,6 +1,6 @@
 //_Slave_Ports_I2C_func.h
  void _Slave_Ports_I2C_POP( //maintain tasks
-    Slave_Ports_Status_QUEUE_T*  Slave_Ports_Status_QUEUE_A,
+    Slave_Ports_Status_QUEUE_T*  Slave_Ports_Status_QUEUE_A, Slave_Ports_Status_QUEUE_T_ARDUINO_ATTR_ARRAY_T &Slave_Ports_Status_QUEUE_T_ARDUINO_ATTR_ARRAY_A,
     int _Slave_Ports_queue_pop ,  
     Slave_Ports_Status_T* Slave_Ports_Status_A,
      Slave_Ports_Status_T_ARDUINO_ATTR_ARRAY_T  &Slave_Ports_Status_T_ARDUINO_ATTR_ARRAY_A,
@@ -41,7 +41,7 @@
                            time_seq_id_A,
                            time_min_run_A
                           //queue
-                        , Slave_Ports_Status_QUEUE_A,
+                        , Slave_Ports_Status_QUEUE_A, Slave_Ports_Status_QUEUE_T_ARDUINO_ATTR_ARRAY_A,
                          TASK_TYPE_A,
                          TASK_PORT_ASSOC_A
                         

+ 60 - 17
SE/stuff/P5_Automation_can-dev-res/_Slave_Ports_Status_QUEUE_add_func.h

@@ -1,5 +1,6 @@
 
-ARDUINO_FUNCT_INIT_RESULT_T _Slave_Ports_queue__add( Slave_Ports_Status_QUEUE_T* Slave_Ports_Status_QUEUE_A,
+ARDUINO_FUNCT_INIT_RESULT_T _Slave_Ports_queue__add( Slave_Ports_Status_QUEUE_T* Slave_Ports_Status_QUEUE_A, 
+     Slave_Ports_Status_QUEUE_T_ARDUINO_ATTR_ARRAY_T &Slave_Ports_Status_QUEUE_T_ARDUINO_ATTR_ARRAY_A,
 TASK_TYPE_T TASK_TYPE_A,
 TASK_PORT_ASSOC_T TASK_PORT_ASSOC_A, //
 long time_seq_id, 
@@ -12,29 +13,60 @@ ARDUINO_ARRAY_INDEX_T DISPLAY_ARDUINO_ARRAY_INDEX_A //optionally
        Serial.print(TASK_TYPE_A); Serial.print(" [");  _Slave_Ports_queue_task_type_DESC(TASK_TYPE_A); Serial.print("]  cur_peek:[");
        
        
-       #ifdef DEBUG_QUEUE
-                Serial.print("   [16 DEBUG_QUEUE ]   ");
-               // ARDUINO_ATTR_ARRAY_S__display()
-       #endif 
-       
+      
+    
         
        int _Slave_Ports_queue_peek = _Slave_Ports_queue.peek() ;
        int _Slave_Ports_queue_back = _Slave_Ports_queue.back() ;
      //  int _Slave_Ports_queue_push_new_ref;
       // if(_Slave_Ports_queue_back > _Slave_Ports_queue_peek)
-      Serial.print(_Slave_Ports_queue_peek);  Serial.print("] cur back[");  Serial.print(_Slave_Ports_queue_back); Serial.print("] ");
+     
+      
+      
+         
+      #ifdef DEBUG_QUEUE
+            Serial.println("[#22] [DEBUG_QUEUE]  RDUINO_ATTR_ARRAY_S__display[ ");  
+            ARDUINO_ATTR_ARRAY_S__display(Slave_Ports_Status_QUEUE_T_ARDUINO_ATTR_ARRAY_A) ;
+           // Serial.print("]  [OLD_QUEUE]   cur peek[");
+            //Serial.print(_Slave_Ports_queue_peek);  Serial.print("] cur back[");  Serial.print(_Slave_Ports_queue_back); 
+            
+            Serial.print("]    new push[");
+      
+      #endif
+      
+      
+      //CONTROLLING ARR SIZE
+      //ARDUINO_ARRAY_INDEX_CURRENT_T Slave_Ports_Status_QUEUE_T_INDEX_CURRENT_A =  Slave_Ports_Status_QUEUE_T_ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_CURRENT_A ;
+      ARDUINO_ARRAY_INDEX_CURRENT_T Slave_Ports_Status_QUEUE_T_INDEX_NEXT_A =  Slave_Ports_Status_QUEUE_T_ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_NEXT_A ;
+
+      if(Slave_Ports_Status_QUEUE_T_INDEX_NEXT_A == ARDUINO_ARRAY_INDEX_LIMIT_QUEUE) {
+      Serial.println("] "); Serial.print("[#41] [ERROR] [DEBUG_QUEUE] [LIMIT HIT]  [ARDUINO_ARRAY_INDEX_LIMIT_QUEUE] = [");
+      Serial.print(ARDUINO_ARRAY_INDEX_LIMIT_QUEUE) ; Serial.print("]  ");
+        Serial.println("[ QUEUE_RESTART_INDEX]   by [ARDUINO_ARRAY_time_min_run_MIN_A] [ARDUINO_ARRAY_INDEX_time_min_run_MIN_A]") ;
+        Serial.println("[Todo should commit provide counter and next automaticalluy - this is error case]");
+        
+        ARDUINO_ATTR_ARRAY_S__INDEX_NEXT_rotate(Slave_Ports_Status_QUEUE_T_ARDUINO_ATTR_ARRAY_A,time_min_run ) ;
+      }
+      
+      /*
       _Slave_Ports_queue.push(_Slave_Ports_queue_back + 1);
       int _Slave_Ports_queue_peek_new = _Slave_Ports_queue.peek() ;
+      
+       #ifdef DEBUG_QUEUE
      // int _Slave_Ports_queue__push = _Slave_Ports_queue__peek + 1 ;
              Serial.print("] new peek[");
-             Serial.print(_Slave_Ports_queue_peek_new );    Serial.print("]  back+1["); Serial.print(_Slave_Ports_queue_back + 1 );
-             Serial.print("]  time_seq_id1["); Serial.print(time_seq_id);
-             Serial.print("]  time_min_run["); Serial.print(time_min_run);  
-             Serial.print("] front[");   Serial.print(_Slave_Ports_queue.front());   Serial.print("] back[");   Serial.print(_Slave_Ports_queue.back());  
-             if(DISPLAY_ARDUINO_ARRAY_INDEX_A != ARDUINO_ARRAY_INDEX_NOT_SET )Serial.print("] DISPLAY_INDEX[");   Serial.print(DISPLAY_ARDUINO_ARRAY_INDEX_A);   
-             Serial.println("] ");
-
- 
+             Serial.print(_Slave_Ports_queue_peek_new );    Serial.print("]   back+1["); Serial.print(_Slave_Ports_queue_back + 1 );
+             
+             Serial.print("] fnew front[");   Serial.print(_Slave_Ports_queue.front());   Serial.print("] new back[");   Serial.print(_Slave_Ports_queue.back());  
+               if(DISPLAY_ARDUINO_ARRAY_INDEX_A != ARDUINO_ARRAY_INDEX_NOT_SET )Serial.print("] DISPLAY_INDEX[");   Serial.print(DISPLAY_ARDUINO_ARRAY_INDEX_A);   
+             Serial.println("]     ");
+             
+             
+             Serial.print("[#51][DEBUG_QUEUE] [NEW TASK]    time_seq_id1["); Serial.print(time_seq_id);
+             Serial.print("]  time_min_run["); Serial.print(time_min_run); 
+       #endif
+           
+        
              
      Slave_Ports_Status_QUEUE_A[_Slave_Ports_queue_back + 1 ].QUEUE_ID_A=_Slave_Ports_queue_back + 1 ;
      Slave_Ports_Status_QUEUE_A[_Slave_Ports_queue_back + 1 ].TASK_TYPE_A=TASK_TYPE_A ;
@@ -43,8 +75,19 @@ ARDUINO_ARRAY_INDEX_T DISPLAY_ARDUINO_ARRAY_INDEX_A //optionally
      Slave_Ports_Status_QUEUE_A[_Slave_Ports_queue_back + 1 ].time_min_run=time_min_run ;
      
          Slave_Ports_Status_QUEUE_A[_Slave_Ports_queue_back + 1 ].DISPLAY_ARDUINO_ARRAY_INDEX_A = DISPLAY_ARDUINO_ARRAY_INDEX_A ;
- 
- 
+    */
+    Serial.print("]   [USING] [INDEX_NEXT_A]=["); 
+     Slave_Ports_Status_QUEUE_T_INDEX_NEXT_A =  Slave_Ports_Status_QUEUE_T_ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_NEXT_A ;
+            Serial.print( Slave_Ports_Status_QUEUE_T_INDEX_NEXT_A);   Serial.print("]  [");
+        
+     Slave_Ports_Status_QUEUE_A[Slave_Ports_Status_QUEUE_T_INDEX_NEXT_A].QUEUE_ID_A=_Slave_Ports_queue_back + 1 ;
+     Slave_Ports_Status_QUEUE_A[Slave_Ports_Status_QUEUE_T_INDEX_NEXT_A].TASK_TYPE_A=TASK_TYPE_A ;
+     Slave_Ports_Status_QUEUE_A[Slave_Ports_Status_QUEUE_T_INDEX_NEXT_A].TASK_PORT_ASSOC_A=TASK_PORT_ASSOC_A ;
+     Slave_Ports_Status_QUEUE_A[Slave_Ports_Status_QUEUE_T_INDEX_NEXT_A].time_seq_id=time_seq_id ;
+     Slave_Ports_Status_QUEUE_A[Slave_Ports_Status_QUEUE_T_INDEX_NEXT_A].time_min_run=time_min_run ;
+     
+      Slave_Ports_Status_QUEUE_A[Slave_Ports_Status_QUEUE_T_INDEX_NEXT_A].DISPLAY_ARDUINO_ARRAY_INDEX_A = DISPLAY_ARDUINO_ARRAY_INDEX_A ;
+      ARDUINO_ATTR_ARRAY_S__commit_added_element(Slave_Ports_Status_QUEUE_T_ARDUINO_ATTR_ARRAY_A, Slave_Ports_Status_QUEUE_T_INDEX_NEXT_A ) ;
  
  return true ;
     

+ 40 - 15
SE/stuff/P5_Automation_can-dev-res/_Slave_Ports_Status_QUEUE_func.h

@@ -1,31 +1,56 @@
 
   
 
-void _Slave_Ports_queue__INIT( Slave_Ports_Status_QUEUE_T* Slave_Ports_Status_QUEUE_A) {
+void _Slave_Ports_queue__INIT( Slave_Ports_Status_QUEUE_T* Slave_Ports_Status_QUEUE_A, 
+Slave_Ports_Status_QUEUE_T_ARDUINO_ATTR_ARRAY_T &Slave_Ports_Status_QUEUE_T_ARDUINO_ATTR_ARRAY_A
+) {
   Serial.println("_Slave_Ports_queue__INIT");
-   int i;
-  for(i=0;i<10;i++) {
   
-   Slave_Ports_Status_QUEUE_A[i].QUEUE_ID_A = 0;
-     Slave_Ports_Status_QUEUE_A[i].TASK_TYPE_A = TASK_TYPE_T_NOT_USED_________________;
-      Slave_Ports_Status_QUEUE_A[i].TASK_PORT_ASSOC_A = {} ;
-       Slave_Ports_Status_QUEUE_A[i].time_seq_id = 0;
+   //INIT 2015
+  ARDUINO_ARRAY_INDEX_CURRENT_T i =  Slave_Ports_Status_QUEUE_T_ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_CURRENT_A ;
+   if(Slave_Ports_Status_QUEUE_T_ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_CURRENT_A == ARDUINO_ARRAY_INDEX_CORRUPT) {
+        Slave_Ports_Status_QUEUE_A[i].QUEUE_ID_A = 0;
+        Slave_Ports_Status_QUEUE_A[i].TASK_TYPE_A = TASK_TYPE_T_NOT_USED_________________;
+        Slave_Ports_Status_QUEUE_A[i].TASK_PORT_ASSOC_A = {} ;
+        Slave_Ports_Status_QUEUE_A[i].time_seq_id = 0;
         Slave_Ports_Status_QUEUE_A[i].time_min_run = 0;
         
-      //  Slave_Ports_Status_QUEUE_A[i]=Slave_Ports_Status_QUEUE_A[i];
+        ARDUINO_ATTR_ARRAY_S__commit_added_element(
+                          Slave_Ports_Status_QUEUE_T_ARDUINO_ATTR_ARRAY_A , 
+                         i);
+        //#ifdef DEBUG_QUEUE
+             Serial.println("[#22] _Slave_Ports_queue__INIT  [OK] ");
+        //#endif
    }
    
+                       /*  
+                  int i;
+                 for(i=0;i<=ARDUINO_ARRAY_INDEX_LIMIT_QUEUE;i++) {
+                 
+                  Slave_Ports_Status_QUEUE_A[i].QUEUE_ID_A = 0;
+                    Slave_Ports_Status_QUEUE_A[i].TASK_TYPE_A = TASK_TYPE_T_NOT_USED_________________;
+                     Slave_Ports_Status_QUEUE_A[i].TASK_PORT_ASSOC_A = {} ;
+                      Slave_Ports_Status_QUEUE_A[i].time_seq_id = 0;
+                       Slave_Ports_Status_QUEUE_A[i].time_min_run = 0;
+                       
+                     //  Slave_Ports_Status_QUEUE_A[i]=Slave_Ports_Status_QUEUE_A[i];
+                  }
+                 
+                  */
+   
 }
 
 
 
 
 //Queue<_Slave_Ports_queueT> _Slave_Ports_queue = Queue<_Slave_Ports_queueT>(5);
-void _Slave_Ports_queue__list( Slave_Ports_Status_QUEUE_T* Slave_Ports_Status_QUEUE_A) {
+void _Slave_Ports_queue__list( Slave_Ports_Status_QUEUE_T* Slave_Ports_Status_QUEUE_A,
+Slave_Ports_Status_QUEUE_T_ARDUINO_ATTR_ARRAY_T &Slave_Ports_Status_QUEUE_T_ARDUINO_ATTR_ARRAY_A
+) {
   int i;
     Serial.println("#100 _Slave_Ports_queue__list Slave_Ports_Status_QUEUE_A): ");
     //Serial.println(sizeof(Slave_Ports_Status_QUEUE_A));
-        for(i=0;i<=10;i++) { //sizeof(_LCD_print_buffors)
+        for(i=ARDUINO_ARRAY_INDEX_FIRST;i<=ARDUINO_ARRAY_INDEX_LIMIT_QUEUE;i++) { //sizeof(_LCD_print_buffors)
 
           if(Slave_Ports_Status_QUEUE_A[i].QUEUE_ID_A == 0 and
                  Slave_Ports_Status_QUEUE_A[i].TASK_TYPE_A == 0 and
@@ -159,7 +184,7 @@ void _Slave_Ports_queue__list( Slave_Ports_Status_QUEUE_T* Slave_Ports_Status_QU
                             Serial.print("]  TASK_TYPE_A["); Serial.print(Slave_Ports_Status_QUEUE_A[_Slave_Ports_queue_pop].TASK_TYPE_A);
                             Serial.print("]  Will wait() to next ["); Serial.print(Slave_Ports_Status_QUEUE_A[_Slave_Ports_queue_pop].time_seq_id);
                             Serial.print("]  POP/ID ["); Serial.print(_Slave_Ports_queue_pop); Serial.println("]  ");
-                            _Slave_Ports_queue__add( Slave_Ports_Status_QUEUE_A,
+                            _Slave_Ports_queue__add( Slave_Ports_Status_QUEUE_A, Slave_Ports_Status_QUEUE_T_ARDUINO_ATTR_ARRAY_A , 
                                 Slave_Ports_Status_QUEUE_A[_Slave_Ports_queue_pop].TASK_TYPE_A,
                                 Slave_Ports_Status_QUEUE_A[_Slave_Ports_queue_pop].TASK_PORT_ASSOC_A,
                                 Slave_Ports_Status_QUEUE_A[_Slave_Ports_queue_pop].time_seq_id,
@@ -172,7 +197,7 @@ void _Slave_Ports_queue__list( Slave_Ports_Status_QUEUE_T* Slave_Ports_Status_QU
                             
                                       Serial.print("#224 running _Slave_Ports_ttl_decrement = ");     Serial.println( Slave_Ports_Status_QUEUE_A[_Slave_Ports_queue_pop].TASK_TYPE_A); Serial.println("]");     
                                       //#include "_Slave_Ports_ttl_decrement.h"
-                                      _Slave_Ports_ttl_decrement_POP(Slave_Ports_Status_QUEUE_A, _Slave_Ports_queue_pop ,  Slave_Ports_Status_A ) ;  
+                                      _Slave_Ports_ttl_decrement_POP(Slave_Ports_Status_QUEUE_A, Slave_Ports_Status_QUEUE_T_ARDUINO_ATTR_ARRAY_A,  _Slave_Ports_queue_pop ,  Slave_Ports_Status_A ) ;  
                                     Slave_Ports_Status_QUEUE_A[_Slave_Ports_queue_pop]={} ;  
                                       
                      } else if(Slave_Ports_Status_QUEUE_A[_Slave_Ports_queue_pop].TASK_TYPE_A == TASK_TYPE_T_Slave_Ports_broadcast____) {
@@ -223,7 +248,7 @@ void _Slave_Ports_queue__list( Slave_Ports_Status_QUEUE_T* Slave_Ports_Status_QU
                                                     DISPLAY_A[Slave_Ports_Status_QUEUE_A[_Slave_Ports_queue_pop].DISPLAY_ARDUINO_ARRAY_INDEX_A].time_seq_id_A,
                                                     DISPLAY_A[Slave_Ports_Status_QUEUE_A[_Slave_Ports_queue_pop].DISPLAY_ARDUINO_ARRAY_INDEX_A].time_min_run_A,
                                                     //queue
-                                                    Slave_Ports_Status_QUEUE_A,
+                                                    Slave_Ports_Status_QUEUE_A, Slave_Ports_Status_QUEUE_T_ARDUINO_ATTR_ARRAY_A ,
                                                     Slave_Ports_Status_QUEUE_A[_Slave_Ports_queue_pop].TASK_TYPE_A,
                                                     Slave_Ports_Status_QUEUE_A[_Slave_Ports_queue_pop].TASK_PORT_ASSOC_A);
                                                                            
@@ -236,7 +261,7 @@ void _Slave_Ports_queue__list( Slave_Ports_Status_QUEUE_T* Slave_Ports_Status_QU
                                       //#include "_Slave_Ports_ttl_decrement.h"
                                       _Slave_Ports_I2C_POP(
                                         //Slave_Ports_Status_QUEUE_A, _Slave_Ports_queue_pop ,  Slave_Ports_Status_A 
-                                         Slave_Ports_Status_QUEUE_A,
+                                         Slave_Ports_Status_QUEUE_A, Slave_Ports_Status_QUEUE_T_ARDUINO_ATTR_ARRAY_A ,
                                          _Slave_Ports_queue_pop ,  
                                          Slave_Ports_Status_A,
                                           Slave_Ports_Status_T_ARDUINO_ATTR_ARRAY_A ,
@@ -260,7 +285,7 @@ void _Slave_Ports_queue__list( Slave_Ports_Status_QUEUE_T* Slave_Ports_Status_QU
                              Serial.print("$177 Error unsupported type TASK_TYPE_A[");     Serial.print( Slave_Ports_Status_QUEUE_A[_Slave_Ports_queue_pop].TASK_TYPE_A);
                              _Slave_Ports_queue_task_type_DESC(Slave_Ports_Status_QUEUE_A[_Slave_Ports_queue_pop].TASK_TYPE_A) ;
                              Serial.println("] REASSIGN NEXT QUEUE FOR FURTHER ACTION");     
-                             _Slave_Ports_queue__add( Slave_Ports_Status_QUEUE_A,
+                             _Slave_Ports_queue__add( Slave_Ports_Status_QUEUE_A,  Slave_Ports_Status_QUEUE_T_ARDUINO_ATTR_ARRAY_A ,
                                 Slave_Ports_Status_QUEUE_A[_Slave_Ports_queue_pop].TASK_TYPE_A,
                                 Slave_Ports_Status_QUEUE_A[_Slave_Ports_queue_pop].TASK_PORT_ASSOC_A,
                                 millis(), 

+ 1 - 1
SE/stuff/P5_Automation_can-dev-res/_Slave_Ports_Status_QUEUE_struct.h

@@ -28,7 +28,7 @@ static Slave_Ports_Status_QUEUE_T_ARDUINO_ATTR_ARRAY_T Slave_Ports_Status_QUEUE_
         {    ARDUINO_ARRAY_INDEX_CURRENT_INIT ,
              ARDUINO_ARRAY_INDEX_LAST_INIT ,
              ARDUINO_ARRAY_COUNT_T_INIT ,
-             ARDUINO_ARRAY_INDEX_LIMIT_PORTS , 
+             ARDUINO_ARRAY_INDEX_LIMIT_QUEUE , 
              ARDUINO_ARRAY_INDEX_NEXT_INIT,
              ARDUINO_ARRAY_time_min_run_MIN_INIT,
              ARDUINO_ARRAY_INDEX_time_min_run_MIN_INIT  

+ 3 - 3
SE/stuff/P5_Automation_can-dev-res/_Slave_Ports_Status_func.h

@@ -91,7 +91,7 @@
             time_seq_id_T time_seq_id_A,
             time_min_run_T time_min_run_A
         //queue
-        ,Slave_Ports_Status_QUEUE_T* Slave_Ports_Status_QUEUE_A,
+        ,Slave_Ports_Status_QUEUE_T* Slave_Ports_Status_QUEUE_A, Slave_Ports_Status_QUEUE_T_ARDUINO_ATTR_ARRAY_T &Slave_Ports_Status_QUEUE_T_ARDUINO_ATTR_ARRAY_A ,
         //tasks
         TASK_TYPE_T TASK_TYPE_A,
         TASK_PORT_ASSOC_T TASK_PORT_ASSOC_A
@@ -139,7 +139,7 @@
                            time_seq_id_A,
                            time_min_run_A
                           //queue
-                        , Slave_Ports_Status_QUEUE_A,
+                        , Slave_Ports_Status_QUEUE_A,  Slave_Ports_Status_QUEUE_T_ARDUINO_ATTR_ARRAY_A ,
                          TASK_TYPE_A,
                          TASK_PORT_ASSOC_A
                         
@@ -270,7 +270,7 @@
                     time_seq_id_A,
                     time_min_run_A
                      //queue
-                          , Slave_Ports_Status_QUEUE_A,
+                          , Slave_Ports_Status_QUEUE_A,  Slave_Ports_Status_QUEUE_T_ARDUINO_ATTR_ARRAY_A ,
                             TASK_TYPE_A,
                             TASK_PORT_ASSOC_A
                    ); 

+ 4 - 4
SE/stuff/P5_Automation_can-dev-res/_Slave_Ports_broadcast_func.h

@@ -61,7 +61,7 @@
                            millis() , // time_seq_id_T time_seq_id_A;
                            millis()+ARDUINO_time_seq_id_A_INCREMENT, //time_min_run_T time_min_run_A;
                           //queue
-                         Slave_Ports_Status_QUEUE_A,
+                         Slave_Ports_Status_QUEUE_A, Slave_Ports_Status_QUEUE_T_ARDUINO_ATTR_ARRAY_A ,
                          TASK_TYPE_T_Slave_Ports_broadcast____  ,  //TASK_TYPE_A,
                          { Slave_Ports_Status_A[i].Port_ID } //TASK_PORT_ASSOC_A
                          
@@ -97,7 +97,7 @@
                            millis() , // time_seq_id_T time_seq_id_A;
                            millis()+5000, //time_min_run_T time_min_run_A;
                           //queue
-                         Slave_Ports_Status_QUEUE_A,
+                         Slave_Ports_Status_QUEUE_A, Slave_Ports_Status_QUEUE_T_ARDUINO_ATTR_ARRAY_A,
                          TASK_TYPE_T_Slave_Ports_broadcast____  ,  //TASK_TYPE_A,
                          {  } //TASK_PORT_ASSOC_A Slave_Ports_Status_A[i].Port_ID
                          
@@ -144,7 +144,7 @@
                                                 millis() , // time_seq_id_T time_seq_id_A;
                                                 millis(), //time_min_run_T time_min_run_A;
                                                //queue
-                                              Slave_Ports_Status_QUEUE_A,
+                                              Slave_Ports_Status_QUEUE_A,  Slave_Ports_Status_QUEUE_T_ARDUINO_ATTR_ARRAY_A ,
                                               TASK_TYPE_T_Slave_Ports_broadcast____  ,  //TASK_TYPE_A,
                                               { Slave_Ports_Status_A[i].Port_ID } //TASK_PORT_ASSOC_A
                                               ); 
@@ -179,7 +179,7 @@
                                                 millis() , // time_seq_id_T time_seq_id_A;
                                                 millis(), //time_min_run_T time_min_run_A;
                                                //queue
-                                              Slave_Ports_Status_QUEUE_A,
+                                              Slave_Ports_Status_QUEUE_A, Slave_Ports_Status_QUEUE_T_ARDUINO_ATTR_ARRAY_A ,
                                               TASK_TYPE_T_Slave_Ports_broadcast____  ,  //TASK_TYPE_A,
                                               { Slave_Ports_Status_A[i].Port_ID } //TASK_PORT_ASSOC_A
                                               ); 

+ 3 - 1
SE/stuff/P5_Automation_can-dev-res/_Slave_Ports_ttl_decrement_func.h

@@ -4,7 +4,9 @@
 
 //#define _Slave_Ports_ttl_decrement_POP_F
 
- void _Slave_Ports_ttl_decrement_POP(Slave_Ports_Status_QUEUE_T*  Slave_Ports_Status_QUEUE_A,int _Slave_Ports_queue_pop ,  Slave_Ports_Status_T* Slave_Ports_Status_A) {
+ void _Slave_Ports_ttl_decrement_POP(Slave_Ports_Status_QUEUE_T*  Slave_Ports_Status_QUEUE_A,
+ Slave_Ports_Status_QUEUE_T_ARDUINO_ATTR_ARRAY_T &Slave_Ports_Status_QUEUE_T_ARDUINO_ATTR_ARRAY_A,
+ int _Slave_Ports_queue_pop ,  Slave_Ports_Status_T* Slave_Ports_Status_A) {
      Serial.print("#213 _Slave_Ports_ttl_decrement_POP.   sizeof Slave_Ports_Status_A[");     Serial.print(sizeof(Slave_Ports_Status_A));
     int i;
     for(i=0;i<=100;i++) {

+ 2 - 1
SE/stuff/P5_Automation_can-dev-res/___CONFIG/0x101/config_Active_ControllerID_0x101.h

@@ -18,4 +18,5 @@
 
 #define DEBUG_DISPLAY
 
-#define DEBUG_QUEUE
+#define DEBUG_QUEUE
+

+ 1 - 1
SE/stuff/P5_Automation_can-dev-res/___CONFIG/0x101/config_Slave_Ports_LOCAL_0x101_init.h

@@ -103,7 +103,7 @@ ARDUINO_FUNCT_INIT_RESULT_T _Slave_Ports_LOCAL_init(
                           millis(), //time_seq_id_A,
                            millis() + 5000 //time_min_run_A =
                            //QUEUE
-                           , Slave_Ports_Status_QUEUE_A,
+                           , Slave_Ports_Status_QUEUE_A, Slave_Ports_Status_QUEUE_T_ARDUINO_ATTR_ARRAY_A, 
                             TASK_TYPE_T__EMPTY__JUST_PASSED_ARG__,
                             TASK_PORT_ASSOC_EMPTY
                  );

+ 1 - 1
SE/stuff/P5_Automation_can-dev-res/___CONFIG/0x103/config_Slave_Ports_LOCAL_0x103_init.h

@@ -102,7 +102,7 @@ ARDUINO_FUNCT_INIT_RESULT_T _Slave_Ports_LOCAL_init(
                           millis(), //time_seq_id_A,
                            millis() + 5000 //time_min_run_A =
                            //QUEUE
-                           , Slave_Ports_Status_QUEUE_A,
+                           , Slave_Ports_Status_QUEUE_A, Slave_Ports_Status_QUEUE_T_ARDUINO_ATTR_ARRAY_A ,
                             TASK_TYPE_T__EMPTY__JUST_PASSED_ARG__,
                             TASK_PORT_ASSOC_EMPTY
                  );

+ 1 - 1
SE/stuff/P5_Automation_can-dev-res/___CONFIG/config_Slave_Ports_LOCAL_init.h

@@ -97,7 +97,7 @@ ARDUINO_FUNCT_INIT_RESULT_T _Slave_Ports_DEFAULT_LOCAL_init(
                           millis(), //time_seq_id_A,
                            millis() + 5000 //time_min_run_A =
                            //QUEUE
-                           , Slave_Ports_Status_QUEUE_A,
+                           , Slave_Ports_Status_QUEUE_A, Slave_Ports_Status_QUEUE_T_ARDUINO_ATTR_ARRAY_A, 
                             TASK_TYPE_T__EMPTY__JUST_PASSED_ARG__,
                             TASK_PORT_ASSOC_EMPTY
                  );

+ 1 - 1
SE/stuff/P5_Automation_can-dev-res/___loop/__main_loop_end.h

@@ -15,7 +15,7 @@ if(ARDUINO_LOOP_LATENCY_COUNTER__MAIN_END(ARDUINO_LOOP_LATENCY__MAIN_END_A) <= A
       //  Serial.print("] COUNTER__MAIN_A["); Serial.print(ARDUINO_LOOP_LATENCY_COUNTER__MAIN_A);
        
             
-             _Slave_Ports_queue__list(Slave_Ports_Status_QUEUE_A) ;
+             _Slave_Ports_queue__list(Slave_Ports_Status_QUEUE_A,Slave_Ports_Status_QUEUE_T_ARDUINO_ATTR_ARRAY_A) ;
               int _Slave_Ports_queue_count = _Slave_Ports_queue.count();
               int _Slave_Ports_queue_front = _Slave_Ports_queue.front();
               int _Slave_Ports_queue_back =  _Slave_Ports_queue.back();

+ 5 - 3
SE/stuff/P5_Automation_can-dev-res/___loop/__main_loop_top.h

@@ -69,9 +69,11 @@ if(ARDUINO_LOOP_LATENCY_COUNTER__MAIN(ARDUINO_LOOP_LATENCY__MAIN_A) <= ARDUINO_L
                     Serial.println("]");
                     }
                  #endif
-            ARDUINO_FUNCT_INIT_RESULT_Slave_Ports_queue__add = _Slave_Ports_queue__add(  Slave_Ports_Status_QUEUE_A,  TASK_TYPE_T_Slave_Ports_broadcast____ ,TASK_PORT_ASSOC_EMPTY ,millis(), millis() + ARDUINO_time_seq_id_A_INCREMENT , ARDUINO_ARRAY_INDEX_NOT_SET ) ;  //        "_Slave_Ports_broadcast", //4
-            ARDUINO_FUNCT_INIT_RESULT_Slave_Ports_queue__add = _Slave_Ports_queue__add(  Slave_Ports_Status_QUEUE_A,  TASK_TYPE_T_Slave_Ports_set_I2C______ ,TASK_PORT_ASSOC_EMPTY ,millis(), millis() + ARDUINO_time_seq_id_A_INCREMENT , ARDUINO_ARRAY_INDEX_NOT_SET) ;  //"_Slave_Ports_set_I2C" //5  - to set ports associated on PW
-            //ARDUINO_FUNCT_INIT_RESULT_Slave_Ports_queue__add = _Slave_Ports_queue__add(  Slave_Ports_Status_QUEUE_A,  TASK_TYPE_T_DISPLAY_queue_pop________ ,TASK_PORT_ASSOC_EMPTY ,millis(), millis() + ARDUINO_time_seq_id_A_INCREMENT , ) ;  //"_Slave_Ports_set_I2C" //5  - to set ports associated on PW
+            ARDUINO_FUNCT_INIT_RESULT_Slave_Ports_queue__add = _Slave_Ports_queue__add(  Slave_Ports_Status_QUEUE_A, Slave_Ports_Status_QUEUE_T_ARDUINO_ATTR_ARRAY_A ,
+             TASK_TYPE_T_Slave_Ports_broadcast____ ,TASK_PORT_ASSOC_EMPTY ,millis(), millis() + ARDUINO_time_seq_id_A_INCREMENT , ARDUINO_ARRAY_INDEX_NOT_SET ) ;  //        "_Slave_Ports_broadcast", //4
+            ARDUINO_FUNCT_INIT_RESULT_Slave_Ports_queue__add = _Slave_Ports_queue__add(  Slave_Ports_Status_QUEUE_A, Slave_Ports_Status_QUEUE_T_ARDUINO_ATTR_ARRAY_A , 
+             TASK_TYPE_T_Slave_Ports_set_I2C______ ,TASK_PORT_ASSOC_EMPTY ,millis(), millis() + ARDUINO_time_seq_id_A_INCREMENT , ARDUINO_ARRAY_INDEX_NOT_SET) ;  //"_Slave_Ports_set_I2C" //5  - to set ports associated on PW
+            //ARDUINO_FUNCT_INIT_RESULT_Slave_Ports_queue__add = _Slave_Ports_queue__add(  Slave_Ports_Status_QUEUE_A,   Slave_Ports_Status_QUEUE_T_ARDUINO_ATTR_ARRAY_A , TASK_TYPE_T_DISPLAY_queue_pop________ ,TASK_PORT_ASSOC_EMPTY ,millis(), millis() + ARDUINO_time_seq_id_A_INCREMENT , ) ;  //"_Slave_Ports_set_I2C" //5  - to set ports associated on PW
             }
 
 

+ 4 - 4
SE/stuff/P5_Automation_can-dev-res/___main/__main_setup.h

@@ -1,8 +1,8 @@
 //__main_setup.h
 //_Slave_Ports_queue.push(_LCD_print_queue.peek() + 1);
  Serial.println("#298 _Slave_Ports_queue__list");
- _Slave_Ports_queue__INIT(Slave_Ports_Status_QUEUE_A);
-_Slave_Ports_queue__list(Slave_Ports_Status_QUEUE_A);
+ _Slave_Ports_queue__INIT(Slave_Ports_Status_QUEUE_A, Slave_Ports_Status_QUEUE_T_ARDUINO_ATTR_ARRAY_A);
+_Slave_Ports_queue__list(Slave_Ports_Status_QUEUE_A , Slave_Ports_Status_QUEUE_T_ARDUINO_ATTR_ARRAY_A);
   int _Slave_Ports_queue_peek =  _Slave_Ports_queue.peek() ;
 //  int _Slave_Ports_queue_push = _Slave_Ports_queue.push(_Slave_Ports_queue.peek() + 1) ; 
   //int _Slave_Ports_queue_peek_new = _Slave_Ports_queue.peek() ; _Slave_Ports_queue__add(  *Slave_Ports_Status_QUEUE_A, 0x01 ,0x00 ,100, 5000 ) ;  // _Slave_Ports_queue_peek, _Slave_Ports_queue.push(_Slave_Ports_queue.peek() + 1), _Slave_Ports_queue.peek());
@@ -19,10 +19,10 @@ _Slave_Ports_queue__list(Slave_Ports_Status_QUEUE_A);
 //_Slave_Ports_queue.peek());
 
  Serial.println("#301 _Slave_Ports_queue__list");
-_Slave_Ports_queue__list(Slave_Ports_Status_QUEUE_A);
+_Slave_Ports_queue__list(Slave_Ports_Status_QUEUE_A, Slave_Ports_Status_QUEUE_T_ARDUINO_ATTR_ARRAY_A);
 Serial.print("#304 _Slave_Ports_queue.count(), "); Serial.println(_Slave_Ports_queue.count());
   
    
- //  _Slave_Ports_queue__add(  Slave_Ports_Status_QUEUE_A, 0x03 ,0x00 ,100, 5000 ) ;  
+ //  _Slave_Ports_queue__add(  Slave_Ports_Status_QUEUE_A, Slave_Ports_Status_QUEUE_T_ARDUINO_ATTR_ARRAY_A , 0x03 ,0x00 ,100, 5000 ) ;  
  //Serial.println("#323 _Slave_Ports_queue__list"); _Slave_Ports_queue__list(Slave_Ports_Status_QUEUE_A);
 // Serial.print("#324 _Slave_Ports_queue.count(), "); Serial.println(_Slave_Ports_queue.count());

+ 29 - 0
SE/stuff/P5_Automation_can-dev-res/___main/__main_struct_funct.h

@@ -147,6 +147,35 @@ void ARDUINO_ATTR_ARRAY_S__display(  //to init attr list table[1]
 
 
 
+
+void ARDUINO_ATTR_ARRAY_S__INDEX_NEXT_rotate(  //to maintain limit and set new indexes
+    ARDUINO_ATTR_ARRAY_T &ARDUINO_ATTR_ARRAY_A ,
+    ARDUINO_ARRAY_time_min_run_MIN_T ARDUINO_ARRAY_time_min_run_MIN_A  //to provide index pointer to last
+    ) {    
+        Serial.print("   [#156 ARDUINO_ATTR_ARRAY_S__INDEX_NEXT_rotate]   #CURRENT[");
+        if(ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_LIMIT_A <= 0) {
+              Serial.print("  [#157]  [ROTATE ERROR] [NOT SET] [ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_LIMIT_A ]  ");
+              Serial.print(" [ROTATE_FORCE] ");
+        
+        } else if(ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_LIMIT_A == ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_NEXT_A) {
+             Serial.print(" [ROTATE_REQUIRED] ");
+        }
+          if(ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_COUNT_A == ARDUINO_ARRAY_COUNT_T_INIT) {
+            Serial.print(" [ARDUINO_ARRAY_COUNT_A]  [NOT SET ERROR]  [IGNORE] ");
+          }
+             //ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_LAST_A = ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_CURRENT_A ;
+             //ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_CURRENT_A  = ARDUINO_ARRAY_INDEX_FIRST ;
+             //ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_COUNT_A //NOT CHANGED
+             //ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_LIMIT_A// NOT CHANGED
+             ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_NEXT_A = ARDUINO_ARRAY_INDEX_FIRST ;
+             //ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_time_min_run_MIN_A
+             //ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_time_min_run_MIN_A   
+    }
+
+
+
+
+
 /*
 void ARDUINO_ARRAY_COUNT(
 ARDUINO_ARRAY_INDEX_TABLE_S* ARDUINO_ARRAY_INDEX_TABLE_A,

+ 3 - 2
SE/stuff/P5_Automation_can-dev-res/_bak/_Slave_Ports_Status_func.bakh.h

@@ -91,7 +91,7 @@
             time_seq_id_T time_seq_id_A,
             time_min_run_T time_min_run_A
         //queue
-        ,Slave_Ports_Status_QUEUE_T* Slave_Ports_Status_QUEUE_A,
+        ,Slave_Ports_Status_QUEUE_T* Slave_Ports_Status_QUEUE_A, Slave_Ports_Status_QUEUE_T_ARDUINO_ATTR_ARRAY_T &Slave_Ports_Status_QUEUE_T_ARDUINO_ATTR_ARRAY_A ,
         //tasks
         TASK_TYPE_T TASK_TYPE_A,
         TASK_PORT_ASSOC_T TASK_PORT_ASSOC_A
@@ -140,6 +140,7 @@
                            time_min_run_A
                           //queue
                         , Slave_Ports_Status_QUEUE_A,
+                        Slave_Ports_Status_QUEUE_T_ARDUINO_ATTR_ARRAY_A ,
                          TASK_TYPE_A,
                          TASK_PORT_ASSOC_A
                         
@@ -193,7 +194,7 @@
                     time_seq_id_A,
                     time_min_run_A
                      //queue
-                          , Slave_Ports_Status_QUEUE_A,
+                          , Slave_Ports_Status_QUEUE_A,  Slave_Ports_Status_QUEUE_T_ARDUINO_ATTR_ARRAY_A ,
                             TASK_TYPE_A,
                             TASK_PORT_ASSOC_A
                    ); 

+ 1 - 0
SE/stuff/P5_Automation_can-dev/P5_Automation_can-dev.xpr

@@ -8,6 +8,7 @@
         <folder name="Arduino">
             <folder path="../../../../Arduino/"/>
         </folder>
+        <folder path="../../../../Arduino/queue_test/"/>
         <folder path="../P5_Automation_can-dev-2/"/>
         <folder path="../P5_Automation_can-dev-3/"/>
         <folder path="../P5_Automation_can-dev-res/"/>