a.binder 5 lat temu
rodzic
commit
f5f5253e3b

+ 19 - 5
SE/stuff/P5_Automation_can-dev-res/_Slave_Ports_I2C_func.h

@@ -46,7 +46,10 @@
              //    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"); 
              //    } 
-          
+                            Adafruit_PWMServoDriver  Adafruit_PWMServoDriver_0X40 = Adafruit_PWMServoDriver(0x40);
+                                                     Adafruit_PWMServoDriver_0X40.begin();
+                                                     Adafruit_PWMServoDriver_0X40.setPWMFreq(PortTypes_PWM_FREQ_DEFAULT);
+                             ARDUINO_DRIVER_STATUS_T  Adafruit_PWMServoDriver_A =    ARDUINO_DRIVER_INITIALIZED_FREQ ;               
     int i;
     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) {
@@ -57,15 +60,26 @@
                
                     if(Slave_Ports_Status_A[i].I2C_driver == I2C_driver_Adafruit_PWMServoDriver) {
                             if(Slave_Ports_Status_A[i].Address == I2C_ADDRESS_0x40 ) {
-                                    if(I2C_ADDRESS_0x40_A == ARDUINO_DRIVER_UNDEFINED) {
-                                        Adafruit_PWMServoDriver  Adafruit_PWMServoDriver_0X40 = Adafruit_PWMServoDriver(0x40);
+                                  /*  if(I2C_ADDRESS_0x40_A == ARDUINO_DRIVER_UNDEFINED) {
+                                       // Adafruit_PWMServoDriver  Adafruit_PWMServoDriver_0X40 = Adafruit_PWMServoDriver(0x40);
                                         I2C_ADDRESS_0x40_A = ARDUINO_DRIVER_INITIALIZED ;
-                                        Adafruit_PWMServoDriver_0X40.begin();
+                                      //  Adafruit_PWMServoDriver_0X40.begin();
                                         I2C_ADDRESS_0x40_A = ARDUINO_DRIVER_INITIALIZED_BEGIN ;
                                          Adafruit_PWMServoDriver_0X40.setPWMFreq(PortTypes_PWM_FREQ_DEFAULT);
                                         I2C_ADDRESS_0x40_A = ARDUINO_DRIVER_INITIALIZED_FREQ ;
                                        
                                     }
+                                    */
+                                    if(Slave_Ports_Status_A[i].Exp_state == Exp_state_ON ) {
+                                        Adafruit_PWMServoDriver_0X40.setPWM(Slave_Ports_Status_A[i].LocalPort, 4000, 4000);
+                                        Serial.print("#77 I2C_driver Exp_state [ON]"); Serial.print(Slave_Ports_Status_A[i].Exp_state); Serial.println("] ");
+                                    } else if(Slave_Ports_Status_A[i].Exp_state == Exp_state_OFF ){
+                                        Adafruit_PWMServoDriver_0X40.setPWM(Slave_Ports_Status_A[i].LocalPort, 0, 0);
+                                        Serial.print("#77 I2C_driver Exp_state [OFF]"); Serial.print(Slave_Ports_Status_A[i].Exp_state); Serial.println("] ");
+                                    } else {
+                                     Serial.print("#7555 unsupp   I2C_driver Exp_state "); Serial.print(Slave_Ports_Status_A[i].Exp_state); Serial.println("] ");
+                                    }
+                                    //pulselength = map(degrees, 0, 180, SERVOMIN, SERVOMAX);
                                        
                             } else  if(Slave_Ports_Status_A[i].Address == I2C_ADDRESS_0x41 ) {
                                     
@@ -78,7 +92,7 @@
                     } else {
                           Serial.print("#61122  I2C_driver unsupported "); Serial.print(Slave_Ports_Status_A[i].I2C_driver); Serial.println("] ");
                     }
-                 
+                
                 
             }
 

+ 1 - 1
SE/stuff/P5_Automation_can-dev-res/config_Slave_Ports_LOCAL_init.h

@@ -25,7 +25,7 @@ ARDUINO_FUNCT_INIT_RESULT_T _Slave_Ports_LOCAL_init(Slave_Ports_Status_T* Slave_
                                 1,  // int  Port_ID,
                                 Active_ControllerID ,  //int  _Slave_ID,
                                 PortTypes_P2M_EXP_I2C , //int  PortTypes,
-                                0x00 ,  //int  Address,
+                                0x40 ,  //int  Address,
                                 1 , //int  LocalPort,
                                 Exp_state_OFF, //int  Exp_state,
                                 Exp_state_ttl_TO_REFRESH, //int  Exp_state_ttl,