a.binder 5 anni fa
parent
commit
fc6bef2ed9

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

@@ -5,7 +5,7 @@
  * LCD1602 - big 2x16 character display
  * TFT_ILI9163C 128x128 lcd display
  * MCP_2515 - can port controller
- * 
+ * //#define HAS_I2C_driver_Adafruit_PWMServoDriver
  * controls
  * Slave ports via:     
  * I2C      
@@ -96,6 +96,12 @@
 
 #include "config_Active_ControllerID.h"
 
+#if defined(HAS_I2C_driver_Adafruit_PWMServoDriver)            
+         #include <Wire.h>
+         #include <Adafruit_PWMServoDriver.h>
+#endif
+
+
 #if defined(HAS_TFT_ILI9163C)
     #include "_TFT_ILI9163C_config.h"
 #endif
@@ -103,7 +109,6 @@
 //#define Active_ControllerID _ControllerID 
 //#define Active_ControllerID _Slave1_ID 
 
-// #define HAS_I2C_driver_Adafruit_PWMServoDriver
 #include "_DISPLAY_struct.h"
 #include "_Port_ID_sruct.h"
 #include "_I2C_driver_Adafruit_PWMServoDriver_struct.h"
@@ -190,6 +195,7 @@
 #include "_TASK_TYPES_func.h"
 #include "_Slave_Ports_ttl_decrement_func.h"
 #include "_Slave_Ports_broadcast_func.h"
+#include "_Slave_Ports_I2C_func.h"
 #include "_Slave_Ports_Status_QUEUE_func.h"
 #include "_Slave_Ports_Protocol_CAN_func.h"
 #include "_Slave_Ports_Status_func.h"

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

@@ -183,8 +183,13 @@ void DISPLAY__print_IMMEDIATE(
                                    Serial.println("]  ");
                              //      }
                     #endif    
-                        
-                        
+                 
+                 
+                 /*ARDUINO_FUNCT_INIT_RESULT_Slave_Ports_queue__add_DISPLAY = _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       
+                   */     
                 }
         
         

+ 61 - 0
SE/stuff/P5_Automation_can-dev-res/_Slave_Ports_I2C_func.h

@@ -0,0 +1,61 @@
+//_Slave_Ports_I2C_func.h
+ void _Slave_Ports_I2C_POP( //maintain tasks
+    Slave_Ports_Status_QUEUE_T*  Slave_Ports_Status_QUEUE_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,
+      //display
+        DISPLAY_T* DISPLAY_A ,
+        DISPLAY_T_ARDUINO_ATTR_ARRAY_T &DISPLAY_T_ARDUINO_ATTR_ARRAY_A , 
+        DISPLAY_PHYSICAL_CHAR_T &DISPLAY_PHYSICAL_CHAR_A, 
+            DISPLAY_pos_seq_T DISPLAY_pos_seq_A,
+            DISPLAY_array16_T DISPLAY_array16_A,
+            DISPLAY_TARGET_T DISPLAY_TARGET_A,
+            time_seq_id_T time_seq_id_A,
+            time_min_run_T time_min_run_A
+        //tasks
+        ,TASK_TYPE_T TASK_TYPE_A,
+        TASK_PORT_ASSOC_T TASK_PORT_ASSOC_A   
+    ) {
+         
+         
+           DISPLAY__print(
+                          DISPLAY_A ,
+                          DISPLAY_T_ARDUINO_ATTR_ARRAY_A , 
+                          DISPLAY_PHYSICAL_CHAR_A, 
+                           DISPLAY_pos_seq_A,
+                            DISPLAY_array16_A,
+                            DISPLAY_TARGET_A,
+                           time_seq_id_A,
+                           time_min_run_A
+                          //queue
+                        , Slave_Ports_Status_QUEUE_A,
+                         TASK_TYPE_A,
+                         TASK_PORT_ASSOC_A
+                        
+                          ); 
+         
+       Serial.print("#200 Slave_Ports_I2C_POP  #COUNT_A");   Serial.print(Slave_Ports_Status_T_ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_COUNT_A);
+        Serial.print("] INDEX_LAST[");                       Serial.print(Slave_Ports_Status_T_ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_LAST_A);
+        Serial.print("] INDEX_CURRENT[");                    Serial.print(Slave_Ports_Status_T_ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_CURRENT_A);
+        Serial.print("] INDEX_NEXT[");                       Serial.print(Slave_Ports_Status_T_ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_NEXT_A);
+        Serial.print("] time_min_run_MIN[");                 Serial.print(Slave_Ports_Status_T_ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_time_min_run_MIN_A);
+        Serial.print("] INDEX_time_min_run_MIN[");           Serial.print(Slave_Ports_Status_T_ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_time_min_run_MIN_A);
+    int i;
+    for(i=ARDUINO_ARRAY_INDEX_FIRST;i <= (ARDUINO_ARRAY_INDEX_FIRST + Slave_Ports_Status_T_ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_COUNT_A) ;i++) {
+      if(Slave_Ports_Status_A[i].PortTypes | PortTypes_I2C) {
+            if(Slave_Ports_Status_A[i].Exp_state_ttl == Exp_state_ttl_TO_REFRESH ) {
+               Serial.print("#311 ttl min i2c for: I2C_port[");  Serial.print(Slave_Ports_Status_A[i].I2C_port);   Serial.print("] ttl[");  Serial.print(Slave_Ports_Status_A[i].Exp_state_ttl);
+                 Serial.print(" Port_ID[");  Serial.print(Slave_Ports_Status_A[i].Port_ID);   Serial.println("]  ");   Serial.print(" id[");  Serial.print(i);   Serial.println("]  "); 
+                 
+               
+                 
+                 
+                 
+            }
+
+      }
+    }
+
+ } 
+//#endif

+ 45 - 7
SE/stuff/P5_Automation_can-dev-res/_Slave_Ports_Status_QUEUE_func.h

@@ -20,9 +20,10 @@ void _Slave_Ports_queue__INIT( Slave_Ports_Status_QUEUE_T* Slave_Ports_Status_QU
 
 ARDUINO_FUNCT_INIT_RESULT_T _Slave_Ports_queue__add( Slave_Ports_Status_QUEUE_T* Slave_Ports_Status_QUEUE_A,
 TASK_TYPE_T TASK_TYPE_A,
-TASK_PORT_ASSOC_T TASK_PORT_ASSOC_A,
+TASK_PORT_ASSOC_T TASK_PORT_ASSOC_A, //
 long time_seq_id, 
-long time_min_run //, 
+long time_min_run , //, 
+ARDUINO_ARRAY_INDEX_T DISPLAY_ARDUINO_ARRAY_INDEX_A //optionally
 //int _Slave_Ports_queue_peek , int _Slave_Ports_queue_push , int _Slave_Ports_queue_peek_new
 ) {
   Serial.println(".");
@@ -51,6 +52,10 @@ long time_min_run //,
      Slave_Ports_Status_QUEUE_A[_Slave_Ports_queue_back + 1 ].TASK_PORT_ASSOC_A=TASK_PORT_ASSOC_A ;
      Slave_Ports_Status_QUEUE_A[_Slave_Ports_queue_back + 1 ].time_seq_id=time_seq_id ;
      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 ;
+ 
+ 
  
  return true ;
     
@@ -192,13 +197,14 @@ void _Slave_Ports_queue__list( Slave_Ports_Status_QUEUE_T* Slave_Ports_Status_QU
                             Serial.print("#182 QUEUE reassign .time_seq_id > millis()  time_seq_id[");     Serial.print( Slave_Ports_Status_QUEUE_A[_Slave_Ports_queue_pop].time_seq_id); 
                             Serial.print("]  millis()["); Serial.print(millis());
                             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].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_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,
-                                Slave_Ports_Status_QUEUE_A[_Slave_Ports_queue_pop].time_min_run 
+                                Slave_Ports_Status_QUEUE_A[_Slave_Ports_queue_pop].time_min_run,
+                                Slave_Ports_Status_QUEUE_A[_Slave_Ports_queue_pop].DISPLAY_ARDUINO_ARRAY_INDEX_A
                               );
                               Slave_Ports_Status_QUEUE_A[_Slave_Ports_queue_pop]={} ; 
 
@@ -216,16 +222,45 @@ void _Slave_Ports_queue__list( Slave_Ports_Status_QUEUE_T* Slave_Ports_Status_QU
                      } else if(Slave_Ports_Status_QUEUE_A[_Slave_Ports_queue_pop].TASK_TYPE_A == TASK_TYPE_T_DISPLAY_queue_pop________ ) {
                        Serial.print("#212 DISPLAY TASK_TYPE_A[");     Serial.print( Slave_Ports_Status_QUEUE_A[_Slave_Ports_queue_pop].TASK_TYPE_A);
                              Serial.println("] ");   
+                        _Slave_Ports_queue_task_type_DESC(Slave_Ports_Status_QUEUE_A[_Slave_Ports_queue_pop].TASK_TYPE_A) ;
+                     
+                     
+                     
                      
+                     
+                      } else if(Slave_Ports_Status_QUEUE_A[_Slave_Ports_queue_pop].TASK_TYPE_A == TASK_TYPE_T_Slave_Ports_set_I2C______) {
+                                      Serial.print("#221 running TASK_TYPE_T_Slave_Ports_set_I2C______ = ");     Serial.println( Slave_Ports_Status_QUEUE_A[_Slave_Ports_queue_pop].TASK_TYPE_A); Serial.println("]");     
+                                      //#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_queue_pop ,  
+                                         Slave_Ports_Status_A,
+                                          Slave_Ports_Status_T_ARDUINO_ATTR_ARRAY_A ,
+                                           //display
+                                             DISPLAY_A ,
+                                             DISPLAY_T_ARDUINO_ATTR_ARRAY_A , 
+                                             DISPLAY_PHYSICAL_CHAR_A, 
+                                                 DISPLAY_pos_seq_A_NEXT, //initial set
+                                                 "#233 Setting I2C" , //DISPLAY_array16_A,
+                                                  DISPLAY_TARGET_ANY , //DISPLAY_TARGET_A, - setting
+                                                  Slave_Ports_Status_QUEUE_A[_Slave_Ports_queue_pop].time_seq_id, 
+                                                  Slave_Ports_Status_QUEUE_A[_Slave_Ports_queue_pop].time_min_run,
+                                             //tasks
+                                               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
+                                        ) ;  
                      } else {
 
                              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_Status_QUEUE_A[_Slave_Ports_queue_pop].TASK_TYPE_A,
                                 Slave_Ports_Status_QUEUE_A[_Slave_Ports_queue_pop].TASK_PORT_ASSOC_A,
                                 millis(), 
-                                millis() +  ARDUINO_time_seq_id_A_INCREMENT 
+                                millis() +  ARDUINO_time_seq_id_A_INCREMENT ,
+                                Slave_Ports_Status_QUEUE_A[_Slave_Ports_queue_pop].DISPLAY_ARDUINO_ARRAY_INDEX_A
                               );
                               Slave_Ports_Status_QUEUE_A[_Slave_Ports_queue_pop]={} ;  
                      }
@@ -236,12 +271,14 @@ void _Slave_Ports_queue__list( Slave_Ports_Status_QUEUE_T* Slave_Ports_Status_QU
 
    
   } else {
+    
+    /*
     String LCDarray1 = "Nothing to";
     String LCDarray2 = "process...";
     //LCDarray2.reserve(16);
     Serial.print(LCDarray1); 
     Serial.println(LCDarray2); 
-
+*/
    //  Serial.print("#32 String LCDarray2 len"); 
     // int LCDarray2_length = LCDarray2.length;
    /*  Serial.print(LCDarray2.length()); 
@@ -256,7 +293,7 @@ void _Slave_Ports_queue__list( Slave_Ports_Status_QUEUE_T* Slave_Ports_Status_QU
       Serial.print(LCDarray2.length()); 
      Serial.println("]  "); 
  */
-    
+    /* todo 
     Serial.print(" #364 scount "); 
      Serial.print(_Slave_Ports_queue_count); 
      Serial.print(" _Slave_Ports_queue.front(): "); 
@@ -265,6 +302,7 @@ void _Slave_Ports_queue__list( Slave_Ports_Status_QUEUE_T* Slave_Ports_Status_QU
      Serial.print(_Slave_Ports_queue_back); 
      Serial.print(" _Slave_Ports_queue.peek(): "); 
      Serial.println(_Slave_Ports_queue_peek); 
+     */
 //     LCD_print(LCDarray1, LCDarray2, LCDtim / 3 ) ;
   }
  }

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

@@ -10,6 +10,7 @@ typedef int QUEUE_ID_T ;
         TASK_PORT_ASSOC_T TASK_PORT_ASSOC_A; //todo link
        time_seq_id_T time_seq_id;
        time_min_run_T time_min_run;
+       ARDUINO_ARRAY_INDEX_T DISPLAY_ARDUINO_ARRAY_INDEX_A; //to assoc with display
     } ;
     
     

+ 7 - 5
SE/stuff/P5_Automation_can-dev-res/_Slave_Ports_Status_func.h

@@ -80,16 +80,18 @@
         Slave_Ports_Status_T* Slave_Ports_Status_A ,
         Slave_Ports_Status_T_ARDUINO_ATTR_ARRAY_T &Slave_Ports_Status_T_ARDUINO_ATTR_ARRAY_A,
         Port_ID_T  Port_ID ,
+        //display
         DISPLAY_T* DISPLAY_A ,
         DISPLAY_T_ARDUINO_ATTR_ARRAY_T &DISPLAY_T_ARDUINO_ATTR_ARRAY_A , 
         DISPLAY_PHYSICAL_CHAR_T &DISPLAY_PHYSICAL_CHAR_A, 
-        DISPLAY_pos_seq_T DISPLAY_pos_seq_A,
-        DISPLAY_array16_T DISPLAY_array16_A,
-        DISPLAY_TARGET_T DISPLAY_TARGET_A,
-        time_seq_id_T time_seq_id_A,
-        time_min_run_T time_min_run_A
+            DISPLAY_pos_seq_T DISPLAY_pos_seq_A,
+            DISPLAY_array16_T DISPLAY_array16_A,
+            DISPLAY_TARGET_T DISPLAY_TARGET_A,
+            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,
+        //tasks
         TASK_TYPE_T TASK_TYPE_A,
         TASK_PORT_ASSOC_T TASK_PORT_ASSOC_A
   )

+ 8 - 6
SE/stuff/P5_Automation_can-dev-res/_Slave_Ports_Status_struct.h

@@ -63,13 +63,14 @@ typedef struct ARDUINO_ATTR_ARRAY_S Slave_Ports_Status_T_ARDUINO_ATTR_ARRAY_T;
 typedef struct ARDUINO_ARRAY_INDEX_TABLE_S         Slave_Ports_Status_T_ARDUINO_ARRAY_INDEX_TABLE_T ; //DEFAULT INDEX TABLE
 typedef struct ARDUINO_ARRAY_INDEX_T_TO_DELETE_S   Slave_Ports_Status_T_ARDUINO_ARRAY_INDEX_T_TO_DELETE_T;
 typedef struct ARDUINO_ARRAY_ASSOC_TABLE_S         Slave_Ports_Status_T_ARDUINO_ARRAY_ASSOC_TABLE_S_Port_ID_T ;//ASSOC FIELD Port_ID TO INDEX OF ARRAY
-
+typedef struct ARDUINO_ARRAY_ASSOC_TABLE_S         Slave_Ports_Status_T_ARDUINO_ARRAY_ASSOC_TABLE_S_Ports_I2C_T ; //to associate exact ports to i2c
 
 
 //void ARDUINO_ARRAY_INDEX_TABLE_INIT(
-    Slave_Ports_Status_T_ARDUINO_ARRAY_INDEX_TABLE_T            Slave_Ports_Status_T_ARDUINO_ARRAY_INDEX_TABLE_A[ARDUINO_ARRAY_INDEX_LIMIT_PORTS]        = {};
-    Slave_Ports_Status_T_ARDUINO_ARRAY_INDEX_T_TO_DELETE_T      Slave_Ports_Status_T_ARDUINO_ARRAY_INDEX_T_TO_DELETE_A[ARDUINO_ARRAY_INDEX_T_TO_DELETE_S_LIMIT]  = {};  
-    Slave_Ports_Status_T_ARDUINO_ARRAY_ASSOC_TABLE_S_Port_ID_T  Slave_Ports_Status_T_ARDUINO_ARRAY_ASSOC_TABLE_S_Port_ID_A[ARDUINO_ARRAY_INDEX_LIMIT_PORTS] = {};
+    Slave_Ports_Status_T_ARDUINO_ARRAY_INDEX_TABLE_T             Slave_Ports_Status_T_ARDUINO_ARRAY_INDEX_TABLE_A[ARDUINO_ARRAY_INDEX_LIMIT_PORTS]        = {};
+    Slave_Ports_Status_T_ARDUINO_ARRAY_INDEX_T_TO_DELETE_T       Slave_Ports_Status_T_ARDUINO_ARRAY_INDEX_T_TO_DELETE_A[ARDUINO_ARRAY_INDEX_T_TO_DELETE_S_LIMIT]  = {};  
+    Slave_Ports_Status_T_ARDUINO_ARRAY_ASSOC_TABLE_S_Port_ID_T   Slave_Ports_Status_T_ARDUINO_ARRAY_ASSOC_TABLE_S_Port_ID_A[ARDUINO_ARRAY_INDEX_LIMIT_PORTS] = {};
+    Slave_Ports_Status_T_ARDUINO_ARRAY_ASSOC_TABLE_S_Ports_I2C_T Slave_Ports_Status_T_ARDUINO_ARRAY_ASSOC_TABLE_S_Ports_I2C_A[ARDUINO_ARRAY_INDEX_LIMIT_PORTS] = {}; //todo port assoc type todo
 //);
 
 
@@ -80,7 +81,8 @@ typedef struct ARDUINO_ARRAY_ASSOC_TABLE_S         Slave_Ports_Status_T_ARDUINO_
              ARDUINO_ARRAY_INDEX_LAST_INIT ,
              ARDUINO_ARRAY_COUNT_T_INIT ,
              ARDUINO_ARRAY_INDEX_LIMIT_PORTS , 
-             ARDUINO_ARRAY_INDEX_NEXT_INIT 
-
+             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/__main_loop_top.h

@@ -54,7 +54,7 @@ if(ARDUINO_FUNCT_INIT_RESULT_Slave_Ports_queue__add == true) {
         Serial.print(ARDUINO_FUNCT_INIT_RESULT_Slave_Ports_queue__add);
         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  ) ;  //        "_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 ) ;  //"_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,  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
 }

+ 11 - 1
SE/stuff/P5_Automation_can-dev-res/__main_struct.h

@@ -15,6 +15,9 @@ typedef ARDUINO_ARRAY_ATTR_T  ARDUINO_ARRAY_INDEX_LIMIT_T ;
 
 typedef ARDUINO_ARRAY_INDEX_T ARDUINO_ARRAY_INDEX_TO_DELETE ; 
 
+typedef long ARDUINO_ARRAY_time_min_run_MIN_T ;
+
+typedef ARDUINO_ARRAY_ATTR_T ARDUINO_ARRAY_INDEX_time_min_run_MIN_T ; 
 
 struct ARDUINO_ATTR_ARRAY_S {
     ARDUINO_ARRAY_INDEX_CURRENT_T ARDUINO_ARRAY_INDEX_CURRENT_A ;
@@ -22,6 +25,8 @@ struct ARDUINO_ATTR_ARRAY_S {
     ARDUINO_ARRAY_COUNT_T ARDUINO_ARRAY_COUNT_A ;
     ARDUINO_ARRAY_INDEX_LIMIT_T ARDUINO_ARRAY_INDEX_LIMIT_A;
     ARDUINO_ARRAY_INDEX_NEXT_T ARDUINO_ARRAY_INDEX_NEXT_A ;
+    ARDUINO_ARRAY_time_min_run_MIN_T ARDUINO_ARRAY_time_min_run_MIN_A ;
+    ARDUINO_ARRAY_INDEX_time_min_run_MIN_T ARDUINO_ARRAY_INDEX_time_min_run_MIN_A ;
 };
 
 
@@ -42,7 +47,7 @@ struct ARDUINO_ARRAY_ASSOC_TABLE_S {  //to associate and cache
 
 
 
-
+const ARDUINO_ARRAY_INDEX_T  ARDUINO_ARRAY_INDEX_NOT_SET = 0  ; //for controll arrays behaviour
 const ARDUINO_ARRAY_INDEX_T  ARDUINO_ARRAY_INDEX_CORRUPT = 0  ; //for controll arrays behaviour
 const ARDUINO_ARRAY_INDEX_T  ARDUINO_ARRAY_INDEX_FIRST = 1  ; //for controll arrays behaviour
 
@@ -51,6 +56,11 @@ const ARDUINO_ARRAY_INDEX_CURRENT_T ARDUINO_ARRAY_INDEX_CURRENT_INIT = 0 ;  //
 const ARDUINO_ARRAY_INDEX_LAST_T ARDUINO_ARRAY_INDEX_LAST_INIT = 0 ;
 const ARDUINO_ARRAY_INDEX_NEXT_T ARDUINO_ARRAY_INDEX_NEXT_INIT = 1;
 
+const  ARDUINO_ARRAY_time_min_run_MIN_T ARDUINO_ARRAY_time_min_run_MIN_INIT = 0 ;
+const  ARDUINO_ARRAY_time_min_run_MIN_T ARDUINO_ARRAY_time_min_run_MIN_NOT_SET = 1 ;
+
+const  ARDUINO_ARRAY_INDEX_time_min_run_MIN_T ARDUINO_ARRAY_INDEX_time_min_run_MIN_INIT = 0 ;
+
 const int ARDUINO_time_seq_id_A_INCREMENT = 10000 ; 
 
 const ARDUINO_ARRAY_INDEX_T ARDUINO_ATTR_ARRAY_S_INDEX = ARDUINO_ARRAY_INDEX_FIRST ;