a.binder il y a 5 ans
Parent
commit
bb88211b59

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

@@ -266,7 +266,6 @@
   //#include "_LCD1602_init.h"
 #endif
 
-#include "_CAN/_CAN_func.h"
 
 
 
@@ -287,6 +286,7 @@
 #include "_Slave_Ports_Protocol_CAN_func.h"
 #include "_Slave_Ports_Status_func.h"
 
+#include "_CAN/_CAN_func.h"
 
 
   #include "_Slave_Ports.h"

+ 63 - 15
SE/stuff/P5_Automation_can-dev-res/_CAN/_CAN_func.h

@@ -1,4 +1,12 @@
-void CAN_READ() {
+void CAN_READ(
+        Slave_Ports_Status_T* Slave_Ports_Status_A ,
+                Slave_Ports_Status_T_ARDUINO_ATTR_ARRAY_T &Slave_Ports_Status_T_ARDUINO_ATTR_ARRAY_A ,
+                 Slave_Ports_Status_T_ARDUINO_ARRAY_INDEX_TABLE_T*            Slave_Ports_Status_T_ARDUINO_ARRAY_INDEX_TABLE_A,
+                 Slave_Ports_Status_T_ARDUINO_ARRAY_INDEX_T_TO_DELETE_T*      Slave_Ports_Status_T_ARDUINO_ARRAY_INDEX_T_TO_DELETE_A,
+                 Slave_Ports_Status_T_ARDUINO_ARRAY_ASSOC_TABLE_S_Port_ID_T*  Slave_Ports_Status_T_ARDUINO_ARRAY_ASSOC_TABLE_S_Port_ID_A,
+                
+                DISPLAY_T*  DISPLAY_A ,  DISPLAY_T_ARDUINO_ATTR_ARRAY_T &DISPLAY_T_ARDUINO_ATTR_ARRAY_A
+) {
           // If pin 2 is low, read receive buffer
             {
               CAN0.readMsgBuf(&CANrxId, &CANlen, CANrxBuf); // Read data: len = data length, buf = data byte(s)
@@ -7,24 +15,64 @@ void CAN_READ() {
               Serial.print(" Data: [");Serial.print(CANlen); Serial.print("]"); 
             
             
-                if(CANlen == CAN_MSG_DATA8_LEN) {
+             /*   if(CANlen == CAN_MSG_DATA8_LEN) {
                 
-                        DISPLAY__print_loop(DISPLAY_CURSOR_Y_CHARS_CAN_DEBUG, "CAN RECV DATA", 13, DISPLAY__print_loop_ACTION_ADD ) ;
+                    
                 
-                } //if(CANlen == CAN_MSG_DATA8_LEN) {
-            
-              for(int i = 0; i<CANlen; i++)           // Print each byte of the data
+                   //     DISPLAY__print_loop(DISPLAY_CURSOR_Y_CHARS_CAN_DEBUG, "CAN RECV DATA", 13, DISPLAY__print_loop_ACTION_ADD ) ;
+                        _CAN_REMOTE_ID_T _CAN_REMOTE_ID = CANrxId ;
+                                             
+                         CAN_MSG8_BIT_1_T CAN_MSG8_BIT_1_A = CANrxBuf[1] < 0x10 ;
+                         CAN_MSG8_BIT_2_T CAN_MSG8_BIT_2_A = CANrxBuf[2] < 0x10 ;
+                         CAN_MSG8_BIT_3_T CAN_MSG8_BIT_3_A = CANrxBuf[3] < 0x10 ;
+                         CAN_MSG8_BIT_4_T CAN_MSG8_BIT_4_A = CANrxBuf[4] < 0x10 ;
+                         CAN_MSG8_BIT_5_T CAN_MSG8_BIT_5_A = CANrxBuf[5] < 0x10 ;
+                         CAN_MSG8_BIT_6_T CAN_MSG8_BIT_6_A = CANrxBuf[6] < 0x10 ;
+                         CAN_MSG8_BIT_7_T CAN_MSG8_BIT_7_A = CANrxBuf[7] < 0x10 ;
+                         CAN_MSG8_BIT_8_T CAN_MSG8_BIT_8_A = CANrxBuf[8] < 0x10 ;
+                   
+                  // Serial.print();
+                   
+                   Serial.print("0");
+                     */     /*
+                                Slave_Ports_Status_add_port(
+                                                               Slave_Ports_Status_A ,
+                                                               Slave_Ports_Status_T_ARDUINO_ATTR_ARRAY_A,
+                                                                   Slave_Ports_Status_T_ARDUINO_ARRAY_INDEX_TABLE_A,
+                                                                   Slave_Ports_Status_T_ARDUINO_ARRAY_INDEX_T_TO_DELETE_A,
+                                                                   Slave_Ports_Status_T_ARDUINO_ARRAY_ASSOC_TABLE_S_Port_ID_A,
+                                                               3,  // int  Port_ID,
+                                                               Active_ControllerID ,  //int  _Slave_ID,
+                                                               PortTypes_P2M_EXP_I2C , //int  PortTypes,
+                                                               0x40 ,  //int  Address,
+                                                               3 , //int  LocalPort,
+                                                               Exp_state_BLINK, //int  Exp_state,
+                                                               Exp_state_ttl_TO_REFRESH, //int  Exp_state_ttl,
+                                                               Broadcast_state_TO_REFRESH, //int  Broadcast_state,
+                                                               I2C_port_DEFAULT, //int I2C_port,
+                                                               I2C_driver_Adafruit_PWMServoDriver ,//int I2C_driver
+                                                               IS_Local_TRUE 
+                                                               );
+                                                               
+                    */
+                
+              //  } else { //if(CANlen == CAN_MSG_DATA8_LEN) 
               {
-                if(CANrxBuf[i] < 0x10)                // If data byte is less than 0x10, add a leading zero
-                {
-                  Serial.print("0");
-           
-                }
-                Serial.print(CANrxBuf[i], HEX);
-                Serial.print(" ");
             
-                 
-              }
+                        for(int i = 0; i<CANlen; i++)           // Print each byte of the data
+                         {
+                           if(CANrxBuf[i] < 0x10)                // If data byte is less than 0x10, add a leading zero
+                           {
+                             Serial.print("0");
+                      
+                           }
+                           Serial.print(CANrxBuf[i], HEX);
+                           Serial.print(" ");
+                       
+                            
+                         }
+                }
+             
               Serial.println();
   
               

+ 10 - 7
SE/stuff/P5_Automation_can-dev-res/_CAN/_Slave_Ports_Protocol_CAN_struct.h

@@ -108,6 +108,7 @@ byte CAN_broadcast_to_data(_Slave_Ports_Protocol_CAN_broadcast_T
         
          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("]  ");
@@ -148,6 +149,7 @@ void CAN_MSG8_A_ptr(_Slave_Ports_Protocol_CAN_broadcast_T
         #ifdef DEBUG_CAN
                 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("]  ");
@@ -156,13 +158,14 @@ void CAN_MSG8_A_ptr(_Slave_Ports_Protocol_CAN_broadcast_T
                    Serial.print(" "); Serial.print("8["); Serial.print(_Slave_Ports_Protocol_CAN_broadcast_A._CAN_8); Serial.print("]  "); 
                 Serial.println("   "); 
          #endif
-         CAN_MSG8_A[0] = _Slave_Ports_Protocol_CAN_broadcast_A._CAN_SENDER_ID; // 0xFF;
-         CAN_MSG8_A[1] =_Slave_Ports_Protocol_CAN_broadcast_A.Port_ID ; //0xFF;
-          CAN_MSG8_A[3] = _Slave_Ports_Protocol_CAN_broadcast_A.PortTypes ;//0xFF;
-         CAN_MSG8_A[4] = _Slave_Ports_Protocol_CAN_broadcast_A.Exp_state; // 0xFF;
-          CAN_MSG8_A[5] =  _Slave_Ports_Protocol_CAN_broadcast_A.Exp_state_ttl ;// 0xFF;
-         CAN_MSG8_A[6] =  _Slave_Ports_Protocol_CAN_broadcast_A.Broadcast_state;// 0xFF;
-          CAN_MSG8_A[7] =  _Slave_Ports_Protocol_CAN_broadcast_A._CAN_8; // 0xFF;
+         CAN_MSG8_A[1] = _Slave_Ports_Protocol_CAN_broadcast_A._CAN_REMOTE_ID; // 0xFF;
+         CAN_MSG8_A[2] = _Slave_Ports_Protocol_CAN_broadcast_A._CAN_SENDER_ID; // 0xFF;
+         CAN_MSG8_A[3] =_Slave_Ports_Protocol_CAN_broadcast_A.Port_ID ; //0xFF;
+          CAN_MSG8_A[4] = _Slave_Ports_Protocol_CAN_broadcast_A.PortTypes ;//0xFF;
+         CAN_MSG8_A[5] = _Slave_Ports_Protocol_CAN_broadcast_A.Exp_state; // 0xFF;
+          CAN_MSG8_A[6] =  _Slave_Ports_Protocol_CAN_broadcast_A.Exp_state_ttl ;// 0xFF;
+         CAN_MSG8_A[7] =  _Slave_Ports_Protocol_CAN_broadcast_A.Broadcast_state;// 0xFF;
+          CAN_MSG8_A[8] =  _Slave_Ports_Protocol_CAN_broadcast_A._CAN_8; // 0xFF;
         
 }
 

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

@@ -74,9 +74,9 @@ typedef struct ARDUINO_ARRAY_ASSOC_TABLE_S         Slave_Ports_Status_T_ARDUINO_
 //);
 
 
-    Slave_Ports_Status_T  Slave_Ports_Status_A[ARDUINO_ARRAY_INDEX_LIMIT_PORTS] = {};
+static    Slave_Ports_Status_T  Slave_Ports_Status_A[ARDUINO_ARRAY_INDEX_LIMIT_PORTS] = {};
     
-    Slave_Ports_Status_T_ARDUINO_ATTR_ARRAY_T  Slave_Ports_Status_T_ARDUINO_ATTR_ARRAY_A =  //[ARDUINO_ATTR_ARRAY_S_INDEX] 
+ static   Slave_Ports_Status_T_ARDUINO_ATTR_ARRAY_T  Slave_Ports_Status_T_ARDUINO_ATTR_ARRAY_A =  //[ARDUINO_ATTR_ARRAY_S_INDEX] 
         {    ARDUINO_ARRAY_INDEX_CURRENT_INIT ,
              ARDUINO_ARRAY_INDEX_LAST_INIT ,
              ARDUINO_ARRAY_COUNT_T_INIT ,

+ 119 - 98
SE/stuff/P5_Automation_can-dev-res/_Slave_Ports_broadcast_func.h

@@ -29,10 +29,10 @@
   ) {
         Serial.print("#251 _Slave_Ports_broadcast_POP INDEX_CURRENT_A["); Serial.print(Slave_Ports_Status_T_ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_CURRENT_A); Serial.println("] ");
           int i;
-          for(i=ARDUINO_ARRAY_INDEX_FIRST;i<=Slave_Ports_Status_T_ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_CURRENT_A;i++) {
+          for(i=ARDUINO_ARRAY_INDEX_FIRST;i<= ARDUINO_ARRAY_INDEX_LIMIT_PORTS ;i++) { //Slave_Ports_Status_T_ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_CURRENT_A
             if(Slave_Ports_Status_A[i].IS_Local_A == IS_Local_TRUE) { //Slave_Ports_Status_A[i].Broadcast_state == Broadcast_state_TO_REFRESH and 
             #if defined(DEBUG) || defined(DEBUG_CAN)
-                if(DEBUG > 4) {
+                //if(DEBUG > 4) {
                     Serial.print(" ind:"); Serial.print(i);  Serial.print("] IS_Local_A:");
                     Serial.print(Slave_Ports_Status_A[i].IS_Local_A);
                     Serial.print(" , ID:"); 
@@ -43,69 +43,82 @@
                     Serial.print(" , Exp_state_ttl"); Serial.println(Slave_Ports_Status_A[i].Exp_state_ttl);  
                     //Serial.print("#2111 *_TEST_GLOBAL["); Serial.print(*_TEST_GLOBAL); Serial.println("] ");
                    // Serial.print(" #2111B &_TEST_GLOBAL"); Serial.print(_TEST_GLOBAL); Serial.println("] ");
-                   }
+               //    }
             #endif
-                  
-                  String message = "1CAN BCAST "; message.concat(i); message.concat(".");  message.concat( Slave_Ports_Status_A[i].Port_ID );  message.concat(" >>>                        "); 
-              DISPLAY_array16_T  DISPLAY_array16_AA="" ;
-                  message.toCharArray(DISPLAY_array16_AA, 16);
-                  
+             
+             
+             
+                 
+                            
+                           #if defined(DISABLE_TASK_TYPE_T_DISPLAY_queue_pop________)
+                             #else
+                              
+                                   String message = "1CAN BCAST "; message.concat(i); message.concat(".");  message.concat( Slave_Ports_Status_A[i].Port_ID );  message.concat(" >>>                        "); 
+                                       DISPLAY_array16_T  DISPLAY_array16_AA="" ;
+                                           message.toCharArray(DISPLAY_array16_AA, 16);
+                                     DISPLAY__CURSOR_Y_CHARS__SET(DISPLAY_PHYSICAL_CHAR_A, 
+                                          DISPLAY_CURSOR_Y_CHARS_CAN_DEBUG);
+                            DISPLAY__print(
+                                    DISPLAY_A ,
+                                    DISPLAY_T_ARDUINO_ATTR_ARRAY_A , 
+                                    DISPLAY_PHYSICAL_CHAR_A, 
+                                     DISPLAY_pos_seq_A_NEXT | DISPLAY_pos_seq_A_IMMEDIATE, //TODO BITTEST
+                                      DISPLAY_array16_AA , // DISPLAY_array16_I( "#53 BCAST  " + char( Slave_Ports_Status_A[i].Port_ID  ) , 2), //message,
+                                      DISPLAY_TARGET_DISPLAY128,
+                                     time , // time_seq_id_T time_seq_id_A;
+                                     time+ARDUINO_time_seq_id_A_INCREMENT, //time_min_run_T time_min_run_A;
+                                    //queue
+                                   Slave_Ports_Status_QUEUE_A, Slave_Ports_Status_QUEUE_T_ARDUINO_ATTR_ARRAY_A ,
+                                   TASK_TYPE_T_Slave_Ports_broadcast____  ,  //TASK_TYPE_A,
+                                   { Slave_Ports_Status_A[i].Port_ID } //TASK_PORT_ASSOC_A
+                                   
+                                   ); 
+                             #endif
                   
                   
-                           DISPLAY__CURSOR_Y_CHARS__SET(DISPLAY_PHYSICAL_CHAR_A, 
-                                DISPLAY_CURSOR_Y_CHARS_CAN_DEBUG);
-                  DISPLAY__print(
-                          DISPLAY_A ,
-                          DISPLAY_T_ARDUINO_ATTR_ARRAY_A , 
-                          DISPLAY_PHYSICAL_CHAR_A, 
-                           DISPLAY_pos_seq_A_NEXT | DISPLAY_pos_seq_A_IMMEDIATE, //TODO BITTEST
-                            DISPLAY_array16_AA , // DISPLAY_array16_I( "#53 BCAST  " + char( Slave_Ports_Status_A[i].Port_ID  ) , 2), //message,
-                            DISPLAY_TARGET_DISPLAY128,
-                           time , // time_seq_id_T time_seq_id_A;
-                           time+ARDUINO_time_seq_id_A_INCREMENT, //time_min_run_T time_min_run_A;
-                          //queue
-                         Slave_Ports_Status_QUEUE_A, Slave_Ports_Status_QUEUE_T_ARDUINO_ATTR_ARRAY_A ,
-                         TASK_TYPE_T_Slave_Ports_broadcast____  ,  //TASK_TYPE_A,
-                         { Slave_Ports_Status_A[i].Port_ID } //TASK_PORT_ASSOC_A
-                         
-                         ); 
                      Serial.println("#66A Prepared data");
                     
-                
-                DISPLAY__CURSOR_Y_CHARS__SET(DISPLAY_PHYSICAL_CHAR_A, 
-                                DISPLAY_CURSOR_Y_CHARS_CAN_DEBUG);
-          DISPLAY_array16_T  DISPLAY_array16_AAA="" ;
-          //( "OUT I2C 0X40[2]" + encoderPos * 5 , 2), //message,          
-          _Slave_Ports_Protocol_CAN_broadcast_T CAN_broadcast_A={};
-               // CAN_broadcast_A._CAN_REMOTE_ID = _CAN_REMOTE_ID_BROADCAST ;
-               // CAN_broadcast_A._CAN_SENDER_ID = Active_ControllerID ;
-                CAN_broadcast_A.Port_ID = Slave_Ports_Status_A[i].Port_ID ;
-                CAN_broadcast_A.PortTypes = Slave_Ports_Status_A[i].PortTypes ; 
-                CAN_broadcast_A.Exp_state = Slave_Ports_Status_A[i].Exp_state ;  
-                CAN_broadcast_A.Exp_state_ttl = Slave_Ports_Status_A[i].Exp_state_ttl ;
-                CAN_broadcast_A.Broadcast_state = Slave_Ports_Status_A[i].Broadcast_state ;
+                  #if defined(DISABLE_TASK_TYPE_T_DISPLAY_queue_pop________)
+                             #else
+                             DISPLAY__CURSOR_Y_CHARS__SET(DISPLAY_PHYSICAL_CHAR_A, 
+                                             DISPLAY_CURSOR_Y_CHARS_CAN_DEBUG);
+                     #endif
+                       DISPLAY_array16_T  DISPLAY_array16_AAA="" ;
+                       //( "OUT I2C 0X40[2]" + encoderPos * 5 , 2), //message,          
+                       _Slave_Ports_Protocol_CAN_broadcast_T CAN_broadcast_A={};
+                            // CAN_broadcast_A._CAN_REMOTE_ID = _CAN_REMOTE_ID_BROADCAST ;
+                            // CAN_broadcast_A._CAN_SENDER_ID = Active_ControllerID ;
+                             CAN_broadcast_A.Port_ID = Slave_Ports_Status_A[i].Port_ID ;
+                             CAN_broadcast_A.PortTypes = Slave_Ports_Status_A[i].PortTypes ; 
+                             CAN_broadcast_A.Exp_state = Slave_Ports_Status_A[i].Exp_state ;  
+                             CAN_broadcast_A.Exp_state_ttl = Slave_Ports_Status_A[i].Exp_state_ttl ;
+                             CAN_broadcast_A.Broadcast_state = Slave_Ports_Status_A[i].Broadcast_state ;
                 
                   // CAN_broadcast_A._CAN_8 = _CAN_8_EMPTY ;
                 
-                 message = "2CAN BCAST "; message.concat(i); message.concat(".");  message.concat(Slave_Ports_Status_A[i].Port_ID);  message.concat(" >>>                        "); 
-              
-                  message.toCharArray(DISPLAY_array16_AAA, 16);
-                     DISPLAY__print(
-                          DISPLAY_A ,
-                          DISPLAY_T_ARDUINO_ATTR_ARRAY_A , 
-                          DISPLAY_PHYSICAL_CHAR_A, 
-                           DISPLAY_pos_seq_A_NEXT,
-                            DISPLAY_array16_AAA,
-                            DISPLAY_TARGET_DISPLAY128,
-                           time , // time_seq_id_T time_seq_id_A;
-                           time+5000, //time_min_run_T time_min_run_A;
-                          //queue
-                         Slave_Ports_Status_QUEUE_A, Slave_Ports_Status_QUEUE_T_ARDUINO_ATTR_ARRAY_A,
-                         TASK_TYPE_T_Slave_Ports_broadcast____  ,  //TASK_TYPE_A,
-                         {  } //TASK_PORT_ASSOC_A Slave_Ports_Status_A[i].Port_ID
-                         
-                         ); 
                 
+                  
+                    #if defined(DISABLE_TASK_TYPE_T_DISPLAY_queue_pop________)
+                             #else
+                             message = "2CAN BCAST "; message.concat(i); message.concat(".");  message.concat(Slave_Ports_Status_A[i].Port_ID);  message.concat(" >>>                        "); 
+              
+                                     message.toCharArray(DISPLAY_array16_AAA, 16);
+                          DISPLAY__print(
+                               DISPLAY_A ,
+                               DISPLAY_T_ARDUINO_ATTR_ARRAY_A , 
+                               DISPLAY_PHYSICAL_CHAR_A, 
+                                DISPLAY_pos_seq_A_NEXT,
+                                 DISPLAY_array16_AAA,
+                                 DISPLAY_TARGET_DISPLAY128,
+                                time , // time_seq_id_T time_seq_id_A;
+                                time+5000, //time_min_run_T time_min_run_A;
+                               //queue
+                              Slave_Ports_Status_QUEUE_A, Slave_Ports_Status_QUEUE_T_ARDUINO_ATTR_ARRAY_A,
+                              TASK_TYPE_T_Slave_Ports_broadcast____  ,  //TASK_TYPE_A,
+                              {  } //TASK_PORT_ASSOC_A Slave_Ports_Status_A[i].Port_ID
+                              
+                              ); 
+                        #endif
                 
                 
                 
@@ -124,10 +137,7 @@
                    Serial.println("#139 deb CAN_MSG8_A_ptr");    
                     CAN_data_debug(CAN_MSG8_A);      
                   #endif
-                  DISPLAY_array16_T  DISPLAY_array16_AAAA="" ;
-                  message = "3CAN SEND " ; message.concat(i); message.concat(".");  message.concat(Slave_Ports_Status_A[i].Port_ID);  message.concat(" >>>                        "); 
-             
-                  message.toCharArray(DISPLAY_array16_AAAA, 16);
+                 
                      
                                          //Serial.println("#135 deb CAN_broadcast_A9");
                                          //byte CAN_broadcast_A9[8] = {0xFF, 0x101, 0x02, 0x03, 0x04, 0x05, 0x07};
@@ -138,36 +148,44 @@
                             Serial.println("#921 Message Sent Successfully!");
                              //String LCDarray1 = "Message Sent";
                              //String LCDarray2 = "Successfully";
-                              DISPLAY__CURSOR_Y_CHARS__SET(DISPLAY_PHYSICAL_CHAR_A, 
-                                DISPLAY_CURSOR_Y_CHARS_CAN_DEBUG);
-                              DISPLAY__print( DISPLAY_A ,
-                                               DISPLAY_T_ARDUINO_ATTR_ARRAY_A , 
-                                               DISPLAY_PHYSICAL_CHAR_A, 
-                                                DISPLAY_pos_seq_A_NEXT | DISPLAY_pos_seq_A_IMMEDIATE, //TODO BITTEST
-                                                 DISPLAY_array16_AAAA, //message,
-                                                 DISPLAY_TARGET_DISPLAY128,
-                                                time , // time_seq_id_T time_seq_id_A;
-                                                time + 5000, //time_min_run_T time_min_run_A;
-                                               //queue
-                                              Slave_Ports_Status_QUEUE_A,  Slave_Ports_Status_QUEUE_T_ARDUINO_ATTR_ARRAY_A ,
-                                              TASK_TYPE_T_Slave_Ports_broadcast____  ,  //TASK_TYPE_A,
-                                              { Slave_Ports_Status_A[i].Port_ID } //TASK_PORT_ASSOC_A
-                                              ); 
-                                              
+                             
+                             
+                                 #if defined(DISABLE_TASK_TYPE_T_DISPLAY_queue_pop________)
+                                          #else
+                                           DISPLAY_array16_T  DISPLAY_array16_AAAA="" ;
+                                          message = "3CAN SEND " ; message.concat(i); message.concat(".");  message.concat(Slave_Ports_Status_A[i].Port_ID);  message.concat(" >>>                        "); 
+                
+                                             message.toCharArray(DISPLAY_array16_AAAA, 16);
+                                           DISPLAY__CURSOR_Y_CHARS__SET(DISPLAY_PHYSICAL_CHAR_A, 
+                                             DISPLAY_CURSOR_Y_CHARS_CAN_DEBUG);
+                                           DISPLAY__print( DISPLAY_A ,
+                                                            DISPLAY_T_ARDUINO_ATTR_ARRAY_A , 
+                                                            DISPLAY_PHYSICAL_CHAR_A, 
+                                                             DISPLAY_pos_seq_A_NEXT | DISPLAY_pos_seq_A_IMMEDIATE, //TODO BITTEST
+                                                              DISPLAY_array16_AAAA, //message,
+                                                              DISPLAY_TARGET_DISPLAY128,
+                                                             time , // time_seq_id_T time_seq_id_A;
+                                                             time + 5000, //time_min_run_T time_min_run_A;
+                                                            //queue
+                                                           Slave_Ports_Status_QUEUE_A,  Slave_Ports_Status_QUEUE_T_ARDUINO_ATTR_ARRAY_A ,
+                                                           TASK_TYPE_T_Slave_Ports_broadcast____  ,  //TASK_TYPE_A,
+                                                           { Slave_Ports_Status_A[i].Port_ID } //TASK_PORT_ASSOC_A
+                                                           ); 
+                                             #endif 
                                      #ifdef DEBUG_CAN
                                         Serial.print("#155 after CAN_SEND update  [Broadcast_state_FULL_FRESH]   for i[");
                                         Serial.print(i);  Serial.println("] "); 
                                         Serial.print("#154   before   Exp_state_ttl[");
-                                        Serial.print(BIN8_to_STRING(Slave_Ports_Status_A[i].Exp_state_ttl)); Serial.print("]  Broadcast_state[");
-                                        Serial.print(BIN8_to_STRING(Slave_Ports_Status_A[i].Broadcast_state)); Serial.println("] ");
+                                        //Serial.print(BIN8_to_STRING(Slave_Ports_Status_A[i].Exp_state_ttl)); Serial.print("]  Broadcast_state[");
+                                        //Serial.print(BIN8_to_STRING(Slave_Ports_Status_A[i].Broadcast_state)); Serial.println("] ");
                                       #endif          
                       
                              //   Slave_Ports_Status_A[i].Exp_state_ttl = Exp_state_ttl_IS_ACTIVE ;
                                     Slave_Ports_Status_A[i].Broadcast_state =  Broadcast_state_FULL_FRESH ; 
                                          #ifdef DEBUG_CAN
                                           Serial.print("#164   after    Exp_state_ttl[");
-                                            Serial.print(BIN8_to_STRING(Slave_Ports_Status_A[i].Exp_state_ttl)); Serial.print("]  Broadcast_state[");
-                                            Serial.print(BIN8_to_STRING(Slave_Ports_Status_A[i].Broadcast_state)); Serial.println("] ");
+                                            //Serial.print(BIN8_to_STRING(Slave_Ports_Status_A[i].Exp_state_ttl)); Serial.print("]  Broadcast_state[");
+                                            //Serial.print(BIN8_to_STRING(Slave_Ports_Status_A[i].Broadcast_state)); Serial.println("] ");
                                          
                                          #endif
                                        
@@ -175,22 +193,25 @@
                                               
                           } else {
                             Serial.print("Error Sending Message...  [");    Serial.print(sndStat);  Serial.println("]   "); 
-                             DISPLAY_array16_T  DISPLAY_array16_AAAAA="" ;
-                             message =     "4CAN ERR " ; message.concat(i); message.concat(".");  message.concat(Slave_Ports_Status_A[i].Port_ID);  message.concat(" >>>                        "); 
-                             message.toCharArray(DISPLAY_array16_AAAAA, 16);
-                            DISPLAY__print( DISPLAY_A ,
-                                               DISPLAY_T_ARDUINO_ATTR_ARRAY_A , 
-                                               DISPLAY_PHYSICAL_CHAR_A, 
-                                                DISPLAY_pos_seq_A_NEXT | DISPLAY_pos_seq_A_IMMEDIATE, //TODO BITTEST
-                                                 DISPLAY_array16_AAAAA,//DISPLAY_array16_I( "#107MSG ERROR " + char( Slave_Ports_Status_A[i].Port_ID  ) , 2), //message,
-                                                 DISPLAY_TARGET_DISPLAY128,
-                                                time , // time_seq_id_T time_seq_id_A;
-                                                time +5000, //time_min_run_T time_min_run_A;
-                                               //queue
-                                              Slave_Ports_Status_QUEUE_A, Slave_Ports_Status_QUEUE_T_ARDUINO_ATTR_ARRAY_A ,
-                                              TASK_TYPE_T_Slave_Ports_broadcast____  ,  //TASK_TYPE_A,
-                                              { Slave_Ports_Status_A[i].Port_ID } //TASK_PORT_ASSOC_A
-                                              ); 
+                             #if defined(DISABLE_TASK_TYPE_T_DISPLAY_queue_pop________)
+                                          #else
+                                          DISPLAY_array16_T  DISPLAY_array16_AAAAA="" ;
+                                          message =     "4CAN ERR " ; message.concat(i); message.concat(".");  message.concat(Slave_Ports_Status_A[i].Port_ID);  message.concat(" >>>                        "); 
+                                          message.toCharArray(DISPLAY_array16_AAAAA, 16);
+                                         DISPLAY__print( DISPLAY_A ,
+                                                            DISPLAY_T_ARDUINO_ATTR_ARRAY_A , 
+                                                            DISPLAY_PHYSICAL_CHAR_A, 
+                                                             DISPLAY_pos_seq_A_NEXT | DISPLAY_pos_seq_A_IMMEDIATE, //TODO BITTEST
+                                                              DISPLAY_array16_AAAAA,//DISPLAY_array16_I( "#107MSG ERROR " + char( Slave_Ports_Status_A[i].Port_ID  ) , 2), //message,
+                                                              DISPLAY_TARGET_DISPLAY128,
+                                                             time , // time_seq_id_T time_seq_id_A;
+                                                             time +5000, //time_min_run_T time_min_run_A;
+                                                            //queue
+                                                           Slave_Ports_Status_QUEUE_A, Slave_Ports_Status_QUEUE_T_ARDUINO_ATTR_ARRAY_A ,
+                                                           TASK_TYPE_T_Slave_Ports_broadcast____  ,  //TASK_TYPE_A,
+                                                           { Slave_Ports_Status_A[i].Port_ID } //TASK_PORT_ASSOC_A
+                                                           ); 
+                            #endif
                             //String LCDarray1 = "Error Sending";
                             //String LCDarray2 = "Message...";
                           }
@@ -221,7 +242,7 @@
                                   //    delay(5000);   // send data per 100ms
                 } else {
                  #if defined(DEBUG) //|| defined(DEBUG_CAN)
-                if(DEBUG > 4) {
+                //if(DEBUG > 4) {
                     Serial.print("#147 BCAST NOT SENT  ind:"); Serial.print(i);  Serial.print("] IS_Local_A:");
                     Serial.print(Slave_Ports_Status_A[i].IS_Local_A);
                     Serial.print(" , ID:"); 
@@ -231,7 +252,7 @@
                     Serial.print(" , Exp state:"); Serial.print(Slave_Ports_Status_A[i].Exp_state);
                     Serial.print(" , Exp_state_ttl"); Serial.println(Slave_Ports_Status_A[i].Exp_state_ttl);  
                     Serial.print("#2111 *_TEST_GLOBAL"); Serial.print(*_TEST_GLOBAL); Serial.println("]");
-                   }
+                  // }
                   #endif
                 
                 }

+ 8 - 1
SE/stuff/P5_Automation_can-dev-res/___loop/_SlaveID_loop1.h

@@ -1,6 +1,13 @@
 if(!digitalRead(CAN_INTpin))                    // If pin 2 is low, read receive buffer
           {
-         CAN_READ();
+         CAN_READ(
+         Slave_Ports_Status_A  ,
+               Slave_Ports_Status_T_ARDUINO_ATTR_ARRAY_A ,
+                  Slave_Ports_Status_T_ARDUINO_ARRAY_INDEX_TABLE_A,
+                   Slave_Ports_Status_T_ARDUINO_ARRAY_INDEX_T_TO_DELETE_A,
+                  Slave_Ports_Status_T_ARDUINO_ARRAY_ASSOC_TABLE_S_Port_ID_A,
+               DISPLAY_A , DISPLAY_T_ARDUINO_ATTR_ARRAY_A
+         );
        /*  
          
             CAN0.readMsgBuf(&CANrxId, &CANlen, CANrxBuf); // Read data: len = data length, buf = data byte(s)

+ 3 - 3
SE/stuff/P5_Automation_can-dev-res/___loop/__main_loop_top.h

@@ -70,9 +70,9 @@ if(ARDUINO_LOOP_LATENCY_COUNTER__MAIN(ARDUINO_LOOP_LATENCY__MAIN_A) <= ARDUINO_L
                     }
                  #endif
             ARDUINO_FUNCT_INIT_RESULT_Slave_Ports_queue__add = _Slave_Ports_queue__add(  Slave_Ports_Status_QUEUE_A, Slave_Ports_Status_QUEUE_T_ARDUINO_ATTR_ARRAY_A ,
-             TASK_TYPE_T_Slave_Ports_broadcast____ ,TASK_PORT_ASSOC_EMPTY ,time, time + ARDUINO_time_seq_id_A_INCREMENT , ARDUINO_ARRAY_INDEX_NOT_SET ) ;  //        "_Slave_Ports_broadcast", //4
-            ARDUINO_FUNCT_INIT_RESULT_Slave_Ports_queue__add = _Slave_Ports_queue__add(  Slave_Ports_Status_QUEUE_A, Slave_Ports_Status_QUEUE_T_ARDUINO_ATTR_ARRAY_A , 
-             TASK_TYPE_T_Slave_Ports_set_I2C______ ,TASK_PORT_ASSOC_EMPTY ,time, time + ARDUINO_time_seq_id_A_INCREMENT , ARDUINO_ARRAY_INDEX_NOT_SET) ;  //"_Slave_Ports_set_I2C" //5  - to set ports associated on PW
+             TASK_TYPE_T_Slave_Ports_broadcast____ ,TASK_PORT_ASSOC_EMPTY ,time, time , ARDUINO_ARRAY_INDEX_NOT_SET ) ;  //        "_Slave_Ports_broadcast", //4
+            ARDUINO_FUNCT_INIT_RESULT_Slave_Ports_queue__add = _Slave_Ports_queue__add(  Slave_Ports_Status_QUEUE_A, Slave_Ports_Status_QUEUE_T_ARDUINO_ATTR_ARRAY_A ,  // + ARDUINO_time_seq_id_A_INCREMENT 
+             TASK_TYPE_T_Slave_Ports_set_I2C______ ,TASK_PORT_ASSOC_EMPTY ,time, time, ARDUINO_ARRAY_INDEX_NOT_SET) ;  //"_Slave_Ports_set_I2C" //5  - to set ports associated on PW
             //ARDUINO_FUNCT_INIT_RESULT_Slave_Ports_queue__add = _Slave_Ports_queue__add(  Slave_Ports_Status_QUEUE_A,   Slave_Ports_Status_QUEUE_T_ARDUINO_ATTR_ARRAY_A , TASK_TYPE_T_DISPLAY_queue_pop________ ,TASK_PORT_ASSOC_EMPTY ,millis(), millis() + ARDUINO_time_seq_id_A_INCREMENT , ) ;  //"_Slave_Ports_set_I2C" //5  - to set ports associated on PW
             }
             

+ 12 - 12
SE/stuff/P5_Automation_can-dev-res/___main/__main_struct_funct.h

@@ -404,17 +404,17 @@ ARDUINO_ARRAY_INDEX_NEXT_LOCK_T ARDUINO_ARRAY_INDEX_POP_LOCK( ARDUINO_ATTR_ARRAY
                                   #if defined(DEBUG) || defined(DISABLE_LOOP) || defined(DEBUG_QUEUE) || defined(DEBUG_STRUCT_INIT) || defined(DEBUG_STORAGE_QUEUE_TEST) || defined(DEBUG_ARDUINO_ARRAY_INDEX_NEXT_LOCK)
                                      Serial.print("  [INCREMENT][ROTATE]?  ");    
                                  #endif 
-                                    if(ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_CURRENT_A == ARDUINO_ARRAY_INDEX_FIRST) {
-                                          #if defined(DEBUG) || defined(DISABLE_LOOP) || defined(DEBUG_QUEUE) || defined(DEBUG_STRUCT_INIT) || defined(DEBUG_STORAGE_QUEUE_TEST) || defined(DEBUG_ARDUINO_ARRAY_INDEX_NEXT_LOCK)
-                                              Serial.print("  [INCREMENT][=CURRENT][QUEUE FORCE 0]  ");    
-                                          #endif
+                                    if(ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_NEXT_A == ARDUINO_ARRAY_INDEX_FIRST) {
+                                          //#if defined(DEBUG) || defined(DISABLE_LOOP) || defined(DEBUG_QUEUE) || defined(DEBUG_STRUCT_INIT) || defined(DEBUG_STORAGE_QUEUE_TEST) || defined(DEBUG_ARDUINO_ARRAY_INDEX_NEXT_LOCK)
+                                              Serial.print("  [INCREMENT][=NEXT][QUEUE FORCE 0]  ");    
+                                          //#endif
                                            ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_ATTR_QUEUE_PEEK_A = 0;
                                            ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_COUNT_A = 0 ; //--;
                                            ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_ATTR_QUEUE_COUNT_A = 0 ; //--;
                                     } else {
-                                      #if defined(DEBUG) || defined(DISABLE_LOOP) || defined(DEBUG_QUEUE) || defined(DEBUG_STRUCT_INIT) || defined(DEBUG_STORAGE_QUEUE_TEST) || defined(DEBUG_ARDUINO_ARRAY_INDEX_NEXT_LOCK)
-                                              Serial.print("  [INCREMENT][NEXT]=ARDUINO_ARRAY_INDEX_FIRST  ");    
-                                          #endif
+                                      //#if defined(DEBUG) || defined(DISABLE_LOOP) || defined(DEBUG_QUEUE) || defined(DEBUG_STRUCT_INIT) || defined(DEBUG_STORAGE_QUEUE_TEST) || defined(DEBUG_ARDUINO_ARRAY_INDEX_NEXT_LOCK)
+                                              Serial.print("  [INCREMENT--][NEXT]=ARDUINO_ARRAY_INDEX_FIRST  ");    
+                                         // #endif
                                            ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_ATTR_QUEUE_PEEK_A = ARDUINO_ARRAY_INDEX_FIRST ;
                                            ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_COUNT_A --;
                                            ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_ATTR_QUEUE_COUNT_A --;
@@ -424,18 +424,18 @@ ARDUINO_ARRAY_INDEX_NEXT_LOCK_T ARDUINO_ARRAY_INDEX_POP_LOCK( ARDUINO_ATTR_ARRAY
                                  #if defined(DEBUG) || defined(DISABLE_LOOP) || defined(DEBUG_QUEUE) || defined(DEBUG_STRUCT_INIT) || defined(DEBUG_STORAGE_QUEUE_TEST) || defined(DEBUG_ARDUINO_ARRAY_INDEX_NEXT_LOCK)
                                      Serial.print("  [INCREMENT][NOTROTATE]?  ");    
                                  #endif 
-                                if((ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_ATTR_QUEUE_PEEK_A + 1) == ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_CURRENT_A) {
-                                         #if defined(DEBUG) || defined(DISABLE_LOOP) || defined(DEBUG_QUEUE) || defined(DEBUG_STRUCT_INIT) || defined(DEBUG_STORAGE_QUEUE_TEST) || defined(DEBUG_ARDUINO_ARRAY_INDEX_NEXT_LOCK)
+                                if((ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_ATTR_QUEUE_PEEK_A + 1) == ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_NEXT_A) {
+                                         //#if defined(DEBUG) || defined(DISABLE_LOOP) || defined(DEBUG_QUEUE) || defined(DEBUG_STRUCT_INIT) || defined(DEBUG_STORAGE_QUEUE_TEST) || defined(DEBUG_ARDUINO_ARRAY_INDEX_NEXT_LOCK)
                                              Serial.print("  2[INCREMENT][=CURRENT] [QUEUE FORCE 0] ");
-                                         #endif 
+                                         //#endif 
                                                  ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_ATTR_QUEUE_PEEK_A = 0;
                                                   ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_COUNT_A = 0;
                                                   ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_ATTR_QUEUE_COUNT_A = 0;
                                 } else {
                                 
-                                          #if defined(DEBUG) || defined(DISABLE_LOOP) || defined(DEBUG_QUEUE) || defined(DEBUG_STRUCT_INIT) || defined(DEBUG_STORAGE_QUEUE_TEST) || defined(DEBUG_ARDUINO_ARRAY_INDEX_NEXT_LOCK)
+                                          //#if defined(DEBUG) || defined(DISABLE_LOOP) || defined(DEBUG_QUEUE) || defined(DEBUG_STRUCT_INIT) || defined(DEBUG_STORAGE_QUEUE_TEST) || defined(DEBUG_ARDUINO_ARRAY_INDEX_NEXT_LOCK)
                                              Serial.print("  [POP][NEXT] ");
-                                         #endif 
+                                        // #endif 
                                                   ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_ATTR_QUEUE_PEEK_A++;
                                                   ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_COUNT_A --;
                                                   ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_ATTR_QUEUE_COUNT_A --;