|
@@ -9,26 +9,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-
|
|
|
|
|
- ARDUINO_ARRAY_INDEX_DRIVER_STATUS_T Adafruit_PWMServoDriver__add(Adafruit_PWMServoDriver_T* Adafruit_PWMServoDriver_A,
|
|
|
|
|
- Adafruit_PWMServoDriver_ATTR_ARRAY_T &Adafruit_PWMServoDriver_ATTR_ARRAY_A ,
|
|
|
|
|
- I2C_ADDRESS_T I2C_ADDRESS_A
|
|
|
|
|
- ) {
|
|
|
|
|
- int i;
|
|
|
|
|
- //int *ptrNumber;
|
|
|
|
|
- for(i=1;i<=ARDUINO_ARRAY_INDEX_LIMIT_PORTS_I2C ; 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 ARDUINO_ARRAY_INDEX_DRIVER_STATUS_TO_INIT_A ;
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- return ARDUINO_ARRAY_INDEX_DRIVER_STATUS_ERROR ;
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
int Adafruit_PWMServoDriver_init_all(Adafruit_PWMServoDriver_T* Adafruit_PWMServoDriver_A) {
|
|
int Adafruit_PWMServoDriver_init_all(Adafruit_PWMServoDriver_T* Adafruit_PWMServoDriver_A) {
|
|
@@ -145,6 +125,60 @@ I2C_ADDRESS_T I2C_ADDRESS_A) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
+
|
|
|
|
|
+ ARDUINO_ARRAY_INDEX_DRIVER_STATUS_T Adafruit_PWMServoDriver__add(Adafruit_PWMServoDriver_T* Adafruit_PWMServoDriver_A,
|
|
|
|
|
+ Adafruit_PWMServoDriver_ATTR_ARRAY_T &Adafruit_PWMServoDriver_ATTR_ARRAY_A ,
|
|
|
|
|
+ I2C_ADDRESS_T I2C_ADDRESS_A, ARDUINO_ARRAY_INDEX_DRIVER_REQUEST_T ARDUINO_ARRAY_INDEX_DRIVER_REQUEST_A
|
|
|
|
|
+
|
|
|
|
|
+ ) {
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ 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(" [init OK? ] ");
|
|
|
|
|
+
|
|
|
|
|
+ Adafruit_PWMServoDriver_A[Adafruit_PWMServoDriver_ATTR_ARRAY_A.ARDUINO_ARRAY_INDEX_NEXT_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(" ] ");
|
|
|
|
|
+ } else {
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ int i;
|
|
|
|
|
+ //int *ptrNumber;
|
|
|
|
|
+ for(i=1;i<=Adafruit_PWMServoDriver_ATTR_ARRAY_A.ARDUINO_ARRAY_COUNT_A ; 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 ARDUINO_ARRAY_INDEX_DRIVER_STATUS_TO_INIT_A ;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ return ARDUINO_ARRAY_INDEX_DRIVER_STATUS_ERROR ;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
void Adafruit_PWMServoDriver__print_status(Adafruit_PWMServoDriver_T* Adafruit_PWMServoDriver_A) {
|
|
void Adafruit_PWMServoDriver__print_status(Adafruit_PWMServoDriver_T* Adafruit_PWMServoDriver_A) {
|
|
|
Serial.println("#99 Adafruit_PWMServoDriver__print_status ");
|
|
Serial.println("#99 Adafruit_PWMServoDriver__print_status ");
|
|
|
ARDUINO_ARRAY_PRIMARY_KET_T i;
|
|
ARDUINO_ARRAY_PRIMARY_KET_T i;
|