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

+ 23 - 6
SE/stuff/P5_Automation_can-dev-res/_Slave_Ports_Status_func.h

@@ -19,9 +19,13 @@
                 IS_Local_T IS_Local_A
                 )
 {
-        int i = Slave_Ports_Status_T_ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_COUNT_A ;
-                if(Slave_Ports_Status_T_ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_COUNT_A == 0) {
-                 Slave_Ports_Status_T_ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_COUNT_A ++;
+
+        //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) {
+               
+                // Slave_Ports_Status_T_ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_COUNT_A ++;
                           Slave_Ports_Status_A[i].Port_ID=0x00;
                           Slave_Ports_Status_A[i]._Slave_ID=0x00;
                           Slave_Ports_Status_A[i].PortTypes=0x00;
@@ -33,7 +37,15 @@
                           Slave_Ports_Status_A[i].I2C_port=0x00;
                           Slave_Ports_Status_A[i].I2C_driver=0x00;
                           Slave_Ports_Status_A[i].IS_Local_A=IS_Local_FALSE;
-                 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 , 
+                         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 ++;   
     }
     
     Slave_Ports_Status_A[i + 1].Port_ID = Port_ID ;
@@ -72,8 +84,13 @@
    
                 #if defined(DEBUG)
                     // if(DEBUG > 6) {
-                                   Serial.print("#72 Port_Dspl[DEBUG] #C["); Serial.print(Slave_Ports_Status_T_ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_COUNT_A);
-                                    Serial.print("] XM["); Serial.print( DISPLAY_PHYSICAL_CHAR_A.DISPLAY_PHYSICAL_X_CHARS_A);
+                                   Serial.print("#72 Port_Dspl[DEBUG] #COUNT["); 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("]   XM["); Serial.print( DISPLAY_PHYSICAL_CHAR_A.DISPLAY_PHYSICAL_X_CHARS_A);
                                     Serial.print("] YM["); Serial.print( DISPLAY_PHYSICAL_CHAR_A.DISPLAY_PHYSICAL_Y_CHARS_A);
                                     Serial.print("] YC["); Serial.print( DISPLAY_PHYSICAL_CHAR_A.DISPLAY_CURSOR_Y_CHARS_A);
                                     Serial.print("] YF["); Serial.print( DISPLAY_PHYSICAL_CHAR_A.DISPLAY_textsize_y_A);

+ 22 - 11
SE/stuff/P5_Automation_can-dev-res/__main_struct_funct.h

@@ -1,15 +1,10 @@
 //PROTOTYPES HOW TO USE ORDER ELEMENTS
 
-/*void ARDUINO_ARRAY_INDEX_TABLE_INIT(
+void ARDUINO_ARRAY_INDEX_TABLE__SYNC_CURRENT( //when added to main table - do it
 //MAIN_TABLE_T, MAIN_TABLE_A,
 //optional ARDUINO_ARRAY_ASSOC_TABLE_S ARDUINO_ARRAY_ASSOC_TABLE_A,
 ARDUINO_ARRAY_INDEX_TABLE_S* ARDUINO_ARRAY_INDEX_TABLE_A,
-ARDUINO_ARRAY_COUNT_T* ARDUINO_ARRAY_COUNT_A,
-ARDUINO_ARRAY_INDEX_CURRENT_T* ARDUINO_ARRAY_INDEX_CURRENT_A,
-ARDUINO_ARRAY_INDEX_LAST_T* ARDUINO_ARRAY_INDEX_LAST_A,
-ARDUINO_ARRAY_INDEX_T_TO_DELETE_S* ARDUINO_ARRAY_INDEX_T_TO_DELETE_A,  
-ARDUINO_ARRAY_INDEX_LIMIT_T* ARDUINO_ARRAY_INDEX_LIMIT_A
-
+ARDUINO_ATTR_ARRAY_S* ARDUINO_ATTR_ARRAY_A
 //ASSOC TABLE
 
 ) {
@@ -18,7 +13,6 @@ ARDUINO_ARRAY_INDEX_LIMIT_T* ARDUINO_ARRAY_INDEX_LIMIT_A
 }
 
 
-*/
 
 void ARDUINO_ARRAY_ASSOC_TABLE_INIT(
     ARDUINO_ARRAY_ASSOC_TABLE_S* ARDUINO_ARRAY_ASSOC_TABLE_A,
@@ -30,9 +24,26 @@ void ARDUINO_ARRAY_ASSOC_TABLE_INIT(
 }
 
 
+void ARDUINO_ATTR_ARRAY_S__commit_added_element(
+    ARDUINO_ATTR_ARRAY_S &ARDUINO_ATTR_ARRAY_A , 
+    ARDUINO_ARRAY_INDEX_CURRENT_T &ARDUINO_ARRAY_INDEX_CURRENT_A //current index
+) { //when added new element call this func
+    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_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);
+                            Serial.print("] CountNew["); Serial.print( ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_COUNT_A);
+                            Serial.print("] Last["); Serial.print( ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_LAST_A);
+                            Serial.print("] Curr["); Serial.print( ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_CURRENT_A); 
+                                Serial.println("]  ");
+                #endif
+    }
 
 
 
+/*
 void ARDUINO_ARRAY_COUNT(
 ARDUINO_ARRAY_INDEX_TABLE_S* ARDUINO_ARRAY_INDEX_TABLE_A,
 ARDUINO_ARRAY_INDEX_T_TO_DELETE_S* ARDUINO_ARRAY_INDEX_T_TO_DELETE_A, 
@@ -43,9 +54,9 @@ ARDUINO_ARRAY_COUNT_T* ARDUINO_ARRAY_COUNT_A
 
 
 }
+*/
 
-;
-
+/*
 
 void ARDUINO_ARRAY_DELETE(
 ARDUINO_ARRAY_INDEX_TABLE_S* ARDUINO_ARRAY_INDEX_TABLE_A,
@@ -53,4 +64,4 @@ ARDUINO_ARRAY_INDEX_T_TO_DELETE_S* ARDUINO_ARRAY_INDEX_T_TO_DELETE_A,
 ARDUINO_ARRAY_ASSOC_TABLE_S* ARDUINO_ARRAY_ASSOC_TABLE_A
 );
 
-
+*/