arkadiusz binder 5 роки тому
батько
коміт
26bddcfdd7

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

@@ -156,7 +156,7 @@
 #endif
 
 #include "Queue.h"
-#include "TPQ.h"
+//#include "TPQ.h"
  Queue<int> _Slave_Ports_queue = Queue<int>(10);
  
 

+ 42 - 11
SE/stuff/P5_Automation_can-dev-res/_I2C_driver_Adafruit_PWMServoDriver_func.h

@@ -18,35 +18,66 @@ struct Adafruit_PWMServoDriver_S {
   Adafruit_PWMServoDriver_T Adafruit_PWMServoDriver_A[10] = {};
   
   
- Adafruit_PWMServoDriver Adafruit_PWMServoDriver_init(Adafruit_PWMServoDriver_T* Adafruit_PWMServoDriver_A, I2C_ADDRESS_T I2C_ADDRESS_A ) {
+ int Adafruit_PWMServoDriver_init(Adafruit_PWMServoDriver_T* Adafruit_PWMServoDriver_A, I2C_ADDRESS_T I2C_ADDRESS_A ) {
     int i;
-    for(i=1;i<=ARDUINO_ARRAY_INDEX_LIMIT_PORTS i++) {
-        if(Adafruit_PWMServoDriver_A.I2C_ADDRESS_A == 0) {
+    for(i=1;i<=ARDUINO_ARRAY_INDEX_LIMIT_PORTS ; i++) {
+        if(Adafruit_PWMServoDriver_A[i].I2C_ADDRESS_A == 0) {
             Adafruit_PWMServoDriver_A[i].I2C_ADDRESS_A = I2C_ADDRESS_A;
-            *Adafruit_PWMServoDriver_A[i].Adafruit_PWMServoDriver_V = Adafruit_PWMServoDriver(I2C_ADDRESS_A);
+            *Adafruit_PWMServoDriver_A[i].Adafruit_PWMServoDriver_V =  Adafruit_PWMServoDriver(I2C_ADDRESS_A);
+            Serial.print("#577 setPWM  init ["); Serial.print(i);  Serial.println("]");
             break;
         }
     }
+    return 1;
   }
 
+ I2C_ADDRESS_T I2C_ADDRESS_AA = 0x40;
+ int Adafruit_PWMServoDriver_init_I = Adafruit_PWMServoDriver_init(Adafruit_PWMServoDriver_A, I2C_ADDRESS_AA);
 
- Adafruit_PWMServoDriver Adafruit_PWMServoDriver_setPWMFreq(Adafruit_PWMServoDriver_T* Adafruit_PWMServoDriver_A,I2C_ADDRESS_T I2C_ADDRESS_A) {
-  
+
+ int Adafruit_PWMServoDriver_begin(Adafruit_PWMServoDriver_T* Adafruit_PWMServoDriver_A,I2C_ADDRESS_T I2C_ADDRESS_A) {
+  int i;
+    for(i=1;i<=ARDUINO_ARRAY_INDEX_LIMIT_PORTS ; i++) {
+        if(Adafruit_PWMServoDriver_A[i].I2C_ADDRESS_A == I2C_ADDRESS_A) {
+            Adafruit_PWMServoDriver_A[i].Adafruit_PWMServoDriver_V->begin();
+             Serial.print("#577 setPWM  begin ["); Serial.print(i);  Serial.println("]");
+            break;
+        }
+    }
+    return 1;
   }
 
 
 
- Adafruit_PWMServoDriver Adafruit_PWMServoDriver_setPWM(Adafruit_PWMServoDriver_T* Adafruit_PWMServoDriver_A, I2C_ADDRESS_T I2C_ADDRESS_A) {
-  
+
+
+int Adafruit_PWMServoDriver_setPWM(Adafruit_PWMServoDriver_T* Adafruit_PWMServoDriver_A, I2C_ADDRESS_T I2C_ADDRESS_A, int  LocalPort, int PWM_MIN, int PWM_MAX) {
+ int i;
+    for(i=1;i<=ARDUINO_ARRAY_INDEX_LIMIT_PORTS ; i++) {
+        if(Adafruit_PWMServoDriver_A[i].I2C_ADDRESS_A == I2C_ADDRESS_A ) {
+            Adafruit_PWMServoDriver_A[i].Adafruit_PWMServoDriver_V->setPWM(LocalPort, PWM_MIN, PWM_MAX);
+            Serial.print("#577 setPWM i["); Serial.print(i);  Serial.println("]"); 
+            break;
+        }
+    }
+    return 1;
   }
 
 
 
+/*
 
- Adafruit_PWMServoDriver Adafruit_PWMServoDriver_begin(Adafruit_PWMServoDriver_T* Adafruit_PWMServoDriver_A,I2C_ADDRESS_T I2C_ADDRESS_A) {
-  
+ int Adafruit_PWMServoDriver_setPWMFreq(Adafruit_PWMServoDriver_T* Adafruit_PWMServoDriver_A,I2C_ADDRESS_T I2C_ADDRESS_A) {
+  int i;
+    for(i=1;i<=ARDUINO_ARRAY_INDEX_LIMIT_PORTS ; i++) {
+        if(Adafruit_PWMServoDriver_A[i].I2C_ADDRESS_A == I2C_ADDRESS_A) {
+            Adafruit_PWMServoDriver_A[i].Adafruit_PWMServoDriver_V->setPWM(7,100,1000);
+            break;
+        }
+    }
+    return 1;
   }
-
+*/
 
 /*
 Adafruit_PWMServoDriver Adafruit_PWMServoDriver_F(I2C_ADDRESS_T I2C_ADDRESS_A) {

+ 9 - 0
SE/stuff/P5_Automation_can-dev-res/_I2C_driver_Adafruit_PWMServoDriver_setup.h

@@ -9,3 +9,12 @@ Adafruit_PWMServoDriver_0X40.begin();//Adafruit_PWMServoDriver_0X40
 Adafruit_PWMServoDriver_0X40.setPWMFreq(PortTypes_PWM_FREQ_DEFAULT);
 
      Adafruit_PWMServoDriver_0X40.setPWM(3, 1024, 2500);
+  
+  
+   Adafruit_PWMServoDriver_0X40.setPWM(7, 1024, 2500);
+
+int Adafruit_PWMServoDriver_init_I ;
+ Adafruit_PWMServoDriver_init_I = Adafruit_PWMServoDriver_begin(Adafruit_PWMServoDriver_A, I2C_ADDRESS_AA);
+
+ Adafruit_PWMServoDriver_init_I = Adafruit_PWMServoDriver_setPWM(Adafruit_PWMServoDriver_A, 
+        I2C_ADDRESS_AA, 7, 500, 1000);