|
|
@@ -2,28 +2,48 @@
|
|
|
|
|
|
|
|
|
|
|
|
- Adafruit_PWMServoDriver Adafruit_PWMServoDriver_0X40 = Adafruit_PWMServoDriver(0x40);
|
|
|
+ // Adafruit_PWMServoDriver Adafruit_PWMServoDriver_0X40 = Adafruit_PWMServoDriver(0x41);
|
|
|
|
|
|
|
|
|
|
|
|
+ int Adafruit_PWMServoDriver_init_all(Adafruit_PWMServoDriver_T* Adafruit_PWMServoDriver_A) {
|
|
|
+ int i;
|
|
|
+ //int *ptrNumber;
|
|
|
+ for(i=1;i<=ARDUINO_ARRAY_INDEX_LIMIT_PORTS ; i++) {
|
|
|
+ if(not(Adafruit_PWMServoDriver_A[i].I2C_ADDRESS_A == 0 )) {
|
|
|
+ //Adafruit_PWMServoDriver_A[i].I2C_ADDRESS_A = I2C_ADDRESS_A;
|
|
|
+ //Adafruit_PWMServoDriver _class_cntr = Adafruit_PWMServoDriver(I2C_ADDRESS_A) ;
|
|
|
+ Adafruit_PWMServoDriver_A[i].Adafruit_PWMServoDriver_V = Adafruit_PWMServoDriver(Adafruit_PWMServoDriver_A[i].I2C_ADDRESS_A);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return 1;
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
|
|
|
-struct Adafruit_PWMServoDriver_S {
|
|
|
- I2C_ADDRESS_T I2C_ADDRESS_A;
|
|
|
- Adafruit_PWMServoDriver *Adafruit_PWMServoDriver_V ;
|
|
|
- };
|
|
|
-
|
|
|
- typedef struct Adafruit_PWMServoDriver_S Adafruit_PWMServoDriver_T;
|
|
|
-
|
|
|
- Adafruit_PWMServoDriver_T Adafruit_PWMServoDriver_A[10] = {};
|
|
|
+ int Adafruit_PWMServoDriver_begin_all(Adafruit_PWMServoDriver_T* Adafruit_PWMServoDriver_A) {
|
|
|
+ int i;
|
|
|
+ for(i=1;i<=ARDUINO_ARRAY_INDEX_LIMIT_PORTS ; i++) {
|
|
|
+ if(not(Adafruit_PWMServoDriver_A[i].I2C_ADDRESS_A == 0)) {
|
|
|
+ Adafruit_PWMServoDriver_A[i].Adafruit_PWMServoDriver_V.begin();
|
|
|
+ Serial.print("#577 setPWM begin ["); Serial.print(i); Serial.println("]");
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return 1;
|
|
|
+ }
|
|
|
|
|
|
|
|
|
- int 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;
|
|
|
+ //int *ptrNumber;
|
|
|
for(i=1;i<=ARDUINO_ARRAY_INDEX_LIMIT_PORTS ; i++) {
|
|
|
- if(Adafruit_PWMServoDriver_A[i].I2C_ADDRESS_A == 0) {
|
|
|
+ if(Adafruit_PWMServoDriver_A[i].I2C_ADDRESS_A == 0 || Adafruit_PWMServoDriver_A[i].I2C_ADDRESS_A == I2C_ADDRESS_A) {
|
|
|
Adafruit_PWMServoDriver_A[i].I2C_ADDRESS_A = I2C_ADDRESS_A;
|
|
|
- *Adafruit_PWMServoDriver_A[i].Adafruit_PWMServoDriver_V = Adafruit_PWMServoDriver(I2C_ADDRESS_A);
|
|
|
+ //Adafruit_PWMServoDriver _class_cntr = 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;
|
|
|
}
|
|
|
@@ -31,15 +51,11 @@ struct Adafruit_PWMServoDriver_S {
|
|
|
return 1;
|
|
|
}
|
|
|
|
|
|
- I2C_ADDRESS_T I2C_ADDRESS_AA = 0x40;
|
|
|
- int Adafruit_PWMServoDriver_init_I = Adafruit_PWMServoDriver_init(Adafruit_PWMServoDriver_A, I2C_ADDRESS_AA);
|
|
|
-
|
|
|
-
|
|
|
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();
|
|
|
+ Adafruit_PWMServoDriver_A[i].Adafruit_PWMServoDriver_V.begin();
|
|
|
Serial.print("#577 setPWM begin ["); Serial.print(i); Serial.println("]");
|
|
|
break;
|
|
|
}
|
|
|
@@ -51,11 +67,12 @@ struct Adafruit_PWMServoDriver_S {
|
|
|
|
|
|
|
|
|
|
|
|
-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 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);
|
|
|
+ Adafruit_PWMServoDriver_A[i].Adafruit_PWMServoDriver_V.setPWM(LocalPort, PWM_MIN, PWM_MAX);
|
|
|
Serial.print("#577 setPWM i["); Serial.print(i); Serial.println("]");
|
|
|
break;
|
|
|
}
|
|
|
@@ -65,19 +82,26 @@ int Adafruit_PWMServoDriver_setPWM(Adafruit_PWMServoDriver_T* Adafruit_PWMServoD
|
|
|
|
|
|
|
|
|
|
|
|
-/*
|
|
|
|
|
|
- int Adafruit_PWMServoDriver_setPWMFreq(Adafruit_PWMServoDriver_T* Adafruit_PWMServoDriver_A,I2C_ADDRESS_T I2C_ADDRESS_A) {
|
|
|
- int i;
|
|
|
+ARDUINO_ARRAY_PRIMARY_KET_T Adafruit_PWMServoDriver__get_PRIMARY_KET_T(Adafruit_PWMServoDriver_T* Adafruit_PWMServoDriver_A, I2C_ADDRESS_T I2C_ADDRESS_A) {
|
|
|
+ ARDUINO_ARRAY_PRIMARY_KET_T 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);
|
|
|
+ if(Adafruit_PWMServoDriver_A[i].I2C_ADDRESS_A == I2C_ADDRESS_A ) {
|
|
|
+ return i;
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
- return 1;
|
|
|
+ //return 1;
|
|
|
}
|
|
|
-*/
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ //int Adafruit_PWMServoDriver_init_I = Adafruit_PWMServoDriver_init(Adafruit_PWMServoDriver_A, I2C_ADDRESS_AA);
|
|
|
+
|
|
|
+ int Adafruit_PWMServoDriver_init_I = Adafruit_PWMServoDriver_init_all(Adafruit_PWMServoDriver_A);
|
|
|
+
|
|
|
+
|
|
|
|
|
|
/*
|
|
|
Adafruit_PWMServoDriver Adafruit_PWMServoDriver_F(I2C_ADDRESS_T I2C_ADDRESS_A) {
|