|
|
@@ -0,0 +1,207 @@
|
|
|
+
|
|
|
+ void Slave_Ports_Status_add_port(
|
|
|
+ Slave_Ports_Status_T* Slave_Ports_Status_A ,
|
|
|
+ Slave_Ports_Status_T_ARDUINO_ATTR_ARRAY_T &Slave_Ports_Status_T_ARDUINO_ATTR_ARRAY_A,
|
|
|
+ Slave_Ports_Status_T_ARDUINO_ARRAY_INDEX_TABLE_T* Slave_Ports_Status_T_ARDUINO_ARRAY_INDEX_TABLE_A,
|
|
|
+ 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,
|
|
|
+ int Port_ID,
|
|
|
+ int _Slave_ID,
|
|
|
+ PortTypes_T PortTypes,
|
|
|
+ int Address,
|
|
|
+ int LocalPort,
|
|
|
+ Exp_state_T Exp_state,
|
|
|
+ Exp_state_ttl_T Exp_state_ttl,
|
|
|
+ Broadcast_state_T Broadcast_state,
|
|
|
+ int I2C_port,
|
|
|
+ //int I2C_driver
|
|
|
+ I2C_driver_T I2C_driver,
|
|
|
+ IS_Local_T IS_Local_A
|
|
|
+ )
|
|
|
+{
|
|
|
+
|
|
|
+ #if defined(DEBUG)
|
|
|
+ Serial.print("#2444 Slave_Ports_Status_add_port[DEBUG] # BEFORE 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("] NEXT_A["); Serial.print( Slave_Ports_Status_T_ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_NEXT_A);
|
|
|
+ Serial.println("] ");
|
|
|
+ #endif
|
|
|
+
|
|
|
+ //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(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;
|
|
|
+ Slave_Ports_Status_A[i]._Slave_ID=0x00;
|
|
|
+ Slave_Ports_Status_A[i].PortTypes=0x00;
|
|
|
+ Slave_Ports_Status_A[i].Address=0x00;
|
|
|
+ Slave_Ports_Status_A[i].LocalPort=0x00;
|
|
|
+ Slave_Ports_Status_A[i].Exp_state=0x00;
|
|
|
+ Slave_Ports_Status_A[i].Exp_state_ttl=0x00;
|
|
|
+ Slave_Ports_Status_A[i].Broadcast_state=0x00;
|
|
|
+ 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;
|
|
|
+
|
|
|
+
|
|
|
+ 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_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].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[i].IS_Local_A = IS_Local_A;
|
|
|
+ // Slave_Ports_Status_A[Slave_Ports_Status_T_ARDUINO_ARRAY_COUNT_A + 1].I2C_driver = I2C_driver_F(I2C_driver) ;
|
|
|
+ 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
|
|
|
+
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+ void Slave_Ports_Status__DISPLAY_TARGET(
|
|
|
+ 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
|
|
|
+ //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
|
|
|
+ )
|
|
|
+ {
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ #if defined(DEBUG)
|
|
|
+ if(DEBUG > 6) {
|
|
|
+ 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("] NEXT_A["); Serial.print( Slave_Ports_Status_T_ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_NEXT_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);
|
|
|
+ Serial.println("] ");
|
|
|
+ }
|
|
|
+ #endif
|
|
|
+
|
|
|
+ String message_init = "" ;
|
|
|
+ DISPLAY_array16_T DISPLAY_array16_AAT ;
|
|
|
+ // message_init.concat(DISPLAY_array16_A);
|
|
|
+ message_init.concat(" #C:");
|
|
|
+ message_init = message_init + Slave_Ports_Status_T_ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_COUNT_A ;
|
|
|
+ message_init = DISPLAY_array16_A + message_init ;
|
|
|
+ //message_init.concat(Slave_Ports_Status_T_ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_COUNT_A , INT );
|
|
|
+ message_init.concat(" ");
|
|
|
+ message_init.toCharArray(DISPLAY_array16_AAT, message_init.length());
|
|
|
+
|
|
|
+ String message ;
|
|
|
+ String message2 ;
|
|
|
+ DISPLAY__print(
|
|
|
+ DISPLAY_A ,
|
|
|
+ DISPLAY_T_ARDUINO_ATTR_ARRAY_A ,
|
|
|
+ DISPLAY_PHYSICAL_CHAR_A,
|
|
|
+ DISPLAY_pos_seq_A,
|
|
|
+ DISPLAY_array16_AAT,
|
|
|
+ DISPLAY_TARGET_A,
|
|
|
+ time_seq_id_A,
|
|
|
+ time_min_run_A
|
|
|
+ //queue
|
|
|
+ , Slave_Ports_Status_QUEUE_A,
|
|
|
+ TASK_TYPE_A,
|
|
|
+ TASK_PORT_ASSOC_A
|
|
|
+
|
|
|
+ );
|
|
|
+ int i;
|
|
|
+ for(i=ARDUINO_ARRAY_INDEX_FIRST ; i <= Slave_Ports_Status_T_ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_CURRENT_A; i++) {//
|
|
|
+ DISPLAY_array16_T DISPLAY_array16_AA="" ;
|
|
|
+ DISPLAY_array16_T DISPLAY_array16_AB="" ;
|
|
|
+
|
|
|
+ if(Slave_Ports_Status_A[i].Port_ID > 0) {
|
|
|
+
|
|
|
+ #if defined(DEBUG)
|
|
|
+ Serial.print("#68 Port_Dspl[DEBUG] i "); Serial.print(i);
|
|
|
+ Serial.println("] ");
|
|
|
+ #endif
|
|
|
+ message = "";
|
|
|
+ message.concat(":") ;
|
|
|
+ message.concat(i);
|
|
|
+ message.concat("#");
|
|
|
+ message.concat(Slave_Ports_Status_A[i].Port_ID ) ;
|
|
|
+ message.concat(" ");
|
|
|
+ // message.toCharArray(DISPLAY_array16_AA, message.length());
|
|
|
+ /* DISPLAY__print(
|
|
|
+ DISPLAY_A ,
|
|
|
+ DISPLAY_T_ARDUINO_ATTR_ARRAY_A ,
|
|
|
+ DISPLAY_PHYSICAL_CHAR_A,
|
|
|
+ DISPLAY_pos_seq_A,
|
|
|
+ DISPLAY_array16_AA,
|
|
|
+ DISPLAY_TARGET_A,
|
|
|
+ time_seq_id_A,
|
|
|
+ time_min_run_A
|
|
|
+ );
|
|
|
+ delay(100);
|
|
|
+ // DISPLAY_array16_AA = 0 ;*/
|
|
|
+ message2 = message ; message2.concat("E:");
|
|
|
+ message2.concat(Slave_Ports_Status_A[i].Exp_state ) ;
|
|
|
+ message2.concat(" T:");
|
|
|
+ message2.concat(Slave_Ports_Status_A[i].Exp_state_ttl ) ;
|
|
|
+ message2.concat(" B:");
|
|
|
+ message2.concat(Slave_Ports_Status_A[i].Broadcast_state ) ;
|
|
|
+ //message2.concat(" ");
|
|
|
+ message2.toCharArray(DISPLAY_array16_AB, message2.length());
|
|
|
+
|
|
|
+ DISPLAY__print(
|
|
|
+ DISPLAY_A ,
|
|
|
+ DISPLAY_T_ARDUINO_ATTR_ARRAY_A ,
|
|
|
+ DISPLAY_PHYSICAL_CHAR_A,
|
|
|
+ DISPLAY_pos_seq_A,
|
|
|
+ DISPLAY_array16_AB,
|
|
|
+ DISPLAY_TARGET_A,
|
|
|
+ time_seq_id_A,
|
|
|
+ time_min_run_A
|
|
|
+ //queue
|
|
|
+ , Slave_Ports_Status_QUEUE_A,
|
|
|
+ TASK_TYPE_A,
|
|
|
+ TASK_PORT_ASSOC_A
|
|
|
+ );
|
|
|
+ // delay(100);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|