Bläddra i källkod

可以读取和下发配置
64字节head buffer(里面有配置长度),最后2字节是head buffer的checksum;
配置的最后4字节是checksum,与head buffer的分开各自算
checksum是前面字节累加和
读取、发送配置有相关交互命令

robbin 2 år sedan
förälder
incheckning
17fea6f657

+ 351 - 112
app/src/main/java/com/example/administrator/wingcool_gt9_apk/Config.java

@@ -89,9 +89,9 @@ public class Config extends AppCompatActivity
     private static final byte GT7 = 0x02;
     private Button mReadCfg;
     private Button mSendCfg;
-    private byte[] mBytes = new byte[1024];
-    private byte[] mSendData = new byte[1024];
-    private String[] mConfigShow = new String[512];
+    private byte[] mBytes = new byte[2048];
+    private byte[] mSendData = new byte[2048];
+    private String[] mConfigShow = new String[2048];
 
     private Context mAlertContext;
 
@@ -116,6 +116,7 @@ public class Config extends AppCompatActivity
     private Context mSaveCfgContext;
 
     private TextView mShow;
+    private EditText edtConfigDataShow;
     private TextView tvVenderID;
 
     //View Sample 定义
@@ -309,7 +310,7 @@ public class Config extends AppCompatActivity
     private EditText mCfg8200,mCfg8201,mCfg8202,mCfg8203,mCfg8204,mCfg8205,mCfg8206,mCfg8207;
     private EditText mCfg8208,mCfg8209,mCfg820A,mCfg820B;
 
-    private ViewPager vpagerCfg;
+    //private ViewPager vpagerCfg;
     private ImageView img_cursor;
     private TextView tvSample;
     private TextView tvModuleSwitch;
@@ -485,6 +486,7 @@ public class Config extends AppCompatActivity
         mReadCfg = (Button) findViewById(R.id.readcfg);
         mSendCfg = (Button) findViewById(R.id.sendcfg);
         mShow = (TextView) findViewById(R.id.show);
+        edtConfigDataShow = (EditText) findViewById(R.id.configdata);
 
         edit_search = (TextView) findViewById(R.id.editsearch);
         edit_text = (EditText) findViewById(R.id.editsearch);
@@ -530,7 +532,7 @@ public class Config extends AppCompatActivity
     }
 
     private void initViewPager() {
-        vpagerCfg = (ViewPager) findViewById(R.id.vpagercfg);
+        //vpagerCfg = (ViewPager) findViewById(R.id.vpagercfg);
 
         tvSample = (TextView) findViewById(R.id.tvsample);
         tvModuleSwitch = (TextView) findViewById(R.id.tvmoduleswitch);
@@ -592,8 +594,8 @@ public class Config extends AppCompatActivity
         listViews.add(viewkeysetting);
         listViews.add(viewhoppingsetting);
         listViews.add(viewcfgram);
-        vpagerCfg.setAdapter(new MyPagerAdapter(listViews));
-        vpagerCfg.setCurrentItem(0);          //设置ViewPager当前页,从0开始算
+        //vpagerCfg.setAdapter(new MyPagerAdapter(listViews));
+        //vpagerCfg.setCurrentItem(0);          //设置ViewPager当前页,从0开始算
 
         tvSample.setOnClickListener(this);
         tvModuleSwitch.setOnClickListener(this);
@@ -605,7 +607,7 @@ public class Config extends AppCompatActivity
         tvHoppingSetting.setOnClickListener(this);
         tvCfgRam.setOnClickListener(this);
 
-        vpagerCfg.addOnPageChangeListener(this);
+        //vpagerCfg.addOnPageChangeListener(this);
     }
 
     //===============================各view中的元素初始化开始===============================================//
@@ -1826,7 +1828,8 @@ public class Config extends AppCompatActivity
 
                 loadFile(uri.getPath().toString());
     */
-
+            edtConfigDataShow.setText(configString);
+    /*
             //value = value.trim();  //去除空格
             configString = configString.replaceAll("0x", ""); //0x转换为没有
             //editdetail.setText(configString.toString()); //buffer.toString())就是读出的内容字符
@@ -1856,6 +1859,8 @@ public class Config extends AppCompatActivity
             }
 
             ReadCfgRam(stringCfgArr);
+    */
+
         }  //end of if (resultCode == Activity.RESULT_OK)
     }
 
@@ -3204,8 +3209,12 @@ public class Config extends AppCompatActivity
         int checksum;
         int checksum2;
         int ichecksumhead;
+        long lchecksum;
+
+        mShow.setText("");
 
         switch (v.getId()) {
+            /*
             case R.id.tvsample:
                 vpagerCfg.setCurrentItem(0);
                 iChooseVPager = 0;
@@ -3242,6 +3251,8 @@ public class Config extends AppCompatActivity
                 vpagerCfg.setCurrentItem(8);
                 iChooseVPager = 8;
                 break;
+
+             */
             case R.id.btnsensorrev:
                 configBuilder.append(edtSensorCH0.getText().toString()+",");
                 configBuilder.append(edtSensorCH1.getText().toString()+",");
@@ -3994,136 +4005,137 @@ public class Config extends AppCompatActivity
                 }
                 //mShow.setText(configBuilder.toString());
 
-                value = configBuilder.toString();
-                //value = mMessage.getText().toString();
+                //send 0x00 to [0x10174],清楚标志
+                mBytes[0] = 0x00;
+                iicWrite32Bits((byte)0x01, (byte)0x01, (byte)0x74, mBytes,0,1);
+                SystemClock.sleep(15);
+
+                //send 0x00 0x00 0x04 0x04 0x08 0x00 to [0x10174],通知GT29XX,send cfg
+                mBytes[0] = 0x00;
+                mBytes[1] = 0x00;
+                mBytes[2] = 0x04;
+                mBytes[3] = 0x04;
+                mBytes[4] = 0x08;
+                mBytes[5] = 0x00;
+                iicWrite32Bits((byte)0x01, (byte)0x01, (byte)0x74, mBytes,0,6);
+
+                //30ms一次轮询[0x10174],如果是0x80,说明GT29XX已准备好,可以send cfg
+                do {
+                    SystemClock.sleep(30);
+                    iicRead32Bits((byte)0x01, (byte)0x01, (byte)0x74, mBytes, 1);
+                }while(mBytes[0] != (byte)0x80);
+
+                //value = configBuilder.toString();
+                value = edtConfigDataShow.getText().toString();
+                value = value.replaceAll("0x", ""); //0x转换为没有
                 stringArr = value.split(",");
 
-                value = value.replace(',', ' '); //逗号转换为空格
+                //value = value.replace(',', ' '); //逗号转换为空格
 
-                value = value.trim();  //去除空格
-                value = value.replaceAll(" ", ""); //逗号转换为空格
+                //value = value.trim();  //去除空格
+                //value = value.replaceAll(" ", ""); //逗号转换为空格
                 //char mTextData[] = value.toCharArray();
-                byte[] mBufferData = new byte[1024];
+                byte[] mBufferData = new byte[2048];
 
                 for (int b = 0; b < stringArr.length; b++) {
                     byte aByte = (byte) Integer.parseInt(stringArr[b], 16);
                     mBufferData[b] = aByte;
                 }
                 //mBufferData = value.getBytes();
-                mSendData = new byte[1024];
+                mSendData = new byte[2048];
 
                 //重新计算checksum
-                if (byProductType == GT7) {
-                    //判断固件是否进入等待配置状态
-                    mBytes[0] = 0;
-                    addressH = (byte)0x80;
-                    addressL = (byte)0x40;
-                    iicRead(addressH,addressL,mBytes,1);
-                    if (mBytes[0] != (byte)0x82)
-                    {
-                        return;
-                    }
 
+                    //head buffer长度为64字节,最后两个字节是checksum,低位在前存放
                     ichecksumhead = 0;
-                    for (int i = 0; i < 2; i++) {
+                    for (int i = 0; i < 62; i++) {
                         int vb = mBufferData[i] & 0xFF;
                         ichecksumhead = ichecksumhead + vb;
                     }
-                    mBufferData[2] = (byte) (256 - ichecksumhead % 256);
 
-                    checksum = 0;
-                    checksum2 = 0;
-                    for (int i = 0; i < 443; i++) {
-                        int vb = mBufferData[i] & 0xFF;
+                    mBufferData[62] = (byte)(ichecksumhead & 0x00ff);
+                    mBufferData[63] = (byte)((ichecksumhead & 0xff00) >> 8);
 
-                        if (i < 212)
-                        {
-                            checksum = checksum + vb;
-                        }
-                        else if (i > 212){
-                            checksum2 = checksum2 + vb;
-                        }
-                    }
+                    //配置长度(不含head buffer长度)
+                    int iconfiglen = (int)(mBufferData[60] & 0xFF) * 256 + (mBufferData[59] & 0xFF);
 
-                    //将checksum填入配置中
-                    //if (checksum % 256 == 0)  //校验和正确
-                    {
-                        mBufferData[212] = (byte) (256 - checksum % 256);
-                        mBufferData[443] = (byte) (256 - checksum2 % 256);
-                        // mShow.setText("Cfg Checksum  re-calculation!");
+                    //计算配置的checksum,不含64字节的head buffer
+                    lchecksum = 0;
+                    for (int i = 64; i < (iconfiglen + 64 - 4); i += 2) {
+                        int vb = ((mBufferData[i + 1] & 0xFF) << 8) + (mBufferData[i] & 0xFF);
+                        lchecksum = lchecksum + vb;
                     }
 
-                    //mSendData = mBufferData;
-                    //mHandler.sendEmptyMessage(DEBUG_MESSAGE_SUCCESS);
-
-                    //扩展命令  0x03,0x01,0x0f,-128,0x47,0x00,0x39,
-                    addressH = (byte)0x80;
-                    addressL = (byte)0x50;
-                    iicWrite(addressH,addressL,mBufferData,0,444);
-                    if (!recallCheck(addressH, addressL,mBufferData,0,444)) {
-                        mShow.setText("Recall check error,Send cfg failed");
-                        // return false;
-                    }
-                    else{
-                        mShow.setText("Recall check success,Send cfg success");
-                    }
-
-                    if (iChooseVPager == 8) {
-                        mCfg8052.setText(Integer.toHexString(mBufferData[2] & 0xff));
-                        mCfg8124.setText(Integer.toHexString(mBufferData[212] & 0xff));
-                        mCfg820B.setText(Integer.toHexString(mBufferData[443] & 0xff));
-                    }
-
-                    //主控下发完配置后写完成
-                    value = "83 00 7D";
-                    stringArr = value.split(" ");
-
-                    addressH = (byte)0x80;
-                    addressL = (byte)0x40;
-
-                    for (int i = 0; i < stringArr.length; i++) {
-                        byte aByte = (byte) Integer.parseInt(stringArr[i], 16);
-                        mBufferData[i] = aByte;
-                    }
-
-                    iicWrite(addressH,addressL,mBufferData,0,3);
-                }else {  //GT9
-
-                    checksum = 0;
-                    for (int i = 0; i < 184; i++) {
-                        int vb = mBufferData[i] & 0xFF;
-                        checksum = checksum + vb;
-
-                    }
+                    mBufferData[iconfiglen + 64 - 4] = (byte)(lchecksum & 0x000000ff);
+                    mBufferData[iconfiglen + 64 - 3] = (byte)((lchecksum & 0x0000ff00) >> 8);
+                    mBufferData[iconfiglen + 64 - 2] = (byte)((lchecksum & 0x00ff0000) >> 16);
+                    mBufferData[iconfiglen + 64 - 1] = (byte)((lchecksum & 0xff000000) >> 24);
+
+                    iicWrite32Bits((byte)0x01, (byte)0x3B, (byte)0x74, mBufferData,0,iconfiglen + 64);
+                    SystemClock.sleep(8);
+
+                    //send 0x00 0x00 0x04 0x05 0x09 0x00 to [0x10174],通知GT29XX,cfg发送完毕
+                    mBytes[0] = 0x00;
+                    mBytes[1] = 0x00;
+                    mBytes[2] = 0x04;
+                    mBytes[3] = 0x05;
+                    mBytes[4] = 0x09;
+                    mBytes[5] = 0x00;
+                    iicWrite32Bits((byte)0x01, (byte)0x01, (byte)0x74, mBytes,0,6);
+
+                    //30ms一次轮询[0x10174],如果是0x80,说明GT29XX已接收配置
+                    do {
+                        SystemClock.sleep(30);
+                        iicRead32Bits((byte)0x01, (byte)0x01, (byte)0x74, mBytes, 1);
+                    }while(mBytes[0] != (byte)0x80);
+
+                    SystemClock.sleep(15);
+
+                    //send 0x00 0x00 0x04 0x06 0x0A 0x00 to [0x10174],通知GT29XX,流程完成
+                    mBytes[0] = 0x00;
+                    mBytes[1] = 0x00;
+                    mBytes[2] = 0x04;
+                    mBytes[3] = 0x06;
+                    mBytes[4] = 0x0A;
+                    mBytes[5] = 0x00;
+                    iicWrite32Bits((byte)0x01, (byte)0x01, (byte)0x74, mBytes,0,6);
+
+                    //30ms一次轮询[0x10174],如果是0x80,说明GT29XX已完成
+                    do {
+                        SystemClock.sleep(30);
+                        iicRead32Bits((byte)0x01, (byte)0x01, (byte)0x74, mBytes, 1);
+                    }while(mBytes[0] != (byte)0x80);
+
+                    mShow.setText("Send cfg success!!");
 
                     //将checksum填入配置中
                     //if (checksum % 256 == 0)  //校验和正确
                     {
-                        mBufferData[184] = (byte) (256 - checksum % 256);
+                        //mBufferData[184] = (byte) (256 - checksum % 256);
                         // mShow.setText("Cfg Checksum  re-calculation!");
                     }
 
                     //更新配置标志位
-                    mBufferData[185] = 0x01;
+                    //mBufferData[185] = 0x01;
 
                     //mSendData = mBufferData;
                     //mHandler.sendEmptyMessage(DEBUG_MESSAGE_SUCCESS);
 
                     //扩展命令  0x03,0x01,0x0f,-128,0x47,0x00,0x39,
-                    addressH = (byte) 0x80;
-                    addressL = (byte) 0x47;
-                    iicWrite(addressH, addressL, mBufferData, 0, 186);
-                    if (!recallCheck(addressH, addressL, mBufferData, 0, 185)) {
-                        mShow.setText("Recall check error,Send cfg failed");
+                    //addressH = (byte) 0x80;
+                    //addressL = (byte) 0x47;
+                    //iicWrite(addressH, addressL, mBufferData, 0, 186);
+                    //if (!recallCheck(addressH, addressL, mBufferData, 0, 185)) {
+                    //    mShow.setText("Recall check error,Send cfg failed");
                         // return false;
-                    } else {
-                        mShow.setText("Recall check success,Send cfg success");
-                    }
+                    //} else {
+                    //    mShow.setText("Recall check success,Send cfg success");
+                    //}
+
+                    //if (iChooseVPager == 8) {
+                    //    mCfg80FF.setText(Integer.toHexString(mBufferData[184] & 0xff));
+                    //}
 
-                    if (iChooseVPager == 8) {
-                        mCfg80FF.setText(Integer.toHexString(mBufferData[184] & 0xff));
-                    }
-                }
                 break;
             case R.id.readcfg:  //read cfg
                 bottonMode = 2;
@@ -4134,6 +4146,89 @@ public class Config extends AppCompatActivity
 
                 if (byProductType == GT9)
                 {
+                    /*
+                    //read [0x10174] = 0x80 or 0x01,表示上条命令已执行完毕,或当前固件处于空闲状态
+                    do {
+                        SystemClock.sleep(1);
+                        iicRead32Bits((byte)0x01, (byte)0x01, (byte)0x74, mBytes, 1);
+                    }while((mBytes[0] != 0x80) && (mBytes[0] != 0x01));
+                    */
+
+                    //send 0x00 0x00 0x04 0x07 0x0B 0x00 to [0x10174],通知GT79XX,要读cfg
+                    mBytes[0] = 0x00;
+                    mBytes[1] = 0x00;
+                    mBytes[2] = 0x04;
+                    mBytes[3] = 0x07;
+                    mBytes[4] = 0x0B;
+                    mBytes[5] = 0x00;
+                    iicWrite32Bits((byte)0x01, (byte)0x01, (byte)0x74, mBytes,0,6);
+
+
+                    //read [0x10175] = 0x80,config is ready
+                    //do {
+                    //    SystemClock.sleep(30);
+                    //    iicRead32Bits((byte)0x01, (byte)0x01, (byte)0x75, mBytes, 1);
+                    //}while(mBytes[0] != (byte)0x80);
+
+                    do {
+                        SystemClock.sleep(30);
+                        iicRead32Bits((byte)0x01, (byte)0x01, (byte)0x74, mBytes, 1);
+                    }while(mBytes[0] != (byte)0x80);
+
+                    //SystemClock.sleep(2);
+
+                    //read buffer [0x13B74]
+                    iicRead32Bits((byte)0x01, (byte)0x3B, (byte)0x74, mBytes, 63);  //read config head
+
+                    int iConfigSize = 64 + (int)(mBytes[60] & 0xFF) * 256 + (mBytes[59] & 0xFF);   //the head lend is 64
+
+                    iicRead32Bits((byte)0x01, (byte)0x3B, (byte)0x74, mBytes, iConfigSize);  //read config
+
+                    for (int i = 0; i < iConfigSize; i++) {
+
+                        int k = mBytes[i] & 0xFF;
+                        checksum =checksum+ k;
+                        String hv = Integer.toHexString(k);
+                        if (hv.length() < 2){
+                            hv = "0" + hv;
+                        }
+                        mConfigShow[i] = hv;
+                        stringBuilder.append("0x" + hv);
+                        stringBuilder.append(",");
+                    }
+
+                    ReadCfgRam(mConfigShow);
+
+                    edtConfigDataShow.setText(stringBuilder.toString());
+
+                    SystemClock.sleep(5);
+
+                    //send 0x00 0x00 0x04 0x08 0x0C 0x00 to [0x10174],通知GT79XX,通信结束
+                    mBytes[0] = 0x00;
+                    mBytes[1] = 0x00;
+                    mBytes[2] = 0x04;
+                    mBytes[3] = 0x08;
+                    mBytes[4] = 0x0C;
+                    mBytes[5] = 0x00;
+                    iicWrite32Bits((byte)0x01, (byte)0x01, (byte)0x74, mBytes, 0, 6);
+
+                    //read [0x10175] = 0x80,config is ready
+                    //do {
+                    //    SystemClock.sleep(30);
+                    //    iicRead32Bits((byte)0x01, (byte)0x01, (byte)0x75, mBytes, 1);
+                    //}while(mBytes[0] != (byte)0x80);
+
+                    do {
+                        SystemClock.sleep(30);
+                        iicRead32Bits((byte)0x01, (byte)0x01, (byte)0x74, mBytes, 1);
+                    }while(mBytes[0] != (byte)0x80);
+
+                    //SystemClock.sleep(2);
+
+                    iicRead32Bits((byte)0x01, (byte)0x00, (byte)0x2B, mBytes, 4);  //read Sensor ID
+                    tvVenderID.setText("VenderID:"+Integer.toString(mBytes[0] & 0xFF));
+
+                    /*
                     addressH = (byte)0x80;
                     addressL = (byte)0x47;
                     iicRead(addressH,addressL,mBytes,186);
@@ -4166,6 +4261,8 @@ public class Config extends AppCompatActivity
                     ReadCfgPlamRestrain(mBytes);
                     ReadCfgKeySetting(mBytes);
                     ReadCfgHoppingSetting(mBytes);
+
+                     */
                 }else{  //GT7
                     addressH = (byte)0x80;
                     addressL = (byte)0x50;
@@ -4199,16 +4296,16 @@ public class Config extends AppCompatActivity
                     }
                 }
 
-                ReadCfgRam(mConfigShow);
+                //ReadCfgRam(mConfigShow);
 
-                addressH = (byte)0x81;
-                if (byProductType == GT7)
-                {
-                    addressH = (byte)0x82;
-                }
-                addressL = (byte)0x40;
-                iicRead(addressH,addressL,mBytes,32);
-                tvVenderID.setText("VenderID:"+Integer.toString(mBytes[10] & 0xFF));
+                //addressH = (byte)0x81;
+                //if (byProductType == GT7)
+                //{
+                //    addressH = (byte)0x82;
+                //}
+                //addressL = (byte)0x40;
+                //iicRead(addressH,addressL,mBytes,32);
+                //tvVenderID.setText("VenderID:"+Integer.toString(mBytes[10] & 0xFF));
 
                 break;
             case R.id.savecfg:
@@ -4426,7 +4523,7 @@ public class Config extends AppCompatActivity
             i = mUsbDeviceConnection.bulkTransfer(mUsbEndpointIn, wBuffer, offset, 0x40, 3000);
 
             if (i != 0x40) {
-                editname.setText("iicWrite Failed");
+                editname.setText("IIC Read Failed!!");
                 return false;
 
             }
@@ -4451,6 +4548,90 @@ public class Config extends AppCompatActivity
         }
         return true;
     }
+
+    //发送命令,使得S8xx可以通过IIC向GT79xx的固定地址读取任意bytes的数据
+    private boolean iicRead32Bits(byte addrfirstbyte,byte addrsecondbyte,byte addrthirdbyte,byte[] wBuffer,int length) {
+
+        int i;
+
+        iicByteData[1] = 0x0f; //7bit:0-read,1-write;other:command
+        //iicByteData[2] = 0x0f; //no command
+        iicByteData[2] = addrfirstbyte;
+        iicByteData[3] = addrsecondbyte;
+        iicByteData[4] = addrthirdbyte;
+        iicByteData[5] = 0x00;
+        iicByteData[6] = 63;  //length 一次接收63个数据
+
+        for (int j = 7; j < 64; j++) {
+            iicByteData[j] = 0x00;
+        }
+
+        int address1 = ((addrsecondbyte & 0xff) << 8);
+        int address2 = addrthirdbyte & 0xff;
+        int address = address1 | address2;
+
+        int sendTimes = length/63;  //预计是向下取整,所以+1
+
+        if ((length % 63) != 0)
+        {
+            sendTimes += 1;   //预计是向下取整,所以+1
+        }
+        //iicByteData[5] = (byte)(length>>8);
+        //iicByteData[6] = (byte)length;  //length 一次接收63个数据
+
+        for (int k = 0; k < sendTimes; k++)
+        {
+            int finalOffset = k*63; //每次只能发57bytes数据
+            int offset = k * 64;
+
+              if(length - (finalOffset ) < 63) {
+
+             iicByteData[6] = (byte) (length - (finalOffset));  //length
+            }
+               else
+              {
+              iicByteData[6] = 63;
+              }
+
+            //发送读取命令
+            i = mUsbDeviceConnection.bulkTransfer(mUsbEndpointOut, iicByteData, 0, 0x40, 100);
+            if (i != 0x40)
+                return false;  //传输失败
+
+            // SystemClock.sleep(1);
+
+            //接收数据
+            // i = mUsbDeviceConnection.bulkTransfer(mUsbEndpointIn, wBuffer, offset, 0x40, 100);
+            i = mUsbDeviceConnection.bulkTransfer(mUsbEndpointIn, wBuffer, offset, 0x40, 100);
+
+            //if (i != 0x40) {
+            if (i != 0x40) {
+                editname.setText("IIC Read Failed!!");
+                return false;
+
+            }
+
+            address = address + 63;
+            iicByteData[3] = (byte)(address>>8);
+            iicByteData[4] = (byte)address;
+        }
+
+        //将report id从数组中去除
+        //byte[] temperBuffer =new byte[length];
+        if(true) {
+            int count1 = 0;
+            for (int k = 0; k < length; k++) {
+                if (k % 63 == 0) {
+                    count1++;
+                }
+
+                wBuffer[k] = wBuffer[k + count1];
+
+            }
+        }
+        return true;
+    }
+
     //发送命令,使得S818可以通过IIC向GT9的固定地址写任意bytes的数据
     private  boolean iicWrite(byte addressHigh,byte addressLow,byte[] wBuffer,int offset,int length) {
         int i;
@@ -4499,6 +4680,64 @@ public class Config extends AppCompatActivity
         return true;
     }
 
+    //发送命令,使得S8xx可以通过IIC向GT79xx的固定地址写任意bytes的数据
+    private  boolean iicWrite32Bits(byte addrfirstbyte,byte addrsecondbyte,byte addrthirdbyte,byte[] wBuffer,int offset, int length) {
+
+        int i;
+
+        iicWriteData[1] = (byte)0x8f; //7bit:0-read,1-write;other:command
+        //iicWriteData[2] = 0x0f; //no command
+        iicWriteData[2] = addrfirstbyte;
+        iicWriteData[3] = addrsecondbyte;
+        iicWriteData[4] = addrthirdbyte;
+        iicWriteData[5] = 0x00;
+        iicWriteData[6] = 63;  //length 一次接收63个数据
+
+        for (int j = 7; j < 64; j++) {
+            iicWriteData[j] = 0x00;
+        }
+
+        //int address1 = ((addressHigh&0xff)<<8);
+        //int address2 = addressLow&0xff;
+        long address = ((long)addrfirstbyte << 16) | ((long)addrsecondbyte << 8) | addrthirdbyte;
+
+        int sendTimes = length/57 + 1;  //预计是向下取整,所以+1
+
+        //iicByteData[5] = (byte)(length>>8);
+        //iicByteData[6] = (byte)length;  //length 一次接收63个数据
+
+        for (int k = 0; k < sendTimes; k++) {
+            int finalOffset = offset + k*57; //每次只能发57bytes数据
+
+            if(length - (finalOffset -offset) < 57) {
+
+                iicWriteData[6] = (byte) (length - (finalOffset -offset));  //length
+            }
+            else
+            {
+                iicWriteData[6] = 0x39;
+            }
+
+            for (int j = 7; j < 64; j++) {
+                iicWriteData[j] = wBuffer[finalOffset + j -7];
+            }
+            i = mUsbDeviceConnection.bulkTransfer(mUsbEndpointOut, iicWriteData, 0, 0x40, 100);
+
+            if (i != 0x40) {
+                editname.setText("iicWrite Failed");
+                return false;
+
+            }
+
+            address = address + 57;
+            iicWriteData[2] = (byte)(address >> 16);
+            iicWriteData[3] = (byte)(address>>8);
+            iicWriteData[4] = (byte)address;
+        }
+
+        return true;
+    }
+
     boolean memCmp(byte[] sBuffer,byte[] dBuffer,int offset,int length) {
         try {
 

+ 37 - 23
app/src/main/res/layout-hdpi/activity_config.xml

@@ -7,6 +7,10 @@
     android:background="#778899"
     tools:context=".Config">
 
+    <ScrollView
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:fillViewport="true">
 
         <LinearLayout
             android:id="@+id/LinearLayout"
@@ -170,19 +174,10 @@
                 android:scaleType="matrix"
                 android:src="@mipmap/line" />
 
-            <android.support.v4.view.ViewPager
-                android:id="@+id/vpagercfg"
-                android:layout_width="match_parent"
-                android:layout_height="match_parent"
-                android:layout_gravity="center"
-                android:layout_weight="1"
-                android:flipInterval="30"
-                android:persistentDrawingCache="animation" />
-
             <LinearLayout
                 android:id="@+id/buttonLinearLayout"
                 android:layout_width="match_parent"
-                android:layout_height="150dp"
+                android:layout_height="match_parent"
                 android:layout_marginTop="1dp"
                 android:background="@android:color/white"
                 android:baselineAligned="false"
@@ -196,18 +191,37 @@
                     android:orientation="vertical"
                     tools:context=".Config">
 
-                    <TextView
-                        android:id="@+id/show"
-                        android:layout_width="match_parent"
-                        android:layout_height="wrap_content"
-                        android:layout_marginStart="8dp"
-                        android:layout_marginTop="8dp"
-                        android:layout_marginEnd="8dp"
-                        android:layout_marginBottom="8dp"
-                        android:ems="10"
-                        android:inputType="textMultiLine"
-                        android:text=""
-                        android:textColor="@color/back_red" />
+
+
+                        <EditText
+                            android:id="@+id/configdata"
+                            android:layout_width="match_parent"
+                            android:layout_height="wrap_content"
+                            android:layout_marginStart="8dp"
+                            android:layout_marginTop="8dp"
+                            android:layout_marginEnd="8dp"
+                            android:layout_marginBottom="8dp"
+                            android:layout_weight="1"
+                            android:ems="10"
+                            android:inputType="textMultiLine"
+                            android:text=""
+                            android:textColor="@color/back_red" />
+
+                        <TextView
+                            android:id="@+id/show"
+                            android:layout_width="match_parent"
+                            android:layout_height="wrap_content"
+                            android:layout_marginStart="8dp"
+                            android:layout_marginTop="8dp"
+                            android:layout_marginEnd="8dp"
+                            android:layout_marginBottom="8dp"
+                            android:layout_weight="2"
+                            android:ems="10"
+                            android:inputType="textMultiLine"
+                            android:text=""
+                            android:textColor="@color/back_red" />
+
+
 
                     <LinearLayout xmlns:tools="http://schemas.android.com/tools"
                         android:id="@+id/SaveCfgLinearLayout"
@@ -296,5 +310,5 @@
                 </LinearLayout>
             </LinearLayout>
         </LinearLayout>
-
+    </ScrollView>
 </android.support.constraint.ConstraintLayout>

+ 37 - 23
app/src/main/res/layout-land-hdpi/activity_config.xml

@@ -7,6 +7,10 @@
     android:background="#778899"
     tools:context=".Config">
 
+    <ScrollView
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:fillViewport="true">
 
         <LinearLayout
             android:id="@+id/LinearLayout"
@@ -170,19 +174,10 @@
                 android:scaleType="matrix"
                 android:src="@mipmap/line" />
 
-            <android.support.v4.view.ViewPager
-                android:id="@+id/vpagercfg"
-                android:layout_width="match_parent"
-                android:layout_height="match_parent"
-                android:layout_gravity="center"
-                android:layout_weight="1"
-                android:flipInterval="30"
-                android:persistentDrawingCache="animation" />
-
             <LinearLayout
                 android:id="@+id/buttonLinearLayout"
                 android:layout_width="match_parent"
-                android:layout_height="150dp"
+                android:layout_height="match_parent"
                 android:layout_marginTop="1dp"
                 android:background="@android:color/white"
                 android:baselineAligned="false"
@@ -196,18 +191,37 @@
                     android:orientation="vertical"
                     tools:context=".Config">
 
-                    <TextView
-                        android:id="@+id/show"
-                        android:layout_width="match_parent"
-                        android:layout_height="wrap_content"
-                        android:layout_marginStart="8dp"
-                        android:layout_marginTop="8dp"
-                        android:layout_marginEnd="8dp"
-                        android:layout_marginBottom="8dp"
-                        android:ems="10"
-                        android:inputType="textMultiLine"
-                        android:text=""
-                        android:textColor="@color/back_red" />
+
+
+                        <EditText
+                            android:id="@+id/configdata"
+                            android:layout_width="match_parent"
+                            android:layout_height="wrap_content"
+                            android:layout_marginStart="8dp"
+                            android:layout_marginTop="8dp"
+                            android:layout_marginEnd="8dp"
+                            android:layout_marginBottom="8dp"
+                            android:layout_weight="1"
+                            android:ems="10"
+                            android:inputType="textMultiLine"
+                            android:text=""
+                            android:textColor="@color/back_red" />
+
+                        <TextView
+                            android:id="@+id/show"
+                            android:layout_width="match_parent"
+                            android:layout_height="wrap_content"
+                            android:layout_marginStart="8dp"
+                            android:layout_marginTop="8dp"
+                            android:layout_marginEnd="8dp"
+                            android:layout_marginBottom="8dp"
+                            android:layout_weight="2"
+                            android:ems="10"
+                            android:inputType="textMultiLine"
+                            android:text=""
+                            android:textColor="@color/back_red" />
+
+
 
                     <LinearLayout xmlns:tools="http://schemas.android.com/tools"
                         android:id="@+id/SaveCfgLinearLayout"
@@ -296,5 +310,5 @@
                 </LinearLayout>
             </LinearLayout>
         </LinearLayout>
-
+    </ScrollView>
 </android.support.constraint.ConstraintLayout>

+ 37 - 23
app/src/main/res/layout-land-mdpi/activity_config.xml

@@ -7,6 +7,10 @@
     android:background="#778899"
     tools:context=".Config">
 
+    <ScrollView
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:fillViewport="true">
 
         <LinearLayout
             android:id="@+id/LinearLayout"
@@ -170,19 +174,10 @@
                 android:scaleType="matrix"
                 android:src="@mipmap/line" />
 
-            <android.support.v4.view.ViewPager
-                android:id="@+id/vpagercfg"
-                android:layout_width="match_parent"
-                android:layout_height="match_parent"
-                android:layout_gravity="center"
-                android:layout_weight="1"
-                android:flipInterval="30"
-                android:persistentDrawingCache="animation" />
-
             <LinearLayout
                 android:id="@+id/buttonLinearLayout"
                 android:layout_width="match_parent"
-                android:layout_height="150dp"
+                android:layout_height="match_parent"
                 android:layout_marginTop="1dp"
                 android:background="@android:color/white"
                 android:baselineAligned="false"
@@ -196,18 +191,37 @@
                     android:orientation="vertical"
                     tools:context=".Config">
 
-                    <TextView
-                        android:id="@+id/show"
-                        android:layout_width="match_parent"
-                        android:layout_height="wrap_content"
-                        android:layout_marginStart="8dp"
-                        android:layout_marginTop="8dp"
-                        android:layout_marginEnd="8dp"
-                        android:layout_marginBottom="8dp"
-                        android:ems="10"
-                        android:inputType="textMultiLine"
-                        android:text=""
-                        android:textColor="@color/back_red" />
+
+
+                        <EditText
+                            android:id="@+id/configdata"
+                            android:layout_width="match_parent"
+                            android:layout_height="wrap_content"
+                            android:layout_marginStart="8dp"
+                            android:layout_marginTop="8dp"
+                            android:layout_marginEnd="8dp"
+                            android:layout_marginBottom="8dp"
+                            android:layout_weight="1"
+                            android:ems="10"
+                            android:inputType="textMultiLine"
+                            android:text=""
+                            android:textColor="@color/back_red" />
+
+                        <TextView
+                            android:id="@+id/show"
+                            android:layout_width="match_parent"
+                            android:layout_height="wrap_content"
+                            android:layout_marginStart="8dp"
+                            android:layout_marginTop="8dp"
+                            android:layout_marginEnd="8dp"
+                            android:layout_marginBottom="8dp"
+                            android:layout_weight="2"
+                            android:ems="10"
+                            android:inputType="textMultiLine"
+                            android:text=""
+                            android:textColor="@color/back_red" />
+
+
 
                     <LinearLayout xmlns:tools="http://schemas.android.com/tools"
                         android:id="@+id/SaveCfgLinearLayout"
@@ -296,5 +310,5 @@
                 </LinearLayout>
             </LinearLayout>
         </LinearLayout>
-
+    </ScrollView>
 </android.support.constraint.ConstraintLayout>

+ 37 - 23
app/src/main/res/layout-land-xhdpi/activity_config.xml

@@ -7,6 +7,10 @@
     android:background="#778899"
     tools:context=".Config">
 
+    <ScrollView
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:fillViewport="true">
 
         <LinearLayout
             android:id="@+id/LinearLayout"
@@ -170,19 +174,10 @@
                 android:scaleType="matrix"
                 android:src="@mipmap/line" />
 
-            <android.support.v4.view.ViewPager
-                android:id="@+id/vpagercfg"
-                android:layout_width="match_parent"
-                android:layout_height="match_parent"
-                android:layout_gravity="center"
-                android:layout_weight="1"
-                android:flipInterval="30"
-                android:persistentDrawingCache="animation" />
-
             <LinearLayout
                 android:id="@+id/buttonLinearLayout"
                 android:layout_width="match_parent"
-                android:layout_height="150dp"
+                android:layout_height="match_parent"
                 android:layout_marginTop="1dp"
                 android:background="@android:color/white"
                 android:baselineAligned="false"
@@ -196,18 +191,37 @@
                     android:orientation="vertical"
                     tools:context=".Config">
 
-                    <TextView
-                        android:id="@+id/show"
-                        android:layout_width="match_parent"
-                        android:layout_height="wrap_content"
-                        android:layout_marginStart="8dp"
-                        android:layout_marginTop="8dp"
-                        android:layout_marginEnd="8dp"
-                        android:layout_marginBottom="8dp"
-                        android:ems="10"
-                        android:inputType="textMultiLine"
-                        android:text=""
-                        android:textColor="@color/back_red" />
+
+
+                        <EditText
+                            android:id="@+id/configdata"
+                            android:layout_width="match_parent"
+                            android:layout_height="wrap_content"
+                            android:layout_marginStart="8dp"
+                            android:layout_marginTop="8dp"
+                            android:layout_marginEnd="8dp"
+                            android:layout_marginBottom="8dp"
+                            android:layout_weight="1"
+                            android:ems="10"
+                            android:inputType="textMultiLine"
+                            android:text=""
+                            android:textColor="@color/back_red" />
+
+                        <TextView
+                            android:id="@+id/show"
+                            android:layout_width="match_parent"
+                            android:layout_height="wrap_content"
+                            android:layout_marginStart="8dp"
+                            android:layout_marginTop="8dp"
+                            android:layout_marginEnd="8dp"
+                            android:layout_marginBottom="8dp"
+                            android:layout_weight="2"
+                            android:ems="10"
+                            android:inputType="textMultiLine"
+                            android:text=""
+                            android:textColor="@color/back_red" />
+
+
 
                     <LinearLayout xmlns:tools="http://schemas.android.com/tools"
                         android:id="@+id/SaveCfgLinearLayout"
@@ -296,5 +310,5 @@
                 </LinearLayout>
             </LinearLayout>
         </LinearLayout>
-
+    </ScrollView>
 </android.support.constraint.ConstraintLayout>

+ 37 - 23
app/src/main/res/layout-land-xxhdpi/activity_config.xml

@@ -7,6 +7,10 @@
     android:background="#778899"
     tools:context=".Config">
 
+    <ScrollView
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:fillViewport="true">
 
         <LinearLayout
             android:id="@+id/LinearLayout"
@@ -170,19 +174,10 @@
                 android:scaleType="matrix"
                 android:src="@mipmap/line" />
 
-            <android.support.v4.view.ViewPager
-                android:id="@+id/vpagercfg"
-                android:layout_width="match_parent"
-                android:layout_height="match_parent"
-                android:layout_gravity="center"
-                android:layout_weight="1"
-                android:flipInterval="30"
-                android:persistentDrawingCache="animation" />
-
             <LinearLayout
                 android:id="@+id/buttonLinearLayout"
                 android:layout_width="match_parent"
-                android:layout_height="150dp"
+                android:layout_height="match_parent"
                 android:layout_marginTop="1dp"
                 android:background="@android:color/white"
                 android:baselineAligned="false"
@@ -196,18 +191,37 @@
                     android:orientation="vertical"
                     tools:context=".Config">
 
-                    <TextView
-                        android:id="@+id/show"
-                        android:layout_width="match_parent"
-                        android:layout_height="wrap_content"
-                        android:layout_marginStart="8dp"
-                        android:layout_marginTop="8dp"
-                        android:layout_marginEnd="8dp"
-                        android:layout_marginBottom="8dp"
-                        android:ems="10"
-                        android:inputType="textMultiLine"
-                        android:text=""
-                        android:textColor="@color/back_red" />
+
+
+                        <EditText
+                            android:id="@+id/configdata"
+                            android:layout_width="match_parent"
+                            android:layout_height="wrap_content"
+                            android:layout_marginStart="8dp"
+                            android:layout_marginTop="8dp"
+                            android:layout_marginEnd="8dp"
+                            android:layout_marginBottom="8dp"
+                            android:layout_weight="1"
+                            android:ems="10"
+                            android:inputType="textMultiLine"
+                            android:text=""
+                            android:textColor="@color/back_red" />
+
+                        <TextView
+                            android:id="@+id/show"
+                            android:layout_width="match_parent"
+                            android:layout_height="wrap_content"
+                            android:layout_marginStart="8dp"
+                            android:layout_marginTop="8dp"
+                            android:layout_marginEnd="8dp"
+                            android:layout_marginBottom="8dp"
+                            android:layout_weight="2"
+                            android:ems="10"
+                            android:inputType="textMultiLine"
+                            android:text=""
+                            android:textColor="@color/back_red" />
+
+
 
                     <LinearLayout xmlns:tools="http://schemas.android.com/tools"
                         android:id="@+id/SaveCfgLinearLayout"
@@ -296,5 +310,5 @@
                 </LinearLayout>
             </LinearLayout>
         </LinearLayout>
-
+    </ScrollView>
 </android.support.constraint.ConstraintLayout>

+ 37 - 23
app/src/main/res/layout-land-xxxhdpi/activity_config.xml

@@ -7,6 +7,10 @@
     android:background="#778899"
     tools:context=".Config">
 
+    <ScrollView
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:fillViewport="true">
 
         <LinearLayout
             android:id="@+id/LinearLayout"
@@ -170,19 +174,10 @@
                 android:scaleType="matrix"
                 android:src="@mipmap/line" />
 
-            <android.support.v4.view.ViewPager
-                android:id="@+id/vpagercfg"
-                android:layout_width="match_parent"
-                android:layout_height="match_parent"
-                android:layout_gravity="center"
-                android:layout_weight="1"
-                android:flipInterval="30"
-                android:persistentDrawingCache="animation" />
-
             <LinearLayout
                 android:id="@+id/buttonLinearLayout"
                 android:layout_width="match_parent"
-                android:layout_height="150dp"
+                android:layout_height="match_parent"
                 android:layout_marginTop="1dp"
                 android:background="@android:color/white"
                 android:baselineAligned="false"
@@ -196,18 +191,37 @@
                     android:orientation="vertical"
                     tools:context=".Config">
 
-                    <TextView
-                        android:id="@+id/show"
-                        android:layout_width="match_parent"
-                        android:layout_height="wrap_content"
-                        android:layout_marginStart="8dp"
-                        android:layout_marginTop="8dp"
-                        android:layout_marginEnd="8dp"
-                        android:layout_marginBottom="8dp"
-                        android:ems="10"
-                        android:inputType="textMultiLine"
-                        android:text=""
-                        android:textColor="@color/back_red" />
+
+
+                        <EditText
+                            android:id="@+id/configdata"
+                            android:layout_width="match_parent"
+                            android:layout_height="wrap_content"
+                            android:layout_marginStart="8dp"
+                            android:layout_marginTop="8dp"
+                            android:layout_marginEnd="8dp"
+                            android:layout_marginBottom="8dp"
+                            android:layout_weight="1"
+                            android:ems="10"
+                            android:inputType="textMultiLine"
+                            android:text=""
+                            android:textColor="@color/back_red" />
+
+                        <TextView
+                            android:id="@+id/show"
+                            android:layout_width="match_parent"
+                            android:layout_height="wrap_content"
+                            android:layout_marginStart="8dp"
+                            android:layout_marginTop="8dp"
+                            android:layout_marginEnd="8dp"
+                            android:layout_marginBottom="8dp"
+                            android:layout_weight="2"
+                            android:ems="10"
+                            android:inputType="textMultiLine"
+                            android:text=""
+                            android:textColor="@color/back_red" />
+
+
 
                     <LinearLayout xmlns:tools="http://schemas.android.com/tools"
                         android:id="@+id/SaveCfgLinearLayout"
@@ -296,5 +310,5 @@
                 </LinearLayout>
             </LinearLayout>
         </LinearLayout>
-
+    </ScrollView>
 </android.support.constraint.ConstraintLayout>

+ 37 - 23
app/src/main/res/layout-land/activity_config.xml

@@ -7,6 +7,10 @@
     android:background="#778899"
     tools:context=".Config">
 
+    <ScrollView
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:fillViewport="true">
 
         <LinearLayout
             android:id="@+id/LinearLayout"
@@ -170,19 +174,10 @@
                 android:scaleType="matrix"
                 android:src="@mipmap/line" />
 
-            <android.support.v4.view.ViewPager
-                android:id="@+id/vpagercfg"
-                android:layout_width="match_parent"
-                android:layout_height="match_parent"
-                android:layout_gravity="center"
-                android:layout_weight="1"
-                android:flipInterval="30"
-                android:persistentDrawingCache="animation" />
-
             <LinearLayout
                 android:id="@+id/buttonLinearLayout"
                 android:layout_width="match_parent"
-                android:layout_height="150dp"
+                android:layout_height="match_parent"
                 android:layout_marginTop="1dp"
                 android:background="@android:color/white"
                 android:baselineAligned="false"
@@ -196,18 +191,37 @@
                     android:orientation="vertical"
                     tools:context=".Config">
 
-                    <TextView
-                        android:id="@+id/show"
-                        android:layout_width="match_parent"
-                        android:layout_height="wrap_content"
-                        android:layout_marginStart="8dp"
-                        android:layout_marginTop="8dp"
-                        android:layout_marginEnd="8dp"
-                        android:layout_marginBottom="8dp"
-                        android:ems="10"
-                        android:inputType="textMultiLine"
-                        android:text=""
-                        android:textColor="@color/back_red" />
+
+
+                        <EditText
+                            android:id="@+id/configdata"
+                            android:layout_width="match_parent"
+                            android:layout_height="wrap_content"
+                            android:layout_marginStart="8dp"
+                            android:layout_marginTop="8dp"
+                            android:layout_marginEnd="8dp"
+                            android:layout_marginBottom="8dp"
+                            android:layout_weight="1"
+                            android:ems="10"
+                            android:inputType="textMultiLine"
+                            android:text=""
+                            android:textColor="@color/back_red" />
+
+                        <TextView
+                            android:id="@+id/show"
+                            android:layout_width="match_parent"
+                            android:layout_height="wrap_content"
+                            android:layout_marginStart="8dp"
+                            android:layout_marginTop="8dp"
+                            android:layout_marginEnd="8dp"
+                            android:layout_marginBottom="8dp"
+                            android:layout_weight="2"
+                            android:ems="10"
+                            android:inputType="textMultiLine"
+                            android:text=""
+                            android:textColor="@color/back_red" />
+
+
 
                     <LinearLayout xmlns:tools="http://schemas.android.com/tools"
                         android:id="@+id/SaveCfgLinearLayout"
@@ -296,5 +310,5 @@
                 </LinearLayout>
             </LinearLayout>
         </LinearLayout>
-
+    </ScrollView>
 </android.support.constraint.ConstraintLayout>

+ 37 - 23
app/src/main/res/layout-mdpi/activity_config.xml

@@ -7,6 +7,10 @@
     android:background="#778899"
     tools:context=".Config">
 
+    <ScrollView
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:fillViewport="true">
 
         <LinearLayout
             android:id="@+id/LinearLayout"
@@ -170,19 +174,10 @@
                 android:scaleType="matrix"
                 android:src="@mipmap/line" />
 
-            <android.support.v4.view.ViewPager
-                android:id="@+id/vpagercfg"
-                android:layout_width="match_parent"
-                android:layout_height="match_parent"
-                android:layout_gravity="center"
-                android:layout_weight="1"
-                android:flipInterval="30"
-                android:persistentDrawingCache="animation" />
-
             <LinearLayout
                 android:id="@+id/buttonLinearLayout"
                 android:layout_width="match_parent"
-                android:layout_height="150dp"
+                android:layout_height="match_parent"
                 android:layout_marginTop="1dp"
                 android:background="@android:color/white"
                 android:baselineAligned="false"
@@ -196,18 +191,37 @@
                     android:orientation="vertical"
                     tools:context=".Config">
 
-                    <TextView
-                        android:id="@+id/show"
-                        android:layout_width="match_parent"
-                        android:layout_height="wrap_content"
-                        android:layout_marginStart="8dp"
-                        android:layout_marginTop="8dp"
-                        android:layout_marginEnd="8dp"
-                        android:layout_marginBottom="8dp"
-                        android:ems="10"
-                        android:inputType="textMultiLine"
-                        android:text=""
-                        android:textColor="@color/back_red" />
+
+
+                        <EditText
+                            android:id="@+id/configdata"
+                            android:layout_width="match_parent"
+                            android:layout_height="wrap_content"
+                            android:layout_marginStart="8dp"
+                            android:layout_marginTop="8dp"
+                            android:layout_marginEnd="8dp"
+                            android:layout_marginBottom="8dp"
+                            android:layout_weight="1"
+                            android:ems="10"
+                            android:inputType="textMultiLine"
+                            android:text=""
+                            android:textColor="@color/back_red" />
+
+                        <TextView
+                            android:id="@+id/show"
+                            android:layout_width="match_parent"
+                            android:layout_height="wrap_content"
+                            android:layout_marginStart="8dp"
+                            android:layout_marginTop="8dp"
+                            android:layout_marginEnd="8dp"
+                            android:layout_marginBottom="8dp"
+                            android:layout_weight="2"
+                            android:ems="10"
+                            android:inputType="textMultiLine"
+                            android:text=""
+                            android:textColor="@color/back_red" />
+
+
 
                     <LinearLayout xmlns:tools="http://schemas.android.com/tools"
                         android:id="@+id/SaveCfgLinearLayout"
@@ -296,5 +310,5 @@
                 </LinearLayout>
             </LinearLayout>
         </LinearLayout>
-
+    </ScrollView>
 </android.support.constraint.ConstraintLayout>

+ 37 - 23
app/src/main/res/layout-xhdpi/activity_config.xml

@@ -7,6 +7,10 @@
     android:background="#778899"
     tools:context=".Config">
 
+    <ScrollView
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:fillViewport="true">
 
         <LinearLayout
             android:id="@+id/LinearLayout"
@@ -170,19 +174,10 @@
                 android:scaleType="matrix"
                 android:src="@mipmap/line" />
 
-            <android.support.v4.view.ViewPager
-                android:id="@+id/vpagercfg"
-                android:layout_width="match_parent"
-                android:layout_height="match_parent"
-                android:layout_gravity="center"
-                android:layout_weight="1"
-                android:flipInterval="30"
-                android:persistentDrawingCache="animation" />
-
             <LinearLayout
                 android:id="@+id/buttonLinearLayout"
                 android:layout_width="match_parent"
-                android:layout_height="150dp"
+                android:layout_height="match_parent"
                 android:layout_marginTop="1dp"
                 android:background="@android:color/white"
                 android:baselineAligned="false"
@@ -196,18 +191,37 @@
                     android:orientation="vertical"
                     tools:context=".Config">
 
-                    <TextView
-                        android:id="@+id/show"
-                        android:layout_width="match_parent"
-                        android:layout_height="wrap_content"
-                        android:layout_marginStart="8dp"
-                        android:layout_marginTop="8dp"
-                        android:layout_marginEnd="8dp"
-                        android:layout_marginBottom="8dp"
-                        android:ems="10"
-                        android:inputType="textMultiLine"
-                        android:text=""
-                        android:textColor="@color/back_red" />
+
+
+                        <EditText
+                            android:id="@+id/configdata"
+                            android:layout_width="match_parent"
+                            android:layout_height="wrap_content"
+                            android:layout_marginStart="8dp"
+                            android:layout_marginTop="8dp"
+                            android:layout_marginEnd="8dp"
+                            android:layout_marginBottom="8dp"
+                            android:layout_weight="1"
+                            android:ems="10"
+                            android:inputType="textMultiLine"
+                            android:text=""
+                            android:textColor="@color/back_red" />
+
+                        <TextView
+                            android:id="@+id/show"
+                            android:layout_width="match_parent"
+                            android:layout_height="wrap_content"
+                            android:layout_marginStart="8dp"
+                            android:layout_marginTop="8dp"
+                            android:layout_marginEnd="8dp"
+                            android:layout_marginBottom="8dp"
+                            android:layout_weight="2"
+                            android:ems="10"
+                            android:inputType="textMultiLine"
+                            android:text=""
+                            android:textColor="@color/back_red" />
+
+
 
                     <LinearLayout xmlns:tools="http://schemas.android.com/tools"
                         android:id="@+id/SaveCfgLinearLayout"
@@ -296,5 +310,5 @@
                 </LinearLayout>
             </LinearLayout>
         </LinearLayout>
-
+    </ScrollView>
 </android.support.constraint.ConstraintLayout>

+ 37 - 23
app/src/main/res/layout-xxhdpi/activity_config.xml

@@ -7,6 +7,10 @@
     android:background="#778899"
     tools:context=".Config">
 
+    <ScrollView
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:fillViewport="true">
 
         <LinearLayout
             android:id="@+id/LinearLayout"
@@ -170,19 +174,10 @@
                 android:scaleType="matrix"
                 android:src="@mipmap/line" />
 
-            <android.support.v4.view.ViewPager
-                android:id="@+id/vpagercfg"
-                android:layout_width="match_parent"
-                android:layout_height="match_parent"
-                android:layout_gravity="center"
-                android:layout_weight="1"
-                android:flipInterval="30"
-                android:persistentDrawingCache="animation" />
-
             <LinearLayout
                 android:id="@+id/buttonLinearLayout"
                 android:layout_width="match_parent"
-                android:layout_height="150dp"
+                android:layout_height="match_parent"
                 android:layout_marginTop="1dp"
                 android:background="@android:color/white"
                 android:baselineAligned="false"
@@ -196,18 +191,37 @@
                     android:orientation="vertical"
                     tools:context=".Config">
 
-                    <TextView
-                        android:id="@+id/show"
-                        android:layout_width="match_parent"
-                        android:layout_height="wrap_content"
-                        android:layout_marginStart="8dp"
-                        android:layout_marginTop="8dp"
-                        android:layout_marginEnd="8dp"
-                        android:layout_marginBottom="8dp"
-                        android:ems="10"
-                        android:inputType="textMultiLine"
-                        android:text=""
-                        android:textColor="@color/back_red" />
+
+
+                        <EditText
+                            android:id="@+id/configdata"
+                            android:layout_width="match_parent"
+                            android:layout_height="wrap_content"
+                            android:layout_marginStart="8dp"
+                            android:layout_marginTop="8dp"
+                            android:layout_marginEnd="8dp"
+                            android:layout_marginBottom="8dp"
+                            android:layout_weight="1"
+                            android:ems="10"
+                            android:inputType="textMultiLine"
+                            android:text=""
+                            android:textColor="@color/back_red" />
+
+                        <TextView
+                            android:id="@+id/show"
+                            android:layout_width="match_parent"
+                            android:layout_height="wrap_content"
+                            android:layout_marginStart="8dp"
+                            android:layout_marginTop="8dp"
+                            android:layout_marginEnd="8dp"
+                            android:layout_marginBottom="8dp"
+                            android:layout_weight="2"
+                            android:ems="10"
+                            android:inputType="textMultiLine"
+                            android:text=""
+                            android:textColor="@color/back_red" />
+
+
 
                     <LinearLayout xmlns:tools="http://schemas.android.com/tools"
                         android:id="@+id/SaveCfgLinearLayout"
@@ -296,5 +310,5 @@
                 </LinearLayout>
             </LinearLayout>
         </LinearLayout>
-
+    </ScrollView>
 </android.support.constraint.ConstraintLayout>

+ 37 - 23
app/src/main/res/layout-xxxhdpi/activity_config.xml

@@ -7,6 +7,10 @@
     android:background="#778899"
     tools:context=".Config">
 
+    <ScrollView
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:fillViewport="true">
 
         <LinearLayout
             android:id="@+id/LinearLayout"
@@ -170,19 +174,10 @@
                 android:scaleType="matrix"
                 android:src="@mipmap/line" />
 
-            <android.support.v4.view.ViewPager
-                android:id="@+id/vpagercfg"
-                android:layout_width="match_parent"
-                android:layout_height="match_parent"
-                android:layout_gravity="center"
-                android:layout_weight="1"
-                android:flipInterval="30"
-                android:persistentDrawingCache="animation" />
-
             <LinearLayout
                 android:id="@+id/buttonLinearLayout"
                 android:layout_width="match_parent"
-                android:layout_height="150dp"
+                android:layout_height="match_parent"
                 android:layout_marginTop="1dp"
                 android:background="@android:color/white"
                 android:baselineAligned="false"
@@ -196,18 +191,37 @@
                     android:orientation="vertical"
                     tools:context=".Config">
 
-                    <TextView
-                        android:id="@+id/show"
-                        android:layout_width="match_parent"
-                        android:layout_height="wrap_content"
-                        android:layout_marginStart="8dp"
-                        android:layout_marginTop="8dp"
-                        android:layout_marginEnd="8dp"
-                        android:layout_marginBottom="8dp"
-                        android:ems="10"
-                        android:inputType="textMultiLine"
-                        android:text=""
-                        android:textColor="@color/back_red" />
+
+
+                        <EditText
+                            android:id="@+id/configdata"
+                            android:layout_width="match_parent"
+                            android:layout_height="wrap_content"
+                            android:layout_marginStart="8dp"
+                            android:layout_marginTop="8dp"
+                            android:layout_marginEnd="8dp"
+                            android:layout_marginBottom="8dp"
+                            android:layout_weight="1"
+                            android:ems="10"
+                            android:inputType="textMultiLine"
+                            android:text=""
+                            android:textColor="@color/back_red" />
+
+                        <TextView
+                            android:id="@+id/show"
+                            android:layout_width="match_parent"
+                            android:layout_height="wrap_content"
+                            android:layout_marginStart="8dp"
+                            android:layout_marginTop="8dp"
+                            android:layout_marginEnd="8dp"
+                            android:layout_marginBottom="8dp"
+                            android:layout_weight="2"
+                            android:ems="10"
+                            android:inputType="textMultiLine"
+                            android:text=""
+                            android:textColor="@color/back_red" />
+
+
 
                     <LinearLayout xmlns:tools="http://schemas.android.com/tools"
                         android:id="@+id/SaveCfgLinearLayout"
@@ -296,5 +310,5 @@
                 </LinearLayout>
             </LinearLayout>
         </LinearLayout>
-
+    </ScrollView>
 </android.support.constraint.ConstraintLayout>

+ 37 - 23
app/src/main/res/layout/activity_config.xml

@@ -7,6 +7,10 @@
     android:background="#778899"
     tools:context=".Config">
 
+    <ScrollView
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:fillViewport="true">
 
         <LinearLayout
             android:id="@+id/LinearLayout"
@@ -170,19 +174,10 @@
                 android:scaleType="matrix"
                 android:src="@mipmap/line" />
 
-            <android.support.v4.view.ViewPager
-                android:id="@+id/vpagercfg"
-                android:layout_width="match_parent"
-                android:layout_height="match_parent"
-                android:layout_gravity="center"
-                android:layout_weight="1"
-                android:flipInterval="30"
-                android:persistentDrawingCache="animation" />
-
             <LinearLayout
                 android:id="@+id/buttonLinearLayout"
                 android:layout_width="match_parent"
-                android:layout_height="150dp"
+                android:layout_height="match_parent"
                 android:layout_marginTop="1dp"
                 android:background="@android:color/white"
                 android:baselineAligned="false"
@@ -196,18 +191,37 @@
                     android:orientation="vertical"
                     tools:context=".Config">
 
-                    <TextView
-                        android:id="@+id/show"
-                        android:layout_width="match_parent"
-                        android:layout_height="wrap_content"
-                        android:layout_marginStart="8dp"
-                        android:layout_marginTop="8dp"
-                        android:layout_marginEnd="8dp"
-                        android:layout_marginBottom="8dp"
-                        android:ems="10"
-                        android:inputType="textMultiLine"
-                        android:text=""
-                        android:textColor="@color/back_red" />
+
+
+                        <EditText
+                            android:id="@+id/configdata"
+                            android:layout_width="match_parent"
+                            android:layout_height="wrap_content"
+                            android:layout_marginStart="8dp"
+                            android:layout_marginTop="8dp"
+                            android:layout_marginEnd="8dp"
+                            android:layout_marginBottom="8dp"
+                            android:layout_weight="1"
+                            android:ems="10"
+                            android:inputType="textMultiLine"
+                            android:text=""
+                            android:textColor="@color/back_red" />
+
+                        <TextView
+                            android:id="@+id/show"
+                            android:layout_width="match_parent"
+                            android:layout_height="wrap_content"
+                            android:layout_marginStart="8dp"
+                            android:layout_marginTop="8dp"
+                            android:layout_marginEnd="8dp"
+                            android:layout_marginBottom="8dp"
+                            android:layout_weight="2"
+                            android:ems="10"
+                            android:inputType="textMultiLine"
+                            android:text=""
+                            android:textColor="@color/back_red" />
+
+
 
                     <LinearLayout xmlns:tools="http://schemas.android.com/tools"
                         android:id="@+id/SaveCfgLinearLayout"
@@ -296,5 +310,5 @@
                 </LinearLayout>
             </LinearLayout>
         </LinearLayout>
-
+    </ScrollView>
 </android.support.constraint.ConstraintLayout>

+ 1 - 1
app/src/main/res/values-en/strings.xml

@@ -105,7 +105,7 @@
     <string name="companyaddr">Address:Room 2008, Chuangxingda Business Building, No.36 Liuxian 3rd Road, Baoan District, Shenzhen</string>
     <string name="telephonenum">Telephone:186 8896 1937</string>
     <string name="emailaddr">Email:max@wingcool.cn</string>
-    <string name="version">APK Version:v3.0.0_20220310-Debug Version</string>
+    <string name="version">APK Version:v3.0.0_20220907-Debug Version</string>
 
     <!-- other -->
     <string name="app_name">WingCoolAPK</string>

+ 1 - 1
app/src/main/res/values/strings.xml

@@ -105,7 +105,7 @@
     <string name="companyaddr">地址:深圳市宝安区留仙三路 36 号创兴达商务大厦 2008 室</string>
     <string name="telephonenum">电话:186 8896 1937</string>
     <string name="emailaddr">邮箱:max@wingcool.cn</string>
-    <string name="version">APK版本:v3.0.0_20220310-debug版本</string>
+    <string name="version">APK版本:v3.0.0_20220907-debug版本</string>
 
     <!-- other -->
     <string name="app_name">WingCoolAPK</string>