Procházet zdrojové kódy

能成功读取配置,扩展配置还没做显示;
还不能发送配置,发送之后不成功。

robbin před 4 roky
rodič
revize
37e1fdc001

+ 1 - 1
.idea/misc.xml

@@ -29,7 +29,7 @@
       </value>
     </option>
   </component>
-  <component name="ProjectRootManager" version="2" languageLevel="JDK_1_7" project-jdk-name="1.8" project-jdk-type="JavaSDK">
+  <component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="1.8" project-jdk-type="JavaSDK">
     <output url="file://$PROJECT_DIR$/build/classes" />
   </component>
   <component name="ProjectType">

+ 367 - 90
app/src/main/java/com/example/administrator/wingcool_gt9_apk/Config.java

@@ -85,7 +85,7 @@ public class Config extends AppCompatActivity
     private Button mSendCfg;
     private byte[] mBytes = new byte[1024];
     private byte[] mSendData = new byte[1024];
-    private String[] mConfigShow = new String[189];
+    private String[] mConfigShow = new String[400];
 
     private Context mAlertContext;
 
@@ -216,8 +216,6 @@ public class Config extends AppCompatActivity
     private EditText edtHopDetectTimes;
 
     //View Cfg Ram 定义
-    private EditText mCfg8047,mCfg8048,mCfg8049,mCfg804A,mCfg804B,mCfg804C,mCfg804D,mCfg804E,mCfg804F;
-
     private EditText mCfg8050,mCfg8051,mCfg8052,mCfg8053,mCfg8054,mCfg8055,mCfg8056,mCfg8057;
     private EditText mCfg8058,mCfg8059,mCfg805A,mCfg805B,mCfg805C,mCfg805D,mCfg805E,mCfg805F;
 
@@ -250,7 +248,18 @@ public class Config extends AppCompatActivity
 
     private EditText mCfg80F0,mCfg80F1,mCfg80F2,mCfg80F3,mCfg80F4,mCfg80F5,mCfg80F6,mCfg80F7;
     private EditText mCfg80F8,mCfg80F9,mCfg80FA,mCfg80FB,mCfg80FC,mCfg80FD,mCfg80FE,mCfg80FF;
-    private EditText mCfg8100;
+
+    private EditText mCfg8100,mCfg8101,mCfg8102,mCfg8103,mCfg8104,mCfg8105,mCfg8106,mCfg8107;
+    private EditText mCfg8108,mCfg8109,mCfg810A,mCfg810B,mCfg810C,mCfg810D,mCfg810E,mCfg810F;
+
+    private EditText mCfg8110,mCfg8111,mCfg8112,mCfg8113,mCfg8114,mCfg8115,mCfg8116,mCfg8117;
+    private EditText mCfg8118,mCfg8119,mCfg811A,mCfg811B,mCfg811C,mCfg811D,mCfg811E,mCfg811F;
+
+    private EditText mCfg8120,mCfg8121,mCfg8122,mCfg8123,mCfg8124,mCfg8125,mCfg8126,mCfg8127;
+    private EditText mCfg8128,mCfg8129,mCfg812A,mCfg812B,mCfg812C,mCfg812D,mCfg812E,mCfg812F;
+
+    private EditText mCfg8130,mCfg8131,mCfg8132,mCfg8133,mCfg8134,mCfg8135,mCfg8136,mCfg8137;
+    private EditText mCfg8138,mCfg8139,mCfg813A,mCfg813B,mCfg813C,mCfg813D,mCfg813E,mCfg813F;
 
     private ViewPager vpagerCfg;
     private ImageView img_cursor;
@@ -289,7 +298,7 @@ public class Config extends AppCompatActivity
     private int iChooseVPager = 0; //当前停在哪个vpager
 
     private byte mSendGetGt9ConfigData[]={
-            0x03,0x00,0x0f,(byte)0x80,0x47,0x00,0x3f,0x00,
+            0x03,0x00,0x0f,(byte)0x80,0x50,0x00,0x3f,0x00,
             0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
             0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
             0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
@@ -1077,16 +1086,6 @@ public class Config extends AppCompatActivity
 
     //Cfg Ram 定义
     private void initCfgShow() {
-        mCfg8047 = viewcfgram.findViewById(R.id.cfg8047);
-        mCfg8048 = viewcfgram.findViewById(R.id.cfg8048);
-        mCfg8049 = viewcfgram.findViewById(R.id.cfg8049);
-        mCfg804A = viewcfgram.findViewById(R.id.cfg804A);
-        mCfg804B = viewcfgram.findViewById(R.id.cfg804B);
-        mCfg804C = viewcfgram.findViewById(R.id.cfg804C);
-        mCfg804D = viewcfgram.findViewById(R.id.cfg804D);
-        mCfg804E = viewcfgram.findViewById(R.id.cfg804E);
-        mCfg804F = viewcfgram.findViewById(R.id.cfg804F);
-
         mCfg8050 = viewcfgram.findViewById(R.id.cfg8050);
         mCfg8051 = viewcfgram.findViewById(R.id.cfg8051);
         mCfg8052 = viewcfgram.findViewById(R.id.cfg8052);
@@ -1275,6 +1274,72 @@ public class Config extends AppCompatActivity
         mCfg80FF = viewcfgram.findViewById(R.id.cfg80FF);
 
         mCfg8100 = viewcfgram.findViewById(R.id.cfg8100);
+        mCfg8101 = viewcfgram.findViewById(R.id.cfg8101);
+        mCfg8102 = viewcfgram.findViewById(R.id.cfg8102);
+        mCfg8103 = viewcfgram.findViewById(R.id.cfg8103);
+        mCfg8104 = viewcfgram.findViewById(R.id.cfg8104);
+        mCfg8105 = viewcfgram.findViewById(R.id.cfg8105);
+        mCfg8106 = viewcfgram.findViewById(R.id.cfg8106);
+        mCfg8107 = viewcfgram.findViewById(R.id.cfg8107);
+        mCfg8108 = viewcfgram.findViewById(R.id.cfg8108);
+        mCfg8109 = viewcfgram.findViewById(R.id.cfg8109);
+        mCfg810A = viewcfgram.findViewById(R.id.cfg810A);
+        mCfg810B = viewcfgram.findViewById(R.id.cfg810B);
+        mCfg810C = viewcfgram.findViewById(R.id.cfg810C);
+        mCfg810D = viewcfgram.findViewById(R.id.cfg810D);
+        mCfg810E = viewcfgram.findViewById(R.id.cfg810E);
+        mCfg810F = viewcfgram.findViewById(R.id.cfg810F);
+
+        mCfg8110 = viewcfgram.findViewById(R.id.cfg8110);
+        mCfg8111 = viewcfgram.findViewById(R.id.cfg8111);
+        mCfg8112 = viewcfgram.findViewById(R.id.cfg8112);
+        mCfg8113 = viewcfgram.findViewById(R.id.cfg8113);
+        mCfg8114 = viewcfgram.findViewById(R.id.cfg8114);
+        mCfg8115 = viewcfgram.findViewById(R.id.cfg8115);
+        mCfg8116 = viewcfgram.findViewById(R.id.cfg8116);
+        mCfg8117 = viewcfgram.findViewById(R.id.cfg8117);
+        mCfg8118 = viewcfgram.findViewById(R.id.cfg8118);
+        mCfg8119 = viewcfgram.findViewById(R.id.cfg8119);
+        mCfg811A = viewcfgram.findViewById(R.id.cfg811A);
+        mCfg811B = viewcfgram.findViewById(R.id.cfg811B);
+        mCfg811C = viewcfgram.findViewById(R.id.cfg811C);
+        mCfg811D = viewcfgram.findViewById(R.id.cfg811D);
+        mCfg811E = viewcfgram.findViewById(R.id.cfg811E);
+        mCfg811F = viewcfgram.findViewById(R.id.cfg811F);
+
+        mCfg8120 = viewcfgram.findViewById(R.id.cfg8120);
+        mCfg8121 = viewcfgram.findViewById(R.id.cfg8121);
+        mCfg8122 = viewcfgram.findViewById(R.id.cfg8122);
+        mCfg8123 = viewcfgram.findViewById(R.id.cfg8123);
+        mCfg8124 = viewcfgram.findViewById(R.id.cfg8124);
+        mCfg8125 = viewcfgram.findViewById(R.id.cfg8125);
+        mCfg8126 = viewcfgram.findViewById(R.id.cfg8126);
+        mCfg8127 = viewcfgram.findViewById(R.id.cfg8127);
+        mCfg8128 = viewcfgram.findViewById(R.id.cfg8128);
+        mCfg8129 = viewcfgram.findViewById(R.id.cfg8129);
+        mCfg812A = viewcfgram.findViewById(R.id.cfg812A);
+        mCfg812B = viewcfgram.findViewById(R.id.cfg812B);
+        mCfg812C = viewcfgram.findViewById(R.id.cfg812C);
+        mCfg812D = viewcfgram.findViewById(R.id.cfg812D);
+        mCfg812E = viewcfgram.findViewById(R.id.cfg812E);
+        mCfg812F = viewcfgram.findViewById(R.id.cfg812F);
+
+        mCfg8130 = viewcfgram.findViewById(R.id.cfg8130);
+        mCfg8131 = viewcfgram.findViewById(R.id.cfg8131);
+        mCfg8132 = viewcfgram.findViewById(R.id.cfg8132);
+        mCfg8133 = viewcfgram.findViewById(R.id.cfg8133);
+        mCfg8134 = viewcfgram.findViewById(R.id.cfg8134);
+        mCfg8135 = viewcfgram.findViewById(R.id.cfg8135);
+        mCfg8136 = viewcfgram.findViewById(R.id.cfg8136);
+        mCfg8137 = viewcfgram.findViewById(R.id.cfg8137);
+        mCfg8138 = viewcfgram.findViewById(R.id.cfg8138);
+        mCfg8139 = viewcfgram.findViewById(R.id.cfg8139);
+        mCfg813A = viewcfgram.findViewById(R.id.cfg813A);
+        mCfg813B = viewcfgram.findViewById(R.id.cfg813B);
+        mCfg813C = viewcfgram.findViewById(R.id.cfg813C);
+        mCfg813D = viewcfgram.findViewById(R.id.cfg813D);
+        mCfg813E = viewcfgram.findViewById(R.id.cfg813E);
+        mCfg813F = viewcfgram.findViewById(R.id.cfg813F);
     }
     //===============================各view中的元素初始化结束===============================================//
 
@@ -2308,16 +2373,6 @@ public class Config extends AppCompatActivity
     public void ReadCfgRam(String[] mConfigShow){
         int showid = 0;
 
-        mCfg8047.setText(mConfigShow[showid++]);
-        mCfg8048.setText(mConfigShow[showid++]);
-        mCfg8049.setText(mConfigShow[showid++]);
-        mCfg804A.setText(mConfigShow[showid++]);
-        mCfg804B.setText(mConfigShow[showid++]);
-        mCfg804C.setText(mConfigShow[showid++]);
-        mCfg804D.setText(mConfigShow[showid++]);
-        mCfg804E.setText(mConfigShow[showid++]);
-        mCfg804F.setText(mConfigShow[showid++]);//9
-
         mCfg8050.setText(mConfigShow[showid++]);
         mCfg8051.setText(mConfigShow[showid++]);
         mCfg8052.setText(mConfigShow[showid++]);
@@ -2333,7 +2388,7 @@ public class Config extends AppCompatActivity
         mCfg805C.setText(mConfigShow[showid++]);
         mCfg805D.setText(mConfigShow[showid++]);
         mCfg805E.setText(mConfigShow[showid++]);
-        mCfg805F.setText(mConfigShow[showid++]);//25
+        mCfg805F.setText(mConfigShow[showid++]);
 
         mCfg8060.setText(mConfigShow[showid++]);
         mCfg8061.setText(mConfigShow[showid++]);
@@ -2350,7 +2405,7 @@ public class Config extends AppCompatActivity
         mCfg806C.setText(mConfigShow[showid++]);
         mCfg806D.setText(mConfigShow[showid++]);
         mCfg806E.setText(mConfigShow[showid++]);
-        mCfg806F.setText(mConfigShow[showid++]);//41
+        mCfg806F.setText(mConfigShow[showid++]);
 
         mCfg8070.setText(mConfigShow[showid++]);
         mCfg8071.setText(mConfigShow[showid++]);
@@ -2367,16 +2422,15 @@ public class Config extends AppCompatActivity
         mCfg807C.setText(mConfigShow[showid++]);
         mCfg807D.setText(mConfigShow[showid++]);
         mCfg807E.setText(mConfigShow[showid++]);
-        mCfg807F.setText(mConfigShow[showid++]);//57
+        mCfg807F.setText(mConfigShow[showid++]);
 
         mCfg8080.setText(mConfigShow[showid++]);
         mCfg8081.setText(mConfigShow[showid++]);
         mCfg8082.setText(mConfigShow[showid++]);
         mCfg8083.setText(mConfigShow[showid++]);
         mCfg8084.setText(mConfigShow[showid++]);
-        mCfg8085.setText(mConfigShow[showid++]);//63
-        //showid++;
-        mCfg8086.setText(mConfigShow[showid++]);//65
+        mCfg8085.setText(mConfigShow[showid++]);
+        mCfg8086.setText(mConfigShow[showid++]);
         mCfg8087.setText(mConfigShow[showid++]);
         mCfg8088.setText(mConfigShow[showid++]);
         mCfg8089.setText(mConfigShow[showid++]);
@@ -2385,7 +2439,7 @@ public class Config extends AppCompatActivity
         mCfg808C.setText(mConfigShow[showid++]);
         mCfg808D.setText(mConfigShow[showid++]);
         mCfg808E.setText(mConfigShow[showid++]);
-        mCfg808F.setText(mConfigShow[showid++]);//74
+        mCfg808F.setText(mConfigShow[showid++]);
 
         mCfg8090.setText(mConfigShow[showid++]);
         mCfg8091.setText(mConfigShow[showid++]);
@@ -2402,7 +2456,7 @@ public class Config extends AppCompatActivity
         mCfg809C.setText(mConfigShow[showid++]);
         mCfg809D.setText(mConfigShow[showid++]);
         mCfg809E.setText(mConfigShow[showid++]);
-        mCfg809F.setText(mConfigShow[showid++]);//90
+        mCfg809F.setText(mConfigShow[showid++]);
 
         mCfg80A0.setText(mConfigShow[showid++]);
         mCfg80A1.setText(mConfigShow[showid++]);
@@ -2419,7 +2473,7 @@ public class Config extends AppCompatActivity
         mCfg80AC.setText(mConfigShow[showid++]);
         mCfg80AD.setText(mConfigShow[showid++]);
         mCfg80AE.setText(mConfigShow[showid++]);
-        mCfg80AF.setText(mConfigShow[showid++]);//106
+        mCfg80AF.setText(mConfigShow[showid++]);
 
         mCfg80B0.setText(mConfigShow[showid++]);
         mCfg80B1.setText(mConfigShow[showid++]);
@@ -2436,15 +2490,14 @@ public class Config extends AppCompatActivity
         mCfg80BC.setText(mConfigShow[showid++]);
         mCfg80BD.setText(mConfigShow[showid++]);
         mCfg80BE.setText(mConfigShow[showid++]);
-        mCfg80BF.setText(mConfigShow[showid++]);//122
+        mCfg80BF.setText(mConfigShow[showid++]);
 
         mCfg80C0.setText(mConfigShow[showid++]);
         mCfg80C1.setText(mConfigShow[showid++]);
         mCfg80C2.setText(mConfigShow[showid++]);
         mCfg80C3.setText(mConfigShow[showid++]);
-        mCfg80C4.setText(mConfigShow[showid++]);//127
-        //showid++;
-        mCfg80C5.setText(mConfigShow[showid++]);//129
+        mCfg80C4.setText(mConfigShow[showid++]);
+        mCfg80C5.setText(mConfigShow[showid++]);
         mCfg80C6.setText(mConfigShow[showid++]);
         mCfg80C7.setText(mConfigShow[showid++]);
         mCfg80C8.setText(mConfigShow[showid++]);
@@ -2454,7 +2507,7 @@ public class Config extends AppCompatActivity
         mCfg80CC.setText(mConfigShow[showid++]);
         mCfg80CD.setText(mConfigShow[showid++]);
         mCfg80CE.setText(mConfigShow[showid++]);
-        mCfg80CF.setText(mConfigShow[showid++]);//139
+        mCfg80CF.setText(mConfigShow[showid++]);
 
         mCfg80D0.setText(mConfigShow[showid++]);
         mCfg80D1.setText(mConfigShow[showid++]);
@@ -2471,7 +2524,7 @@ public class Config extends AppCompatActivity
         mCfg80DC.setText(mConfigShow[showid++]);
         mCfg80DD.setText(mConfigShow[showid++]);
         mCfg80DE.setText(mConfigShow[showid++]);
-        mCfg80DF.setText(mConfigShow[showid++]);//155
+        mCfg80DF.setText(mConfigShow[showid++]);
 
         mCfg80E0.setText(mConfigShow[showid++]);
         mCfg80E1.setText(mConfigShow[showid++]);
@@ -2488,7 +2541,7 @@ public class Config extends AppCompatActivity
         mCfg80EC.setText(mConfigShow[showid++]);
         mCfg80ED.setText(mConfigShow[showid++]);
         mCfg80EE.setText(mConfigShow[showid++]);
-        mCfg80EF.setText(mConfigShow[showid++]);//171
+        mCfg80EF.setText(mConfigShow[showid++]);
 
         mCfg80F0.setText(mConfigShow[showid++]);
         mCfg80F1.setText(mConfigShow[showid++]);
@@ -2505,9 +2558,75 @@ public class Config extends AppCompatActivity
         mCfg80FC.setText(mConfigShow[showid++]);
         mCfg80FD.setText(mConfigShow[showid++]);
         mCfg80FE.setText(mConfigShow[showid++]);
-        mCfg80FF.setText(mConfigShow[showid++]);//187
-
-        mCfg8100.setText(mConfigShow[185]);
+        mCfg80FF.setText(mConfigShow[showid++]);
+
+        mCfg8100.setText(mConfigShow[showid++]);
+        mCfg8101.setText(mConfigShow[showid++]);
+        mCfg8102.setText(mConfigShow[showid++]);
+        mCfg8103.setText(mConfigShow[showid++]);
+        mCfg8104.setText(mConfigShow[showid++]);
+        mCfg8105.setText(mConfigShow[showid++]);
+        mCfg8106.setText(mConfigShow[showid++]);
+        mCfg8107.setText(mConfigShow[showid++]);
+        mCfg8108.setText(mConfigShow[showid++]);
+        mCfg8109.setText(mConfigShow[showid++]);
+        mCfg810A.setText(mConfigShow[showid++]);
+        mCfg810B.setText(mConfigShow[showid++]);
+        mCfg810C.setText(mConfigShow[showid++]);
+        mCfg810D.setText(mConfigShow[showid++]);
+        mCfg810E.setText(mConfigShow[showid++]);
+        mCfg810F.setText(mConfigShow[showid++]);
+
+        mCfg8110.setText(mConfigShow[showid++]);
+        mCfg8111.setText(mConfigShow[showid++]);
+        mCfg8112.setText(mConfigShow[showid++]);
+        mCfg8113.setText(mConfigShow[showid++]);
+        mCfg8114.setText(mConfigShow[showid++]);
+        mCfg8115.setText(mConfigShow[showid++]);
+        mCfg8116.setText(mConfigShow[showid++]);
+        mCfg8117.setText(mConfigShow[showid++]);
+        mCfg8118.setText(mConfigShow[showid++]);
+        mCfg8119.setText(mConfigShow[showid++]);
+        mCfg811A.setText(mConfigShow[showid++]);
+        mCfg811B.setText(mConfigShow[showid++]);
+        mCfg811C.setText(mConfigShow[showid++]);
+        mCfg811D.setText(mConfigShow[showid++]);
+        mCfg811E.setText(mConfigShow[showid++]);
+        mCfg811F.setText(mConfigShow[showid++]);
+
+        mCfg8120.setText(mConfigShow[showid++]);
+        mCfg8121.setText(mConfigShow[showid++]);
+        mCfg8122.setText(mConfigShow[showid++]);
+        mCfg8123.setText(mConfigShow[showid++]);
+        mCfg8124.setText(mConfigShow[showid++]);
+        mCfg8125.setText(mConfigShow[showid++]);
+        mCfg8126.setText(mConfigShow[showid++]);
+        mCfg8127.setText(mConfigShow[showid++]);
+        mCfg8128.setText(mConfigShow[showid++]);
+        mCfg8129.setText(mConfigShow[showid++]);
+        mCfg812A.setText(mConfigShow[showid++]);
+        mCfg812B.setText(mConfigShow[showid++]);
+        mCfg812C.setText(mConfigShow[showid++]);
+        mCfg812D.setText(mConfigShow[showid++]);
+        mCfg812E.setText(mConfigShow[showid++]);
+        mCfg812F.setText(mConfigShow[showid++]);
+
+        mCfg8130.setText(mConfigShow[showid++]);
+        mCfg8131.setText(mConfigShow[showid++]);
+        mCfg8132.setText(mConfigShow[showid++]);
+        mCfg8133.setText(mConfigShow[showid++]);
+        mCfg8134.setText(mConfigShow[showid++]);
+        mCfg8135.setText(mConfigShow[showid++]);
+        mCfg8136.setText(mConfigShow[showid++]);
+        mCfg8137.setText(mConfigShow[showid++]);
+        mCfg8138.setText(mConfigShow[showid++]);
+        mCfg8139.setText(mConfigShow[showid++]);
+        mCfg813A.setText(mConfigShow[showid++]);
+        mCfg813B.setText(mConfigShow[showid++]);
+        mCfg813C.setText(mConfigShow[showid++]);
+        mCfg813D.setText(mConfigShow[showid++]);
+        //mCfg813E.setText(mConfigShow[showid++]);
+        //mCfg813F.setText(mConfigShow[showid++]);
     }
     //=====================================读取CFG到各个View结束===================================//
 
@@ -3080,16 +3199,6 @@ public class Config extends AppCompatActivity
                 bottonMode = 1;
 
                 if (iChooseVPager == 8) {
-                    configBuilder.append(mCfg8047.getText().toString() + ",");
-                    configBuilder.append(mCfg8048.getText().toString() + ",");
-                    configBuilder.append(mCfg8049.getText().toString() + ",");
-                    configBuilder.append(mCfg804A.getText().toString() + ",");
-                    configBuilder.append(mCfg804B.getText().toString() + ",");
-                    configBuilder.append(mCfg804C.getText().toString() + ",");
-                    configBuilder.append(mCfg804D.getText().toString() + ",");
-                    configBuilder.append(mCfg804E.getText().toString() + ",");
-                    configBuilder.append(mCfg804F.getText().toString() + ",");
-
                     configBuilder.append(mCfg8050.getText().toString() + ",");
                     configBuilder.append(mCfg8051.getText().toString() + ",");
                     configBuilder.append(mCfg8052.getText().toString() + ",");
@@ -3277,7 +3386,74 @@ public class Config extends AppCompatActivity
                     configBuilder.append(mCfg80FE.getText().toString() + ",");
                     configBuilder.append(mCfg80FF.getText().toString() + ",");
 
-                    configBuilder.append(mCfg8100.getText().toString());
+                    configBuilder.append(mCfg8100.getText().toString() + ",");
+                    configBuilder.append(mCfg8101.getText().toString() + ",");
+                    configBuilder.append(mCfg8102.getText().toString() + ",");
+                    configBuilder.append(mCfg8103.getText().toString() + ",");
+                    configBuilder.append(mCfg8104.getText().toString() + ",");
+                    configBuilder.append(mCfg8105.getText().toString() + ",");
+                    configBuilder.append(mCfg8106.getText().toString() + ",");
+                    configBuilder.append(mCfg8107.getText().toString() + ",");
+                    configBuilder.append(mCfg8108.getText().toString() + ",");
+                    configBuilder.append(mCfg8109.getText().toString() + ",");
+                    configBuilder.append(mCfg810A.getText().toString() + ",");
+                    configBuilder.append(mCfg810B.getText().toString() + ",");
+                    configBuilder.append(mCfg810C.getText().toString() + ",");
+                    configBuilder.append(mCfg810D.getText().toString() + ",");
+                    configBuilder.append(mCfg810E.getText().toString() + ",");
+                    configBuilder.append(mCfg810F.getText().toString() + ",");
+
+                    configBuilder.append(mCfg8110.getText().toString() + ",");
+                    configBuilder.append(mCfg8111.getText().toString() + ",");
+                    configBuilder.append(mCfg8112.getText().toString() + ",");
+                    configBuilder.append(mCfg8113.getText().toString() + ",");
+                    configBuilder.append(mCfg8114.getText().toString() + ",");
+                    configBuilder.append(mCfg8115.getText().toString() + ",");
+                    configBuilder.append(mCfg8116.getText().toString() + ",");
+                    configBuilder.append(mCfg8117.getText().toString() + ",");
+                    configBuilder.append(mCfg8118.getText().toString() + ",");
+                    configBuilder.append(mCfg8119.getText().toString() + ",");
+                    configBuilder.append(mCfg811A.getText().toString() + ",");
+                    configBuilder.append(mCfg811B.getText().toString() + ",");
+                    configBuilder.append(mCfg811C.getText().toString() + ",");
+                    configBuilder.append(mCfg811D.getText().toString() + ",");
+                    configBuilder.append(mCfg811E.getText().toString() + ",");
+                    configBuilder.append(mCfg811F.getText().toString() + ",");
+
+                    configBuilder.append(mCfg8120.getText().toString() + ",");
+                    configBuilder.append(mCfg8121.getText().toString() + ",");
+                    configBuilder.append(mCfg8122.getText().toString() + ",");
+                    configBuilder.append(mCfg8123.getText().toString() + ",");
+                    configBuilder.append(mCfg8124.getText().toString() + ",");
+                    configBuilder.append(mCfg8125.getText().toString() + ",");
+                    configBuilder.append(mCfg8126.getText().toString() + ",");
+                    configBuilder.append(mCfg8127.getText().toString() + ",");
+                    configBuilder.append(mCfg8128.getText().toString() + ",");
+                    configBuilder.append(mCfg8129.getText().toString() + ",");
+                    configBuilder.append(mCfg812A.getText().toString() + ",");
+                    configBuilder.append(mCfg812B.getText().toString() + ",");
+                    configBuilder.append(mCfg812C.getText().toString() + ",");
+                    configBuilder.append(mCfg812D.getText().toString() + ",");
+                    configBuilder.append(mCfg812E.getText().toString() + ",");
+                    configBuilder.append(mCfg812F.getText().toString() + ",");
+
+                    configBuilder.append(mCfg8130.getText().toString() + ",");
+                    configBuilder.append(mCfg8131.getText().toString() + ",");
+                    configBuilder.append(mCfg8132.getText().toString() + ",");
+                    configBuilder.append(mCfg8133.getText().toString() + ",");
+                    configBuilder.append(mCfg8134.getText().toString() + ",");
+                    configBuilder.append(mCfg8135.getText().toString() + ",");
+                    configBuilder.append(mCfg8136.getText().toString() + ",");
+                    configBuilder.append(mCfg8137.getText().toString() + ",");
+                    configBuilder.append(mCfg8138.getText().toString() + ",");
+                    configBuilder.append(mCfg8139.getText().toString() + ",");
+                    configBuilder.append(mCfg813A.getText().toString() + ",");
+                    configBuilder.append(mCfg813B.getText().toString() + ",");
+                    configBuilder.append(mCfg813C.getText().toString() + ",");
+                    configBuilder.append(mCfg813D.getText().toString() + ",");
+                    configBuilder.append("01");
+                    //configBuilder.append(mCfg813E.getText().toString() + ",");
+                    //configBuilder.append(mCfg813F.getText().toString());
                 }else{ //在其他界面则保存
                     CombineCfg();
                     for (int i = 0; i < 185; i++){
@@ -3312,30 +3488,30 @@ public class Config extends AppCompatActivity
 
                 //重新计算checksum
                 int checksum = 0;
-                for (int i = 0; i < 184; i++) {
-                int vb = mBufferData[i] & 0xFF;
-                checksum = checksum + vb;
-
+                for (int i = 0; i < 236; i += 2) {
+                    int k = ((int) mBufferData[i] << 8) + mBufferData[i + 1];
+                    checksum = checksum + k;
                 }
 
                 //将checksum填入配置中
                 //if (checksum % 256 == 0)  //校验和正确
                 {
-                    mBufferData[184] = (byte) (256 - checksum % 256);
+                    mBufferData[236] = (byte) ((61696 - checksum) >> 8);
+                    mBufferData[237] = (byte) ((61696 - checksum) & 0xff);
                     // mShow.setText("Cfg Checksum  re-calculation!");
                 }
 
                 //更新配置标志位
-                mBufferData[185] = 0x01;
+                mBufferData[238] = 0x01;
 
                 //mSendData = mBufferData;
                 //mHandler.sendEmptyMessage(DEBUG_MESSAGE_SUCCESS);
 
                 //扩展命令  0x03,0x01,0x0f,-128,0x47,0x00,0x39,
                 byte addressH = (byte)0x80;
-                byte addressL = (byte)0x47;
-                iicWrite(addressH,addressL,mBufferData,0,186);
-                if (!recallCheck(addressH, addressL,mBufferData,0,185)) {
+                byte addressL = (byte)0x50;
+                iicWrite(addressH,addressL,mBufferData,0,239);
+                if (!recallCheck(addressH, addressL,mBufferData,0,238)) {
                     mShow.setText("Recall check error,Send cfg failed");
                    // return false;
                 }
@@ -3344,49 +3520,112 @@ public class Config extends AppCompatActivity
                 }
 
                 if (iChooseVPager == 8) {
-                    mCfg80FF.setText(Integer.toHexString(mBufferData[184] & 0xff));
+                    mCfg813C.setText(Integer.toHexString(mBufferData[236] & 0xff));
+                    mCfg813D.setText(Integer.toHexString(mBufferData[237] & 0xff));
+
+                    checksum = 0 - checksum;
+
+                    mCfg813E.setText(Integer.toHexString((checksum >> 8) & 0xff));
+                    mCfg813F.setText(Integer.toHexString(checksum & 0xff));
                 }
                 break;
             case R.id.readcfg:  //read cfg
                 bottonMode = 2;
                 mSendData = mSendGetGt9ConfigData;
 
+                iicWriteCommand((byte)0x12,(byte)0,(byte)0,0,57);
+
+                while(true) {
+                    SystemClock.sleep(100);
+
+                    iicRead((byte) 0x81, (byte) 0x4e, mBytes, 1);
+                    if (mBytes[0] == (byte)0)
+                    {
+                        break;
+                    }
+
+                    iicWriteCommand((byte) 0x0f, (byte) 0x81, (byte) 0x4e, 0, 1);
+                }
+
                 addressH = (byte)0x80;
-                addressL = (byte)0x47;
-                iicRead(addressH,addressL,mBytes,186);
+                addressL = (byte)0x50;
+                iicRead(addressH,addressL,mBytes,239);
 
                 StringBuilder stringBuilder = new StringBuilder("");
                 checksum = 0;
-                for (int i = 0; i < 186; i++) {
+                for (int i = 0; i < 238; i += 2) {
 
-                    int k = mBytes[i] & 0xFF;
-                    checksum =checksum+ k;
-                    String hv = Integer.toHexString(k);
+                    int k = ((int)mBytes[i] << 8) + mBytes[i + 1];
+                    checksum = checksum + k;
+                    String hv = Integer.toHexString(mBytes[i] & 0xff);
                     if (hv.length() < 2){
                         hv = "0" + hv;
                     }
                     mConfigShow[i] = hv;
+                    hv = Integer.toHexString(mBytes[i + 1] & 0xff);
+                    if (hv.length() < 2){
+                        hv = "0" + hv;
+                    }
+                    mConfigShow[i + 1] = hv;
                     stringBuilder.append(hv);
                     stringBuilder.append(",");
                 }
                 if(checksum % 256 == 0)  //校验和正确
                 {
-                    mShow.setText("Cfg Checksum is correct!");
+
+                    mCfg813E.setText(Integer.toHexString((checksum >> 8) & 0xff));
+                    mCfg813F.setText(Integer.toHexString(checksum & 0xff));
+                    if ((mBytes[10] & 0x40) == 0x40)  //有扩展配置,再做校验
+                    {
+                        addressH = (byte)0xBF;
+                        addressL = (byte)0x7B;
+                        iicRead(addressH,addressL,mBytes,128);
+
+                        checksum = 0;
+                        for (int i = 0; i < 128; i += 2) {
+
+                            int k = ((int)mBytes[i] << 8) + mBytes[i + 1];
+                            checksum = checksum + k;
+                            String hv = Integer.toHexString(mBytes[i] & 0xff);
+                            if (hv.length() < 2){
+                                hv = "0" + hv;
+                            }
+                            mConfigShow[i] = hv;
+                            hv = Integer.toHexString(mBytes[i + 1] & 0xff);
+                            if (hv.length() < 2){
+                                hv = "0" + hv;
+                            }
+                            mConfigShow[i + 1] = hv;
+                        }
+                        if(checksum % 256 == 0)  //校验和正确
+                        {
+                            mShow.setText("Cfg Checksum is correct!");
+                        }
+                        else{
+                            mShow.setText("Cfg Checksum is error!");
+                        }
+
+                    }
+                    else {
+                        mShow.setText("Cfg Checksum is correct!");
+                    }
                 }
                 else {
                     mShow.setText("Cfg Checksum is error!");
                 }
 
-                ReadCfgSample(mBytes);
-                ReadCfgModuleSwitch(mBytes);
-                ReadCfgNormalSetting(mBytes);
-                ReadCfgChannelSetting(mBytes);
-                ReadCfgPenSetting(mBytes);
-                ReadCfgPlamRestrain(mBytes);
-                ReadCfgKeySetting(mBytes);
-                ReadCfgHoppingSetting(mBytes);
+                //ReadCfgSample(mBytes);
+                //ReadCfgModuleSwitch(mBytes);
+                //ReadCfgNormalSetting(mBytes);
+                //ReadCfgChannelSetting(mBytes);
+                //ReadCfgPenSetting(mBytes);
+                //ReadCfgPlamRestrain(mBytes);
+                //ReadCfgKeySetting(mBytes);
+                //ReadCfgHoppingSetting(mBytes);
                 ReadCfgRam(mConfigShow);
 
+
+
                 addressH = (byte)0x81;
                 addressL = (byte)0x40;
                 iicRead(addressH,addressL,mBytes,32);
@@ -3564,6 +3803,54 @@ public class Config extends AppCompatActivity
 
     };
 
+    //发送命令,使得S818可以通过IIC向GT9的固定地址写任意bytes的数据
+    private  boolean iicWriteCommand(byte command,byte addressHigh,byte addressLow,int offset,int length) {
+        int i;
+
+        iicWriteData[1] = 0x01; //write GT9PT command
+        iicWriteData[2] = command; //command
+        iicWriteData[3] = addressHigh;
+        iicWriteData[4] = addressLow;
+        iicWriteData[5] = 0x00;
+        iicWriteData[6] = 0x39;  //length 57
+
+        int address1 = ((addressHigh&0xff)<<8);
+        int address2 = addressLow&0xff;
+        int address = address1|address2;
+
+        int sendTimes = length/57 + 1;  //预计是向下取整,所以+1
+
+        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] = 0;//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[3] = (byte)(address>>8);
+            iicWriteData[4] = (byte)address;
+        }
+
+        return true;
+    }
+
     //发送命令,使得S818可以通过IIC向GT9的固定地址读取任意bytes的数据
     private boolean iicRead(byte addressHigh,byte addressLow,byte[] wBuffer,int length) {
 
@@ -3755,16 +4042,6 @@ public class Config extends AppCompatActivity
                         StringBuilder configBuilder = new StringBuilder("");
 
                         if (iChooseVPager == 8){ //在ram cfg界面
-                            configBuilder.append("0x"+mCfg8047.getText().toString()+",");
-                            configBuilder.append("0x"+mCfg8048.getText().toString()+",");
-                            configBuilder.append("0x"+mCfg8049.getText().toString()+",");
-                            configBuilder.append("0x"+mCfg804A.getText().toString()+",");
-                            configBuilder.append("0x"+mCfg804B.getText().toString()+",");
-                            configBuilder.append("0x"+mCfg804C.getText().toString()+",");
-                            configBuilder.append("0x"+mCfg804D.getText().toString()+",");
-                            configBuilder.append("0x"+mCfg804E.getText().toString()+",");
-                            configBuilder.append("0x"+mCfg804F.getText().toString()+",");
-
                             configBuilder.append("0x"+mCfg8050.getText().toString()+",");
                             configBuilder.append("0x"+mCfg8051.getText().toString()+",");
                             configBuilder.append("0x"+mCfg8052.getText().toString()+",");

Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 36 - 290
app/src/main/res/layout-hdpi/view_cfg_ram.xml


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 36 - 290
app/src/main/res/layout-land-hdpi/view_cfg_ram.xml


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 36 - 290
app/src/main/res/layout-land-mdpi/view_cfg_ram.xml


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 36 - 290
app/src/main/res/layout-land-xhdpi/view_cfg_ram.xml


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 36 - 290
app/src/main/res/layout-land-xxhdpi/view_cfg_ram.xml


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 36 - 290
app/src/main/res/layout-land-xxxhdpi/view_cfg_ram.xml


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 36 - 290
app/src/main/res/layout-land/view_cfg_ram.xml


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 36 - 290
app/src/main/res/layout-mdpi/view_cfg_ram.xml


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 36 - 290
app/src/main/res/layout-xhdpi/view_cfg_ram.xml


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 36 - 290
app/src/main/res/layout-xxhdpi/view_cfg_ram.xml


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 36 - 290
app/src/main/res/layout-xxxhdpi/view_cfg_ram.xml


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 36 - 290
app/src/main/res/layout/view_cfg_ram.xml


Některé soubory nejsou zobrazeny, neboť je v těchto rozdílových datech změněno mnoho souborů