a.binder 5 년 전
부모
커밋
ffada0c2f7

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

@@ -51,7 +51,7 @@ const int _CAN_8_EMPTY = 0x07 ;
   Exp_state_T  Exp_state;    //5
   int  Exp_state_ttl;  //6
   int  Broadcast_state;  //7
-  const int _CAN_8 = _CAN_8_EMPTY  ; //0x07 ; //8 - nbot used
+  const int _CAN_8 = TASK_TYPE_T_Slave_Ports_broadcast____ ; // _CAN_8_EMPTY  ; //0x07 ; //8 - nbot used
 } ;
  
  
@@ -66,7 +66,7 @@ const int _CAN_8_EMPTY = 0x07 ;
   Exp_state_T  Exp_state;    //5
   int  Exp_state_ttl;  //6
   int  Broadcast_state;  //7
-  const int _CAN_8 = _CAN_8_EMPTY; //0x07 ; //8 - nbot used
+  const int _CAN_8 = TASK_TYPE_T_Slave_Ports_broadcast____ ; // _CAN_8_EMPTY; //0x07 ; //8 - nbot used
 } ;
 
  

+ 3 - 3
SE/stuff/P5_Automation_can-dev-res/_PortStates_struct.h

@@ -3,9 +3,9 @@ typedef  byte Exp_state_T ;
 
  const  Exp_state_T Exp_state_OFF          =  B00000001 ; 
  const  Exp_state_T Exp_state_ON           =  B00000010 ;
- const  Exp_state_T Exp_state_ON_LOW       =  B00000100 ;
- const  Exp_state_T Exp_state_ON_MED       =  B00001000 ;
- const  Exp_state_T Exp_state_ON_HI        =  B00010000 ;
+ const  Exp_state_T Exp_state_ON_LOW       =  B00000100 ; // = pwm 10
+ const  Exp_state_T Exp_state_ON_MED       =  B00001000 ; // = pwm * 10
+ const  Exp_state_T Exp_state_ON_HI        =  B00010000 ; // = pwm * 2
  const  Exp_state_T Exp_state_BLINK        =  B00100000 ;
  const  Exp_state_T Exp_state_SET          =  B01000000 ; //when was initialized and set output
  const  Exp_state_T Exp_state_ERROR        =  B10000000 ;

+ 63 - 23
SE/stuff/P5_Automation_can-dev-res/_Slave_Ports_I2C_func.h

@@ -46,14 +46,14 @@
                          TASK_PORT_ASSOC_A
                         
                           ); 
-         
-       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);
-        
+          #if defined(DISABLE_LOOP) ||  defined(DEBUG) ||  defined(DEBUG_I2C)
+               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);
+          #endif      
           
              //    if(Slave_Ports_Status_QUEUE_A[_Slave_Ports_queue_pop].TASK_PORT_ASSOC_A[1].Port_ID > 0 ) {
              //       Serial.println("#544A TASK_PORT_ASSOC_A unsupported individual"); 
@@ -64,7 +64,7 @@
     for(i=ARDUINO_ARRAY_INDEX_FIRST;i <= (ARDUINO_ARRAY_INDEX_FIRST + Slave_Ports_Status_T_ARDUINO_ATTR_ARRAY_A.ARDUINO_ARRAY_COUNT_A) ;i++) {
       if(Slave_Ports_Status_A[i].PortTypes & PortTypes_I2C) { //BIN TEST
             if(Slave_Ports_Status_A[i].Exp_state_ttl == Exp_state_ttl_TO_REFRESH ) {
-             #ifdef DEBUG || DEBUG_CAN
+             #if defined(DEBUG) || defined(DEBUG_I2C_driver_Adafruit_PWMServoDrive)
                 if(DEBUG > 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("]  "); 
@@ -77,18 +77,22 @@
                       //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)
                                  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)
                                        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 {
-                                Serial.print("#83E I2C ADD   else ");  Serial.print(Adafruit_PWMServoDriver__add_A, BIN);  Serial.println(" ] ");
+                                #if defined(DEBUG_I2C_driver_Adafruit_PWMServoDrive)
+                                    Serial.print("#83E I2C ADD   else ");  Serial.print(Adafruit_PWMServoDriver__add_A, BIN);  Serial.println(" ] ");
+                                #endif
                               }
                                  
                         }
@@ -108,12 +112,12 @@
                                        
                                     }
                                     */
-                                    
+                                    #if defined(DEBUG_I2C_driver_Adafruit_PWMServoDrive)
                                     Serial.print("#112 I2C [ADD]    [OK[   #");  Serial.print(I2C_INDEX_DRIVER_A);  Serial.println(" ] ");
-                                    
+                                    #endif
                                     
                                                   
-                                     #if  DEBUG > 7
+                                     #if  defined(DEBUG) > 7  || defined(DEBUG_I2C_driver_Adafruit_PWMServoDrive)
                                          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[");
@@ -148,32 +152,51 @@
                                                 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)
                                                           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
                                                             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_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)
                                                            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
                                                          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)
                                      Serial.print("#163   [PortTypes*]   ");
+                                     #endif
                                                     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, 3000, 3000);
+                                                        int PWM_STATE = 1 ;
+                                                        if(Slave_Ports_Status_A[i].Exp_state & Exp_state_ON_LOW) PWM_STATE = PWM_STATE * 10; 
+                                                        if(Slave_Ports_Status_A[i].Exp_state & Exp_state_ON_MED) PWM_STATE = PWM_STATE * 10;
+                                                        if(Slave_Ports_Status_A[i].Exp_state & Exp_state_ON_HI) PWM_STATE = PWM_STATE * 2; 
+                                                        
+                                                        if(PWM_STATE == 1) PWM_STATE = 3000;
+                                                        
+                                                        Adafruit_PWMServoDriver_A[I2C_INDEX_DRIVER_A].Adafruit_PWMServoDriver_V.setPWM(Slave_Ports_Status_A[i].LocalPort, PWM_STATE, PWM_STATE);
+                                                        #if defined(DEBUG_I2C_driver_Adafruit_PWMServoDrive)
                                                         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
                                                         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_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)
                                                         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("]  ");
                                                     } else if(Slave_Ports_Status_A[i].Exp_state & Exp_state_BLINK ){ //TODO BINTEST
+                                                        #if defined(DEBUG_I2C_driver_Adafruit_PWMServoDrive)
                                                              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);
                                                       //   delay(1000);
                                                          Adafruit_PWMServoDriver_A[I2C_INDEX_DRIVER_A].Adafruit_PWMServoDriver_V.setPWM(Slave_Ports_Status_A[i].LocalPort, 0,1000);
@@ -181,8 +204,9 @@
                                                            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)
                                                      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
                                                       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 ;
@@ -190,7 +214,7 @@
                                      }           
                                  
                                  
-                                        #if DEBUG > 6
+                                        #if defined(DEBUG) > 6 || defined(DEBUG_I2C_driver_Adafruit_PWMServoDrive)
                                             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[");
@@ -219,29 +243,45 @@
                                                     
                                                 Serial.println("]  ");
                                          #endif
-                                          #ifdef DEBUG_CAN || DEBUG
+                                          #if defined(DEBUG_CAN) || defined(DEBUG) || defined(DEBUG_I2C_driver_Adafruit_PWMServoDrive)
                                                 Serial.println("  [#222] ");  Serial.println("  [#222] ");  Serial.println("  [#222] ");
                                            #endif
                             } else {
-                                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 [");
+                                #if defined(DEBUG_I2C_driver_Adafruit_PWMServoDrive)
+                                    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)
                                 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 ;
                             }
                             
                     
                     
                     } else {
-                           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 [");
+                        #if defined(DEBUG_I2C_driver_Adafruit_PWMServoDrive)
+                               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)
                            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 ;
                     }
                 
                
-            }  else { Serial.print("    #249  #i["); Serial.print(i); Serial.println("]     ");}
+            }  else {
+                    #if defined(DEBUG_I2C_driver_Adafruit_PWMServoDrive) 
+                    Serial.print("    #249  #i["); Serial.print(i); Serial.println("]     ");
+                    #endif
+                }
         
-      } else { Serial.print("    #242  #i["); Serial.print(i); Serial.println("]     ");}
+      } else {
+         #if defined(DEBUG_I2C_driver_Adafruit_PWMServoDrive)
+            Serial.print("    #242  #i["); Serial.print(i); Serial.println("]     ");
+         #endif
+       }
     } 
 
  } 

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

@@ -169,7 +169,7 @@
         
             if(Slave_Ports_Status_A[i].Port_ID > 0) {
             
-                    #ifdef DEBUG
+                    #if  defined(DEBUG)
                         if(DEBUG > 2) {
                             Serial.print("#68 Port_Dspl[DEBUG]  i "); Serial.print(i);
                             Serial.println("]  ");
@@ -244,7 +244,7 @@
                      message2.concat(" ?");//E: 
                     
                     
-                    #if DEBUG > 7
+                    #if defined(DEBUG) > 7
                         Serial.print("#228 debug BIN  #i["); Serial.print(i);  Serial.print("] Exp_state_s["); Serial.print(Exp_state_s);  Serial.print("]    exp_state["); Serial.print(Slave_Ports_Status_A[i].Exp_state); Serial.print("]    BIN[");  Serial.print(Slave_Ports_Status_A[i].Exp_state, BIN); Serial.print("]    [   ");
                         
                                                         if(Slave_Ports_Status_A[i].Exp_state &  Exp_state_SET )   Serial.print(" [ & SET ] "); //dziala opcjonalnie off

+ 1 - 1
SE/stuff/P5_Automation_can-dev-res/___CONFIG/0x101/config_Active_ControllerID_0x101.h

@@ -4,7 +4,7 @@
 #define HAS_ROTTARY_SW
 #define HAS_TFT_ILI9163C
 #define HAS_I2C_driver_Adafruit_PWMServoDriver 
-#define DEBUG_I2C_driver_Adafruit_PWMServoDriver
+//#define DEBUG_I2C_driver_Adafruit_PWMServoDriver
 #define HAS__PCINT_setup //to allow interrupts
 
 #define DISABLE_TASK_TYPE_T_DISPLAY_queue_pop________