a.binder 5 лет назад
Родитель
Сommit
90520f07b5

+ 90 - 10
SE/stuff/P5_Automation_can-dev-res/_DISPLAY_func.h

@@ -11,7 +11,7 @@
 //void _DISPLAY_print
 
 
-void DISPLAY__print_ANY(DISPLAY_T_ARDUINO_ATTR_ARRAY_T* DISPLAY_T_ARDUINO_ATTR_ARRAY_A , 
+void DISPLAY__print_ANY(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){
@@ -22,6 +22,13 @@ void DISPLAY__print_ANY(DISPLAY_T_ARDUINO_ATTR_ARRAY_T* DISPLAY_T_ARDUINO_ATTR_A
                                     Serial.print("] # MaxY:["); Serial.print(DISPLAY_PHYSICAL_CHAR_A.DISPLAY_PHYSICAL_Y_CHARS_A); //[ARDUINO_ATTR_ARRAY_S_INDEX]
                                      Serial.println("] ");
                                    }
+                                   
+                                     Serial.print("#26 Dspl ATTR CURRENT[ "); Serial.print(DISPLAY_T_ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_CURRENT_A);
+                                     Serial.print("] LAST["); Serial.print(DISPLAY_T_ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_LAST_A); 
+                                     Serial.print("] COUNT["); Serial.print(DISPLAY_T_ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_COUNT_A); 
+                                     Serial.print("] LIMIT["); Serial.print(DISPLAY_T_ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_LIMIT_A); 
+                                     Serial.print("]  NEXT:["); Serial.print(DISPLAY_T_ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_NEXT_A); 
+                                     Serial.println("] ");
                             #endif 
                 
                  #if defined(HAS_TFT_ILI9163C)
@@ -56,7 +63,7 @@ void DISPLAY__print_ANY(DISPLAY_T_ARDUINO_ATTR_ARRAY_T* DISPLAY_T_ARDUINO_ATTR_A
 
 
 void DISPLAY__print_IMMEDIATE(
-    DISPLAY_T_ARDUINO_ATTR_ARRAY_T* DISPLAY_T_ARDUINO_ATTR_ARRAY_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,
@@ -104,9 +111,68 @@ void DISPLAY__print_IMMEDIATE(
 
 }
 
+        
+        
+        
+    void DISPLAY__add_record(
+        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        
+                ) {
+                 int i = DISPLAY_T_ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_CURRENT_A ;
+                         if(i == ARDUINO_ARRAY_INDEX_CORRUPT) {
+                                    DISPLAY_A[i]._queue_id  = 0; //current queue task
+                                    DISPLAY_A[i].DISPLAY_pos_seq_A = 0 ;
+                                    DISPLAY_A[i].DISPLAY_pos_id_A = 0 ;
+                                    DISPLAY_A[i].DISPLAY_array16_A  ;
+                                    DISPLAY_A[i].DISPLAY_TARGET_A  = 0 ; 
+                                    DISPLAY_A[i].time_seq_id_A = 0 ;
+                                    DISPLAY_A[i].time_min_run_A = 0 ;
+                                    
+                                    ARDUINO_ATTR_ARRAY_S__commit_added_element(
+                                         DISPLAY_T_ARDUINO_ATTR_ARRAY_A , i); 
+                                    
+                        }
+                        
+               i = DISPLAY_T_ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_NEXT_A ; 
+               //DISPLAY_array16_T DISPLAY_array16_AA = 
+               String(DISPLAY_array16_A).toCharArray(DISPLAY_A[i].DISPLAY_array16_A,16) ;
+                DISPLAY_A[i]._queue_id  = 0; //current queue task
+                DISPLAY_A[i].DISPLAY_pos_seq_A = DISPLAY_pos_seq_A ;
+                DISPLAY_A[i].DISPLAY_pos_id_A = 0 ;
+                //DISPLAY_A[i].DISPLAY_array16_A = DISPLAY_array16_AA   ;
+                DISPLAY_A[i].DISPLAY_TARGET_A  = DISPLAY_TARGET_A ; 
+                DISPLAY_A[i].time_seq_id_A = time_seq_id_A ;
+                DISPLAY_A[i].time_min_run_A = time_min_run_A ;
+                    
+                ARDUINO_ATTR_ARRAY_S__commit_added_element(
+                DISPLAY_T_ARDUINO_ATTR_ARRAY_A , i); 
+               
+                          #if defined(DEBUG)
+                    // if(DEBUG > 6) {
+                                   Serial.print("#172 DISPLAY__add_record[DEBUG] #COUNT["); Serial.print(Slave_Ports_Status_T_ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_COUNT_A);
+                                    Serial.print("] INDEX_LAST["); Serial.print( DISPLAY_T_ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_LAST_A);
+                                    Serial.print("] INDEX_CURRENT["); Serial.print( DISPLAY_T_ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_CURRENT_A);
+                                    Serial.print("] NEXT_A["); Serial.print( DISPLAY_T_ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_NEXT_A);
+                                   Serial.println("]  ");
+                             //      }
+                    #endif    
+                        
+                        
+                }
+        
+        
+
+
+
  void DISPLAY__print(
         DISPLAY_T* DISPLAY_A ,
-        DISPLAY_T_ARDUINO_ATTR_ARRAY_T* DISPLAY_T_ARDUINO_ATTR_ARRAY_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,
@@ -116,6 +182,15 @@ void DISPLAY__print_IMMEDIATE(
                 )
                 {
                 
+                    #if defined(DEBUG)
+                            Serial.print("#26 Dspl ATTR CURRENT[ "); Serial.print(DISPLAY_T_ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_CURRENT_A);
+                                     Serial.print("] LAST["); Serial.print(DISPLAY_T_ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_LAST_A); 
+                                     Serial.print("] COUNT["); Serial.print(DISPLAY_T_ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_COUNT_A); 
+                                     Serial.print("] LIMIT["); Serial.print(DISPLAY_T_ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_LIMIT_A); 
+                                     Serial.print("]  NEXT:["); Serial.print(DISPLAY_T_ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_NEXT_A); 
+                                     Serial.println("] ");
+                    #endif
+                    
                     if(DISPLAY_pos_seq_A | DISPLAY_pos_seq_A_IMMEDIATE){
                             #if defined(DEBUG)
                                     if(DEBUG > 6) {
@@ -133,14 +208,19 @@ void DISPLAY__print_IMMEDIATE(
                                  Serial.print("#88 DISPLAY__print [DEBUG]  else  "); Serial.print(DISPLAY_pos_seq_A , BIN);
                                  Serial.println("]  ");
                          #endif    
+                         
+                         
+                      DISPLAY__add_record(  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
+                         ) ;
+                         
                     }
 }
 
-        
-        
-        
-        
-
-
-
 

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

@@ -5,13 +5,13 @@ int LCDtim = 250 ;//the value of delay time
 
 
     DISPLAY_T  DISPLAY_A[ARDUINO_ARRAY_INDEX_LIMIT_DISPLAY] = {} ;
-    DISPLAY_T_ARDUINO_ATTR_ARRAY_T DISPLAY_T_ARDUINO_ATTR_ARRAY_A[ARDUINO_ATTR_ARRAY_S_INDEX] = { 
-        {    ARDUINO_ARRAY_INDEX_CURRENT_INIT ,
+    DISPLAY_T_ARDUINO_ATTR_ARRAY_T DISPLAY_T_ARDUINO_ATTR_ARRAY_A = { // 
+           ARDUINO_ARRAY_INDEX_CURRENT_INIT ,
              ARDUINO_ARRAY_INDEX_LAST_INIT ,
              ARDUINO_ARRAY_COUNT_T_INIT ,
              ARDUINO_ARRAY_INDEX_LIMIT_DISPLAY, 
              ARDUINO_ARRAY_INDEX_NEXT_INIT
-             }
+             
     };
     DISPLAY_ARDUINO_ARRAY_INDEX_TABLE_T        DISPLAY_ARDUINO_ARRAY_INDEX_TABLE_A[ARDUINO_ARRAY_INDEX_LIMIT_DISPLAY]        = {};
     DISPLAY_ARDUINO_ARRAY_INDEX_T_TO_DELETE_T  DISPLAY_ARDUINO_ARRAY_INDEX_T_TO_DELETE_A[ARDUINO_ARRAY_INDEX_T_TO_DELETE_S_LIMIT]  = {};  

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

@@ -37,8 +37,8 @@ typedef int DISPLAY_TARGET_T ;
  struct DISPLAY_S {
       int _queue_id ; //current queue task
        DISPLAY_pos_seq_T DISPLAY_pos_seq_A = DISPLAY_pos_seq_A_NEXT;
-       DISPLAY_pos_id_T DISPLAY_pos_id_A;
-       DISPLAY_array16_T DISPLAYDarray16_A ;
+       DISPLAY_pos_id_T DISPLAY_pos_id_A; //somehow like position id for menus...
+       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;

+ 19 - 16
SE/stuff/P5_Automation_can-dev-res/_Slave_Ports_Status_func.h

@@ -23,7 +23,7 @@
         //int i = Slave_Ports_Status_T_ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_COUNT_A ;
         int i = Slave_Ports_Status_T_ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_CURRENT_A ;
         //if(Slave_Ports_Status_T_ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_COUNT_A == 0) {
-          if(Slave_Ports_Status_T_ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_CURRENT_A == 0) {
+          if(i == ARDUINO_ARRAY_INDEX_CORRUPT) {
                
                 // Slave_Ports_Status_T_ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_COUNT_A ++;
                           Slave_Ports_Status_A[i].Port_ID=0x00;
@@ -41,26 +41,29 @@
                 
                 ARDUINO_ATTR_ARRAY_S__commit_added_element(
                           Slave_Ports_Status_T_ARDUINO_ATTR_ARRAY_A , 
-                         Slave_Ports_Status_T_ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_CURRENT_A);
-                 int i = Slave_Ports_Status_T_ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_CURRENT_A ;
+                         i); //Slave_Ports_Status_T_ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_CURRENT_A
+                
                 //ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_CURRENT_A
                                 
                  //Slave_Ports_Status_T_ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_COUNT_A ++;   
     }
+      i = Slave_Ports_Status_T_ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_NEXT_A ;
     
-    Slave_Ports_Status_A[i + 1].Port_ID = Port_ID ;
-    Slave_Ports_Status_A[i + 1]._Slave_ID = _Slave_ID ;
-    Slave_Ports_Status_A[i + 1].PortTypes = PortTypes ;
-    Slave_Ports_Status_A[i + 1].Address = Address ;
-    Slave_Ports_Status_A[i + 1].LocalPort = LocalPort ;
-    Slave_Ports_Status_A[i + 1].Exp_state = Exp_state ;
-    Slave_Ports_Status_A[i + 1].Exp_state_ttl = Exp_state_ttl ;
-    Slave_Ports_Status_A[i + 1].Broadcast_state = Broadcast_state ;
-    Slave_Ports_Status_A[i + 1].I2C_port = I2C_port ;
-    Slave_Ports_Status_A[i + 1].I2C_driver = I2C_driver ;
+    Slave_Ports_Status_A[i].Port_ID = Port_ID ;
+    Slave_Ports_Status_A[i]._Slave_ID = _Slave_ID ;
+    Slave_Ports_Status_A[i].PortTypes = PortTypes ;
+    Slave_Ports_Status_A[i].Address = Address ;
+    Slave_Ports_Status_A[i].LocalPort = LocalPort ;
+    Slave_Ports_Status_A[i].Exp_state = Exp_state ;
+    Slave_Ports_Status_A[i].Exp_state_ttl = Exp_state_ttl ;
+    Slave_Ports_Status_A[i].Broadcast_state = Broadcast_state ;
+    Slave_Ports_Status_A[i].I2C_port = I2C_port ;
+    Slave_Ports_Status_A[i].I2C_driver = I2C_driver ;
   //  Slave_Ports_Status_A[Slave_Ports_Status_T_ARDUINO_ARRAY_COUNT_A + 1].I2C_driver = I2C_driver_F(I2C_driver) ;
-
-    Slave_Ports_Status_T_ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_COUNT_A ++;
+            ARDUINO_ATTR_ARRAY_S__commit_added_element(
+                          Slave_Ports_Status_T_ARDUINO_ATTR_ARRAY_A , 
+                          i);//Slave_Ports_Status_T_ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_NEXT_A
+   
   
 }
 
@@ -70,7 +73,7 @@
         Slave_Ports_Status_T_ARDUINO_ATTR_ARRAY_T &Slave_Ports_Status_T_ARDUINO_ATTR_ARRAY_A,
         Port_ID_T  Port_ID ,
         DISPLAY_T* DISPLAY_A ,
-        DISPLAY_T_ARDUINO_ATTR_ARRAY_T* DISPLAY_T_ARDUINO_ATTR_ARRAY_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,

+ 6 - 1
SE/stuff/P5_Automation_can-dev-res/__main_struct_funct.h

@@ -31,7 +31,12 @@ void ARDUINO_ATTR_ARRAY_S__commit_added_element(
     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_CURRENT_A ;
     ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_NEXT_A = ARDUINO_ARRAY_INDEX_CURRENT_A + 1 ;
-    ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_COUNT_A++ ;
+    if(ARDUINO_ARRAY_INDEX_CURRENT_A == ARDUINO_ARRAY_INDEX_CORRUPT ) {
+    } else {
+        ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_COUNT_A++ ;
+    }
+    
+    
     //ARDUINO_ARRAY_INDEX_LIMIT_A; todo use limits
                 #if defined(DEBUG) 
                              Serial.print("#36 _commit_added_element [DEBUG]  #C["); Serial.print(ARDUINO_ARRAY_INDEX_CURRENT_A);

+ 13 - 3
SE/stuff/P5_Automation_can-dev-res/config_Slave_Ports_LOCAL_init.h

@@ -5,7 +5,7 @@ ARDUINO_FUNCT_INIT_RESULT_T _Slave_Ports_LOCAL_init(Slave_Ports_Status_T* Slave_
                  Slave_Ports_Status_T_ARDUINO_ARRAY_INDEX_T_TO_DELETE_T*      Slave_Ports_Status_T_ARDUINO_ARRAY_INDEX_T_TO_DELETE_A,
                  Slave_Ports_Status_T_ARDUINO_ARRAY_ASSOC_TABLE_S_Port_ID_T*  Slave_Ports_Status_T_ARDUINO_ARRAY_ASSOC_TABLE_S_Port_ID_A,
                 
-                DISPLAY_T*  DISPLAY_A ,  DISPLAY_T_ARDUINO_ATTR_ARRAY_T* DISPLAY_T_ARDUINO_ATTR_ARRAY_A
+                DISPLAY_T*  DISPLAY_A ,  DISPLAY_T_ARDUINO_ATTR_ARRAY_T &DISPLAY_T_ARDUINO_ATTR_ARRAY_A
                 //,*DISPLAY_PHYSICAL_CHAR_A //DISPLAY_PHYSICAL_CHAR_T 
                 ) {
 
@@ -35,13 +35,23 @@ ARDUINO_FUNCT_INIT_RESULT_T _Slave_Ports_LOCAL_init(Slave_Ports_Status_T* Slave_
                                 IS_Local_TRUE 
                                 );
                                 
-                    DISPLAY__print_ANY(
+                    /*    DISPLAY__print_ANY(
                     DISPLAY_T_ARDUINO_ATTR_ARRAY_A , 
                     DISPLAY_PHYSICAL_CHAR_A,
                     DISPLAY_pos_seq_A_NEXT,
                     "#4 _Slave_Ports_LOCAL_init");             
                  
-                 
+                 */
+                 DISPLAY__add_record(
+                       DISPLAY_A ,
+                      DISPLAY_T_ARDUINO_ATTR_ARRAY_A , 
+                      DISPLAY_PHYSICAL_CHAR_A, 
+                          DISPLAY_pos_seq_A_NEXT ,
+                          "#50 Added ports ",//DISPLAY_array16_A
+                          DISPLAY_TARGET_DISPLAY128,
+                          0, //time_seq_id_A,
+                           0 //time_min_run_A =
+                 );
      
                     
     return true ;