|
|
@@ -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) {
|