a.binder 5 年之前
父节点
当前提交
9c3fa5e733

+ 2 - 2
SE/stuff/P5_Automation_can-dev-res-working-1930/P5_Automation_can-dev-res-working-1930.ino

@@ -91,7 +91,7 @@
 
 //#define DEBUG_I2C_driver_Adafruit_PWMServoDriver
 //#define DEBUG_CAN
-#define DEBUG_QUEUE
+//#define DEBUG_QUEUE
 //#define DEBUG_QUEUE_ASSERT
 //#define DEBUG_QUEUE_WAIT 500
 //#define DEBUG_STRUCT_INIT
@@ -595,7 +595,7 @@ register long time;
   
     if(DEBUG_ACTION_TRIG != DEBUG_LAST_ACTION_TRIG)   {
        #if defined(DEBUG_LAST_ACTION_TRIG_ENABLE)
-        Serial.print("#534   DEBUG_ACTION_TRIG[");Serial.print(DEBUG_ACTION_TRIG);Serial.print("] "); Serial.print("]  LAST_DEBUG_ACTION_TRIG[");Serial.print(DEBUG_LAST_ACTION_TRIG);Serial.println("] ");
+        Serial.print(F("#534   DEBUG_ACTION_TRIG["));Serial.print(DEBUG_ACTION_TRIG);Serial.print(F("] ")); Serial.print(F("]  LAST_DEBUG_ACTION_TRIG["));Serial.print(DEBUG_LAST_ACTION_TRIG);Serial.println(F("] "));
        #endif 
      //   Serial.print("] COUNTER__MAIN_A["); Serial.print(ARDUINO_LOOP_LATENCY_COUNTER__MAIN_A);
      //   Serial.print("] COUNTER__MAIN_END_A["); Serial.print(ARDUINO_LOOP_LATENCY_COUNTER__MAIN_END_A);

+ 23 - 23
SE/stuff/P5_Automation_can-dev-res-working-1930/_CAN/_CAN_func.h

@@ -10,9 +10,9 @@ void CAN_READ(
             {
               CAN0.readMsgBuf(&CANrxId, &CANlen, CANrxBuf); // Read data: len = data length, buf = data byte(s)
                #if not defined(DISABLE_ANY_PRINT)
-                    Serial.print("#5555CAN_READ read ID: ");
+                    Serial.print(F("#5555CAN_READ read ID: "));
                     Serial.print(CANrxId, HEX);
-                    Serial.print(" Data: [");Serial.print(CANlen); Serial.print("]"); 
+                    Serial.print(F(" Data: ["));Serial.print(CANlen); Serial.print(F("]")); 
                 #endif
             
                 if(CANlen == CAN_MSG_DATA8_LEN) {
@@ -34,23 +34,23 @@ void CAN_READ(
                    #if not defined(DISABLE_ANY_PRINT) 
                   // Serial.print();
                    
-                   Serial.print("1.REM::");Serial.print(CAN_MSG8_BIT_1_A, HEX);
-                   Serial.print(", 2.SEND:");Serial.print(CAN_MSG8_BIT_2_A, HEX);
-                   Serial.print(", PortID.3:");Serial.print(CAN_MSG8_BIT_3_A, BIN);
-                   Serial.print(", PortTyp.4:");Serial.print(CAN_MSG8_BIT_4_A, BIN);
-                   Serial.print(", ExpS.5:");Serial.print(CAN_MSG8_BIT_5_A, BIN);
-                   Serial.print(", ExpT.6:");Serial.print(CAN_MSG8_BIT_6_A, HEX);
-                   Serial.print(", BcSt.7:");Serial.print(CAN_MSG8_BIT_7_A, HEX);
-                   Serial.print(", TaskT?.8:");Serial.print(CAN_MSG8_BIT_8_A, HEX);Serial.println(" ] ");
+                   Serial.print(F("1.REM::"));Serial.print(CAN_MSG8_BIT_1_A, HEX);
+                   Serial.print(F(", 2.SEND:"));Serial.print(CAN_MSG8_BIT_2_A, HEX);
+                   Serial.print(F(", PortID.3:"));Serial.print(CAN_MSG8_BIT_3_A, BIN);
+                   Serial.print(F(", PortTyp.4:"));Serial.print(CAN_MSG8_BIT_4_A, BIN);
+                   Serial.print(F(", ExpS.5:"));Serial.print(CAN_MSG8_BIT_5_A, BIN);
+                   Serial.print(F(", ExpT.6:"));Serial.print(CAN_MSG8_BIT_6_A, HEX);
+                   Serial.print(F(", BcSt.7:"));Serial.print(CAN_MSG8_BIT_7_A, HEX);
+                   Serial.print(F(", TaskT?.8:"));Serial.print(CAN_MSG8_BIT_8_A, HEX);Serial.println(F(" ] "));
                    
                    
-                    Serial.println("64[ Debug STD]")   ;                             
+                    Serial.println(F("64[ Debug STD]"))   ;                             
                                    for(int i = 0; i<CANlen; i++)           // Print each byte of the data
                                     {
-                                     Serial.print("[");Serial.print(i);Serial.print("]");
+                                     Serial.print(F("["));Serial.print(i);Serial.print(F("]"));
                                       if(CANrxBuf[i] < 0x10)                // If data byte is less than 0x10, add a leading zero
                                       {
-                                        Serial.print("0");
+                                        Serial.print(F("0"));
                                  
                                       }
                                       Serial.print(CANrxBuf[i], HEX);
@@ -63,7 +63,7 @@ void CAN_READ(
                     
                             if(CAN_MSG8_BIT_8_A == TASK_TYPE_T_Slave_Ports_broadcast____) {
                              #if not defined(DISABLE_ANY_PRINT)
-                                Serial.println("[CAN_MSG8_BIT_8_A]==[T_BCAST]->[ADD][PORTS]")   ;
+                                Serial.println(F("[CAN_MSG8_BIT_8_A]==[T_BCAST]->[ADD][PORTS]"))   ;
                                 #endif      
                                         Slave_Ports_Status_add_port(
                                                                        Slave_Ports_Status_A ,
@@ -98,7 +98,7 @@ void CAN_READ(
                                    */
                                    
                                     #if not defined(DISABLE_ANY_PRINT)
-                                      Serial.println("[CAN_MSG8_BIT_8_A]==[request_confirm_Exp_state]->[UPDATE][PORTS]")   ;
+                                      Serial.println(F("[CAN_MSG8_BIT_8_A]==[request_confirm_Exp_state]->[UPDATE][PORTS]"))   ;
                                       #endif      
                                        Slave_Ports_Status_add_port(
                                                                        Slave_Ports_Status_A ,
@@ -134,7 +134,7 @@ void CAN_READ(
                                    */
                                    
                                     #if not defined(DISABLE_ANY_PRINT)
-                                      Serial.println("[CAN_MSG8_BIT_8_A]==[request_set_new_Exp_state]->[SET][PORTS]")   ;
+                                      Serial.println(F("[CAN_MSG8_BIT_8_A]==[request_set_new_Exp_state]->[SET][PORTS]"))   ;
                                       #endif      
                                        TASK_PORT_ASSOC_T TASK_PORT_ASSOC_A={
                                          CAN_MSG8_BIT_3_A,
@@ -146,16 +146,16 @@ void CAN_READ(
                                          CAN_MSG8_BIT_5_A , CAN_MSG8_BIT_7_A);
                                 } else {
                                  #if not defined(DISABLE_ANY_PRINT)
-                                    Serial.println("81[CAN][RECV][UNKNOWN][CAN_MSG8_BIT_8_A][")   ;
+                                    Serial.println(F("81[CAN][RECV][UNKNOWN][CAN_MSG8_BIT_8_A]["))   ;
                                     Serial.print(CAN_MSG8_BIT_8_A, HEX) ;
-                                    Serial.print("] ");
+                                    Serial.print(F("] "));
                                     #endif   
                                 }
                       } else { //if(CAN_MSG8_BIT_2_A == _CAN_REMOTE_ID ) {
                                 #if not defined(DISABLE_ANY_PRINT)
-                                    Serial.println("81[CAN][RECV][ERROR][_CAN_REMOTE_ID<>CAN_MSG8_BIT_2_A][")   ;
-                                    Serial.print(CAN_MSG8_BIT_2_A, HEX) ; Serial.print("]["); Serial.print(_CAN_REMOTE_ID, HEX) ;
-                                    Serial.print("] ");
+                                    Serial.println(F("81[CAN][RECV][ERROR][_CAN_REMOTE_ID<>CAN_MSG8_BIT_2_A]["))   ;
+                                    Serial.print(CAN_MSG8_BIT_2_A, HEX) ; Serial.print(F("][")); Serial.print(_CAN_REMOTE_ID, HEX) ;
+                                    Serial.print(F("] "));
                                 #endif
                       }      
                 
@@ -166,11 +166,11 @@ void CAN_READ(
                          {
                            if(CANrxBuf[i] < 0x10)                // If data byte is less than 0x10, add a leading zero
                            {
-                             Serial.print("0");
+                             Serial.print(F("0"));
                       
                            }
                            Serial.print(CANrxBuf[i], HEX);
-                           Serial.print(" ");
+                           Serial.print(F(" "));
                        
                             
                          }

+ 31 - 31
SE/stuff/P5_Automation_can-dev-res-working-1930/_CAN/_Slave_Ports_Protocol_CAN_struct.h

@@ -142,15 +142,15 @@ byte CAN_broadcast_to_data(_Slave_Ports_Protocol_CAN_broadcast_T
             CAN_MSG8_BIT_8_T CAN_MSG8_BIT_8_A = _Slave_Ports_Protocol_CAN_broadcast_A._CAN_8;
             
          #if not defined(DISABLE_ANY_PRINT)
-                Serial.print("#80 CAN_broadcast_to_data   [  ");
-                   Serial.print(" "); Serial.print("1["); Serial.print(_Slave_Ports_Protocol_CAN_broadcast_A._CAN_REMOTE_ID); Serial.print(".");   Serial.print(CAN_MSG8_BIT_1_A);  Serial.print("] ");
-                   Serial.print(" "); Serial.print("2["); Serial.print(_Slave_Ports_Protocol_CAN_broadcast_A._CAN_SENDER_ID); Serial.print(".");   Serial.print(CAN_MSG8_BIT_2_A);  Serial.print("] ");
-                   Serial.print(" "); Serial.print("3["); Serial.print(_Slave_Ports_Protocol_CAN_broadcast_A.Port_ID); Serial.print("]  ");
-                   Serial.print(" "); Serial.print("4["); Serial.print(_Slave_Ports_Protocol_CAN_broadcast_A.PortTypes); Serial.print("]  ");
-                   Serial.print(" "); Serial.print("5["); Serial.print(_Slave_Ports_Protocol_CAN_broadcast_A.Exp_state); Serial.print("]  ");
-                   Serial.print(" "); Serial.print("6["); Serial.print(_Slave_Ports_Protocol_CAN_broadcast_A.Exp_state_ttl); Serial.print("]  ");
-                   Serial.print(" "); Serial.print("7["); Serial.print(_Slave_Ports_Protocol_CAN_broadcast_A.Broadcast_state); Serial.print("]  ");
-                   Serial.print(" "); Serial.print("8["); Serial.print(_Slave_Ports_Protocol_CAN_broadcast_A._CAN_8); Serial.print("]  "); 
+                Serial.print(F("#80 CAN_broadcast_to_data   [  "));
+                   Serial.print(F(" ")); Serial.print(F("1[")); Serial.print(_Slave_Ports_Protocol_CAN_broadcast_A._CAN_REMOTE_ID); Serial.print(F("."));   Serial.print(CAN_MSG8_BIT_1_A);  Serial.print(F("] "));
+                   Serial.print(F(" ")); Serial.print(F("2[")); Serial.print(_Slave_Ports_Protocol_CAN_broadcast_A._CAN_SENDER_ID); Serial.print(F("."));   Serial.print(CAN_MSG8_BIT_2_A);  Serial.print(F("] "));
+                   Serial.print(F(" ")); Serial.print(F("3[")); Serial.print(_Slave_Ports_Protocol_CAN_broadcast_A.Port_ID); Serial.print(F("]  "));
+                   Serial.print(F(" ")); Serial.print(F("4[")); Serial.print(_Slave_Ports_Protocol_CAN_broadcast_A.PortTypes); Serial.print(F("]  "));
+                   Serial.print(F(" ")); Serial.print(F("5[")); Serial.print(_Slave_Ports_Protocol_CAN_broadcast_A.Exp_state); Serial.print(F("]  "));
+                   Serial.print(F(" ")); Serial.print(F("6[")); Serial.print(_Slave_Ports_Protocol_CAN_broadcast_A.Exp_state_ttl); Serial.print(F("]  "));
+                   Serial.print(F(" ")); Serial.print(F("7[")); Serial.print(_Slave_Ports_Protocol_CAN_broadcast_A.Broadcast_state); Serial.print(F("]  "));
+                   Serial.print(F(" ")); Serial.print(F("8[")); Serial.print(_Slave_Ports_Protocol_CAN_broadcast_A._CAN_8); Serial.print(F("]  ")); 
                 Serial.println("   "); 
           #endif
        byte  return_c[8] = {
@@ -184,16 +184,16 @@ void CAN_MSG8_A_ptr(_Slave_Ports_Protocol_CAN_broadcast_T
           
         //#ifdef DEBUG_CAN
          #if not defined(DISABLE_ANY_PRINT)
-                Serial.print("#155 CAN_broadcast_to_data_ptr   [  ");
-                   Serial.print(" "); Serial.print("1["); Serial.print(_Slave_Ports_Protocol_CAN_broadcast_A._CAN_REMOTE_ID); Serial.print("] ");
-                   Serial.print(" "); Serial.print("2["); Serial.print(_Slave_Ports_Protocol_CAN_broadcast_A._CAN_SENDER_ID); Serial.print("] ");
-                   Serial.print(" "); Serial.print("3["); Serial.print(_Slave_Ports_Protocol_CAN_broadcast_A.Port_ID); Serial.print("]  ");
-                   Serial.print(" "); Serial.print("4["); Serial.print(_Slave_Ports_Protocol_CAN_broadcast_A.PortTypes); Serial.print("]  ");
-                   Serial.print(" "); Serial.print("5["); Serial.print(_Slave_Ports_Protocol_CAN_broadcast_A.Exp_state); Serial.print("]  ");
-                   Serial.print(" "); Serial.print("6["); Serial.print(_Slave_Ports_Protocol_CAN_broadcast_A.Exp_state_ttl); Serial.print("]  ");
-                   Serial.print(" "); Serial.print("7["); Serial.print(_Slave_Ports_Protocol_CAN_broadcast_A.Broadcast_state); Serial.print("]  ");
-                   Serial.print(" "); Serial.print("8["); Serial.print(_Slave_Ports_Protocol_CAN_broadcast_A._CAN_8); Serial.print("]  "); 
-                Serial.println("   ");
+                Serial.print(F("#155 CAN_broadcast_to_data_ptr   [  "));
+                   Serial.print(F(" ")); Serial.print(F("1[")); Serial.print(_Slave_Ports_Protocol_CAN_broadcast_A._CAN_REMOTE_ID); Serial.print(F("] "));
+                   Serial.print(F(" ")); Serial.print(F("2[")); Serial.print(_Slave_Ports_Protocol_CAN_broadcast_A._CAN_SENDER_ID); Serial.print(F("] "));
+                   Serial.print(F(" ")); Serial.print(F("3[")); Serial.print(_Slave_Ports_Protocol_CAN_broadcast_A.Port_ID); Serial.print(F("]  "));
+                   Serial.print(F(" ")); Serial.print(F("4[")); Serial.print(_Slave_Ports_Protocol_CAN_broadcast_A.PortTypes); Serial.print(F("]  "));
+                   Serial.print(F(" ")); Serial.print(F("5[")); Serial.print(_Slave_Ports_Protocol_CAN_broadcast_A.Exp_state); Serial.print(F("]  "));
+                   Serial.print(F(" ")); Serial.print(F("6[")); Serial.print(_Slave_Ports_Protocol_CAN_broadcast_A.Exp_state_ttl); Serial.print(F("]  "));
+                   Serial.print(F(" ")); Serial.print(F("7[")); Serial.print(_Slave_Ports_Protocol_CAN_broadcast_A.Broadcast_state); Serial.print(F("]  "));
+                   Serial.print(F(" ")); Serial.print(F("8[")); Serial.print(_Slave_Ports_Protocol_CAN_broadcast_A._CAN_8); Serial.print(F("]  ")); 
+                Serial.println(F("   "));
             #endif 
         // #endif
          CAN_MSG8_A[0] = _Slave_Ports_Protocol_CAN_broadcast_A._CAN_REMOTE_ID; // 0xFF;
@@ -238,16 +238,16 @@ void CAN_MSG8_A_Slave_Ports_Protocol_CAN_request_set_new_Exp_state_T(_Slave_Port
             byte* CAN_MSG8_A
             ) {
          #if not defined(DISABLE_ANY_PRINT)
-                Serial.print("#155 CAN_broadcast_to_data_ptr   [  ");
-                   Serial.print(" "); Serial.print("1["); Serial.print(_Slave_Ports_Protocol_CAN_A._CAN_REMOTE_ID); Serial.print("] ");
-                   Serial.print(" "); Serial.print("2["); Serial.print(_Slave_Ports_Protocol_CAN_A._CAN_SENDER_ID); Serial.print("] ");
-                   Serial.print(" "); Serial.print("3["); Serial.print(_Slave_Ports_Protocol_CAN_A.Port_ID); Serial.print("]  ");
-                   Serial.print(" "); Serial.print("4["); Serial.print(_Slave_Ports_Protocol_CAN_A.PortTypes); Serial.print("]  ");
-                   Serial.print(" "); Serial.print("5["); Serial.print(_Slave_Ports_Protocol_CAN_A.Exp_state); Serial.print("]  ");
-                   Serial.print(" "); Serial.print("6["); Serial.print(_Slave_Ports_Protocol_CAN_A.Exp_state_ttl); Serial.print("]  ");
-                   Serial.print(" "); Serial.print("7["); Serial.print(_Slave_Ports_Protocol_CAN_A.Exp_state_level_A); Serial.print("]  ");
-                   Serial.print(" "); Serial.print("8["); Serial.print(_Slave_Ports_Protocol_CAN_A._CAN_8); Serial.print("]  "); 
-                Serial.println("   "); 
+                Serial.print(F("#155 CAN_broadcast_to_data_ptr   [  "));
+                   Serial.print(F(" ")); Serial.print(F("1[")); Serial.print(_Slave_Ports_Protocol_CAN_A._CAN_REMOTE_ID); Serial.print(F("] "));
+                   Serial.print(F(" ")); Serial.print(F("2[")); Serial.print(_Slave_Ports_Protocol_CAN_A._CAN_SENDER_ID); Serial.print(F("] "));
+                   Serial.print(F(" ")); Serial.print(F("3[")); Serial.print(_Slave_Ports_Protocol_CAN_A.Port_ID); Serial.print(F("]  "));
+                   Serial.print(F(" ")); Serial.print(F("4[")); Serial.print(_Slave_Ports_Protocol_CAN_A.PortTypes); Serial.print(F("]  "));
+                   Serial.print(F(" ")); Serial.print(F("5[")); Serial.print(_Slave_Ports_Protocol_CAN_A.Exp_state); Serial.print(F("]  "));
+                   Serial.print(F(" ")); Serial.print(F("6[")); Serial.print(_Slave_Ports_Protocol_CAN_A.Exp_state_ttl); Serial.print(F("]  "));
+                   Serial.print(F(" ")); Serial.print(F("7[")); Serial.print(_Slave_Ports_Protocol_CAN_A.Exp_state_level_A); Serial.print(F("]  "));
+                   Serial.print(F(" ")); Serial.print(F("8[")); Serial.print(_Slave_Ports_Protocol_CAN_A._CAN_8); Serial.print(F("]  ")); 
+                Serial.println(F("   ")); 
                 #endif
         // #endif
          CAN_MSG8_A[0] = _Slave_Ports_Protocol_CAN_A._CAN_REMOTE_ID; // 0xFF;
@@ -272,9 +272,9 @@ void CAN_data_debug(byte data[8]) {
     //Serial.print("#102 CAN_data_debug   [  ");
     SPFTFTFT(can,data,debug);
     for(i=0; i<8; i++) {
-        Serial.print(" "); Serial.print(i+1); Serial.print("["); Serial.print(data[i]); Serial.print("."); Serial.print(data[i], HEX); Serial.print("] "); 
+        Serial.print(F(" ")); Serial.print(i+1); Serial.print(F("[")); Serial.print(data[i]); Serial.print(F(".")); Serial.print(data[i], HEX); Serial.print(F("] ")); 
     }
-    Serial.println("   ");
+    Serial.println(F("   "));
     #endif 
 }
 

+ 17 - 17
SE/stuff/P5_Automation_can-dev-res-working-1930/_DISPLAY_add_record_func.h

@@ -22,18 +22,18 @@
                 ) {
                 
                              #if defined(DEBUG)
-                                                     Serial.print("#13444 DISPLAY__add_record[DEBUG] # BEFORE 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.print("] DISPLAY_array16_A["); Serial.print( DISPLAY_array16_A);
-                                                     Serial.println("]  ");
+                                                     Serial.print(F("#13444 DISPLAY__add_record[DEBUG] # BEFORE COUNT[")); Serial.print(Slave_Ports_Status_T_ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_COUNT_A);
+                                                      Serial.print(F("] INDEX_LAST[")); Serial.print( DISPLAY_T_ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_LAST_A);
+                                                      Serial.print(F("] INDEX_CURRENT[")); Serial.print( DISPLAY_T_ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_CURRENT_A);
+                                                      Serial.print(F("] NEXT_A[")); Serial.print( DISPLAY_T_ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_NEXT_A);
+                                                      Serial.print(F("] DISPLAY_array16_A[")); Serial.print( DISPLAY_array16_A);
+                                                     Serial.println(F("]  "));
                                       #endif   
                 
                  ARDUINO_ARRAY_INDEX_CURRENT_T i = DISPLAY_T_ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_CURRENT_A ;
                          if(i == ARDUINO_ARRAY_INDEX_CORRUPT) {
                             #if defined(DEBUG)
-                                Serial.print(" [#30 i == ARDUINO_ARRAY_INDEX_CORRUPT]  [");
+                                Serial.print(F(" [#30 i == ARDUINO_ARRAY_INDEX_CORRUPT]  ["));
                                 Serial.print(i);
                                 
                             #endif 
@@ -56,10 +56,10 @@
                                     ARDUINO_ATTR_ARRAY_S__commit_added_element(
                                          DISPLAY_T_ARDUINO_ATTR_ARRAY_A , i); 
                                          #if defined(DEBUG)
-                                              Serial.print(" [#43 ARDUINO_ATTR_ARRAY_S__commit_added_element]  ");
-                                               Serial.print("#47 ARDUINO_ARRAY_INDEX_CURRENT_A: [");
+                                              Serial.print(F(" [#43 ARDUINO_ATTR_ARRAY_S__commit_added_element]  "));
+                                               Serial.print(F("#47 ARDUINO_ARRAY_INDEX_CURRENT_A: ["));
                                              Serial.print(DISPLAY_T_ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_CURRENT_A);
-                                             Serial.print("] ");
+                                             Serial.print(F("] "));
                                           #endif
                                     
                         }
@@ -118,7 +118,7 @@
                 // DISPLAY_array16_A ;
                 DISPLAY_A[i].DISPLAY_TARGET_A  = DISPLAY_TARGET_A ; 
                 #if defined(DEBUG)
-                Serial.print("#66 ");
+                Serial.print(F("#66 "));
                 #endif
                     if(time_seq_id_A == 0 ) {
                         DISPLAY_A[i].time_seq_id_A = time_seq_id_A ;
@@ -127,7 +127,7 @@
                     }
                     
                 #if defined(DEBUG)
-                    Serial.print("#66 ");
+                    Serial.print(F("#66 "));
                 #endif
                 if(time_min_run_A == 0 and not(time_seq_id_A == 0)) {
                         DISPLAY_A[i].time_min_run_A = time_seq_id_A + ARDUINO_time_seq_id_A_INCREMENT;
@@ -139,11 +139,11 @@
                
                           #if defined(DEBUG)
                     // if(DEBUG > 6) {
-                                   Serial.print("#172 DISPLAY__add_record[DEBUG]  AFTER #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("]  ");
+                                   Serial.print(F("#172 DISPLAY__add_record[DEBUG]  AFTER #COUNT[")); Serial.print(Slave_Ports_Status_T_ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_COUNT_A);
+                                    Serial.print(F("] INDEX_LAST[")); Serial.print( DISPLAY_T_ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_LAST_A);
+                                    Serial.print(F("] INDEX_CURRENT[")); Serial.print( DISPLAY_T_ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_CURRENT_A);
+                                    Serial.print(F("] NEXT_A[")); Serial.print( DISPLAY_T_ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_NEXT_A);
+                                   Serial.println(F("]  "));
                              //      }
                     #endif    
                  

+ 51 - 59
SE/stuff/P5_Automation_can-dev-res-working-1930/_DISPLAY_func.h

@@ -25,17 +25,17 @@ void DISPLAY__print_ANY(DISPLAY_T_ARDUINO_ATTR_ARRAY_T &DISPLAY_T_ARDUINO_ATTR_A
               
                         #if defined(DEBUG)
                                 if(DEBUG > 6) {
-                                    Serial.print("#20 DsplY:[ "); Serial.print(DISPLAY_PHYSICAL_CHAR_A.DISPLAY_CURSOR_Y_CHARS_A); //[ARDUINO_ATTR_ARRAY_S_INDEX]
-                                    Serial.print("] # MaxY:["); Serial.print(DISPLAY_PHYSICAL_CHAR_A.DISPLAY_PHYSICAL_Y_CHARS_A); //[ARDUINO_ATTR_ARRAY_S_INDEX]
-                                     Serial.println("] ");
+                                    Serial.print(F("#20 DsplY:[ ")); Serial.print(DISPLAY_PHYSICAL_CHAR_A.DISPLAY_CURSOR_Y_CHARS_A); //[ARDUINO_ATTR_ARRAY_S_INDEX]
+                                    Serial.print(F("] # MaxY:[")); Serial.print(DISPLAY_PHYSICAL_CHAR_A.DISPLAY_PHYSICAL_Y_CHARS_A); //[ARDUINO_ATTR_ARRAY_S_INDEX]
+                                     Serial.println(F("] "));
                                    }
                                    
-                                     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("] ");
+                                     Serial.print(F("#26 Dspl ATTR CURRENT[ ")); Serial.print(DISPLAY_T_ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_CURRENT_A);
+                                     Serial.print(F("] LAST[")); Serial.print(DISPLAY_T_ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_LAST_A); 
+                                     Serial.print(F("] COUNT[")); Serial.print(DISPLAY_T_ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_COUNT_A); 
+                                     Serial.print(F("] LIMIT[")); Serial.print(DISPLAY_T_ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_LIMIT_A); 
+                                     Serial.print(F("]  NEXT:[")); Serial.print(DISPLAY_T_ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_NEXT_A); 
+                                     Serial.println(F("] "));
                             #endif 
                 
                  #if defined(HAS_TFT_ILI9163C)
@@ -43,8 +43,8 @@ void DISPLAY__print_ANY(DISPLAY_T_ARDUINO_ATTR_ARRAY_T &DISPLAY_T_ARDUINO_ATTR_A
                  #endif
                      #if defined(DEBUG)
                         if(DEBUG > 6) {
-                             Serial.print(" [HAS_TFT_ILI9163C] ");
-                               Serial.print(" 27[DEBUG] ");
+                             Serial.print(F(" [HAS_TFT_ILI9163C] "));
+                               Serial.print(F(" 27[DEBUG] "));
                            }
                     #endif 
                 Serial.println("] "); 
@@ -92,12 +92,12 @@ void DISPLAY__print_IMMEDIATE(
                                 #if defined(DEBUG)
                                             if(DEBUG > 6) {
                                                   //  String message(DISPLAY_array16_A);
-                                                   Serial.print("#69A DISPLAY__print_IMMEDIATE [DEBUG] to HAS_TFT_ILI9163C  Len["); //Serial.print( message.length());
-                                                     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("]  ");
+                                                   Serial.print(F("#69A DISPLAY__print_IMMEDIATE [DEBUG] to HAS_TFT_ILI9163C  Len[")); //Serial.print( message.length());
+                                                     Serial.print(F("] XM[")); Serial.print( DISPLAY_PHYSICAL_CHAR_A.DISPLAY_PHYSICAL_X_CHARS_A);
+                                                     Serial.print(F("] YM[")); Serial.print( DISPLAY_PHYSICAL_CHAR_A.DISPLAY_PHYSICAL_Y_CHARS_A);
+                                                     Serial.print(F("] YC[")); Serial.print( DISPLAY_PHYSICAL_CHAR_A.DISPLAY_CURSOR_Y_CHARS_A);
+                                                    Serial.print(F("] YF[")); Serial.print( DISPLAY_PHYSICAL_CHAR_A.DISPLAY_textsize_y_A);
+                                                   Serial.println(F("]  "));
                                                 }
                                            #endif
                             DISPLAY_DEV_CTRL__println(DISPLAY_PHYSICAL_CHAR_A, 
@@ -117,9 +117,9 @@ void DISPLAY__print_IMMEDIATE(
           } else if(DISPLAY_TARGET_A & DISPLAY_TARGET_ANY){ //BIN TEST
                                         #if defined(DEBUG)
                                                 if(DEBUG > 6) {
-                                                   Serial.print("#69B DISPLAY__print_IMMEDIATE [DEBUG] to DISPLAY__print_ANY  Seq["); Serial.print(DISPLAY_pos_seq_A , BIN);
-                                                    Serial.print("] Target["); Serial.print(DISPLAY_TARGET_A , BIN);
-                                                   Serial.println("]  ");
+                                                   Serial.print(F("#69B DISPLAY__print_IMMEDIATE [DEBUG] to DISPLAY__print_ANY  Seq[")); Serial.print(DISPLAY_pos_seq_A , BIN);
+                                                    Serial.print(F("] Target[")); Serial.print(DISPLAY_TARGET_A , BIN);
+                                                   Serial.println(F("]  "));
                                                   }
                                            #endif
                                 DISPLAY__print_ANY(DISPLAY_T_ARDUINO_ATTR_ARRAY_A, DISPLAY_PHYSICAL_CHAR_A, DISPLAY_pos_seq_A,
@@ -132,9 +132,9 @@ void DISPLAY__print_IMMEDIATE(
           } else {
                               #if defined(DEBUG)
                                     if(DEBUG > 6) {
-                                        Serial.print("#68 DISPLAY__print_IMMEDIATE [DEBUG]  else  Seq["); Serial.print(DISPLAY_pos_seq_A , BIN);
-                                         Serial.print("] Target["); Serial.print(DISPLAY_TARGET_A , BIN);
-                                        Serial.println("]  ");
+                                        Serial.print(F("#68 DISPLAY__print_IMMEDIATE [DEBUG]  else  Seq[")); Serial.print(DISPLAY_pos_seq_A , BIN);
+                                         Serial.print(F("] Target[")); Serial.print(DISPLAY_TARGET_A , BIN);
+                                        Serial.println(F("]  "));
                                     }
                                 #endif  
           }
@@ -169,23 +169,23 @@ void DISPLAY__print_IMMEDIATE(
                 //strcpy(DISPLAY__print_loop_A[DISPLAY__print_loop_INDEX_CURRENT_A].message, message );
                 DISPLAY__print_loop_A[DISPLAY__print_loop_INDEX_CURRENT_A].message = message ;
             }
-              Serial.print("#137[DISPLAY__print_loop][ADD] [i][");Serial.print(DISPLAY__print_loop_INDEX_CURRENT_A); Serial.println("] ");
+              Serial.print(F("#137[DISPLAY__print_loop][ADD] [i]["));Serial.print(DISPLAY__print_loop_INDEX_CURRENT_A); Serial.println("] ");
         } else if(DISPLAY__print_loop_ACTION_A == DISPLAY__print_loop_ACTION_POP)  {
-            Serial.print("#137[DISPLAY__print_loop][POP] [i][");Serial.print(DISPLAY__print_loop_INDEX_CURRENT_A); Serial.print("] p[");Serial.print(DISPLAY__print_loop_QUEUE_PEEK_A); Serial.print("] ");
+            Serial.print(F("#137[DISPLAY__print_loop][POP] [i]["));Serial.print(DISPLAY__print_loop_INDEX_CURRENT_A); Serial.print(F("] p["));Serial.print(DISPLAY__print_loop_QUEUE_PEEK_A); Serial.print(F("] "));
               if(DISPLAY__print_loop_QUEUE_PEEK_A > 0 ) {
                 DISPLAY_DEV.setCursor(DISPLAY__print_loop_A[DISPLAY__print_loop_QUEUE_PEEK_A].DISPLAY_CURSOR_X_CHARS_A * DISPLAY_textsize_x_A,
                    DISPLAY__print_loop_A[DISPLAY__print_loop_QUEUE_PEEK_A].DISPLAY_CURSOR_Y_CHARS_A * DISPLAY_textsize_y_A);
                  #if defined(ENABLE_DISPLAY_MENU)
                  #else
                    DISPLAY_DEV.print(DISPLAY__print_loop_A[DISPLAY__print_loop_QUEUE_PEEK_A].message);
-                   Serial.print(" msg["); Serial.print(DISPLAY__print_loop_A[DISPLAY__print_loop_QUEUE_PEEK_A].message); Serial.print("] ");
+                   Serial.print(F(" msg[")); Serial.print(DISPLAY__print_loop_A[DISPLAY__print_loop_QUEUE_PEEK_A].message); Serial.print(F("] "));
                  #endif
                    
                    
                } else {
-                Serial.print(" [PEEK][EMPTY] ");
+                Serial.print(F(" [PEEK][EMPTY] "));
                }
-               Serial.println("] ");
+               Serial.println(F("] "));
         }
       
     }
@@ -214,23 +214,23 @@ void DISPLAY__print_IMMEDIATE(
                 {
                 
                     #ifdef DEBUG_DISPLAY
-                    Serial.print("127 DISPLAY__print DISPLAY_pos_seq_A["); Serial.print(BIN8_to_STRING(DISPLAY_pos_seq_A ));
-                        Serial.print("]  DISPLAY_TARGET_A["); Serial.print(BIN8_to_STRING(DISPLAY_TARGET_A )); Serial.print("]      [");
-                            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("] ");
+                    Serial.print(F("127 DISPLAY__print DISPLAY_pos_seq_A[")); Serial.print(BIN8_to_STRING(DISPLAY_pos_seq_A ));
+                        Serial.print(F("]  DISPLAY_TARGET_A[")); Serial.print(BIN8_to_STRING(DISPLAY_TARGET_A )); Serial.print(F("]      ["));
+                            Serial.print(F("#26 Dspl ATTR CURRENT[ ")); Serial.print(DISPLAY_T_ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_CURRENT_A);
+                                     Serial.print(F("] LAST[")); Serial.print(DISPLAY_T_ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_LAST_A); 
+                                     Serial.print(F("] COUNT[")); Serial.print(DISPLAY_T_ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_COUNT_A); 
+                                     Serial.print(F("] LIMIT[")); Serial.print(DISPLAY_T_ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_LIMIT_A); 
+                                     Serial.print(F("]  NEXT:[")); Serial.print(DISPLAY_T_ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_NEXT_A); 
+                                     Serial.println(F("] "));
                     #endif
                     
                     if(DISPLAY_pos_seq_A & DISPLAY_pos_seq_A_IMMEDIATE){ ////BIN TEST
                             #if defined(DEBUG_DISPLAY)
                                     //if(DEBUG > 6) {
-                                        Serial.print("#84 DISPLAY__print to DISPLAY__print_IMMEDIATE [DEBUG]  else  Seq["); Serial.print(DISPLAY_pos_seq_A , BIN);
-                                        Serial.print("] Target["); Serial.print(DISPLAY_TARGET_A , BIN); 
+                                        Serial.print(F("#84 DISPLAY__print to DISPLAY__print_IMMEDIATE [DEBUG]  else  Seq[")); Serial.print(DISPLAY_pos_seq_A , BIN);
+                                        Serial.print(F("] Target[")); Serial.print(DISPLAY_TARGET_A , BIN); 
                                         
-                                        Serial.println("]  ");
+                                        Serial.println(F("]  "));
                                     // }
                                 #endif  
                            DISPLAY__print_IMMEDIATE(DISPLAY_T_ARDUINO_ATTR_ARRAY_A, DISPLAY_PHYSICAL_CHAR_A, DISPLAY_pos_seq_A,  
@@ -244,17 +244,17 @@ void DISPLAY__print_IMMEDIATE(
                 
                     } else {
                           #if defined(DEBUG)
-                                 Serial.print("#88 DISPLAY__print [DEBUG]  else  "); Serial.print(DISPLAY_pos_seq_A , BIN);
-                                 Serial.println("]  ");
+                                 Serial.print(F("#88 DISPLAY__print [DEBUG]  else  ")); Serial.print(DISPLAY_pos_seq_A , BIN);
+                                 Serial.println(F("]  "));
                          #endif    
                          
                     #if defined(DISABLE_TASK_TYPE_T_DISPLAY_queue_pop________)
-                     Serial.print("#167 DISABLE_TASK_TYPE_T_DISPLAY_queue_pop________");
+                     Serial.print(F("#167 DISABLE_TASK_TYPE_T_DISPLAY_queue_pop________"));
                     #else     
                       
-                       Serial.print("#253 TODO WHY ? BIN DISPLAY_pos_seq_A["); Serial.print(DISPLAY_pos_seq_A, BIN);
-                             Serial.print("]& IMM ["); Serial.print(DISPLAY_pos_seq_A_IMMEDIATE, BIN); Serial.print("] res[") ; Serial.print((DISPLAY_pos_seq_A & DISPLAY_pos_seq_A_IMMEDIATE) , BIN ) ;
-                              Serial.print(" ] String [") ; Serial.print(DISPLAY_string_A); Serial.print("] "); 
+                       Serial.print(F("#253 TODO WHY ? BIN DISPLAY_pos_seq_A[")); Serial.print(DISPLAY_pos_seq_A, BIN);
+                             Serial.print(F("]& IMM [")); Serial.print(DISPLAY_pos_seq_A_IMMEDIATE, BIN); Serial.print(F("] res[")) ; Serial.print((DISPLAY_pos_seq_A & DISPLAY_pos_seq_A_IMMEDIATE) , BIN ) ;
+                              Serial.print(F(" ] String [")) ; Serial.print(DISPLAY_string_A); Serial.print(F("] ")); 
                     /*  DISPLAY__add_record(  DISPLAY_A ,
                              DISPLAY_T_ARDUINO_ATTR_ARRAY_A , 
                              DISPLAY_PHYSICAL_CHAR_A, 
@@ -307,7 +307,7 @@ DISPLAY_LATENCY_PASS__POP(
                  static time_min_run_T last_time_min_run_A = time_min_run_A;
                  
         if(time_seq_id_A <= 1 or time_min_run_A <= 1) {
-            Serial.print("[DISPLAY_LATENCY_PASS__POP][ERR]["); Serial.print(time_seq_id_A);Serial.print("]["); Serial.print(time_min_run_A); Serial.print("]");
+            Serial.print(F("[DISPLAY_LATENCY_PASS__POP][ERR][")); Serial.print(time_seq_id_A);Serial.print(F("][")); Serial.print(time_min_run_A); Serial.print(F("]"));
             delay(2000);
         }         
                  if(time_seq_id_A >= last_time_min_run_A) {
@@ -329,7 +329,7 @@ DISPLAY_DEBUG_LATENCY_PASS__POP(
                  static time_min_run_T last_time_min_run_A = time_min_run_A;
                  
         if(time_seq_id_A <= 1 or time_min_run_A <= 1) {
-            Serial.print("[DISPLAY_LATENCY_PASS__POP][ERR]["); Serial.print(time_seq_id_A);Serial.print("]["); Serial.print(time_min_run_A); Serial.print("]");
+            Serial.print(F("[DISPLAY_LATENCY_PASS__POP][ERR][")); Serial.print(time_seq_id_A);Serial.print(F("][")); Serial.print(time_min_run_A); Serial.print(F("]"));
             delay(2000);
         }
                  if(time_seq_id_A >= last_time_min_run_A) {
@@ -881,7 +881,7 @@ void DISPLAY_MENU_SELECTOR(DISPLAY_T* DISPLAY_A ,
                              */       
                              } //if(DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_A[DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_INDEX_A].DISPLAY_MENU_ITEM_A[DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_ITEM_INDEX_A].Exp_state_level_A > 0) {
                 } else if(DISPLAY_MENU_SELECTOR_oldEncPos_A < DISPLAY_MENU_SELECTOR_encoderPos_A) {
-                            TASK_PORT_ASSOC_SMOOTH_A.Exp_state_level_NEW_DELTA_A = 1;
+                            TASK_PORT_ASSOC_SMOOTH_A.Exp_state_level_NEW_DELTA_A = 2;
                              if(DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_A[DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_INDEX_A].DISPLAY_MENU_ITEM_A[DISPLAY_PHYSICAL_CHAR_A.DISPLAY_MENU_SELECTOR_A[1].DISPLAY_MENU_ITEM_INDEX_A].Exp_state_level_A < 254) {
                                         
                                     SPL();SPFTFT2(millis,debug,748); PROGMEM_CONSOLE_WRITE_CHAR("#748",TASK_TYPE_T_Set_Port_Smooth_forward__);
@@ -900,9 +900,6 @@ void DISPLAY_MENU_SELECTOR(DISPLAY_T* DISPLAY_A ,
                                              encoderPos_t2 = millis() + 250 ;
                                              _Slave_Ports_queue__add(  Slave_Ports_Status_QUEUE_A, Slave_Ports_Status_QUEUE_T_ARDUINO_ATTR_ARRAY_A ,  TASK_TYPE_T_Set_Port_Smooth_forward__ ,TASK_PORT_ASSOC_SMOOTH_A ,millis(), millis() + 50, ARDUINO_ARRAY_INDEX_NOT_SET) ;
                                              _Slave_Ports_queue__add(  Slave_Ports_Status_QUEUE_A, Slave_Ports_Status_QUEUE_T_ARDUINO_ATTR_ARRAY_A ,  TASK_TYPE_T_Set_Port_Smooth_forward__ ,TASK_PORT_ASSOC_SMOOTH_A ,millis(), millis() + 100, ARDUINO_ARRAY_INDEX_NOT_SET) ;
-                                             _Slave_Ports_queue__add(  Slave_Ports_Status_QUEUE_A, Slave_Ports_Status_QUEUE_T_ARDUINO_ATTR_ARRAY_A ,  TASK_TYPE_T_Set_Port_Smooth_forward__ ,TASK_PORT_ASSOC_SMOOTH_A ,millis(), millis() + 150, ARDUINO_ARRAY_INDEX_NOT_SET) ;
-                                             _Slave_Ports_queue__add(  Slave_Ports_Status_QUEUE_A, Slave_Ports_Status_QUEUE_T_ARDUINO_ATTR_ARRAY_A ,  TASK_TYPE_T_Set_Port_Smooth_forward__ ,TASK_PORT_ASSOC_SMOOTH_A ,millis(), millis() + 200, ARDUINO_ARRAY_INDEX_NOT_SET) ;
-                                             _Slave_Ports_queue__add(  Slave_Ports_Status_QUEUE_A, Slave_Ports_Status_QUEUE_T_ARDUINO_ATTR_ARRAY_A ,  TASK_TYPE_T_Set_Port_Smooth_forward__ ,TASK_PORT_ASSOC_SMOOTH_A ,millis(), millis() + 250, ARDUINO_ARRAY_INDEX_NOT_SET) ;
 
                                         } else if(encoderPos_t2 < millis()  ) {
                                          SPL();
@@ -911,16 +908,11 @@ void DISPLAY_MENU_SELECTOR(DISPLAY_T* DISPLAY_A ,
                                              encoderPos_t1 = millis() + 500 ;
                                              encoderPos_t2 = millis() + 250 ;
                                                                                     
+                                              _Slave_Ports_queue__add(  Slave_Ports_Status_QUEUE_A, Slave_Ports_Status_QUEUE_T_ARDUINO_ATTR_ARRAY_A , TASK_TYPE_T_Set_Port_Smooth_forward__ ,TASK_PORT_ASSOC_SMOOTH_A ,millis(), millis() + 25, ARDUINO_ARRAY_INDEX_NOT_SET) ;
                                              _Slave_Ports_queue__add(  Slave_Ports_Status_QUEUE_A, Slave_Ports_Status_QUEUE_T_ARDUINO_ATTR_ARRAY_A , TASK_TYPE_T_Set_Port_Smooth_forward__ ,TASK_PORT_ASSOC_SMOOTH_A ,millis(), millis() + 50, ARDUINO_ARRAY_INDEX_NOT_SET) ;
+                                             _Slave_Ports_queue__add(  Slave_Ports_Status_QUEUE_A, Slave_Ports_Status_QUEUE_T_ARDUINO_ATTR_ARRAY_A , TASK_TYPE_T_Set_Port_Smooth_forward__ ,TASK_PORT_ASSOC_SMOOTH_A ,millis(), millis() + 75, ARDUINO_ARRAY_INDEX_NOT_SET) ;
                                              _Slave_Ports_queue__add(  Slave_Ports_Status_QUEUE_A, Slave_Ports_Status_QUEUE_T_ARDUINO_ATTR_ARRAY_A , TASK_TYPE_T_Set_Port_Smooth_forward__ ,TASK_PORT_ASSOC_SMOOTH_A ,millis(), millis() + 100, ARDUINO_ARRAY_INDEX_NOT_SET) ;
-                                             _Slave_Ports_queue__add(  Slave_Ports_Status_QUEUE_A, Slave_Ports_Status_QUEUE_T_ARDUINO_ATTR_ARRAY_A , TASK_TYPE_T_Set_Port_Smooth_forward__ ,TASK_PORT_ASSOC_SMOOTH_A ,millis(), millis() + 150, ARDUINO_ARRAY_INDEX_NOT_SET) ;
-                                             _Slave_Ports_queue__add(  Slave_Ports_Status_QUEUE_A, Slave_Ports_Status_QUEUE_T_ARDUINO_ATTR_ARRAY_A , TASK_TYPE_T_Set_Port_Smooth_forward__ ,TASK_PORT_ASSOC_SMOOTH_A ,millis(), millis() + 200, ARDUINO_ARRAY_INDEX_NOT_SET) ;
-                                             _Slave_Ports_queue__add(  Slave_Ports_Status_QUEUE_A, Slave_Ports_Status_QUEUE_T_ARDUINO_ATTR_ARRAY_A , TASK_TYPE_T_Set_Port_Smooth_forward__ ,TASK_PORT_ASSOC_SMOOTH_A ,millis(), millis() + 250, ARDUINO_ARRAY_INDEX_NOT_SET) ;
-                                             _Slave_Ports_queue__add(  Slave_Ports_Status_QUEUE_A, Slave_Ports_Status_QUEUE_T_ARDUINO_ATTR_ARRAY_A , TASK_TYPE_T_Set_Port_Smooth_forward__ ,TASK_PORT_ASSOC_SMOOTH_A ,millis(), millis() + 300, ARDUINO_ARRAY_INDEX_NOT_SET) ;
-                                             _Slave_Ports_queue__add(  Slave_Ports_Status_QUEUE_A, Slave_Ports_Status_QUEUE_T_ARDUINO_ATTR_ARRAY_A , TASK_TYPE_T_Set_Port_Smooth_forward__ ,TASK_PORT_ASSOC_SMOOTH_A ,millis(), millis() + 350, ARDUINO_ARRAY_INDEX_NOT_SET) ;
-                                             _Slave_Ports_queue__add(  Slave_Ports_Status_QUEUE_A, Slave_Ports_Status_QUEUE_T_ARDUINO_ATTR_ARRAY_A , TASK_TYPE_T_Set_Port_Smooth_forward__ ,TASK_PORT_ASSOC_SMOOTH_A ,millis(), millis() + 400, ARDUINO_ARRAY_INDEX_NOT_SET) ;
-                                             _Slave_Ports_queue__add(  Slave_Ports_Status_QUEUE_A, Slave_Ports_Status_QUEUE_T_ARDUINO_ATTR_ARRAY_A , TASK_TYPE_T_Set_Port_Smooth_forward__ ,TASK_PORT_ASSOC_SMOOTH_A ,millis(), millis() + 450, ARDUINO_ARRAY_INDEX_NOT_SET) ;
-                                             _Slave_Ports_queue__add(  Slave_Ports_Status_QUEUE_A, Slave_Ports_Status_QUEUE_T_ARDUINO_ATTR_ARRAY_A , TASK_TYPE_T_Set_Port_Smooth_forward__ ,TASK_PORT_ASSOC_SMOOTH_A ,millis(), millis() + 500, ARDUINO_ARRAY_INDEX_NOT_SET) ;
+                                             _Slave_Ports_queue__add(  Slave_Ports_Status_QUEUE_A, Slave_Ports_Status_QUEUE_T_ARDUINO_ATTR_ARRAY_A , TASK_TYPE_T_Set_Port_Smooth_forward__ ,TASK_PORT_ASSOC_SMOOTH_A ,millis(), millis() + 125, ARDUINO_ARRAY_INDEX_NOT_SET) ;
 
                                         } else  { 
                                           SPFT2(overload,0); SP(encoderPos_t - millis());

+ 73 - 73
SE/stuff/P5_Automation_can-dev-res-working-1930/_Slave_Ports_I2C_func.h

@@ -62,12 +62,12 @@ void TASK_TYPE_T_Set_Port_Smooth_forward() {
                         
                           ); 
           #if defined(DISABLE_LOOP) ||  defined(DEBUG) ||  defined(DEBUG_I2C) || defined(DEBUG_I2C_driver_Adafruit_PWMServoDriver)
-               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);
+               Serial.print(F("#200 Slave_Ports_I2C_POP  #COUNT_A["));   Serial.print(Slave_Ports_Status_T_ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_COUNT_A);
+                Serial.print(F("] INDEX_LAST["));                       Serial.print(Slave_Ports_Status_T_ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_LAST_A);
+                Serial.print(F("] INDEX_CURRENT["));                    Serial.print(Slave_Ports_Status_T_ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_CURRENT_A);
+                Serial.print(F("] INDEX_NEXT["));                       Serial.print(Slave_Ports_Status_T_ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_NEXT_A);
+                Serial.print(F("] time_min_run_MIN["));                 Serial.print(Slave_Ports_Status_T_ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_time_min_run_MIN_A);
+                Serial.print(F("] INDEX_time_min_run_MIN["));           Serial.print(Slave_Ports_Status_T_ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_time_min_run_MIN_A);
           #endif      
           
              //    if(Slave_Ports_Status_QUEUE_A[_Slave_Ports_queue_pop].TASK_PORT_ASSOC_A[1].Port_ID > 0 ) {
@@ -91,7 +91,7 @@ void TASK_TYPE_T_Set_Port_Smooth_forward() {
     
     for(i=i_first;i <= i_max ;i++) {
      #if defined(DEBUG) || defined(DEBUG_I2C_driver_Adafruit_PWMServoDriver)
-                Serial.print("#69PWC [i[");    Serial.print(i);    Serial.print("] I2CP[");   Serial.print(Slave_Ports_Status_A[i].I2C_port);   Serial.print("]TTL[");  Serial.print(Slave_Ports_Status_A[i].Exp_state_ttl);  Serial.println("] ");                 
+                Serial.print(F("#69PWC [i["));    Serial.print(i);    Serial.print(F("] I2CP["));   Serial.print(Slave_Ports_Status_A[i].I2C_port);   Serial.print(F("]TTL["));  Serial.print(Slave_Ports_Status_A[i].Exp_state_ttl);  Serial.println(F("] "));                 
             #endif
             
             //TASK_TYPE_T_Set_Ports_Status_LIMITS_A__ASSERT 
@@ -101,14 +101,14 @@ void TASK_TYPE_T_Set_Port_Smooth_forward() {
       if(Slave_Ports_Status_A[i].PortTypes & PortTypes_I2C) { //{2 BIN TEST
             if(Slave_Ports_Status_A[i].Exp_state_ttl > Exp_state_ttl_FRESH ) {
                     #if defined(DEBUG) || defined(DEBUG_I2C_driver_Adafruit_PWMServoDriver)
-                        Serial.print("#71PWC[");  Serial.print(Slave_Ports_Status_A[i].I2C_port);   Serial.print("]TTL--[");  Serial.print(Slave_Ports_Status_A[i].Exp_state_ttl);
+                        Serial.print(F("#71PWC["));  Serial.print(Slave_Ports_Status_A[i].I2C_port);   Serial.print(F("]TTL--["));  Serial.print(Slave_Ports_Status_A[i].Exp_state_ttl);
                     #endif
             Slave_Ports_Status_A[i].Exp_state_ttl = Slave_Ports_Status_A[i].Exp_state_ttl - 10; //todo  (TASK_TYPE_T_Slave_Ports_set_I2C______time_min_run_MIN_A_INCREMENT_A / 1000 )
             } else if(1==1 ) { //{3//Slave_Ports_Status_A[i].Exp_state_ttl <= Exp_state_ttl_FRESH
              #if defined(DEBUG) || defined(DEBUG_I2C_driver_Adafruit_PWMServoDriver)
                 //if(DEBUG > 4) { //{4
-               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(" #[");  Serial.print(i);   Serial.println("]  "); 
+               Serial.print(F("#311 ttl min i2c for: I2C_port["));  Serial.print(Slave_Ports_Status_A[i].I2C_port);   Serial.print(F("] ttl["));  Serial.print(Slave_Ports_Status_A[i].Exp_state_ttl);
+                 Serial.print(F(" Port_ID["));  Serial.print(Slave_Ports_Status_A[i].Port_ID);   Serial.println(F("]  "));   Serial.print(F(" #["));  Serial.print(i);   Serial.println(F("]  ")); 
                  //} //{4
              #endif
                        if(Slave_Ports_Status_A[i].I2C_driver == I2C_driver_PCF8574) {
@@ -122,20 +122,20 @@ void TASK_TYPE_T_Set_Port_Smooth_forward() {
                                 if(ARDUINO_ARRAY_INDEX_DRIVER_STATUS_TO_ADD == Adafruit_PWMServoDriver__get_DRIVER_STATUS_T(
                                           Adafruit_PWMServoDriver_A, Adafruit_PWMServoDriver_ATTR_ARRAY_A, Slave_Ports_Status_A[i].Address)) {
                                          #if defined(DEBUG_I2C_driver_Adafruit_PWMServoDriver)
-                                           Serial.println("#80 I2C  [ARDUINO_ARRAY_INDEX_DRIVER_STATUS_TO_ADD]   "); 
+                                           Serial.println(F("#80 I2C  [ARDUINO_ARRAY_INDEX_DRIVER_STATUS_TO_ADD]   ")); 
                                            #endif
                                            ARDUINO_ARRAY_INDEX_DRIVER_STATUS_T Adafruit_PWMServoDriver__add_A = Adafruit_PWMServoDriver__add(Adafruit_PWMServoDriver_A,Adafruit_PWMServoDriver_ATTR_ARRAY_A,Slave_Ports_Status_A[i].Address,  ARDUINO_ARRAY_INDEX_DRIVER_STATUS_TO_SETVAL_A) ;
                                            
                                                  if(ARDUINO_ARRAY_INDEX_DRIVER_STATUS_TO_SETVAL_A == Adafruit_PWMServoDriver__add_A) {
                                                   #if defined(DEBUG_I2C_driver_Adafruit_PWMServoDriver)
-                                                          Serial.println("#83 I2C [ARDUINO_ARRAY_INDEX_DRIVER_STATUS_TO_SETVAL_A]   ");
+                                                          Serial.println(F("#83 I2C [ARDUINO_ARRAY_INDEX_DRIVER_STATUS_TO_SETVAL_A]   "));
                                                       #endif    
                                                      //   ARDUINO_ARRAY_PRIMARY_KET_T I2C_INDEX_DRIVER_A =   Adafruit_PWMServoDriver__get_PRIMARY_KET_T(Adafruit_PWMServoDriver_A,Adafruit_PWMServoDriver_ATTR_ARRAY_A,Slave_Ports_Status_A[i].Address);
                                                           
                                                           
                                                  } else {
                                                    #if defined(DEBUG_I2C_driver_Adafruit_PWMServoDriver)
-                                                       Serial.print("#83E I2C ADD   else ");  Serial.print(Adafruit_PWMServoDriver__add_A, BIN);  Serial.println(" ] ");
+                                                       Serial.print(F("#83E I2C ADD   else "));  Serial.print(Adafruit_PWMServoDriver__add_A, BIN);  Serial.println(F(" ] "));
                                                    #endif
                                                  }
                                            
@@ -157,33 +157,33 @@ void TASK_TYPE_T_Set_Port_Smooth_forward() {
                                     }
                                     */
                                     #if defined(DEBUG_I2C_driver_Adafruit_PWMServoDriver)
-                                    Serial.print("#112 I2C [ADD]    [OK[   #");  Serial.print(I2C_INDEX_DRIVER_A);  Serial.println(" ] ");
+                                    Serial.print(F("#112 I2C [ADD]    [OK[   #"));  Serial.print(I2C_INDEX_DRIVER_A);  Serial.println(" ] ");
                                     #endif
                                     
                                                   
                                      #if  defined(DEBUG) > 7  || defined(DEBUG_I2C_driver_Adafruit_PWMServoDriver)
-                                         Serial.print("#["); Serial.print(i);  Serial.print("] ");Serial.print("#154   before PWM   Exp_state_ttl[");
-                                        Serial.print(BIN8_to_STRING(Slave_Ports_Status_A[i].Exp_state_ttl)); Serial.print("]  PortTypes[");
-                                        Serial.print(BIN8_to_STRING(Slave_Ports_Status_A[i].PortTypes)); Serial.print("]  Broadcast_state[");
-                                        Serial.print(BIN8_to_STRING(Slave_Ports_Status_A[i].Exp_state)); Serial.print("]  Broadcast_state[");
-                                        Serial.print(BIN8_to_STRING(Slave_Ports_Status_A[i].Broadcast_state)); Serial.println("] ");
-                                         Serial.print("#121  Exp_state[  ");
-                                                    if(Slave_Ports_Status_A[i].Exp_state |  Exp_state_SET )   Serial.print(" [ | SET ] ");
-                                                    if(Slave_Ports_Status_A[i].Exp_state &  Exp_state_SET )   Serial.print(" [ & SET ] ");
-                                                    if(Slave_Ports_Status_A[i].Exp_state |  Exp_state_ERROR )   Serial.print(" [ | ERR ] ");
-                                                    if(Slave_Ports_Status_A[i].Exp_state &  Exp_state_ERROR )   Serial.print(" [ & ERR ] ");
-                                                        if(Slave_Ports_Status_A[i].Exp_state |  Exp_state_OFF )   Serial.print(" [ | OFF ] ");
-                                                        if(Slave_Ports_Status_A[i].Exp_state &  Exp_state_OFF )   Serial.print(" [ & OFF ] ");     
-                                                        if(Slave_Ports_Status_A[i].Exp_state ==  Exp_state_OFF )   Serial.print(" [ = OFF ] ");    
+                                         Serial.print(F("#[")); Serial.print(i);  Serial.print(F("] "));Serial.print(F("#154   before PWM   Exp_state_ttl["));
+                                        Serial.print(BIN8_to_STRING(Slave_Ports_Status_A[i].Exp_state_ttl)); Serial.print(F("]  PortTypes["));
+                                        Serial.print(BIN8_to_STRING(Slave_Ports_Status_A[i].PortTypes)); Serial.print(F("]  Broadcast_state["));
+                                        Serial.print(BIN8_to_STRING(Slave_Ports_Status_A[i].Exp_state)); Serial.print(F("]  Broadcast_state["));
+                                        Serial.print(BIN8_to_STRING(Slave_Ports_Status_A[i].Broadcast_state)); Serial.println(F("] "));
+                                         Serial.print(F("#121  Exp_state[  "));
+                                                    if(Slave_Ports_Status_A[i].Exp_state |  Exp_state_SET )   Serial.print(F(" [ | SET ] "));
+                                                    if(Slave_Ports_Status_A[i].Exp_state &  Exp_state_SET )   Serial.print(F(" [ & SET ] "));
+                                                    if(Slave_Ports_Status_A[i].Exp_state |  Exp_state_ERROR )   Serial.print(F(" [ | ERR ] "));
+                                                    if(Slave_Ports_Status_A[i].Exp_state &  Exp_state_ERROR )   Serial.print(F(" [ & ERR ] "));
+                                                        if(Slave_Ports_Status_A[i].Exp_state |  Exp_state_OFF )   Serial.print(F(" [ | OFF ] "));
+                                                        if(Slave_Ports_Status_A[i].Exp_state &  Exp_state_OFF )   Serial.print(F(" [ & OFF ] "));     
+                                                        if(Slave_Ports_Status_A[i].Exp_state ==  Exp_state_OFF )   Serial.print(F(" [ = OFF ] "));    
                                                         //if !( ( z & care_bits ) ^ match_bits )                                                 
-                                                        if (!( ( Slave_Ports_Status_A[i].Exp_state & Exp_state_SET ) ^ Exp_state_SET ))  Serial.print(" [ ^ SET ] ");
-                                                        if (!( ( Slave_Ports_Status_A[i].Exp_state & B00000000 ) ^ Exp_state_SET ))  Serial.print(" [ + SET ] ");
-                                                        if (!( ( Slave_Ports_Status_A[i].Exp_state & B11111111 ) ^ Exp_state_SET ))  Serial.print(" [ # SET ] ");
-                                                           if (!( ( Slave_Ports_Status_A[i].Exp_state & Exp_state_OFF ) ^ Exp_state_OFF ))  Serial.print(" [ ^ OFF ] ");
-                                                        if (!( ( Slave_Ports_Status_A[i].Exp_state & B00000000 ) ^ Exp_state_OFF ))  Serial.print(" [ + OFF ] ");
-                                                        if (!( ( Slave_Ports_Status_A[i].Exp_state & B11111111 ) ^ Exp_state_OFF ))  Serial.print(" [ # OFF ] ");
-                                                        if (!( ( Slave_Ports_Status_A[i].Exp_state & B11111110 ) ^ B00000001 ))  Serial.print(" [ < OFF ] ");
-                                                        if (!( ( Slave_Ports_Status_A[i].Exp_state & B00000001 ) ^ B11111110 ))  Serial.println(" [ > OFF ] ");
+                                                        if (!( ( Slave_Ports_Status_A[i].Exp_state & Exp_state_SET ) ^ Exp_state_SET ))  Serial.print(F(" [ ^ SET ] "));
+                                                        if (!( ( Slave_Ports_Status_A[i].Exp_state & B00000000 ) ^ Exp_state_SET ))  Serial.print(F(" [ + SET ] "));
+                                                        if (!( ( Slave_Ports_Status_A[i].Exp_state & B11111111 ) ^ Exp_state_SET ))  Serial.print(F(" [ # SET ] "));
+                                                           if (!( ( Slave_Ports_Status_A[i].Exp_state & Exp_state_OFF ) ^ Exp_state_OFF ))  Serial.print(F(" [ ^ OFF ] "));
+                                                        if (!( ( Slave_Ports_Status_A[i].Exp_state & B00000000 ) ^ Exp_state_OFF ))  Serial.print(F(" [ + OFF ] "));
+                                                        if (!( ( Slave_Ports_Status_A[i].Exp_state & B11111111 ) ^ Exp_state_OFF ))  Serial.print(F(" [ # OFF ] "));
+                                                        if (!( ( Slave_Ports_Status_A[i].Exp_state & B11111110 ) ^ B00000001 ))  Serial.print(F(" [ < OFF ] "));
+                                                        if (!( ( Slave_Ports_Status_A[i].Exp_state & B00000001 ) ^ B11111110 ))  Serial.println(F(" [ > OFF ] "));
                                       #endif          
                       
                              //   Slave_Ports_Status_A[i].Exp_state_ttl = Exp_state_ttl_IS_ACTIVE ;
@@ -197,7 +197,7 @@ void TASK_TYPE_T_Set_Port_Smooth_forward() {
                                                         #if defined(DEBUG_I2C_driver_Adafruit_PWMServoDriver)
                                                         Sprintln(F("[SERVO] [Exp_state_ON_USE_LEVEL]"));        
                                                         #endif
-                                                         Serial.print("[SERVO]->[PORT["); Serial.print(Slave_Ports_Status_A[i].LocalPort); Serial.println("]  ");
+                                                         Serial.print(F("[SERVO]->[PORT[")); Serial.print(Slave_Ports_Status_A[i].LocalPort); Serial.println(F("]  "));
                                                         Adafruit_PWMServoDriver_A[I2C_INDEX_DRIVER_A].Adafruit_PWMServoDriver_V.setPWM(Slave_Ports_Status_A[i].LocalPort, 0, map(Slave_Ports_Status_A[i].Exp_state_level_A , 0, 180, SERVOMIN, SERVOMAX));
                                                         Slave_Ports_Status_A[i].Exp_state = Slave_Ports_Status_A[i].Exp_state | Exp_state_SET; //TODO BITTEST
                                                         Slave_Ports_Status_A[i].Exp_state = ~ Exp_state_SET_REQ_SEND; //TODO BITTEST
@@ -206,7 +206,7 @@ void TASK_TYPE_T_Set_Port_Smooth_forward() {
                                                 } else if(Slave_Ports_Status_A[i].Exp_state & Exp_state_ON) {
                                                          Adafruit_PWMServoDriver_A[I2C_INDEX_DRIVER_A].Adafruit_PWMServoDriver_V.setPWM(Slave_Ports_Status_A[i].LocalPort, 0, map(90, 0, 180, SERVOMIN, SERVOMAX));
                                                          #if defined(DEBUG_I2C_driver_Adafruit_PWMServoDriver)
-                                                          Serial.print("#149 I2C_driver PortTypes_SERVO->ON Exp_state [SET]"); Serial.print(Slave_Ports_Status_A[i].Exp_state); Serial.print("]   after   [");
+                                                          Serial.print(F("#149 I2C_driver PortTypes_SERVO->ON Exp_state [SET]")); Serial.print(Slave_Ports_Status_A[i].Exp_state); Serial.print(F("]   after   ["));
                                                          #endif
                                                          Slave_Ports_Status_A[i].Exp_state = Slave_Ports_Status_A[i].Exp_state | Exp_state_SET; //TODO TEST
                                                             Serial.print(BIN8_to_STRING(Slave_Ports_Status_A[i].Exp_state)); Serial.println("]  ");
@@ -214,22 +214,22 @@ void TASK_TYPE_T_Set_Port_Smooth_forward() {
                                                 } else if(Slave_Ports_Status_A[i].Exp_state & Exp_state_OFF)  {
                                                          Adafruit_PWMServoDriver_A[I2C_INDEX_DRIVER_A].Adafruit_PWMServoDriver_V.setPWM(Slave_Ports_Status_A[i].LocalPort, 0, map(0, 0, 180, SERVOMIN, SERVOMAX));
                                                          #if defined(DEBUG_I2C_driver_Adafruit_PWMServoDriver)
-                                                           Serial.print("#155 I2C_driver PortTypes_SERVO->OFF Exp_state [SET]"); Serial.print(Slave_Ports_Status_A[i].Exp_state); Serial.print("]   after   [");
+                                                           Serial.print(F("#155 I2C_driver PortTypes_SERVO->OFF Exp_state [SET]")); Serial.print(Slave_Ports_Status_A[i].Exp_state); Serial.print(F("]   after   ["));
                                                           #endif
                                                          Slave_Ports_Status_A[i].Exp_state = Slave_Ports_Status_A[i].Exp_state | Exp_state_SET; //TODO TEST
-                                                         Serial.print(BIN8_to_STRING(Slave_Ports_Status_A[i].Exp_state)); Serial.println("]  ");
+                                                         Serial.print(BIN8_to_STRING(Slave_Ports_Status_A[i].Exp_state)); Serial.println(F("]  "));
                                                          Slave_Ports_Status_A[i].Exp_state_ttl = Exp_state_ttl_IS_ACTIVE ;
                                                 }
                                     } else {
                                     #if defined(DEBUG_I2C_driver_Adafruit_PWMServoDriver)
-                                     Serial.print("#163   [PortTypes*]   ");
+                                     Serial.print(F("#163   [PortTypes*]   "));
                                      #endif
                                                     
                                                     if(Slave_Ports_Status_A[i].Exp_state & Exp_state_ON_USE_LEVEL ) { //TODO BINTEST
                                                         //Adafruit_PWMServoDriver_A[I2C_INDEX_DRIVER_A].Adafruit_PWMServoDriver_V.setPWM(Slave_Ports_Status_A[i].LocalPort, Slave_Ports_Status_A[i].Exp_state_level_A * 16, Slave_Ports_Status_A[i].Exp_state_level_A * 16); //todo  Exp_state_ON_USE_LEVEL
                                                         Adafruit_PWMServoDriver_A[I2C_INDEX_DRIVER_A].Adafruit_PWMServoDriver_V.setPWM(Slave_Ports_Status_A[i].LocalPort,  Slave_Ports_Status_A[i].Exp_state_level_A, Slave_Ports_Status_A[i].Exp_state_level_A * 16); //todo  Exp_state_ON_USE_LEVEL
                                                         #if defined(DEBUG_I2C_driver_Adafruit_PWMServoDriver)
-                                                        Serial.print("#149 I2C_driver ->Exp_state_ON_USE_LEVEL Exp_state [SET]"); Serial.print(Slave_Ports_Status_A[i].Exp_state); Serial.print("]   after   [");
+                                                        Serial.print(F("#149 I2C_driver ->Exp_state_ON_USE_LEVEL Exp_state [SET]")); Serial.print(Slave_Ports_Status_A[i].Exp_state); Serial.print(F("]   after   ["));
                                                         #endif
                                                         //Serial.print("[I2C_INDEX_DRIVER_A[");Serial.print(I2C_INDEX_DRIVER_A);Serial.print("] [LocalPort["); Serial.print(Slave_Ports_Status_A[i].LocalPort); Serial.print("]  "); 
                                                         //Serial.print("[D209]Bef[");Serial.print(Slave_Ports_Status_A[i].Exp_state, BIN);Serial.print("]");
@@ -240,7 +240,7 @@ void TASK_TYPE_T_Set_Port_Smooth_forward() {
                                                     } else if(Slave_Ports_Status_A[i].Exp_state & Exp_state_ON ) { //TODO BINTEST
                                                         Adafruit_PWMServoDriver_A[I2C_INDEX_DRIVER_A].Adafruit_PWMServoDriver_V.setPWM(Slave_Ports_Status_A[i].LocalPort, 1000, 1000); //todo  Exp_state_ON_USE_LEVEL
                                                         #if defined(DEBUG_I2C_driver_Adafruit_PWMServoDriver)
-                                                        Serial.print("#149 I2C_driver ->ON Exp_state [SET]"); Serial.print(Slave_Ports_Status_A[i].Exp_state); Serial.print("]   after   [");
+                                                        Serial.print(F("#149 I2C_driver ->ON Exp_state [SET]")); Serial.print(Slave_Ports_Status_A[i].Exp_state); Serial.print(F("]   after   ["));
                                                         #endif 
                                                         Slave_Ports_Status_A[i].Exp_state = Slave_Ports_Status_A[i].Exp_state | Exp_state_SET; //TODO BITTEST
                                                         Slave_Ports_Status_A[i].Exp_state =  ~ Exp_state_SET_REQ_SEND; //TODO BITTEST
@@ -249,7 +249,7 @@ void TASK_TYPE_T_Set_Port_Smooth_forward() {
                                                     } else if(Slave_Ports_Status_A[i].Exp_state & Exp_state_OFF ){ //TODO BINTEST
                                                         Adafruit_PWMServoDriver_A[I2C_INDEX_DRIVER_A].Adafruit_PWMServoDriver_V.setPWM(Slave_Ports_Status_A[i].LocalPort, 0, 0);
                                                         #if defined(DEBUG_I2C_driver_Adafruit_PWMServoDriver)
-                                                        Serial.print("#149 I2C_driver ->OFF Exp_state [SET]"); Serial.print(Slave_Ports_Status_A[i].Exp_state); Serial.print("]   after   [");
+                                                        Serial.print(F("#149 I2C_driver ->OFF Exp_state [SET]")); Serial.print(Slave_Ports_Status_A[i].Exp_state); Serial.print(F("]   after   ["));
                                                         #endif 
                                                         Slave_Ports_Status_A[i].Exp_state = Slave_Ports_Status_A[i].Exp_state | Exp_state_SET; //TODO BITTEST
                                                         Slave_Ports_Status_A[i].Exp_state =  ~ Exp_state_SET_REQ_SEND; //TODO BITTEST
@@ -257,45 +257,45 @@ void TASK_TYPE_T_Set_Port_Smooth_forward() {
                                                         Slave_Ports_Status_A[i].Exp_state_ttl = Exp_state_ttl_IS_ACTIVE ;
                                                     } else if(Slave_Ports_Status_A[i].Exp_state & Exp_state_BLINK ){ //TODO BINTEST
                                                         #if defined(DEBUG_I2C_driver_Adafruit_PWMServoDriver)
-                                                             Serial.print("#168 I2C_driver ->BLINK [Exp_state_ERROR]  before]"); Serial.print(BIN8_to_STRING(Slave_Ports_Status_A[i].Exp_state)); Serial.println("]  after [");
+                                                             Serial.print(F("#168 I2C_driver ->BLINK [Exp_state_ERROR]  before]")); Serial.print(BIN8_to_STRING(Slave_Ports_Status_A[i].Exp_state)); Serial.println(F("]  after ["));
                                                          #endif
                                                          Adafruit_PWMServoDriver_A[I2C_INDEX_DRIVER_A].Adafruit_PWMServoDriver_V.setPWM(Slave_Ports_Status_A[i].LocalPort, 0,2000);
                                                       //   delay(1000);
                                                          Adafruit_PWMServoDriver_A[I2C_INDEX_DRIVER_A].Adafruit_PWMServoDriver_V.setPWM(Slave_Ports_Status_A[i].LocalPort, 0,1000);
                                                          Slave_Ports_Status_A[i].Exp_state = Slave_Ports_Status_A[i].Exp_state | Exp_state_ERROR; //TODO BITTEST
-                                                           Serial.print(BIN8_to_STRING(Slave_Ports_Status_A[i].Exp_state)); Serial.println("]  ");
+                                                           Serial.print(BIN8_to_STRING(Slave_Ports_Status_A[i].Exp_state)); Serial.println(F("]  "));
                                                          Slave_Ports_Status_A[i].Exp_state_ttl = Exp_state_ttl_IS_ACTIVE ;
                                                     } else {
                                                     #if defined(DEBUG_I2C_driver_Adafruit_PWMServoDriver)
-                                                     Serial.print("#183 I2C_driver [UNSUPP] [Exp_state_ERROR]  before]"); Serial.print(BIN8_to_STRING(Slave_Ports_Status_A[i].Exp_state)); Serial.println("]  after [");
+                                                     Serial.print(F("#183 I2C_driver [UNSUPP] [Exp_state_ERROR]  before]")); Serial.print(BIN8_to_STRING(Slave_Ports_Status_A[i].Exp_state)); Serial.println(F("]  after ["));
                                                      #endif
                                                           Slave_Ports_Status_A[i].Exp_state = Slave_Ports_Status_A[i].Exp_state | Exp_state_SET | Exp_state_ERROR; //TODO BITTEST
-                                                      Serial.print(BIN8_to_STRING(Slave_Ports_Status_A[i].Exp_state)); Serial.println("]  ");
+                                                      Serial.print(BIN8_to_STRING(Slave_Ports_Status_A[i].Exp_state)); Serial.println(F("]  "));
                                                      Slave_Ports_Status_A[i].Exp_state_ttl = Exp_state_ttl_IS_ACTIVE ;
                                                     }
                                      }           
                                  
                                  
                                         #if defined(DEBUG) > 6 || defined(DEBUG_I2C_driver_Adafruit_PWMServoDriver)
-                                            Serial.println(""); Serial.println(i);  Serial.print(" #126   after PWM    Exp_state_ttl[");
-                                            Serial.print(BIN8_to_STRING(Slave_Ports_Status_A[i].Exp_state_ttl)); Serial.print("]  Exp_state[");
-                                            Serial.print(BIN8_to_STRING(Slave_Ports_Status_A[i].Exp_state)); Serial.print("]  Broadcast_state[");
-                                            Serial.print(BIN8_to_STRING(Slave_Ports_Status_A[i].Broadcast_state)); Serial.println("] ");
-                                                Serial.print("#170  Exp_state[  ");
-                                                    if(Slave_Ports_Status_A[i].Exp_state |  Exp_state_SET )   Serial.print(" [ | SET ] ");//blad
-                                                    if(Slave_Ports_Status_A[i].Exp_state &  Exp_state_SET )   Serial.print(" [ & SET ] ");//opcjonalnie set
-                                                    if(Slave_Ports_Status_A[i].Exp_state |  Exp_state_ERROR )   Serial.print(" [ | ERR ] ");//blad 
-                                                    if(Slave_Ports_Status_A[i].Exp_state &  Exp_state_ERROR )   Serial.print(" [ & ERR ] "); //opcjonalnie err
-                                                     if(Slave_Ports_Status_A[i].Exp_state |  Exp_state_OFF )   Serial.print(" [ | OFF ] ");//blad
-                                                    if(Slave_Ports_Status_A[i].Exp_state &  Exp_state_OFF )   Serial.print(" [ & OFF ] "); //dziala opcjonalnie off
-                                                    if(Slave_Ports_Status_A[i].Exp_state ==  Exp_state_OFF )   Serial.print(" [ = OFF ] "); //dziala only off                                              
-                                                        if (!( ( Slave_Ports_Status_A[i].Exp_state & Exp_state_SET ) ^ Exp_state_SET ))  Serial.print(" [ ^ SET ] ");//opcjonalnie ste
-                                                        if (!( ( Slave_Ports_Status_A[i].Exp_state & B00000000 ) ^ Exp_state_SET ))  Serial.print(" [ + SET ] "); //not working
-                                                        if (!( ( Slave_Ports_Status_A[i].Exp_state & Exp_state_OFF ) ^ Exp_state_OFF ))  Serial.print(" [ ^ OFF ] ");//opcjonalnie off
-                                                        if (!( ( Slave_Ports_Status_A[i].Exp_state & B00000000 ) ^ Exp_state_OFF ))  Serial.print(" [ + OFF ] "); //not working
-                                                        if (!( ( Slave_Ports_Status_A[i].Exp_state & B11111111 ) ^ Exp_state_OFF ))  Serial.print(" [ # OFF ] ");//only off
-                                                        if (!( ( Slave_Ports_Status_A[i].Exp_state & B11111110 ) ^ B00000001 ))  Serial.print(" [ < OFF ] "); //not working
-                                                        if (!( ( Slave_Ports_Status_A[i].Exp_state & B00000001 ) ^ B11111110 ))  Serial.print(" [ > OFF ] "); //not working
+                                            Serial.println(""); Serial.println(i);  Serial.print(F(" #126   after PWM    Exp_state_ttl["));
+                                            Serial.print(BIN8_to_STRING(Slave_Ports_Status_A[i].Exp_state_ttl)); Serial.print(F("]  Exp_state["));
+                                            Serial.print(BIN8_to_STRING(Slave_Ports_Status_A[i].Exp_state)); Serial.print(F("]  Broadcast_state["));
+                                            Serial.print(BIN8_to_STRING(Slave_Ports_Status_A[i].Broadcast_state)); Serial.println(F("] "));
+                                                Serial.print(F("#170  Exp_state[  "));
+                                                    if(Slave_Ports_Status_A[i].Exp_state |  Exp_state_SET )   Serial.print(F(" [ | SET ] "));//blad
+                                                    if(Slave_Ports_Status_A[i].Exp_state &  Exp_state_SET )   Serial.print(F(" [ & SET ] "));//opcjonalnie set
+                                                    if(Slave_Ports_Status_A[i].Exp_state |  Exp_state_ERROR )   Serial.print(F(" [ | ERR ] "));//blad 
+                                                    if(Slave_Ports_Status_A[i].Exp_state &  Exp_state_ERROR )   Serial.print(F(" [ & ERR ] ")); //opcjonalnie err
+                                                     if(Slave_Ports_Status_A[i].Exp_state |  Exp_state_OFF )   Serial.print(F(" [ | OFF ] "));//blad
+                                                    if(Slave_Ports_Status_A[i].Exp_state &  Exp_state_OFF )   Serial.print(F(" [ & OFF ] ")); //dziala opcjonalnie off
+                                                    if(Slave_Ports_Status_A[i].Exp_state ==  Exp_state_OFF )   Serial.print(F(" [ = OFF ] ")); //dziala only off                                              
+                                                        if (!( ( Slave_Ports_Status_A[i].Exp_state & Exp_state_SET ) ^ Exp_state_SET ))  Serial.print(F(" [ ^ SET ] "));//opcjonalnie ste
+                                                        if (!( ( Slave_Ports_Status_A[i].Exp_state & B00000000 ) ^ Exp_state_SET ))  Serial.print(F(" [ + SET ] ")); //not working
+                                                        if (!( ( Slave_Ports_Status_A[i].Exp_state & Exp_state_OFF ) ^ Exp_state_OFF ))  Serial.print(F(" [ ^ OFF ] "));//opcjonalnie off
+                                                        if (!( ( Slave_Ports_Status_A[i].Exp_state & B00000000 ) ^ Exp_state_OFF ))  Serial.print(F(" [ + OFF ] ")); //not working
+                                                        if (!( ( Slave_Ports_Status_A[i].Exp_state & B11111111 ) ^ Exp_state_OFF ))  Serial.print(F(" [ # OFF ] "));//only off
+                                                        if (!( ( Slave_Ports_Status_A[i].Exp_state & B11111110 ) ^ B00000001 ))  Serial.print(F(" [ < OFF ] ")); //not working
+                                                        if (!( ( Slave_Ports_Status_A[i].Exp_state & B00000001 ) ^ B11111110 ))  Serial.print(F(" [ > OFF ] ")); //not working
                                                         
                                                         
                                                         //if ((Slave_Ports_Status_A[i].Exp_state & Exp_state_SET) == (x & 0x0f)) {
@@ -303,14 +303,14 @@ void TASK_TYPE_T_Set_Port_Smooth_forward() {
                                                         //}
 
                                                     
-                                                Serial.println("]  ");
+                                                Serial.println(F("]  "));
                                          #endif
                                           #if defined(DEBUG_CAN) || defined(DEBUG) || defined(DEBUG_I2C_driver_Adafruit_PWMServoDriver)
-                                                Serial.println("  [#222] ");  Serial.println("  [#222] ");  Serial.println("  [#222] ");
+                                                Serial.println(F("  [#222] "));  Serial.println(F("  [#222] "));  Serial.println(F("  [#222] "));
                                            #endif
                             } else {
                                 #if defined(DEBUG_I2C_driver_Adafruit_PWMServoDriver)
-                                    Serial.print("#183 I2C_driver [UNPLANNED][ADDRES]  +[Exp_state_ERROR] +[Exp_state_SET] before]"); Serial.print(BIN8_to_STRING(Slave_Ports_Status_A[i].Exp_state)); Serial.println("]  after [");
+                                    Serial.print(F("#183 I2C_driver [UNPLANNED][ADDRES]  +[Exp_state_ERROR] +[Exp_state_SET] before]")); Serial.print(BIN8_to_STRING(Slave_Ports_Status_A[i].Exp_state)); Serial.println(F("]  after ["));
                                 #endif 
                                Slave_Ports_Status_A[i].Exp_state = Slave_Ports_Status_A[i].Exp_state | Exp_state_SET | Exp_state_ERROR; //TODO BITTEST
                                 #if defined(DEBUG_I2C_driver_Adafruit_PWMServoDriver)
@@ -323,7 +323,7 @@ void TASK_TYPE_T_Set_Port_Smooth_forward() {
                     
                     } else {
                         #if defined(DEBUG_I2C_driver_Adafruit_PWMServoDriver)
-                               Serial.print("#232 I2C_driver [unsupported]  +[Exp_state_ERROR] +[Exp_state_SET] before]"); Serial.print(BIN8_to_STRING(Slave_Ports_Status_A[i].Exp_state)); Serial.println("]  after [");
+                               Serial.print(F("#232 I2C_driver [unsupported]  +[Exp_state_ERROR] +[Exp_state_SET] before]")); Serial.print(BIN8_to_STRING(Slave_Ports_Status_A[i].Exp_state)); Serial.println(F("]  after ["));
                         #endif
                           Slave_Ports_Status_A[i].Exp_state = Slave_Ports_Status_A[i].Exp_state | Exp_state_SET | Exp_state_ERROR; //TODO BITTEST
                           #if defined(DEBUG_I2C_driver_Adafruit_PWMServoDriver)
@@ -335,7 +335,7 @@ void TASK_TYPE_T_Set_Port_Smooth_forward() {
                
                 }  else {
                         #if defined(DEBUG_I2C_driver_Adafruit_PWMServoDriver) 
-                        Serial.print("    #249  #i["); Serial.print(i); Serial.println("]     ");
+                        Serial.print(F("    #249  #i[")); Serial.print(i); Serial.println(F("]     "));
                         #endif
                 }
         
@@ -343,8 +343,8 @@ void TASK_TYPE_T_Set_Port_Smooth_forward() {
       
       
          #if defined(DEBUG_I2C_driver_Adafruit_PWMServoDriver)
-            Serial.print("#242  #i["); Serial.print(i); Serial.println("]     ");
-            Serial.print("Exp_state_ttl"); Serial.print(Slave_Ports_Status_A[i].Exp_state_ttl);Serial.print("] ");
+            Serial.print(F("#242  #i[")); Serial.print(i); Serial.println(F("]     "));
+            Serial.print(F("Exp_state_ttl")); Serial.print(Slave_Ports_Status_A[i].Exp_state_ttl);Serial.print(F("] "));
          #endif
        }//if 3
     } //for 2