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

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

@@ -91,7 +91,7 @@
 //#define DEBUG_ARDUINO_ATTR_ARRAY_S__commit_added_element_QUEUE
 //#define DEBUG_ARDUINO_ARRAY_INDEX_NEXT_LOCK
 //#define HAS__PCINT_setup //to allow interrupts
-#define DEBUG_TASK_TYPE_T_Slave_Ports_broadcast____
+//#define DEBUG_TASK_TYPE_T_Slave_Ports_broadcast____
 //#define DEBUG_TASK_TYPE_T_DISPLAY_queue_pop________
 //#define DEBUG_TASK_TYPE_T_Slave_Ports_set_I2C______
 //#define DEBUG_QUEUE_ASSERT todo not working

+ 31 - 35
SE/stuff/P5_Automation_can-dev-res/_Slave_Ports_I2C_func.h

@@ -49,7 +49,7 @@
                          TASK_PORT_ASSOC_A
                         
                           ); 
-          #if defined(DISABLE_LOOP) ||  defined(DEBUG) ||  defined(DEBUG_I2C)
+          #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);
@@ -77,26 +77,21 @@
     }
     
     for(i=i_first;i <= i_max ;i++) {
-     #if defined(DEBUG) || defined(DEBUG_I2C_driver_Adafruit_PWMServoDrive)
-                Serial.print("#69PWC[");  Serial.print(Slave_Ports_Status_A[i].I2C_port);   Serial.print("]TTL[");  Serial.print(Slave_Ports_Status_A[i].Exp_state_ttl);  Serial.println("] "); 
-                    if(Slave_Ports_Status_A[i].Exp_state_ttl > 30) Serial.print(" [>30] ");
-                    if(Slave_Ports_Status_A[i].Exp_state_ttl > Exp_state_ttl_FRESH) Serial.print(" [>FRESH] ");
-                    if(Slave_Ports_Status_A[i].Exp_state_ttl <= Exp_state_ttl_FRESH) Serial.print(" [<=FRESH]  [-30 = ");
-                     res = Slave_Ports_Status_A[i].Exp_state_ttl - 30 ;
-                    Serial.print(res); Serial.print("] ");                
+     #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("] ");                 
             #endif
       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_PWMServoDrive)
+            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);
                     #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(Slave_Ports_Status_A[i].Exp_state_ttl <= Exp_state_ttl_FRESH ) { //{3
-             #if defined(DEBUG) || defined(DEBUG_I2C_driver_Adafruit_PWMServoDrive)
-                if(DEBUG > 4) { //{4
+            } 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("]  "); 
-                 } //{4
+                 //} //{4
              #endif
                
                     if(Slave_Ports_Status_A[i].I2C_driver == I2C_driver_Adafruit_PWMServoDriver) {
@@ -105,20 +100,20 @@
                       //find port status
                                 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_PWMServoDrive)
+                                         #if defined(DEBUG_I2C_driver_Adafruit_PWMServoDriver)
                                            Serial.println("#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_PWMServoDrive)
+                                                  #if defined(DEBUG_I2C_driver_Adafruit_PWMServoDriver)
                                                           Serial.println("#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_PWMServoDrive)
+                                                   #if defined(DEBUG_I2C_driver_Adafruit_PWMServoDriver)
                                                        Serial.print("#83E I2C ADD   else ");  Serial.print(Adafruit_PWMServoDriver__add_A, BIN);  Serial.println(" ] ");
                                                    #endif
                                                  }
@@ -140,12 +135,12 @@
                                        
                                     }
                                     */
-                                    #if defined(DEBUG_I2C_driver_Adafruit_PWMServoDrive)
+                                    #if defined(DEBUG_I2C_driver_Adafruit_PWMServoDriver)
                                     Serial.print("#112 I2C [ADD]    [OK[   #");  Serial.print(I2C_INDEX_DRIVER_A);  Serial.println(" ] ");
                                     #endif
                                     
                                                   
-                                     #if  defined(DEBUG) > 7  || defined(DEBUG_I2C_driver_Adafruit_PWMServoDrive)
+                                     #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[");
@@ -180,7 +175,7 @@
                                                 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_PWMServoDrive)
+                                                         #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   [");
                                                          #endif
                                                          Slave_Ports_Status_A[i].Exp_state = Slave_Ports_Status_A[i].Exp_state | Exp_state_SET; //TODO TEST
@@ -188,7 +183,7 @@
                                                          Slave_Ports_Status_A[i].Exp_state_ttl = Exp_state_ttl_IS_ACTIVE ;
                                                 } 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_PWMServoDrive)
+                                                         #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   [");
                                                           #endif
                                                          Slave_Ports_Status_A[i].Exp_state = Slave_Ports_Status_A[i].Exp_state | Exp_state_SET; //TODO TEST
@@ -196,14 +191,14 @@
                                                          Slave_Ports_Status_A[i].Exp_state_ttl = Exp_state_ttl_IS_ACTIVE ;
                                                 }
                                     } else {
-                                    #if defined(DEBUG_I2C_driver_Adafruit_PWMServoDrive)
+                                    #if defined(DEBUG_I2C_driver_Adafruit_PWMServoDriver)
                                      Serial.print("#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_PWMServoDrive)
+                                                        #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   [");
                                                         #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("]  "); 
@@ -213,7 +208,7 @@
                                                         Slave_Ports_Status_A[i].Exp_state_ttl = Exp_state_ttl_IS_ACTIVE ;
                                                     } 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_PWMServoDrive)
+                                                        #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   [");
                                                         #endif 
                                                         Slave_Ports_Status_A[i].Exp_state = Slave_Ports_Status_A[i].Exp_state | Exp_state_SET; //TODO BITTEST
@@ -221,13 +216,14 @@
                                                         Slave_Ports_Status_A[i].Exp_state_ttl = Exp_state_ttl_IS_ACTIVE ;
                                                     } 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_PWMServoDrive)
+                                                        #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   [");
                                                         #endif 
                                                         Slave_Ports_Status_A[i].Exp_state = Slave_Ports_Status_A[i].Exp_state | Exp_state_SET; //TODO BITTEST
                                                         Serial.print(BIN8_to_STRING(Slave_Ports_Status_A[i].Exp_state)); Serial.println("]  ");
+                                                        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_PWMServoDrive)
+                                                        #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 [");
                                                          #endif
                                                          Adafruit_PWMServoDriver_A[I2C_INDEX_DRIVER_A].Adafruit_PWMServoDriver_V.setPWM(Slave_Ports_Status_A[i].LocalPort, 0,2000);
@@ -237,7 +233,7 @@
                                                            Serial.print(BIN8_to_STRING(Slave_Ports_Status_A[i].Exp_state)); Serial.println("]  ");
                                                          Slave_Ports_Status_A[i].Exp_state_ttl = Exp_state_ttl_IS_ACTIVE ;
                                                     } else {
-                                                    #if defined(DEBUG_I2C_driver_Adafruit_PWMServoDrive)
+                                                    #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 [");
                                                      #endif
                                                           Slave_Ports_Status_A[i].Exp_state = Slave_Ports_Status_A[i].Exp_state | Exp_state_SET | Exp_state_ERROR; //TODO BITTEST
@@ -247,7 +243,7 @@
                                      }           
                                  
                                  
-                                        #if defined(DEBUG) > 6 || defined(DEBUG_I2C_driver_Adafruit_PWMServoDrive)
+                                        #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[");
@@ -276,15 +272,15 @@
                                                     
                                                 Serial.println("]  ");
                                          #endif
-                                          #if defined(DEBUG_CAN) || defined(DEBUG) || defined(DEBUG_I2C_driver_Adafruit_PWMServoDrive)
+                                          #if defined(DEBUG_CAN) || defined(DEBUG) || defined(DEBUG_I2C_driver_Adafruit_PWMServoDriver)
                                                 Serial.println("  [#222] ");  Serial.println("  [#222] ");  Serial.println("  [#222] ");
                                            #endif
                             } else {
-                                #if defined(DEBUG_I2C_driver_Adafruit_PWMServoDrive)
+                                #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 [");
                                 #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_PWMServoDrive)
+                                #if defined(DEBUG_I2C_driver_Adafruit_PWMServoDriver)
                                 Serial.print(BIN8_to_STRING(Slave_Ports_Status_A[i].Exp_state)); Serial.println("]  ");
                                 #endif 
                                Slave_Ports_Status_A[i].Exp_state_ttl = Exp_state_ttl_IS_ACTIVE ;
@@ -293,11 +289,11 @@
                     
                     
                     } else {
-                        #if defined(DEBUG_I2C_driver_Adafruit_PWMServoDrive)
+                        #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 [");
                         #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_PWMServoDrive)
+                          #if defined(DEBUG_I2C_driver_Adafruit_PWMServoDriver)
                            Serial.print(BIN8_to_STRING(Slave_Ports_Status_A[i].Exp_state)); Serial.println("]  ");
                           #endif
                           Slave_Ports_Status_A[i].Exp_state_ttl = Exp_state_ttl_IS_ACTIVE ;
@@ -305,7 +301,7 @@
                 
                
                 }  else {
-                        #if defined(DEBUG_I2C_driver_Adafruit_PWMServoDrive) 
+                        #if defined(DEBUG_I2C_driver_Adafruit_PWMServoDriver) 
                         Serial.print("    #249  #i["); Serial.print(i); Serial.println("]     ");
                         #endif
                 }
@@ -313,7 +309,7 @@
       } else {
       
       
-         #if defined(DEBUG_I2C_driver_Adafruit_PWMServoDrive)
+         #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("] ");
          #endif

+ 4 - 3
SE/stuff/P5_Automation_can-dev-res/_Slave_Ports_broadcast_func.h

@@ -34,7 +34,7 @@
           int i;
           for(i=ARDUINO_ARRAY_INDEX_FIRST;i<= Slave_Ports_Status_T_ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_CURRENT_A ;i++) { //Slave_Ports_Status_T_ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_CURRENT_A // ARDUINO_ARRAY_INDEX_LIMIT_PORTS
             if(Slave_Ports_Status_A[i].IS_Local_A == IS_Local_TRUE) {  
-            Serial.print(" Broadcast_state[");Serial.print(Slave_Ports_Status_A[i].Broadcast_state);Serial.print("] ");
+            Serial.print(" Broadcast_state[");Serial.print(Slave_Ports_Status_A[i].Broadcast_state);Serial.print("] Broadcast_state_FRESH["); Serial.print(Broadcast_state_FRESH); Serial.print("] ");
             
             if(Slave_Ports_Status_A[i].Broadcast_state <= Broadcast_state_FRESH) {
                     
@@ -206,6 +206,7 @@
                          delay(200);
                       //    byte sndStat ;
                                   if(sndStat == CAN_OK){
+                                  Slave_Ports_Status_A[i].Broadcast_state =  Broadcast_state_FULL_FRESH ;
                                   #if defined(DEBUG_TASK_TYPE_T_Slave_Ports_broadcast____)
                                     Serial.println("#921 Message Sent Successfully!");
                                   #endif   
@@ -264,7 +265,7 @@
                                               #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 ; 
+                                             
                                                  #if  defined(DEBUG_CAN) || defined(DEBUG_TASK_TYPE_T_Slave_Ports_broadcast____)
                                                   Serial.print("#164   after    Exp_state_ttl[");
                                                     //Serial.print(BIN8_to_STRING(Slave_Ports_Status_A[i].Exp_state_ttl)); Serial.print("]  Broadcast_state[");
@@ -315,7 +316,7 @@
                                   }
         
                                     
-                        } else if(Slave_Ports_Status_A[i].Broadcast_state > Broadcast_state_TO_REFRESH)  { //if Bcast to refresh
+                        } else if(Slave_Ports_Status_A[i].Broadcast_state > Broadcast_state_FRESH)  { //if Bcast to refresh
                                  
                                 Serial.print("#238[BCAST]--[");Serial.print(Slave_Ports_Status_A[i].Broadcast_state);Serial.print("] ");