a.binder пре 5 година
родитељ
комит
6f2d6ae026

+ 3 - 1
SE/stuff/P5_Automation_can-dev-res/P5_Automation_can-dev-res.ino

@@ -94,7 +94,9 @@
 //#define DEBUG_TASK_TYPE_T_Slave_Ports_broadcast____
 //#define DEBUG_TASK_TYPE_T_DISPLAY_queue_pop________
 //#define DEBUG_TASK_TYPE_T_Slave_Ports_set_I2C______
-#define DEBUG_TASK_TYPE_T_Debug_Queue_Functions____ //to detect validate queue func - disables loop much
+//#define DEBUG_QUEUE_ASSERT todo not working
+
+#define DISPLAY_array16_T_is_DISPLAY_string_T 
 
 #define HAS__jm_Scheduler //to allow planned actions blink etc
 

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

@@ -4,7 +4,12 @@
         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,
+              #if defined(DISPLAY_array16_T_is_DISPLAY_string_T)
+                DISPLAY_string_T DISPLAY_string_A,
+               #else
+                DISPLAY_array16_T DISPLAY_array16_A,
+               #endif
+            
             DISPLAY_TARGET_T DISPLAY_TARGET_A,
             time_seq_id_T time_seq_id_A,
             time_min_run_T time_min_run_A     
@@ -34,7 +39,14 @@
                                     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  ;
+                                    
+                                    
+                                    #if defined(DISPLAY_array16_T_is_DISPLAY_string_T)
+                                        DISPLAY_A[i].DISPLAY_string_A = "";
+                                    #else
+                                         DISPLAY_A[i].DISPLAY_array16_A  ;
+                                    #endif
+                                    
                                     DISPLAY_A[i].DISPLAY_TARGET_A  = 0 ; 
                                     DISPLAY_A[i].time_seq_id_A = 0 ;
                                     DISPLAY_A[i].time_min_run_A = 0 ;
@@ -92,7 +104,13 @@
                 DISPLAY_A[i].DISPLAY_pos_id_A = 0 ;     
                 strcpy( DISPLAY_A[i].DISPLAY_array16_A , DISPLAY_array16_A);
                 */
-                memcpy( DISPLAY_A[i].DISPLAY_array16_A , DISPLAY_array16_A, 16);
+                
+                #if defined(DISPLAY_array16_T_is_DISPLAY_string_T)
+                 DISPLAY_A[i].DISPLAY_string_A = DISPLAY_string_A ;
+                #else
+                    memcpy( DISPLAY_A[i].DISPLAY_array16_A , DISPLAY_array16_A, 16);
+                #endif
+                
                 
                 //strcpy( DISPLAY_array16_A, DISPLAY_A[i].DISPLAY_array16_A );
                 //DISPLAY_A[i].DISPLAY_array16_A = DISPLAY_array16_AAAA ; // DISPLAY_array16_AAAA ;//"012345678901234" ;

+ 53 - 8
SE/stuff/P5_Automation_can-dev-res/_DISPLAY_func.h

@@ -14,7 +14,14 @@
 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){
+                         #if defined(DISPLAY_array16_T_is_DISPLAY_string_T)
+                            DISPLAY_string_T DISPLAY_string_A
+                           #else
+                            DISPLAY_array16_T DISPLAY_array16_A
+                           #endif
+                        
+                        
+                        ){
               
                         #if defined(DEBUG)
                                 if(DEBUG > 6) {
@@ -45,7 +52,13 @@ void DISPLAY__print_ANY(DISPLAY_T_ARDUINO_ATTR_ARRAY_T &DISPLAY_T_ARDUINO_ATTR_A
                 //todo position current   
                 //todo positions max
                     #if defined(HAS_TFT_ILI9163C)
-                            DISPLAY_DEV_CTRL__println(DISPLAY_PHYSICAL_CHAR_A, DISPLAY_array16_A, DISPLAY_pos_seq_A) ;
+                            DISPLAY_DEV_CTRL__println(DISPLAY_PHYSICAL_CHAR_A,
+                             #if defined(DISPLAY_array16_T_is_DISPLAY_string_T)
+                                 DISPLAY_string_A,
+                                #else
+                                    DISPLAY_array16_A,
+                            #endif
+                             DISPLAY_pos_seq_A) ;
                     #else 
                 
                         Serial.println(DISPLAY_array16_A);
@@ -66,7 +79,11 @@ void DISPLAY__print_IMMEDIATE(
     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,
+      #if defined(DISPLAY_array16_T_is_DISPLAY_string_T)
+        DISPLAY_string_T DISPLAY_string_A,
+       #else
+        DISPLAY_array16_T DISPLAY_array16_A,
+       #endif
       DISPLAY_TARGET_T DISPLAY_TARGET_A) {
         
         if(DISPLAY_TARGET_A & DISPLAY_TARGET_DISPLAY128){ //BIN TEST
@@ -83,7 +100,14 @@ void DISPLAY__print_IMMEDIATE(
                                                    Serial.println("]  ");
                                                 }
                                            #endif
-                            DISPLAY_DEV_CTRL__println(DISPLAY_PHYSICAL_CHAR_A, DISPLAY_array16_A,DISPLAY_pos_seq_A) ;
+                            DISPLAY_DEV_CTRL__println(DISPLAY_PHYSICAL_CHAR_A, 
+                            #if defined(DISPLAY_array16_T_is_DISPLAY_string_T)
+                                DISPLAY_string_A,
+                               #else
+                                DISPLAY_array16_A,
+                           #endif
+                            
+                            DISPLAY_pos_seq_A) ;
                     #else 
                 
                         Serial.println(DISPLAY_array16_A);
@@ -98,7 +122,13 @@ void DISPLAY__print_IMMEDIATE(
                                                    Serial.println("]  ");
                                                   }
                                            #endif
-                                DISPLAY__print_ANY(DISPLAY_T_ARDUINO_ATTR_ARRAY_A, DISPLAY_PHYSICAL_CHAR_A, DISPLAY_pos_seq_A, DISPLAY_array16_A);     
+                                DISPLAY__print_ANY(DISPLAY_T_ARDUINO_ATTR_ARRAY_A, DISPLAY_PHYSICAL_CHAR_A, DISPLAY_pos_seq_A,
+                                  #if defined(DISPLAY_array16_T_is_DISPLAY_string_T)
+                                     DISPLAY_string_A
+                                    #else
+                                    DISPLAY_array16_A
+                                    #endif
+                                 );     
           } else {
                               #if defined(DEBUG)
                                     if(DEBUG > 6) {
@@ -163,7 +193,12 @@ void DISPLAY__print_loop(DISPLAY_CURSOR_X_CHARS_T DISPLAY_CURSOR_X_CHARS_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,
+        
+        #if defined(DISPLAY_array16_T_is_DISPLAY_string_T)
+            DISPLAY_string_T DISPLAY_string_A,
+          #else
+            DISPLAY_array16_T DISPLAY_array16_A,
+        #endif
         DISPLAY_TARGET_T DISPLAY_TARGET_A,
         time_seq_id_T time_seq_id_A,
         time_min_run_T time_min_run_A
@@ -195,7 +230,13 @@ void DISPLAY__print_loop(DISPLAY_CURSOR_X_CHARS_T DISPLAY_CURSOR_X_CHARS_A,
                                         Serial.println("]  ");
                                     // }
                                 #endif  
-                           DISPLAY__print_IMMEDIATE(DISPLAY_T_ARDUINO_ATTR_ARRAY_A, DISPLAY_PHYSICAL_CHAR_A, DISPLAY_pos_seq_A,  DISPLAY_array16_A,  DISPLAY_TARGET_A);
+                           DISPLAY__print_IMMEDIATE(DISPLAY_T_ARDUINO_ATTR_ARRAY_A, DISPLAY_PHYSICAL_CHAR_A, DISPLAY_pos_seq_A,  
+                           #if defined(DISPLAY_array16_T_is_DISPLAY_string_T)
+                            DISPLAY_string_A,
+                            #else
+                             DISPLAY_array16_A,
+                            #endif
+                             DISPLAY_TARGET_A);
                                      // Serial.print("#28 running _Slave_Ports_ttl_decrement = ");
                 
                     } else {
@@ -211,7 +252,11 @@ void DISPLAY__print_loop(DISPLAY_CURSOR_X_CHARS_T DISPLAY_CURSOR_X_CHARS_A,
                              DISPLAY_T_ARDUINO_ATTR_ARRAY_A , 
                              DISPLAY_PHYSICAL_CHAR_A, 
                              DISPLAY_pos_seq_A,
-                             DISPLAY_array16_A,
+                             #if defined(DISPLAY_array16_T_is_DISPLAY_string_T)
+                                  DISPLAY_string_A,
+                             #else
+                                 DISPLAY_array16_A,
+                            #endif
                              DISPLAY_TARGET_A,
                              time_seq_id_A,
                              time_min_run_A

+ 7 - 1
SE/stuff/P5_Automation_can-dev-res/_DISPLAY_struct.h

@@ -2,6 +2,8 @@
 
 typedef  char DISPLAY_array16_T[16] ;
 typedef String DISPLAY_string64_T[16];
+typedef String DISPLAY_string_T;
+
 static String DISPLAY_array16_FILL_A = "                        ";
 
 typedef ARDUINO_SIZE_T DISPLAY_string_len_T ;
@@ -43,7 +45,11 @@ typedef byte DISPLAY_TARGET_T ; //TODO BIN
        DISPLAY_pos_seq_T DISPLAY_pos_seq_A = DISPLAY_pos_seq_A_NEXT;
        DISPLAY_pos_id_T DISPLAY_pos_id_A; //somehow like position id for menus...
        //DISPLAY_array16_T DISPLAY_array16_A ;
-       DISPLAY_array16_T DISPLAY_array16_A ;
+       #if defined(DISPLAY_array16_T_is_DISPLAY_string_T)
+        DISPLAY_string_T DISPLAY_string_A;
+       #else
+        DISPLAY_array16_T DISPLAY_array16_A ;
+       #endif
        //char DISPLAY_array16_A[16] ;
        DISPLAY_TARGET_T DISPLAY_TARGET_A ; 
        time_seq_id_T time_seq_id_A;

+ 12 - 12
SE/stuff/P5_Automation_can-dev-res/_Slave_Ports_Status_QUEUE_func.h

@@ -134,12 +134,12 @@ void _Slave_Ports_queue__list( Slave_Ports_Status_QUEUE_T* Slave_Ports_Status_QU
         Serial.print(" QUEUE#[");Serial.print(ARDUINO_ARRAY_ATTR_QUEUE_COUNT_A);Serial.print("] ");
         Serial.print(" QPEEK[");Serial.print(ARDUINO_ARRAY_ATTR_QUEUE_PEEK_A);Serial.print("] ");
         */
-        DEBUG_QUEUE_ASSERT_BEF_POP_COUNT_A = Slave_Ports_Status_QUEUE_A.ARDUINO_ARRAY_COUNT_A ;
-        DEBUG_QUEUE_ASSERT_BEF_POP_INDEX_LIMIT_A = Slave_Ports_Status_QUEUE_A.ARDUINO_ARRAY_INDEX_LIMIT_A ;
-        DEBUG_QUEUE_ASSERT_BEF_POP_INDEX_NEXT_A = Slave_Ports_Status_QUEUE_A.ARDUINO_ARRAY_INDEX_NEXT_A ;
-        DEBUG_QUEUE_ASSERT_BEF_POP_QUEUE_COUNT_A = Slave_Ports_Status_QUEUE_A.ARDUINO_ARRAY_ATTR_QUEUE_COUNT_A ;
-        DEBUG_QUEUE_ASSERT_BEF_POP_COUNT_A = Slave_Ports_Status_QUEUE_A.ARDUINO_ARRAY_COUNT_A ;
-        DEBUG_QUEUE_ASSERT_BEF_POP_QUEUE_PEEK_A = Slave_Ports_Status_QUEUE_A.ARDUINO_ARRAY_ATTR_QUEUE_PEEK_A ;
+      int  DEBUG_QUEUE_ASSERT_BEF_POP_COUNT_A = Slave_Ports_Status_QUEUE_A.ARDUINO_ARRAY_COUNT_A ;
+      int  DEBUG_QUEUE_ASSERT_BEF_POP_INDEX_LIMIT_A = Slave_Ports_Status_QUEUE_A.ARDUINO_ARRAY_INDEX_LIMIT_A ;
+      int  DEBUG_QUEUE_ASSERT_BEF_POP_INDEX_NEXT_A = Slave_Ports_Status_QUEUE_A.ARDUINO_ARRAY_INDEX_NEXT_A ;
+      int  DEBUG_QUEUE_ASSERT_BEF_POP_QUEUE_COUNT_A = Slave_Ports_Status_QUEUE_A.ARDUINO_ARRAY_ATTR_QUEUE_COUNT_A ;
+      int  DEBUG_QUEUE_ASSERT_BEF_POP_COUNT_A = Slave_Ports_Status_QUEUE_A.ARDUINO_ARRAY_COUNT_A ;
+      int  DEBUG_QUEUE_ASSERT_BEF_POP_QUEUE_PEEK_A = Slave_Ports_Status_QUEUE_A.ARDUINO_ARRAY_ATTR_QUEUE_PEEK_A ;
         
 #endif
  
@@ -150,12 +150,12 @@ void _Slave_Ports_queue__list( Slave_Ports_Status_QUEUE_T* Slave_Ports_Status_QU
 
  #if defined(DEBUG_QUEUE_ASSERT)
  
-        DEBUG_QUEUE_ASSERT_AFT_POP_COUNT_A = Slave_Ports_Status_QUEUE_A.ARDUINO_ARRAY_COUNT_A ;
-        DEBUG_QUEUE_ASSERT_AFT_POP_INDEX_LIMIT_A = Slave_Ports_Status_QUEUE_A.ARDUINO_ARRAY_INDEX_LIMIT_A ;
-        DEBUG_QUEUE_ASSERT_AFT_POP_INDEX_NEXT_A = Slave_Ports_Status_QUEUE_A.ARDUINO_ARRAY_INDEX_NEXT_A ;
-        DEBUG_QUEUE_ASSERT_AFT_POP_QUEUE_COUNT_A = Slave_Ports_Status_QUEUE_A.ARDUINO_ARRAY_ATTR_QUEUE_COUNT_A ;
-        DEBUG_QUEUE_ASSERT_AFT_POP_COUNT_A = Slave_Ports_Status_QUEUE_A.ARDUINO_ARRAY_COUNT_A ;
-        DEBUG_QUEUE_ASSERT_AFT_POP_QUEUE_PEEK_A = Slave_Ports_Status_QUEUE_A.ARDUINO_ARRAY_ATTR_QUEUE_PEEK_A ;
+      int  DEBUG_QUEUE_ASSERT_AFT_POP_COUNT_A = Slave_Ports_Status_QUEUE_A.ARDUINO_ARRAY_COUNT_A ;
+     int   DEBUG_QUEUE_ASSERT_AFT_POP_INDEX_LIMIT_A = Slave_Ports_Status_QUEUE_A.ARDUINO_ARRAY_INDEX_LIMIT_A ;
+     int   DEBUG_QUEUE_ASSERT_AFT_POP_INDEX_NEXT_A = Slave_Ports_Status_QUEUE_A.ARDUINO_ARRAY_INDEX_NEXT_A ;
+     int   DEBUG_QUEUE_ASSERT_AFT_POP_QUEUE_COUNT_A = Slave_Ports_Status_QUEUE_A.ARDUINO_ARRAY_ATTR_QUEUE_COUNT_A ;
+     ARDUINO_ARRAY_COUNT_T   DEBUG_QUEUE_ASSERT_AFT_POP_COUNT_A = Slave_Ports_Status_QUEUE_A.ARDUINO_ARRAY_COUNT_A ;
+     int   DEBUG_QUEUE_ASSERT_AFT_POP_QUEUE_PEEK_A = Slave_Ports_Status_QUEUE_A.ARDUINO_ARRAY_ATTR_QUEUE_PEEK_A ;
         
          if(DEBUG_QUEUE_ASSERT_BEF_POP_QUEUE_COUNT_A > 0 and (DEBUG_QUEUE_ASSERT_BEF_POP_COUNT_A != DEBUG_QUEUE_ASSERT_BEF_POP_QUEUE_COUNT_A)) { 
                 Serial.println("#162[DEBUG_QUEUE_ASSERT][ERR] [BEF_POP_COUNT_A["); Serial.print(DEBUG_QUEUE_ASSERT_BEF_POP_COUNT_A); Serial.print("]]!=[BEF_POP_QUEUE_COUNT_A["); Serial.print(DEBUG_QUEUE_ASSERT_AFT_BEF_QUEUE_COUNT_A); Serial.primt("]]");

+ 105 - 59
SE/stuff/P5_Automation_can-dev-res/_Slave_Ports_Status_func.h

@@ -104,7 +104,12 @@
         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,
+            #if defined(DISPLAY_array16_T_is_DISPLAY_string_T)
+                DISPLAY_string_T DISPLAY_string_A,
+            #else
+                DISPLAY_array16_T DISPLAY_array16_A,
+             #endif
+            
             DISPLAY_TARGET_T DISPLAY_TARGET_A,
             time_seq_id_T time_seq_id_A,
             time_min_run_T time_min_run_A
@@ -134,34 +139,60 @@
                                    Serial.println("]  ");
                                 }
                     #endif    
-   
-        String message_init = String(Active_ControllerID, HEX) ;
-        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, 16); //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_pos_seq_A_CLEARSCREEN,
-                            DISPLAY_array16_AAT,
-                            DISPLAY_TARGET_A,
-                           time_seq_id_A,
-                           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
-                        
-                          ); 
+                     String message_init = String(Active_ControllerID, HEX) ;
+                       message_init.concat("] #C: ");
+                       message_init = message_init +  Slave_Ports_Status_T_ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_COUNT_A ;
+                        message_init.concat("   ");
+           #if defined(DISPLAY_array16_T_is_DISPLAY_string_T)
+                    
+                         DISPLAY__print(
+                                                    DISPLAY_A ,
+                                                    DISPLAY_T_ARDUINO_ATTR_ARRAY_A , 
+                                                    DISPLAY_PHYSICAL_CHAR_A, 
+                                                     DISPLAY_pos_seq_A | DISPLAY_pos_seq_A_CLEARSCREEN,
+                                                      message_init, // DISPLAY_array16_AAT,
+                                                      DISPLAY_TARGET_A,
+                                                     time_seq_id_A,
+                                                     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
+                                                  
+                                                    ); 
+            #else
+               
+               
+                 
+                       DISPLAY_array16_T  DISPLAY_array16_AAT ;
+                      // message_init.concat(DISPLAY_array16_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, 16); //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_pos_seq_A_CLEARSCREEN,
+                                           DISPLAY_array16_AAT,
+                                           DISPLAY_TARGET_A,
+                                          time_seq_id_A,
+                                          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
+                                       
+                                         ); 
+               
+               
+             #endif
+     
         int i;
         for(i=ARDUINO_ARRAY_INDEX_FIRST ; i<=5 ; i++) {//i <= Slave_Ports_Status_T_ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_CURRENT_A
            DISPLAY_array16_T  DISPLAY_array16_AA="" ;
@@ -175,25 +206,22 @@
                             Serial.println("]  ");
                             }
                     #endif    
-                  message = "";
+                    
+                    
+                    #if defined(DISPLAY_array16_T_is_DISPLAY_string_T)
+                      String message = "";
+                       String message2 ;
+                    #else
+                    
+                      message = "";
+                    #endif
+                
                  //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:
                    String Exp_state_s  = BIN8_to_STRING(Slave_Ports_Status_A[i].Exp_state) ; // ="";    
                     //message2.concat(Exp_state_s.substring(1,8));
@@ -275,23 +303,41 @@
                     }
                      
                  
-                 
-                 message2.toCharArray(DISPLAY_array16_AB, message2.length());             
+                  #if defined(DISPLAY_array16_T_is_DISPLAY_string_T)
+                      DISPLAY__print(
+                          DISPLAY_A ,
+                          DISPLAY_T_ARDUINO_ATTR_ARRAY_A , 
+                          DISPLAY_PHYSICAL_CHAR_A, 
+                           DISPLAY_pos_seq_A,
+                            message2, //DISPLAY_array16_AB,
+                            DISPLAY_TARGET_A,
+                           time_seq_id_A,
+                           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
+                          );  
+                  #else
+                    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,  Slave_Ports_Status_QUEUE_T_ARDUINO_ATTR_ARRAY_A ,
+                                   TASK_TYPE_A,
+                                   TASK_PORT_ASSOC_A
+                          );  
+                  #endif
+                        
                 
-                 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,  Slave_Ports_Status_QUEUE_T_ARDUINO_ATTR_ARRAY_A ,
-                            TASK_TYPE_A,
-                            TASK_PORT_ASSOC_A
-                   ); 
               // delay(100);
             }
         }

+ 90 - 72
SE/stuff/P5_Automation_can-dev-res/_TFT_ILI9163C_func.h

@@ -131,82 +131,100 @@ void DISPLAY_DEV__CURSOR__NEWLINE(DISPLAY_PHYSICAL_CHAR_T &DISPLAY_PHYSICAL_CHAR
 
 
 void  DISPLAY_DEV_CTRL__println(DISPLAY_PHYSICAL_CHAR_T &DISPLAY_PHYSICAL_CHAR_A, 
-                                DISPLAY_array16_T DISPLAY_array16_A , 
+                                #if defined(DISPLAY_array16_T_is_DISPLAY_string_T)
+                                  DISPLAY_string_T DISPLAY_string_A,
+                                #else
+                                   DISPLAY_array16_T DISPLAY_array16_A ,
+                                #endif
+                               
+                                 
                                 DISPLAY_pos_seq_T DISPLAY_pos_seq_A
                                 ) {
                                 DISPLAY_DEV__CURSOR__NEWLINE(DISPLAY_PHYSICAL_CHAR_A) ; 
-                               // DISPLAY_DEV.print(DISPLAY_array16_A);
-                               //  unsigned char LCDarray1buf[16];
-                                 //              DISPLAY_array16_A.toCharArray(LCDarray1buf, 16);
+                             
+                             
+                                                            
                                  
-                                  String message(DISPLAY_array16_A);
-                                
-                                if(DISPLAY_pos_seq_A & DISPLAY_pos_seq_A_CLEARSCREEN) DISPLAY_DEV__CURSOR__clearScreen(DISPLAY_PHYSICAL_CHAR_A) ;
-                               
-                                int parts =  floor(message.length()/ DISPLAY_PHYSICAL_CHAR_A.DISPLAY_PHYSICAL_X_CHARS_A ) ; //( message.length() + 100)
-                                if(message.length() >= DISPLAY_PHYSICAL_CHAR_A.DISPLAY_PHYSICAL_X_CHARS_A and parts == 1) parts ++; 
-                                else if(parts == 0) parts = 1;
-                                int substr_begin = 0 ;
-                                int substr_end = 0 ;
-                                int i;
-                                
-                                 #if defined(DEBUG) 
-                                  if(DEBUG > 6) {  
-                                     Serial.print("#34 arr16"); Serial.print(DISPLAY_array16_A);
-                                     Serial.print("] #34 sizeof["); Serial.print(message.length());
-                                     Serial.print("] #34 String["); Serial.print(message);
-                                     Serial.print("] #34 frag"); Serial.print( message.substring(2, 5));
-                                     Serial.print("] parts["); Serial.print( parts);
-                                     Serial.print("] yC["); Serial.print( DISPLAY_PHYSICAL_CHAR_A.DISPLAY_CURSOR_Y_CHARS_A);
-                                     Serial.println("] "); 
-                                     }
-                                 #endif
-                                
-                                int bufi;
-                                char buf[1];
-                                for(i = 1 ; i<= parts; i++) {
-                                    //myString.substring(from, to)
-                                    substr_end = substr_begin + DISPLAY_PHYSICAL_CHAR_A.DISPLAY_PHYSICAL_X_CHARS_A ;
-                                        DISPLAY_DEV.print(message.substring(substr_begin, substr_end));
-                                       /*BUG TODO ERROR IF UNCOMMENTED*/
-                                       
-                                       
-                                       
-                                       
-                                      /* for(bufi = 0; bufi <= 16; bufi++) {
-                                           message.substring(substr_begin + bufi, substr_begin + bufi + 1).toCharArray(buf,1);
-                                            //DISPLAY_DEV.print(buf.substring(bufi, bufi+1));
-                                            DISPLAY_DEV.print(buf[0]);
-                                       }
-                                       */
-                                        #if defined(DEBUG)
-                                          if(DEBUG > 6) {  
-                                                Serial.print("#112 msg part["); Serial.print(i);
-                                               Serial.print("]  beg["); Serial.print(substr_begin);
-                                               Serial.print("]  end["); Serial.print(substr_end);
-                                               Serial.print("]  frag["); Serial.print(message.substring(substr_begin, substr_end));
-                                               Serial.print("] yC["); Serial.print( DISPLAY_PHYSICAL_CHAR_A.DISPLAY_PHYSICAL_X_CHARS_A);
-                                               Serial.println("] ");
-                                              } 
-                                         #endif
-                                         
-                                        substr_begin = substr_end + 1;
-                                        if( parts >= 1 and not(parts == i)) {
-                                            
-                                             DISPLAY_DEV__CURSOR__NEWLINE(DISPLAY_PHYSICAL_CHAR_A) ;
-                                        } //else if(i == parts) {
-                                          //  DISPLAY_DEV__CURSOR__NEWLINE(DISPLAY_PHYSICAL_CHAR_A) ;
-                                       // }
-                                } 
-                                /*BUG TODO ERROR IF UNCOMMENTED
-                                // Serial.end();    // Ends the serial communication once all data is received
-                                //Serial.begin(115200);  
-                               // delay(400);
-                               // if (Serial.available()) Serial.write("aaaa49 ");
-                                //delay(100);
-                               // if (Serial.available()) Serial.println("bbbb49 ");
-                              //  else  Serial.println("cccc49 ");
-                              */
+                                  #if defined(DISPLAY_array16_T_is_DISPLAY_string_T)
+                                        DISPLAY_DEV.print(DISPLAY_string_A);
+                                         #else
+                                        
+                                                
+                                                   
+                                                   String message(DISPLAY_array16_A);
+                                                 
+                                                 if(DISPLAY_pos_seq_A & DISPLAY_pos_seq_A_CLEARSCREEN) DISPLAY_DEV__CURSOR__clearScreen(DISPLAY_PHYSICAL_CHAR_A) ;
+                                                
+                                                 int parts =  floor(message.length()/ DISPLAY_PHYSICAL_CHAR_A.DISPLAY_PHYSICAL_X_CHARS_A ) ; //( message.length() + 100)
+                                                 if(message.length() >= DISPLAY_PHYSICAL_CHAR_A.DISPLAY_PHYSICAL_X_CHARS_A and parts == 1) parts ++; 
+                                                 else if(parts == 0) parts = 1;
+                                                 int substr_begin = 0 ;
+                                                 int substr_end = 0 ;
+                                                 int i;
+                                                 
+                                                  #if defined(DEBUG) 
+                                                   if(DEBUG > 6) {  
+                                                      Serial.print("#34 arr16"); Serial.print(DISPLAY_array16_A);
+                                                      Serial.print("] #34 sizeof["); Serial.print(message.length());
+                                                      Serial.print("] #34 String["); Serial.print(message);
+                                                      Serial.print("] #34 frag"); Serial.print( message.substring(2, 5));
+                                                      Serial.print("] parts["); Serial.print( parts);
+                                                      Serial.print("] yC["); Serial.print( DISPLAY_PHYSICAL_CHAR_A.DISPLAY_CURSOR_Y_CHARS_A);
+                                                      Serial.println("] "); 
+                                                      }
+                                                  #endif
+                                                 
+                                                 int bufi;
+                                                 char buf[1];
+                                                 for(i = 1 ; i<= parts; i++) {
+                                                     //myString.substring(from, to)
+                                                     substr_end = substr_begin + DISPLAY_PHYSICAL_CHAR_A.DISPLAY_PHYSICAL_X_CHARS_A ;
+                                                         DISPLAY_DEV.print(message.substring(substr_begin, substr_end));
+                                                        /*BUG TODO ERROR IF UNCOMMENTED*/
+                                                        
+                                                        
+                                                        
+                                                        
+                                                       /* for(bufi = 0; bufi <= 16; bufi++) {
+                                                            message.substring(substr_begin + bufi, substr_begin + bufi + 1).toCharArray(buf,1);
+                                                             //DISPLAY_DEV.print(buf.substring(bufi, bufi+1));
+                                                             DISPLAY_DEV.print(buf[0]);
+                                                        }
+                                                        */
+                                                         #if defined(DEBUG)
+                                                           if(DEBUG > 6) {  
+                                                                 Serial.print("#112 msg part["); Serial.print(i);
+                                                                Serial.print("]  beg["); Serial.print(substr_begin);
+                                                                Serial.print("]  end["); Serial.print(substr_end);
+                                                                Serial.print("]  frag["); Serial.print(message.substring(substr_begin, substr_end));
+                                                                Serial.print("] yC["); Serial.print( DISPLAY_PHYSICAL_CHAR_A.DISPLAY_PHYSICAL_X_CHARS_A);
+                                                                Serial.println("] ");
+                                                               } 
+                                                          #endif
+                                                          
+                                                         substr_begin = substr_end + 1;
+                                                         if( parts >= 1 and not(parts == i)) {
+                                                             
+                                                              DISPLAY_DEV__CURSOR__NEWLINE(DISPLAY_PHYSICAL_CHAR_A) ;
+                                                         } //else if(i == parts) {
+                                                           //  DISPLAY_DEV__CURSOR__NEWLINE(DISPLAY_PHYSICAL_CHAR_A) ;
+                                                        // }
+                                                 } 
+                                                 /*BUG TODO ERROR IF UNCOMMENTED
+                                                 // Serial.end();    // Ends the serial communication once all data is received
+                                                 //Serial.begin(115200);  
+                                                // delay(400);
+                                                // if (Serial.available()) Serial.write("aaaa49 ");
+                                                 //delay(100);
+                                                // if (Serial.available()) Serial.println("bbbb49 ");
+                                               //  else  Serial.println("cccc49 ");
+                                               */
+                                                
+                                        
+                                        
+                                #endif
+                                 
+                              
             }