YKNCT / YKNCT_I2C_lib

Dependents:   arim_AutoMachine

Revision:
23:c4ba54d8f740
Parent:
22:a58cf4376400
Child:
25:0e92864e622a
Child:
26:f0d84248b3c1
--- a/YKNCT_I2C.cpp	Sat May 11 12:50:28 2019 +0000
+++ b/YKNCT_I2C.cpp	Sat May 18 06:56:07 2019 +0000
@@ -16,17 +16,17 @@
     int ad_cnt=0; //同じアドレスの数を保存する
     while(cnt<MAX) {
         char data=0;
-        int tmp_address=(OUT_I2C_Data+cnt)->DevAddress;
+        int tmp_address=(OUT_I2C_Data+cnt)->DevAddress+0x3B;
         
         //同じアドレスの数を数える
         for(ad_cnt=0;; ad_cnt++) {
-            if(tmp_address!=(OUT_I2C_Data+cnt+ad_cnt)->DevAddress)
+            if(tmp_address!=(OUT_I2C_Data+cnt+ad_cnt)->DevAddress+0x3B)
                 break;
         }
         //一枚の基板に出力するデータを格納する
         for(int j=0; j<ad_cnt; j++) data|=(OUT_I2C_Data+cnt+j)->out_data<<j;
 
-        i2c.write((OUT_I2C_Data+cnt)->DevAddress<<1, &data, 1);
+        i2c.write(((OUT_I2C_Data+cnt)->DevAddress+0x3B)<<1, &data, 1);
         cnt+=ad_cnt;
     }
 }
@@ -52,7 +52,7 @@
                 //16bitのpulse2つを8bitづつに分けてdataに保存する
                 data[j]=(SERVO_I2C_Data+i*2+j/2)->pulse>>(1-j%2)*8;
         }
-        i2c.write((SERVO_I2C_Data+i)->DevAddress<<1, data, 4);
+        i2c.write(((SERVO_I2C_Data+i)->DevAddress+0x5D)<<1, data, 4);
     }
 }
 
@@ -61,7 +61,7 @@
     char data;
     uint8_t array=(IN_I2C_Data+num)->Number;
 
-    i2c.read((IN_I2C_Data+num)->DevAddress<<1, &data, 1);
+    i2c.read(((IN_I2C_Data+num)->DevAddress+0x19)<<1, &data, 1);
 
     (IN_I2C_Data+num)->in_data=data&1<<array;
 }
@@ -71,7 +71,7 @@
     char data[8]= {0};
     uint8_t array=(ADC_I2C_Data+num)->Number;
 
-    i2c.read((ADC_I2C_Data+num) -> DevAddress<<1, data, 8);
+    i2c.read(((ADC_I2C_Data+num) -> DevAddress+0x30)<<1, data, 8);
 
     (ADC_I2C_Data+num)->adc_data=data[array*2+1]<<8|data[array*2];
 }
@@ -80,7 +80,7 @@
 {
     char data[4]= {0};
 
-    i2c.read(((ENC_I2C_Data+num) -> DevAddress+60)<<1, data, 4);
+    i2c.read(((ENC_I2C_Data+num) -> DevAddress+0x4C)<<1, data, 4);
 
     (ENC_I2C_Data+num)->enc_data=data[3]<<24|data[2]<<16|data[1]<<8|data[0];
 }