|
|
@@ -95,12 +95,19 @@ int Adafruit_PWMServoDriver_setPWM(Adafruit_PWMServoDriver_T* Adafruit_PWMServoD
|
|
|
|
|
|
|
|
|
|
|
|
-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 Adafruit_PWMServoDriver__get_PRIMARY_KET_T(Adafruit_PWMServoDriver_T* Adafruit_PWMServoDriver_A,
|
|
|
+Adafruit_PWMServoDriver_ATTR_ARRAY_T &Adafruit_PWMServoDriver_ATTR_ARRAY_A,
|
|
|
+ I2C_ADDRESS_T I2C_ADDRESS_A) {
|
|
|
ARDUINO_ARRAY_PRIMARY_KET_T i;
|
|
|
- for(i=1;i<=ARDUINO_ARRAY_INDEX_LIMIT_PORTS_I2C ; i++) {
|
|
|
+ for(i=ARDUINO_ARRAY_INDEX_FIRST;i<=Adafruit_PWMServoDriver_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_CURRENT_A ; i++) {
|
|
|
if(Adafruit_PWMServoDriver_A[i].I2C_ADDRESS_A == I2C_ADDRESS_A ) {
|
|
|
+ if(Adafruit_PWMServoDriver_A[i].ARDUINO_ARRAY_INDEX_DRIVER_STATUS_A == ARDUINO_ARRAY_INDEX_DRIVER_STATUS_ERROR ) {
|
|
|
+ Serial.print("#83E I2C PWMServoDriver ID["); Serial.print(i); Serial.print(" ] STATUS ERR["); Serial.print(Adafruit_PWMServoDriver_A[i].ARDUINO_ARRAY_INDEX_DRIVER_STATUS_A, BIN); Serial.println("] ");
|
|
|
+ } else {
|
|
|
+ Serial.print("#83E I2C PWMServoDriver ID["); Serial.print(i); Serial.print(" ] STATUS ["); Serial.print(Adafruit_PWMServoDriver_A[i].ARDUINO_ARRAY_INDEX_DRIVER_STATUS_A, BIN); Serial.println("] ");
|
|
|
return i;
|
|
|
break;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
return 0;
|
|
|
@@ -133,29 +140,31 @@ I2C_ADDRESS_T I2C_ADDRESS_A) {
|
|
|
) {
|
|
|
|
|
|
|
|
|
- return ARDUINO_ARRAY_INDEX_DRIVER_STATUS_ERROR;
|
|
|
+ //return ARDUINO_ARRAY_INDEX_DRIVER_STATUS_ERROR;
|
|
|
|
|
|
if(ARDUINO_ARRAY_INDEX_DRIVER_STATUS_TO_ADD == Adafruit_PWMServoDriver__get_DRIVER_STATUS_T(
|
|
|
Adafruit_PWMServoDriver_A, Adafruit_PWMServoDriver_ATTR_ARRAY_A, I2C_ADDRESS_A)) {
|
|
|
Adafruit_PWMServoDriver_A[Adafruit_PWMServoDriver_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_NEXT_A].I2C_ADDRESS_A = I2C_ADDRESS_A;
|
|
|
Adafruit_PWMServoDriver_A[Adafruit_PWMServoDriver_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_NEXT_A].ARDUINO_ARRAY_INDEX_DRIVER_STATUS_A = ARDUINO_ARRAY_INDEX_DRIVER_STATUS_TO_SETUP_A;
|
|
|
- Serial.print("#138 PWMServoDriver__add I2C_ADDRESS_A["); Serial.print(I2C_ADDRESS_A); Serial.println("] "); Serial.print(" i["); Serial.print(Adafruit_PWMServoDriver_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_NEXT_A); Serial.print("] REQUEST ?["); Serial.print(ARDUINO_ARRAY_INDEX_DRIVER_REQUEST_A, BIN); Serial.print("] Result?[");
|
|
|
|
|
|
- Adafruit_PWMServoDriver_A[Adafruit_PWMServoDriver_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_NEXT_A].Adafruit_PWMServoDriver_V = Adafruit_PWMServoDriver(I2C_ADDRESS_A) ;
|
|
|
+ Serial.print("#138 PWMServoDriver__add I2C_ADDRESS_A["); Serial.print(I2C_ADDRESS_A); Serial.println("] "); Serial.print(" INDEX_NEXT_A["); Serial.print(Adafruit_PWMServoDriver_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_NEXT_A); Serial.print("] REQUEST ?["); Serial.print(ARDUINO_ARRAY_INDEX_DRIVER_REQUEST_A, BIN); Serial.print("] Result?[");
|
|
|
+ ARDUINO_ATTR_ARRAY_S__commit_added_element(Adafruit_PWMServoDriver_ATTR_ARRAY_A , Adafruit_PWMServoDriver_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_NEXT_A) ;
|
|
|
+ Serial.print(" COMMIT() now INDEX_CURR_A["); Serial.print(Adafruit_PWMServoDriver_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_CURRENT_A);
|
|
|
+ Adafruit_PWMServoDriver_A[Adafruit_PWMServoDriver_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_CURRENT_A].Adafruit_PWMServoDriver_V = Adafruit_PWMServoDriver(I2C_ADDRESS_A) ;
|
|
|
|
|
|
Serial.print(" [init OK? ] ");
|
|
|
|
|
|
- Adafruit_PWMServoDriver_A[Adafruit_PWMServoDriver_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_NEXT_A].Adafruit_PWMServoDriver_V.begin() ;
|
|
|
+ Adafruit_PWMServoDriver_A[Adafruit_PWMServoDriver_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_CURRENT_A].Adafruit_PWMServoDriver_V.begin() ;
|
|
|
Serial.print(" [begin OK? ] ");
|
|
|
|
|
|
- Adafruit_PWMServoDriver_A[Adafruit_PWMServoDriver_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_NEXT_A].Adafruit_PWMServoDriver_V.setPWMFreq(PortTypes_PWM_FREQ_DEFAULT) ;
|
|
|
- Serial.print(" [setPWMFreq OK? ] ");
|
|
|
- Adafruit_PWMServoDriver_A[Adafruit_PWMServoDriver_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_NEXT_A].Adafruit_PWMServoDriver_V.setPWM(2, 0, 0) ;
|
|
|
- Adafruit_PWMServoDriver_A[Adafruit_PWMServoDriver_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_NEXT_A].Adafruit_PWMServoDriver_V.setPWM(3, 0, 0) ;
|
|
|
- Serial.print(" [setPWM OK? ] ");
|
|
|
-
|
|
|
-
|
|
|
- Serial.println(" ] ");
|
|
|
+ Adafruit_PWMServoDriver_A[Adafruit_PWMServoDriver_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_CURRENT_A].Adafruit_PWMServoDriver_V.setPWMFreq(PortTypes_PWM_FREQ_DEFAULT) ;
|
|
|
+ /* Serial.print(" [setPWMFreq OFF ] ");
|
|
|
+ Adafruit_PWMServoDriver_A[Adafruit_PWMServoDriver_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_CURRENT_A].Adafruit_PWMServoDriver_V.setPWM(2, 0, 0) ;
|
|
|
+ Adafruit_PWMServoDriver_A[Adafruit_PWMServoDriver_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_CURRENT_A].Adafruit_PWMServoDriver_V.setPWM(3, 0, 0) ;
|
|
|
+ */
|
|
|
+ Serial.println(" [setPWMfreq ON OK? ] ");
|
|
|
+ Adafruit_PWMServoDriver_A[Adafruit_PWMServoDriver_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_CURRENT_A].ARDUINO_ARRAY_INDEX_DRIVER_STATUS_A = ARDUINO_ARRAY_INDEX_DRIVER_STATUS_TO_SETVAL_A;
|
|
|
+ return ARDUINO_ARRAY_INDEX_DRIVER_STATUS_TO_SETVAL_A ;
|
|
|
} else {
|
|
|
|
|
|
|
|
|
@@ -185,7 +194,7 @@ void Adafruit_PWMServoDriver__print_status(Adafruit_PWMServoDriver_T* Adafruit_P
|
|
|
for(i=1;i<=ARDUINO_ARRAY_INDEX_LIMIT_PORTS_I2C ; i++) {
|
|
|
Serial.print(" i["); Serial.print(i);
|
|
|
Serial.print("] I2C_ADDRESS_A["); Serial.print(Adafruit_PWMServoDriver_A[i].I2C_ADDRESS_A);
|
|
|
- Serial.print("] ARDUINO_ARRAY_INDEX_DRIVER_STATUS_A["); Serial.print(Adafruit_PWMServoDriver_A[i].ARDUINO_ARRAY_INDEX_DRIVER_STATUS_A);
|
|
|
+ Serial.print("] ARDUINO_ARRAY_INDEX_DRIVER_STATUS_A["); Serial.print(Adafruit_PWMServoDriver_A[i].ARDUINO_ARRAY_INDEX_DRIVER_STATUS_A, BIN);
|
|
|
Serial.println("] ");
|
|
|
}
|
|
|
//return 1;
|